第14章 UML统一建模语言.doc

上传人:枫** 文档编号:559668530 上传时间:2022-11-16 格式:DOC 页数:7 大小:273KB
返回 下载 相关 举报
第14章 UML统一建模语言.doc_第1页
第1页 / 共7页
第14章 UML统一建模语言.doc_第2页
第2页 / 共7页
第14章 UML统一建模语言.doc_第3页
第3页 / 共7页
第14章 UML统一建模语言.doc_第4页
第4页 / 共7页
第14章 UML统一建模语言.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《第14章 UML统一建模语言.doc》由会员分享,可在线阅读,更多相关《第14章 UML统一建模语言.doc(7页珍藏版)》请在金锄头文库上搜索。

1、学生注册课程系统某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。 新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2

2、门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。发现角色简单地说,角色是与系统交互的人或事。所谓与系统交互意味着向系统发送消息,从系统中接收消息,或是与系统交换信息。有些角色可以初始化用例,有些角色则不然,仅仅参与用例,在某个时刻与用例进行通信。在UML语言中,角色用一个小人的图形和名称来表示

3、。我们可以通过回答下列问题,进行系统角色的识别: 谁使用系统的功能? 谁需要借助系统完成日常工作? 谁来维护和管理系统,以保证系统正常工作? 系统控制的硬件设备有哪些? 系统需要与其他哪些系统交互? 谁对系统产生的结果感兴趣?在上述例子中,学生和教师使用系统完成课程注册和成绩登记等,注册管理员维护和管理教师、学生和课程的信息。另外,新系统存取已有的课程目录数据库,获得课程列表。因此,我们可以识别出如图4.15所示的角色。图4.15 学生注册课程系统的角色发现用例用例代表一个完整的功能,如与角色通信、进行计算或在系统内工作等。用例具有以下的特征: 用例总是由角色初始化; 用例为角色提供值; 用例

4、具有完全性,即不管其内部是如何实现的,只有最终产生了返回角色的结果,用例的执行才能完毕。用例描述了它所代表的功能的各个方面,即包含了用例执行期间可能发生的种种情况。用例和角色之间具有关联的连接关系,表示什么角色与该用例进行通信。在UML语言中,用例用一个椭圆图形和名称表示。实际上,从识别角色开始,发现用例的过程就已经开始了。对于已识别的角色,通过询问下列问题,我们可以发现用例: 角色需要从系统中获得什么功能?角色需要做什么? 角色需要读取、产生、删除、修改或存储系统的某些信息吗? 系统中发生事件需要通知角色吗?角色需要通知系统某件事情吗? 系统需要的输入/输出信息是什么?这些信息从哪儿来到哪儿

5、去? 采用什么实现方法满足某些特殊要求?在上述例子中,我们通过上述提问可以识别以下用例: 与教师有关的用例选择课程-选择所教的课程,并获得学生名册;登记成绩-在学期结束时,提交学生的课程成绩。 与学生有关的用例注册课程-在学期开始进行选课注册,允许在一段时间内更改或删除,课程目录系统提供当前学期的所有可选课程列表;查看成绩单-学生可以查看以前学期的电子成绩单。 与注册管理员有关的用例维护课程信息-在系统中增加、修改和删除课程信息;维护学生信息-在系统中增加、修改和删除学生信息;维护教师信息-在系统中增加、修改和删除教师信息。关闭注册-删除少于3人的课程,并由付费系统通知学生缴费。 与安全性要求

6、有关的用例登录-使用此系统的人员需要进行登录,以验证其身份和权限。用例图用例:登记成绩1 目标本用例允许教师提交上学期完成的一门或多门课程的学生成绩。2 事件流基本流程当教师希望提交上学期完成的一门或多门课程的学生成绩时,本用例开始执行。(1) 系统显示教师上学期所教的课程列表;(2) 教师选择所教课程;(3) 系统检索出已注册此课程的学生列表,显示每个学生及其以前所给的成绩;(4) 对于列表中的每个学生,教师输入百分制成绩,系统记录所提供课程的学生成绩。如果教师希望跳过某个特定的学生,其相应的成绩可以为空,以后在进行填写。教师可以修改学生的成绩。可选流程在主流程中,如果教师在上学期没有教课,

7、系统将显示错误信息,教师接受此信息,用例结束。3 特殊需求无。4 前提条件用例开始之前,教师必须在系统登录成功。5 后置条件如果用例执行成功,所提供课程的学生成绩被更新,否则,系统状态不变。我们使用UML中的构造型、和分别表示实体类、边界类和控制类。识别实体类实体类代表系统中需要存储和关系的信息,通常是永久存在的。启发分析员发现实体类的因素包括: 人员:通常系统会涉及到各种各样的人员,我们需要考虑的是由系统保存和管理其信息的人员,如教师、学生等。 组织:在系统中发挥一定作用的组织机构,如系、班级等。 物品:需要由系统管理的物品,可以是有形或无形的,如课程等。 设备:在系统中动态地运行、由系统进

8、行监控或供系统使用的各种设备、仪表、机器、运输工具等。 事件:需要由系统长期记忆的事件,如学生注册课程的记录等。 表格:这里的表格是广义的,可以是各种业务报表、统计表、申请表、身份证、商品订单、帐目、学生成绩单等,注意不要将原始的表格进行简单对应,应该是分析和整理后形成的映射一些现实事物的表格。在学生课程注册系统的例子中,通过分析和理解问题域,我们找出以下实体类:实体类说 明Professor学校中讲课的教师Student学校中注册课程的学生Schedule学生在新学期选择登记的课程列表CourseCatalog学校所有课程的目录Course课程的基本信息CourseOffering新学期课程

9、的开设信息,如讲课教师、时间、地点等信息识别边界类边界类代表系统与角色的接口,在每一个用例中,一个角色对应一个边界类。边界类收集来自角色的信息,并将其转换成实体类和控制类可以使用的中间接口。 根据角色的不同类型,边界类可以是用户接口、系统接口和设备接口。对于用户接口来说,边界类集中描述了用户与系统的交互信息,而不是描述用户接口的显示形式,如按钮、菜单等;对于系统接口和设备接口来说,边界类集中描述所定义的通信或交换协议,而不是说明协议如何实现的。在学生课程注册系统的例子中,通过发现用例-角色对,我们定义以下边界类:边界类说 明LoginForm为教师、学生和注册管理员提供登录的操作Registe

10、rCoursesForm为学生提供选课注册的操作ViewReportForm为学生提供成绩查询的操作SelectTeachCoursesForm为教师提供查看学生选课情况的操作SubmitGradesForm为教师提供登记成绩的操作MaintainProfessorsForm为注册管理员提供维护教师信息的操作MaintainStudentsForm为注册管理员提供维护学生信息的操作MaintainCoursesForm为注册管理员提供维护课程信息的操作CloseRegistrationForm为注册管理员提供关闭注册的操作BillingSystemNotice提供与收费系统的信息交换接口识别控

11、制类控制类负责协调边界类和实体类,通常在现实世界中没有对应的事物,它负责接收边界类的信息,并将其分发给实体类。控制类与用例存在着密切的关系,它在用例开始执行时创建,在用例结束时取消。一般来说,一个用例对应一个控制类。当用例比较复杂时,特别是产生分支事件流的情况下,也可以有多个控制类。在有些情况下,用例的行为十分简单,这时可以没有控制类,学生注册课程系统中的用登录就是这种情况。在学生课程注册系统的例子中,我们发现以下控制类: 控制类说 明RegisterCoursesControl负责新学期学生的选课登记ViewReportControl负责学生成绩的查询SelectTeachCoursesControl负责新学期课程的学生选择情况SubmitGradesControl负责学生成绩的登记CloseRegistrationControl负责关闭课程注册时序图协作图三层体系结构

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号