实战项目:考勤系统的需求分析

同学们,你马上就要接受一个实际项目的考验了,你需要运用你所学,全力以赴!
如果你已经忘记前面所学,赶紧去复习!

这个超级演练的教学目标是:
1.学习如何从零开始组织需求开发的工作。
2.学习如何在需求分析中理清你的思路。
3.体会什么情况下用什么UML图。
4.学习需求规格说明书应该有什么内容。

这是一个难得的实际锻炼机会,你将很难在一个实际项目中提到这么全面的体会。本案例经过提炼,代表了实际工作的各个方面,务必请你认真对待,开动脑筋,按照要求一步一步完成!

你的任务:编写考勤系统的《需求规格说明书》
你需要为你所在的公司做一个考勤管理系统,如果你目前还是名学生,则请你想象一个公司的考勤系统应该是怎样的。

本系统的目标是:
1.规范员工的上下班、请假、外出工作等行为。
2.方便计算员工的薪金。
3.方便管理各种带薪假期。

你需要由系统的目标出发,逐步理出系统的详细需求,需求如何把握完全由你来控制!
你不需要考虑技术上是否可行,也不需要考虑开发成本,你的目的就是定出本系统的详细需求。

请你按以下步骤完成:
1.请用类图描述本系统的业务概念,你需要先分析当前的业务情况,必要时进行业务重组。
2.请你用活动图、状态机图、序列图描述出请假审批、外出审批等关键业务流程,请注意你可能需要重组这些业务流程。
3.请你分析出有什么角色将会使用本系统,用用例图描绘出系统的功能,挑选其中一个用例,用用例表详细说明。
4.请你用部署图和组件图表达出本系统在架构上的要求。
5.请你将以上内容组织成《需求规格说明书》,并且补充必要的其它内容。

以上步骤,其实就是我在实际需求分析工作中的大致过程。其实真正要做好一个项目的需求分析,120分钟时间是远远不够的,实际项目的需求分析,少则几天多则数月,而且要多次反复迭代。

一个项目的需求分析任务接到手时,往往会觉得千头万绪不知道从何理起,客户访谈往往被客户牵着鼻子走,需求没有能理好。
下面有些建议供你参考:

1.高屋建瓴
你应该去了解项目的来由与背景,为什么会有这样的一个项目?客户为什么想做这个项目?公司为什么会接这个项目?公司在这个项目上的战略是怎样的?赚钱?积累客户关系?积累业务?积累技术?了解清楚这些,你就有了高屋建瓴地做好这个项目的基础了。
很少项目经理和需求调研人员能做到这样的层次,就算在我们公司也有不少项目经理忽视这方面,他们往往认为将项目做好就可以了,这种层次的事情是公司的事情。这其实就是工作高度问题,高度不够,需求开发中很多东西就把握不好,难以做到双赢,即客户和我们都能赢!

2.明确项目目标
从项目的背景、合同、方案书等,一般能找到或者整理出项目的目标,我们这个练习就明确提出了项目的目标。这个目标是系统的高层次需求,它控制了需求的方向和范围,指导我们进一步细化需求。很多项目经理也会常常“忘记”本项目的建设目标,导致很多工作就没有了方向,为了忙而忙。

3.理出业务概念图
逐步识别出业务概念,逐步绘制出业务概念图,随着对业务概念的清晰,你对需求的理解就会越来越清晰,你将能更加好地理解各种业务流程,也会更容易提炼出用例。业务概念图同时也是下一步数据库设计、实体类设计的基础。

4.理出业务流程
用活动图、状态机图、序列图记录各种业务流程并加以优化,具体用什么图没有什么规定,你可以每种图都尝试一下。经过多次反复,你将会整理出比较合理的业务流程图,而我们的系统就需要满足这样的业务流程图。

5.从角色出手,理出用例
分析出系统的使用者,从使用者的角度来思考系统需要怎样的功能。

6.理出技术要求
用部署图、组件图描述客户当前的IT资源、办公系统等情况,然后思考本系统在此基础上如何搭建?
从系统的目标以及用例要求,思考系统在安全性、性能等方面的技术指标。

下面的小节,将会按照题目要求的步骤逐一给出参考答案,请你先独立完成才看参考答案。
你的脑袋只有经过思考的洗礼,你才会有质的提高!


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/07/21/2112672.html,如需转载请自行联系原作者

上一篇:PHP获取Memcached的cas_token


下一篇:浏览器端的九种缓存机制介绍