需求分析是程序开发的首要任务只有获得了系统的所用用例(即系统需要处理的工作)才能够做出适合于用户的优秀软件。
通过对业务的了解,知道此工作共涉及到了4种身份的人。分别是Student、Teacher、Accountant、Administrator。此系统当前的需求完全来自于4个角色(此角色非用例图中的角色)。我们要对这四种角色进行分析,将系统的需求整理出来。
Student又分为FixedStudent和TemporarilyStudent。
FixedStudent:Enroll、On_Line、Down_Line、SettleAccounts、Modify_info、Recharge、Cancellation、Inquiry。
在Inquiry中主要包括了对Enroll_i、Balance、OnLine_i、Recharge_i、Student_i、Cancellation_i 的查询。(在用例图中应该是表示成继承)
TemporarilyStudent:On_Line、Down_Line、SettleAccounts、Recharge、Inquiry。
而在TemporarilyStudent中Inquiry需求中包含Balance。
Teacher的需求有:Enroll、Management、Modify_info、SettleAccountant、ChargePassword、Inquiry。
Inquiry中包含了StudentOnlineSituation、Rota、Work_i。
Accountant的需求分为:Enroll、Modify_info、SettleAccountant、ChargePassword 、Inquiry。
SettleAccountant中包含有:DayS_A、MouthS_A、YearS_A。
Inquiry中包括: Accounts、Report。
Administrator的需求分为:Enroll、Modify、SetRota 、SetBasalData、StudentOnlineSituation、Twork_i、Awork_i 、Accounts、ChargePassword 、Inquiry
Inquiry 中包括:StudentOnlineSituation、Twork_i 、Awork_i 、Report、Accounts。
上面已近把此业务的需求列出来了,下面的工作就是将这些用例通过用例图表示。将这些用例从系统的角度描述出来。
Teacher、Accountant和Administrator都是系统的使用者。而Student是程序用例的主要来源,这个系统主要是为Student服务的。Student和目标系统没有之间联系,所有的需求都是由上面三个角色帮助实现。
从业务主角和业务工人的角度来描述,Student就是业务主角儿,他只是提出需求,由Teacher、Accountant和Administrator帮助实现。Teacher、Accountant和Administrator在此过程中是作为业务工人出现的。
这里我们就先不讨论这个业务主角和业务工人的问题了。我们在程序设计中只涉及了三个角色(teacher、accountant、administrator)。学生的需求有这三种角色来承担。
下面是通过角色为标准画出的用例图:
Teacher用例图
Accountant 用例图
Administrator用例图
以上是按照角色进行划分的用例图。通过这样的用例图,我们就可以清晰的看出每一个角色具有什么样的功能,从宏观上把控了机房收费系统的各个操作者有什么样的职责。
接下来我们还需从业务的角度进一步绘制用例图,对该系统进行更加详细的描述。
我一共将用例业务分为了四个方面:学生上机服务用例图、系统管理业务用例图、账务管理用例图、学生查询业务用例图。
通过这四张关于业务的用例图基本上就可以将用例完全囊括并分类了。我们就可以从这四大业务的角度对程序进行整合,实现程序。
学生上机服务用例图 系统管理用例图
查询业务用例 财务管理业务用例图
在我的需求分析中,是这样定义的。教师只负责上下机和查询相关信息。会计负责注册以及财务管理这一块。而管理员是对整个系统的管理、对教师对会计工作的一个监督工作。所以他们之间可能存在着相同的用例,但不是完全相同的。
重负的用例已在业务用例中体现。
通过以上用例图的描述,需求分析就到此结束,接下来的工作是进行概要设计。