目录
案例
阅读以下关于软件系统建模的叙述,在答题纸上回答问题 1 至问题 3。
【题目】
某软件公司计划开发一套教学管理系统,用于为高校提供教学管理服务。该教学管理系统基本的需求包括:
(1)系统用户必须成功登录到系统后才能使用系统的各项功能服务;
(2)管理员(Registrar)使用该系统管理学校(University)、系(Department)、教师(Lecturer)、学生(Student)和课程(Course)等教学基础信息;
(3)学生使用系统选择并注册课程,必须通过所选课程的考试才能获得学分;如果考试不及格,必须参加补考,通过后才能获得课程学分;
(4)教师使用该系统选择所要教的课程,并从系统获得选择该课程的学生名单;
(5)管理员使用系统生成课程课表,维护系统所需的有关课程、学生和教师的信息;
(6)每个月到了月底系统会通过打印机打印学生的考勤信息。
项目组经过分析和讨论,决定采用面向对象开发技术对系统各项需求建模。
【问题 1】(7 分)
用例建模用来描述待开发系统的功能需求,主要元素是用例和参与者。请根据题目所述需求,说明教学服务系统中有哪些参与者。
【问题 2】(7 分)
用例是对系统行为的动态描述,用例获取是需求分析阶段的主要任务之一。请指出在面向对象系统建模中,用例之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时, “登录系统”用例与“注册课程”用例之间、“参加考试”用例与“参加补考”用例之间的关系分别属于哪种类型?
【问题 3】(11 分)
类图主要用来描述系统的静态结构,是组件图和配置图的基础。请指出在面向对象系统建模中,类之间的关系有哪几种类型?对题目所述教学服务系统的需求建模时,类 University与类 Student 之间、类 University 和类 Department 之间、类 Student 和类 Course 之间的关系分别属于哪种类型?
答案
本题考查面向对象系统建模的相关知识。
此类题目要求考生能够理解面向对象系统建模的基本概念和方法,并在应用系统开发中结合系统需求,利用面向对象建模技术构建系统的需求模型、分析模型和设计模型UML,是面向对象系统的标准建模语言,是一种定义良好、易于表达、功能强大的建模语言。UMI在支持面向对象分析与设计的基础上,能够支持从需求分析开始的软件开发全过程。在 UML 建模过程中,通过建立系统用例模型和静态模型,搭建系统体系结构用例模型属于系统的高级视图,按照面向对象的原则将系统要实现的行为划分为用例,并基于用例按照交互关系和时间产生顺序图:在用例模型的基础上抽象出系统的类,明确各模块之间的关系按照合适的粒度构建系统类图。对于复杂的交互过程,需要补充状态图、活动图和协作图等系统模型,对系统内部处理细节进行建模。该题目针对教学管理系统需求,主要考查考生对于用例图和类图进行系统建模的掌握情况。
【问题 1】解析
本问题考查考生对用例建模中“参与者”元素的理解。参与者是为了完成一个事件而与系统交互的实体,参与者可以表示与系统接口的任何事物和任何人。这可以包括人(不仅仅是最终用户)、外部系统和其他组织,参与者位于建模的系统的外部。在识别参与者时,要注意参与者是与系统交互的所有事物,该角色的承担者除了人之外,还可以是其他系统和硬件设备,甚至是系统时钟。按照题目中给出的系统需求说明,从需求(3)、(4)、(5)中可以得到由人承担的参与者包括学生、教师、管理员;需求(6)可以得到的参与者是时间(系统时钟)和打印机。
答案:
参与者:学生、教师、管理员、时间、打印机。
博主答案:学生、教师、管理员。缺少了时间和打印机(粗心与骄傲导致的)。
【问题 2】解析
用例之间的关系包括:包含、扩展、泛化。这个是理论没得说。在题目要求中,用例“登录系统”是用例“注册课程”和其他用例执行的公共行为,两者是包含(Include)关系。用例“参加补考”是用例“参加考试”的一种分支和特殊场景,两者是扩展(Extend)关系。
答案:
用例之间的关系包括:包含、扩展、泛化。
“登录系统”用例与“注册课程”用例之间的关系为:包含关系。
“参加考试”用例与“参加补考”用例之间的关系为:扩展关系。
博主答案:“参加考试”用例与“参加补考”用例之间的扩展关系。这里搞错了写成了泛化关系。
【问题 3】解析
类与类之间的关系,主要包括关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和依赖(Dependence)。
在题目要求中,类 University 与类 Student 之间的关系是整体与部分关系,而且具有不同的生存周期,所以是聚集(Aggregation)关系。类University 和类 Department 之间的关系是整体与部分的关系,两者具有相同的生存周期,所以是组合(Composition)关系。类 Student 和类 Course 之间为连接关系,所以属于关联(Association)关系。
答案:
类之间的关系:关联、聚合、组合、泛化、依赖。
类 University 与类 Suudent 之间的关系是聚合关系;
类 University 和类 Departiment 之间的关系是组合关系;
类 Student 和类 Course 之间的关系是关联关系。
相关推荐
【系统架构设计师】九、软件工程(面向对象方法|逆向工程)-CSDN博客文章浏览阅读1.7k次,点赞27次,收藏14次。面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。软件的逆向工程是分析程序,力图在比源代码更高抽象层次上建立程序的表示过程,逆向工程是设计的恢复过程。与逆向工程相关的概念有重构、设计恢复、再工程和正向工程。_软件架构设计 面向对象设计https://shuaici.blog.csdn.net/article/details/140287834【系统架构设计师】十、统一建模语言UML(基本概念|UML2.0|SysML)_sysml与uml-CSDN博客文章浏览阅读767次,点赞21次,收藏14次。UML 2.0 提供了 14 种图,分别是类图、对象图、用例图、序列图、通信图(协作图)、状态图、活动图、构件图(组件图)、部署图、制品图、组合结构图、包图、交互概览图和计时图(定时图)。序列图、通信图、交互概览图和计时图均被称为交互图。系统建模语言(SysML)是一种通用图形建模语言,用于指定,分析,设计和验证可能包括硬件,软件,信息,人员,程序和设施的复杂系统。特别是,该语言提供了图形表示,其具有用于建模系统需求,行为,结构和参数的语义基础,用于与其他工程分析模型集成。_sysml与uml
https://shuaici.blog.csdn.net/article/details/140349590