系统架构师Bob在分析面向对象的课程注册系统的“注册课程”用例时,得到了一组协作关系复杂的类,下面哪种图可以描述该用例中多个对象之间的相互协作关系以及协作过程中的行为次序?()
A.交互图
B.状态图
C.对象图
D.用例图
A.交互图
B.状态图
C.对象图
D.用例图
【问题1】(7分) 用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求,说明教学服务系统中有哪些参与者。 【问题2】(7分) 用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时, “登录系统”用例与“注册课程”用例之间、“参加考试”用例与“参加补考”用例之间的关系分别属于哪种类型? 【问题3】(11分) 类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类University与类Student之间、类University和类Department之间、类Student和类Course之间的关系分别属于哪种类型?
Sunny 旅游管理系统问题描述: Sunny旅游公司在每年寒假或暑假为教师和学生各种旅游项目,现希望开发一个旅游管理系统TravelSys,通过网络实现旅游项目的发布、报名和查询。该系统允许普通用户在网上申请旅游报名和查询相关信息,旅游管理人员可以发布旅游项目信息和查询报名情况,并进行资格审查和缴费登记。 在每年寒假或暑假开始之前,旅游负责人发布旅游项目的基本信息和各旅游线路的详细信息,设置报名开始日期和结束日期,并指定各旅游线路的线路管理员。在报名规定的有效期内,普通用户可以在网上填写报名表,一份报名表可以填写一名或多名游客,但必须指定一名游客作为联系人,同时可以提出房间分配要求。 普通用户提交报名表之后,线路管理员对普通用户填写的报名表进行资格审查。对于没有通过资格审查的报名表,线路管理员将电话与联系人进行交流,并对报名表进行修改或取消;对于通过资格审查的报名表,线路管理员将登记其缴费情况,报名表在系统中的状态是通过未缴费或者已缴费。在任何时候,线路管理员还可以维护报名表,并完成整个线路的房间分配。 在报名结束之后,旅游负责人根据各线路的报名人数和实际发团情况,调整所有旅游线路。对于报名人数未满足发团要求的线路,与旅行社协商后取消该线路,并通知有关联系人;对于报名人数超过预定要求的线路,与旅行社协商后将增加新的旅行团,并将所有该线路的报名者进行分团处理。 由于报名信息等属于个人敏感信息,因此系统必须提供必要的安全措施以防止他人的非法存取。 该系统在网络环境下运行,要求界面友好,响应速度快,具有良好的安全性和可扩展性。 要求为Sunny旅游系统建立需求模型,包括: 1.用例图 (参考教材中的例子) 2.需求规约 3.补充规约 4.术语 供参考模板: 1.用例规约 注册课程用例的用例规约 1.简要说明 本用例允许学生注册本学期提供的课程。在学期开始的添加/删除时期,学生可以修改或删除选择的课程。课程目录系统提供了当前学期开设的所有课程的列表。 2.事件流 2.1基本事件流 用例开始于学生选择注册课程,或修改已存在的课程表。 1.系统要求学生指出要执行的操作(创建,修改或删除课程表) 2.一旦学生提供了所需要的信息,以下的一条子事件流将被执行 如果选择的是“创建课程表”,创建课程表子事件流将被执行 如果选择的是“修改课程表”,修改课程表子事件流将被执行 如果选择的是“删除课程表”,删除课程表子事件流将被执行 2.1.1创建课程表 1.系统从课程目录系统中得到可选择的课程列表,并将列表显示给学生 2.学生从课程列表中选择四门主要的和两门备选的课程 3.一旦学生决定了选课情况,系统为他创建一个包含所选课程的课程表 4.执行提交课程表子事件流 2.1.2修改课程表 1.系统得到并显示学生当前的课程表(例如用于本学期的课程表) 2.系统从课程目录系统中得到可选择的课程列表,并将列表显示给学生 3.学生可以通过删除或添加课程来修改课程选择。学生从有效的课程列表中选择课程并添加。也可以从现存的课程表中选择任何课程将其删除。 4.一旦学生决定了选课情况,系统用学生所选的课程更新课程表 5.执行提交课程表子事件流 2.1.3删除课程表 1.系统得到并显示学生当前的课程表(例如用于本学期的课程表) 2.系统提示学生确认删除课程表 3.学生确认删除 4.系统删除课程表。如果课程表包含“已登记”的课程,学生必须从课程提供中删除 2.1.4提交课程表 对于课程表中每门未标有“已登记”的已选课程,系统检验学生满足必要的预备条件,并且课程未被选满,没有时间冲突,系统将学生添加到选择的课程中,这个课程在课程表中表明“已登记”。系统保存课程表。 2.2备选事件流 2.2.1保存课程表 在任何时候,学生都可以选择保存课程表而不提交它。如果这样,提交课程表的步骤将被以下步骤所取代: 课程在课程表中的标识不是“已登记”而是“已选”,系统保存课程表 2.2.2不满足预备条件,课程人数已满或课程时间冲突 如果在提交课程表子事件流中,系统确定学生没有满足必要的预备条件,或者选择的课程已满,或课程有时间冲突,将显示一条错误信息。学生可选择另一门课程,此用例继续;或取消操作,这时本用例重新开始。 2.2.3未找到课程表 如果在修改或删除课程表子事件流中,系统无法返回学生的课程表,将显示错误消息。学生确认错误,这时本用例重新开始。 2.2.4无法访问课程目录系统 如果系统无法与课程目录系统取得联系,系统将显示错误消息。学生确认错误,本用例终止。 2.2.5课程注册系统被关闭 当用例开始时,如果确定用于本学期的注册系统已被关闭,显示一条消息给学生,本用例终止。学生不能在注册系统关闭后注册课程。 2.2.6删除被取消 如果在删除课程表子事件流中,学生决定不删除课程表,本用例重新开始。 3.特殊需求 无 4.前置条件 本用例开始前学生必须已经登陆进系统。 5.后置条件 如果用例成功,学生的课程表被创建,修改,删除。否则系统状态不变。 补充规约: 课程注册系统补充规约 1.目标 本文档的目的是定义课程注册系统的需求。本补充规约列出了不便于在用例模型的用例中获取的系统需求。补充规约和用例模型一起记录关于系统的一整套需求。 2.范围 本补充规约适用于课程注册系统,将要由学习面向对象软件分析与设计的学生开发。 本规约除定义了在许多用例中所共有的功能性需求以外,还定义了系统的非功能性需求,例如:可靠性、可用性、性能和可支持性等。(功能性需求在用例规约中定义。) 3.参考 无 4.功能 多个用户必须能同时执行操作。 如果某个学生所建的课程表中包含人数已满的课程,必须通知这位学生。 5.可行性 桌面用户界面应与 Windows 98/2000/XP 兼容。 6.可靠性 课程注册系统在每周七天,每天二十四小时内都应是可以使用的。宕机的时间应少于 10%。 7.性能 1.在任意既定时刻,系统最多可支持 2000 名用户同时使用中央数据库,并在任意时刻最多可支持 500 名用户同时使用本地服务器。 2.系统将能在十秒钟内提供对遗留课程目录数据库的访问。 注意:基于风险的原型发现遗留课程目录数据库在没有利用中层处理能力的前提下,无法满足性能上的需求。 3.系统必须能够在 2 分钟内完成所有事务的 80%。 8.可支持性 无 9.安全性 1.系统必须能防止学生修改他人的课程表以及教授修改其他教授所开设的课程。 2.只有教授能输入学生的成绩。 3.只有注册员能更改学生的信息。 10.设计约束 该系统应与现有遗留系统:课程目录系统(是RDBMS数据库)集成在一起。 系统必须提供基于Windows桌面的接口。 术语: 课程注册系统术语表 1. 简介 这份文档是用来对一些术语进行定义的,同时将用例说明或其他文档中读者不太熟悉的术语进行解释性的描述。通常来说,这份文档对一些数据信息进行一些定义,从而使得用例说明和其他的文档显得简洁易懂。 2. 定义 这份术语表包含了课程注册系统中核心概念的定义。 2.1 课程:大学提供的某一门课。 2.2 课程开设:某一课程的具体安排情况,包括一周上课的天数和时间。 2.3 课程目录:大学所开设的所有课程的完整目录。 2.4 教员:所有在此大学内任教的教授。 2.5 财务系统:用来处理收费信息的系统。 2.6 成绩:学生某门课程的成绩。 2.7 教授:在该大学任教的个人。 2.8 报告:一个学生在某一学期内所有已修课程的成绩。 2.9 花名册:在某门课程中登记的所有学生。 2.10 学生:在该大学某一班级注册的个人。 2.11 课程表:学生在当前学期所选的课程。 2.12 总成绩单:某个学生所有课程成绩的历史记录。 2.13 注册员:对课程注册和课程开设负责的大学管理员。
课程实践二题目(根据实践一选择的项目来完成实践二的任务): 题目一:请采用用况图描述需求,并对其中一个用况给出其执行规约。 题目二:给出面向对象分析得到的类图。 题目三:给出面向对象设计得到的类图,并简要陈述在问题域、人机交互、数据管理三个方面对面向对象分析得到的类图进行了哪些调整和完善。 课程实践二示例: 这篇补充阅读材料以一个简化的注册登陆系统为例,给出了第二次课程实践各题目的示例,供大家参考。 题目1:请采用用况图描述需求,并对其中一个用况给出其执行规约。 需求描述:针对注册用况给出执行规约如下:题目二:给出面向对象分析得到的类图。题目三:给出面向对象设计得到的类图,并简要陈述在问题域、人机交互、数据管理三个方面对面向对象分析得到的类图进行了哪些调整和完善。 OOD设计说明 1. 问题域部分的设计 系统的目标形式设计为网站,后端的编程语言使用Java。考虑到编程语言的特性,存在Object基类可以复用,据此对OOA得到的类图进行了调整。 2. 人机交互部分的设计 人机交互部分主要是对网页界面的设计,主要包括注册界面与登录界面。每个界面包含一个表单,表单主要包含的组件有label(提示相应input功能),input(填写相应信息),button(点击以进行表单提交或取消等)。据此进行了OOD人机交互部分的设计。 3. 数据管理部分的设计 系统的数据库管理部分主要进行用户相关的数据管理,包含创建新用户,删除用户,查询、修改用户信息。据此进行了数据管理部分的设计。 题目四:对复杂的交互逻辑和复杂的对象状态,给出必要的顺序图和状态图。 针对注册这个用况给出了OOA部分的顺序图:在OOD部分对上面的顺序图进行了调整和补充:针对用户类给出了状态图:
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!