- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学籍管理系统建模
学籍管理系统建模
了解一个简单的软件项目的UML建模过程和主要建模元素。
根据学籍管理系统的主要需求,用Rose工具软件完成对学籍管理系统的建模。
需要在Windows下安装ROSE工具软件。
在实验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的详细设计信息后,画出类
文档评论(0)