logo资料库

学籍管理系统建模(uml实例).doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
UML 软 件 工 程 组织 火龙果软件工程技术 中心 更多技术资源 文章,讲座 ,培训,咨询 请访问 www.uml.org.cn 学籍管理系统建模 来源:.5iuml.com 1.实验目的 了解一个简单的软件项目的 UML 建模过程和主要建模元素。 2.实验内容与要求 根据学籍管理系统的主要需求,用 Rose 工具软件完成对学籍管理系统的建模。 3.实验工具和方法 需要在 Windows 下安装 ROSE 工具软件。 4.实验步骤/操作指导 在实验5-1的基础上,根据学籍管理系统的主要需求完成以下四个步骤的内容。 (1)分析并得出系统的主要参与者与主要用况,并画出系统的用况图。为所有的用况撰 写脚本,将脚本放于单独的 word 文档中,并将文档与相应的用况相连接。 1)确定系统的使用者 通过对上面问题陈述的分析,我们可以发现系统的使用者主要有 Student 和 Professor, 同时还需要 Registrar 来维护这个系统。此外,由于需要打印 Student 列表,故需要参与者 Billing System;由于需要自动维护课程目录的改变,故需要参与者 Course Catalog。因此 应该在用况视图中添加如图5-15所示的参与者。
图5-15 参与者 2)确定系统的用况 通过对上面问题陈述的分析,我们可以知道参与者 Student 主要要做 view report cards 和 register for courses 两件工作,而参与者 Professor 主要要做 Select Courses to Teach 和 Submit Grades 两件工作。参与者 Registrar 要维护信息,即要做 Maintain Professor Information 和 Maintain Student Information 两件工作,此外 Registrar 还要控制注册何 时结束,即要做 Close Registration 的工作。由于安全性的原因,要使用系统还需要首先做 Login 的工作。因此,应在用况视图中添加如图5-16所示用况。 图5-16 用况列表 3)用况图 通过上面的分析我们确定了系统中的参与者,用况以及它们之间的关系,根据这些关系, 可以画出系统用况视图中的 Main 用况图,如图5-17所示:
图5-17 用况图 (2)实现关键用例。做出相应的顺序图和协作图,对于每一个协作,说明其静态结构和 动态结构。 为了说明协作的动态结构,我们可以画出其顺序图与协作图。对于 Login 协作而言,由于 只有一个边界类 LoginForm 与系统的使用者交互,而任何系统的使用者都必须登陆,故可画 出其顺序图和协作图,如图5-18和图5-19所示。
图5-18 Login 顺序图 图5-19 Login 协作图 上面我们通过构造 Login 协作实现了 Login 用况,这里再给出 register for courses 用 况的顺序图和协作图,如图5-20所示。
图5-20 register for courses 顺序图 图5-21 register for courses 协作图 (3)做出系统的关键抽象,并设计相应的类和类图。 1)发现系统中的类 在设计时,可以从问题陈述中提炼出关键的概念,并将其抽象成相应的类。由上面的问题 陈述可知,主要有 Student 和 Professor 使用系统,Student 应该有 Schedule,系统关键处
理的是 Course,而应该由 CourseOffering 来提供相应的 Course。在系统之外还有遗留下来 的 CourseCatalog 系统。 因此可以如下图所示抽象出这些关键概念,以及与之相关的一些概念。同时还可以绘制这 些关键抽象的类图,如图5-22所示。 图5-22 关键抽象的类图 2)确定关键类的属性 以 CourseOffering 类的属性为例,由于实体类 CourseOffering 的属性指明了所提供课程 的关键性质,故单独对其画出类图 CourseOffering (attributes),如图5-23所示。 图5-23 CourseOffering 类的属性
3)类图 针对每个关键类给出类图。以 CourseOffering 为例,由于实体类 Schedule 与实体类 CourseOffering 存在着主修与选修两种关联,而对于不同的关联存在不同的特征信息与处 理 , 故 对 于 这 两 个 关 联 分 别 设 置 关 联 类 ScheduleOfferingInfo 与 PrimaryScheduleOfferingInfob,用关联类的属性刻画关联的特征信息,而将关联的处理映 射为关联类的操作。这里应特别注意的是对于不同的关联,CourseOffering 扮演的角色以及 多重性都不同。 根据上面的分析,画出 CourseOffering 关联类图,如图5-24所示。 图5-24 CourseOffering 类图 在分析过程中,我们已经知道了实体类 Schedule 与实体类 CourseOffering 之间的主修与 选修两种关联关系,对于不同的关联关系设置了关联类并画出了类图。现在,我们只需要对 于分析中得出的类图作进一步完善,加入实体类 Schedule 的详细设计信息后,画出类图 Schedule,如图5-25所示。
图5-25 Schedule 类图 对于实体类 Professor 而言,由于它要给出所提供的课程,因此它与 CourseOfferingList 类有关联,且 Professor 在此关联中扮演 instructor 角色。故可画出类图 Professor,如图 5-26所示。 图5-26 Professor 类图 对于实体类 Student 而言,由于它要被分成 Fulltime 和 Parttime 两类,因此建立类 Classification,并通过实体类 Student 对于类 Classification 的聚合来表现出 Student 所具有的分类特征。此外还须建立类 Classification 的子类 FulltimeClassification 和 ParttimeClassification,它们的构造型均为 entity,故用它们具体表现不同类 Student 所
分享到:
收藏