1、案例one:教学管理系统(用例驱动的交互式需求获取)以一个教学管理系统JXGL的分析与设计作为示例,说明用例驱动技术在软件项目开发中的应用。高等学校的教学管理内容十分丰富,工作繁多。作为一个示例,规定开发教学管理系统JxGL只处理每学期的课程选修注册和学生的成绩管理。教学管理系统JXGL的用户是学校的学生、教师和教学管理员。学生使用JXG系统查询新学期将开设的课程和授课教师的情况,选择自己要学习的课程,并进行登记注册。学生还可以使用JXGL系统查询自己的课程成绩。教师使用JXGL系统查询新学期将开设的课程、参加听课的学生情况,以及学生的考试成绩。教学管理员使用JXGL系统进行教学
3、课不超过4门课程。每门课程最多允许30名学生选课注册。学生可以在图书馆、各系资料室、学生宿舍等处的计算机上联网进行选课注册。在选课注册结束后,教学管理员打印学生选课注册名单和开课通知书,送交有关部门和授课教师。(3)查询可以查询课程信息、学生选课信息和学生、教师信息。学生、教师、教学管理员可以查询课程表,获得课程信息。查询的关键词以是:课程名,授课教师名,学分。教师、教学管理员可以查询学生选课情况。查询的关键词可以是:学生名、程名,授课教师名,学分。学生只允许查询自己的选课信息,不允许查询别人选课信息。学生、教师、教学管理员可以查询学生或教师的信息。查询的关键词可以是学生名
4、、教师名,性别、班级、职称。(4)选课注册信息的统计与报表生成。教学管理员对学生的选课注册信息进行统计(按课程,按学生,按班级),印汇总统计报表。在成绩管理方面应填写的用户需求描述如下:(1)成绩录入:教学管理员录入学生考试成绩。(2)成绩查询:教师、教学管理员可以查询学生考试成绩。查询的关键词可以是:学生名、课程名、授课教师名、学分名、学生只允许查询自己的考试成绩,不允许查询别人的考试成绩。(3)成绩统计与报表生成教学管理员进行成绩统计(按课程、学生、按班级),打印成绩汇总统计报表。为保存数据,需建立教学管理数据库。可以采用关系数据库,建立下列数据库表:学生表
6、的应用服务器和数据库服务器设置在学校计算中心的工作站。学生、教师和教学管理员可以在各系、各部门、图书馆、学生宿舍的台式PC机上使用JXGL系统。2.确定系统范围和边界首先要确定业务需求和系统目标。教学管理系统JxGL用于新学期课程的选课注册管理和学生的成绩管理。凡是这两方面的教学管理内容都是JXGL系统的职责范围,其他的教学管理内容,如安排教学计划、排课、实习、实验、考试等都不属于JXGL系统的职责范围。至于学校的其他管理工作,如科研、人事、财务、资产等管理不属于JXGL系统的职责范围。JXGL系统与财务系统存在系统边界,财务系统将从JXGL系统得到学生选课注册信息。JXGL系统与学校的其
7、他信息管理系统没有直接的联系,但是可以从学校的全局数据库中共享学生、教师、教学计划等必要的数据。3.定义用户根据JXGL系统用户需求描述可以确定4个参与者:学生、老师、教学管理员和财务系统。对于每一个参与者,应当明确其业务活动的内容、对系统的服务要求。“学生”参与者使用JXGL系统查询新学期开设的课程信息和教师开课信息,选课并登记注册课程,查询自己的课程成绩信息。“老师”参与者使用JXGL系统查询新学期开设的课程信息、学生选课信息和学生成绩信息。“教学管理员”参与者使用JXGL系统管理学期开设的课程的选课注册和学生的考试成绩。管理工作包括课程与成绩数据的录入、维护、统计、报表打印等
8、,并且负责把学生的选课注册信息发送给财务系统,作为计算学生应付费用的依据。“教学管理员”要求能够方便地查询课程信息、学生选课信息、学生信息、教师信息和成绩信息。“财务系统”参与者是外部系统参与者,从JXGL系统接受学生的课程注册信息。4.UseCase的获取每一个USeCase都是一个参与者与系统在交互中执行的有关事务序列。应当根据用户需求描述,找出全部的USeCase并从参与者的角度给出事件流,当USeCase执行时系统应提供给参与者的服务。从JxGL的用户需求描述分析可的有以下用例存在:(1)查询课程信息:学生、教师或教学管理员查询课程表,获得课程信息。(2)选课注册:学
11、户需求描述査询用例名賢询课程借息用例描雄学生,朝师或敦学曽理孙資询课段表.获得课程信息.卞耍actor学主、敕師和教学ts理员前这条竹教学晋理员将课程信息上传至网络成功后覽条件学生.教师或教学脅理员准确获得课釋信息口失败后置条件系统提示课程数据库出现故障关联用例宵理开设课程Xff理课程信息(4)用户需求描述选课注册洁息的统计与报表生成用例名儈理开设课程用例描述教学常理员罷录乘统产隹选课信息,按照耍求进行分类统计.生成选课注册报表.主要actor教学管理员前置条件学田已完成了选课注册成功肝置条杵按耍求进行分类统计,生成选猱注册損表.失败后置条件选课注册信息有误无法生成报表黄联用例选课注册1(
12、5)出户需求描述裁学管理员录入学生成集!用例名学生成绩骨理用例描述教学管理员对学生考试成绩数据进行求入,修伙.制除予操柞。主要actor載学管理员前置条杵学员考试结束并且阅卷完城.学员成绩需要以数据库记录成功所国条件教学骨理员、学生和敕师町以在网络上进行学先成绩的相灵操作矢败后碧条件7供和敎帅在网络上无法获取学主成绩关联用例学生成细忖理、成绩统计、齊询学生成绩、任洵课程成绩(6)用户需求描述貴询成绩用例名1育询学生成绩用例描述学陀.教师賁询学生成绩.主要actor学生枚师前曾条杵学生成绩以数据库记录并上传至服养器成功后置条杵依掘学生名、课耗名、投课載帅名、学分名琳关键词农询考试成绩失敷后置条件
16、信息获取需求的可能途壮IH系统町保制和讎廉的功能旧系统需求分析报告J日系统川广新系统应新增加的功能和非功新系统潜左的用户、技术人员自身的经验同类系统底功枭例町恥纳的做法押经验参观利考蔡同海蔡统*借鉴好的蛊(3)需求分析技术的选用用户调查。在直接与用户进行面对面交流前,先对旧系统用户作一个书面调查,收集他们对旧系统的使用体会以及对新系统最关心的功能需求,目的是在面对面进行用户访谈时提高需求分析人员提问的针对性和引导作用。需求调研表涉及的主要内容包括:用户使用频度最高的功能、旧系统设计存在的主要不足、对系统改进的建议等,调查对象为全体用户。通过收集用户的信息反馈表并进行归纳总结,得出以下几个结论:
17、用户使用频率最高的模块主要是公文收发处理、内部电子邮件、公告发布;旧系统最大的不足主要集中在系统界面不够友好、系统响应速度越来越慢、流程设计不灵活、系统可供办公参考的资料较少等几个方面。用户访谈。经过用户调查后,通过组织用户进行面对面访谈来达到细化系统需求的目的。访谈的对象主要是典型业务处室代表,如办公室负责文件收发的秘书、关键业务部门、技术部门的代表。进行访谈前要根据用户调查的结果设计一些有针对性和引导作用的问题,如:公文收发的流程是怎样的(办公室代表回答)在业务处室内部处理的流程是怎样的(业务处室代表回答)系统界面的人性化方面有哪些要求(全体代表回答)系统管理方面的需求是什么(技
25、)把系统看作是一种“数据采集与报表生成系统”。关键是构建采集实现他们所定义的业务规则的数据的系统,既要使数据“安全”(不能丢失或遗忘),又要为不同参与者提供专门化的视图,以便根据这些视图做出业务决策(例如,系统具有比较回报和投资的能力,要能够知道从出租的角度看,哪些房产在历史上没有得到充分的利用,哪些区域的出租率和回报率高)。(4)获取功能需求下一步是充分与用户讨论,搜集尽可能多的有关各种参与者如何与系统交互的信息,以及他们需要通过系统获得什么样的信息。搜集这些信息的结果,我们可以将前面的用例进行进一步的扩展。为了更好地表示用例,我们把用例图一分为三。如图19、20、21所示。图1
26、9统过扩展的报壷生成图20经过扩展的数据录入(2)这里把用例由最初的两个扩展为20个。用例3录入承租人详细信息用例名称录入承租人详细信息描述房地产件理系统跟踪谁产系统储毎个承租人酣套详细信息,以记帐、跟踪和检杳状况。经营经理触发条件发现承租房产的新承租人或潜在承租人本用例可以由4*出租房产”川例來启动。发现现育承租人的补充或变更伯息。前提无乩木怕1lift!k经营经理找到承租人区域*2.经营经理录入承租人的标识信息:a)个人承租人的姓名和丹份证号码。b)机构承租人的公司名称和稅务登记竝号。3,系统检告现冇匹配项。4系统显示已经填写了现有信息的数据录入模板.个人承租人和机构承租人的
32、农中选杼冈产。乳系统计算内部回报率和以下数据,井准备报表,a)房产名称"b)房产的开始日期。c)内部凹报率二d)资本支fll总和。e)租金总和。n逐h记录的交易数拥无后果生成“指走”H期的报表。业务规则技术需求用例16报告房产状况用例17报告房产使用情况用例18报告每个区域统计区没有出租的房产用例19报告将要到期的承租合同用例20输入指数信息用例21设置区域统计区用例22设置用户(5)细化需求及用例求精在完成填写用例模板最初工作之后,我们记录了需要解决的问题。我们把这个系统看作是数据采集和报表生成两个部分的观点基本没有改变。同时,我们发现报表生成的一个重要部分,即回报,可以通过更