你的位置:软件知识原创基地 >> 知识海洋 >> 需求分析 >> 详细内容 在线投稿

疯狂的订餐系统-软件需求分析挑战之旅

排行榜 收藏 打印 发给朋友 举报 来源: 原创   发布者:张传波
热度5528票  浏览7603次 时间:2009年9月15日 10:48

1.3 背景-需要-需求规格

请按顺序回答以下问题:
1.本项目的背景是怎样的?
2.本项目能解决什么问题?
3.本项目的关键涉众有哪些?(说明:涉众是指系统会影响到的人、角色、单位等,或者说什么人、角色、单位会影响到本系统。)
4.本系统要达到怎样的目标?
5.本系统的范围是怎样的?
6.本系统应该具备怎样的功能?
7.本项目成功标准是怎样的?

在往下阅读之前,请先独立思考,写出以上问题的答案。

特别声明:
如需转载此文,请给出指向本网站的连接,如下:
作者:张传波
摘自:http://www.umlonline.cn
如不能按此要求,请不要转载此文。

1.本项目的背景是怎样的?
参考答案:员工中午饭要吃好是很重要的事情,但手工订餐存在一些问题,领导试图通过订餐系统来改善。
答案点评:
1)本系统的用户是“员工”,而客户是“领导”。(说明:用户是指使用系统的人员,而客户是可以拍板付钱给公司的那个人,是项目组的米饭班主。)
2)领导的目的不是为了做这个系统,而是希望通过这个系统解决问题。
3)领导应该不太可能投入大的投资来解决这个问题,例如:不太可能将员工的午饭标准提高到每人每餐50元,也不太可能为这个项目投入100万的经费。
背景应该怎样描述?
背景应描述出系统的用户和客户是谁、项目的来源,并且可以由此推断客户可能的投资预算,本项目对于客户的重要程度等。

2.本项目能解决什么问题?
参考答案:
1)手工订餐本身工作效率低,有时会影响员工的正常工作。
2)手工订餐容易出错,导致员工吃不到饭或者是吃不到自己想吃的饭。
答案点评::
1)问题描述得很具体,并且问题产生的根源似乎都是因为“手工订餐”导致的。
2)手工订餐并不会让大家吃不到饭,只是有时会出一些小问题。
3)手工订餐的最大优势就是灵活,不好的地方就是容易出错,这个订餐系统如何才能保持手工订餐的“灵活”优势呢?
问题应该怎样描述?
需要清楚明确地描述清楚项目解决的问题,同时要分析好当前的工作方法的优点。系统除了要解决当前的问题,还应该保持原来工作方法的优点。很多系统解决了问题,但丢失了原来工作方法的优势,往往是得不偿失。

3.本项目的关键涉众有哪些?
参考答案:员工、前台、领导、财务、餐厅。
答案点评:
1)全面考虑了各种涉众。
2)员工是使用本系统的主体,他们最关键的需求应该是能方便准确地订餐。
3)前台通过本系统来统计订餐、和餐厅沟通、下订单等,前台可能是本系统使用功能最多、操作最复杂的角色。
4)领导有时也会通过本系统来订餐,但对本系统的主要要求就是大家要用得舒服。
5)财务可能需要根据本系统的订餐记录和餐厅结帐。
6)餐厅需要提供菜单给前台,餐厅可能以传真或电话的方式获知我们的订餐,不同的方式将会影响本系统的某些功能。
如果找出关键涉众?
1)应广度优先地尽量多地列出可能的涉众。
2)列出每种涉众在本系统的关键需求。
3)每一种涉众都应该清楚说明本系统是如何影响她的,以及她是如何影响本系统的。

4.本系统要达到怎样的目标?
参考答案:达到“吃饭易”的效果,保证员工不会因为吃饭问题影响正常工作。
答案点评:
1)目标描述应简单容易记忆,以便项目组随时记住。
2)本项目的目标并不是让员工吃饭吃得开心,也不是用来保证员工正常工作(光靠这个系统,是不能保证员工正常工作的),而是希望通过本系统来消除手工订餐的问题。
应该如何描述目标?
应该用简单、明确、恰如其分的语言来描述。简单、明确是方便项目组记忆,以便在工作中随时可以用目标检验工作。恰如其分则要求目标描述不要夸大系统的作用,也不要缩小系统的作用。很多项目描述目标的时候,往往会夸大系统的作用,如提高工作效率、提高生产力等,这些目标往往不是单纯靠系统就可以做得到的,更多是靠企业的管理,系统只是起到配合和支持的作用。

5.本系统的范围是怎样的?
参考答案:
1)这是一个订餐系统,只考虑与订餐相关的功能。
2)这是一个单独的系统,不考虑与其它系统集成或交互。
3)使用本系统的是本公司的全体员工,不考虑分公司的员工。
答案点评:
从功能、与其它系统的关系、用户三方面描述了本系统的范围。
应该如何描述范围?
范围往往客户并不会直接给出的,我们需要从项目解决的问题、目标等入手,从功能、与其它系统的关系、用户等来思考系统的范围。
由前面的资料,我们可以知道,客户应该不会投入很多钱,客户目标只是希望解决手工订餐带来的麻烦,所以我们定范围时,应该尽量让系统简单,能满足目标便可。本系统其实可以做得很复杂的,订餐这事情其实与请假外出相关的,订餐也会与财务结帐有关系,如果将系统边界扩大,很可能将问题复杂化。

6.本系统应该具备怎样的功能?
参考答案:

图4 用例图

对于“订餐”这个用例,我们还可以进一步细化用户与系统的交互:
    用户指示订餐
        系统给出菜单
    用户选择菜单并确认选择
        系统保存用户的选择,提示订餐成功。
答案点评:
1)用例图全面地描述了系统用户与用例,条理清晰、一目了然。
2)对于每一个用例,还可以进一步描述用户与系统是如何交互的,为下一步工作做好准备。
3)除了描述功能,还需要考虑系统的非功能需求,如性能要求、安全性要求等。
应该如何描述功能?
1)要根据前面的问题导出系统应具备的功能以及非功能需求。
2)用例图是描述功能性需求的好工具,但不要拘泥于只用用例图。
3)对于非功能性需求,客户往往没有具体想法,需要我们从客户的需要出发,定出具体的非功能性需求。

7.本项目成功标准是怎样的?
参考答案:用简单的方式达到目标的要求,达致双赢。
答案点评:
1)“简单”意味着成本低,符合双方利益。
2)达到目标要求是真正的客户所需。
如何考虑项目的成功标准?
我们做一个项目,成功标准并不是为了赚钱,更加不是不惜一切谋取最大利益,双赢才是最重要的原则!对于客户来说,首要目标就是要满足他的需要,然后就是合理的预算,对于软件公司来说,首要目标就是为客户提供高性价比的解决方案,赚取合理利润。要达致双赢,客户的成熟度是很重要的,但更重要的是软件公司的成熟度,项目组需要以专家、顾问这样的高度来解决项目中的问题,引导双方达至双赢。

以上7个问题,问题1是背景相关的问题,问题2、3、4、5是需要相关的问题,问题6是需求规格相关的问题,而问题7是我们需要认真考虑的问题,考虑清楚项目的成功标准才能更好地指导项目后续工作,提高项目成功概率。

TAG: 软件需求 需求分析 需求开发 需求管理
顶:378 踩:304
对本文中的事件或人物打分:
当前平均分:-0.28 (1471次打分)
对本篇资讯内容的质量打分:
当前平均分:-0.56 (1426次打分)
【已经有1949人表态】
346票
感动
168票
路过
179票
高兴
165票
难过
140票
搞笑
177票
愤怒
220票
无聊
554票
同情
上一篇 下一篇
软件知识大学