第8章面向对象分析
第8章习题与思考题参考答案
第8章面向对象分析
8.1比较面向对象的分析方法和面向数据流的分析方法,阐述它们各自的特点。
面向对象的分析方法使用用例模型来表示用户的功能需求,用例模型相当于功能模型,在对用例模型进行细化的过程中,也伴随着对功能的分解。但面向对象的分析方法并不是以功能分解为核心,在获取并分析用户的功能需求之后,重点以类和对象为核心,建立对象模型,交互模型也是围绕对象模型进行的。面向数据流的分析方法是从建立顶层数据流图(环境图)开始,之后逐层对加工进行分解。面向数据流的分析方法是以功能分解为核心的。8.2 面向对象分析需要建立的三个模型是什么?
面向对象分析需要建立的3个模型是:由用例和场景表示的功能模型(用例模型);用类和对象表示的静态模型(对象模型);由状态图和顺序图表示的动态模型(交互模型)。8.3 用例建模的主要步骤是什么?用例建模的主要步骤如下:
(1) 确定业务参与者──可以是与系统有交互的外部硬件、软件、组织、人等。
(2) 确定业务需求用例──参与者需要系统提供的完整功能。
(3) 创建用例图──标识参与者与用例之间、用例与用例之间的关系。8.4 用例模型中的外部参与者(actors)指的是什么?如何确定外部参与者?用例模型中的外部参与这指的是与系统有交互的外部硬件、软件、组织、人等。
可以通过下面的资料来确定系统的参与者:? 标识系统范围和边界的环境图;
? 现有系统(如果有的话)的文档和用户手册;? 项目会议和研
讨会的记录;? 现有的需求文档、工作手册等。
另外,还可以通过提出以下问题,明确系统的参与者:? 谁或者什么为系统提供输入?? 谁或者什么接收系统的输出?? 需要与其他系统连接的接口吗?
? 是否存在在预定的时间自动触发的事件?? 谁将维护系统中的信息?
8.5 用例与用例之间的关系主要有哪两种?其区别是什么?用例之间的关系主要有《包含》(也称《使用》)和《扩展》。
《包含》表示一个用例所执行的功能中总是包括被包含用例的功能;《扩展》是指一个用例的执行可能需要由其他用例的功能来扩展,《扩展》联系可用于对期望或可选的行为建模,但其主要用途是使基本用例的功能不依赖于扩展用例。
第8章习题与思考题参考答案
8.6 对于复杂的系统,其对象模型应该由哪五个层次组成?
对于复杂的系统,对象模型应该由下述5个层次组成:主题层(也称为范畴层)、类-对象层、结构层、属性层和服务层,如图所示。
对象模型的五个层次
8.7 解释关联类的作用,在什么时候需要使用关联类?
关联类的作用是描述关联的属性。
在关联关系比较简单的情况下,关联关系的语义用关联关系的名字来概括。但在某些情况下,需要对关联关系的语义做详细的定义、存储和访问,为此可以建立关联类(association class)。
8.8 按照以下描述,画出UML类图:
一本教材由许多章组成,每一章包含许多节、小结和习题组成,章和节都具有标题和序号属性。
UML类图如下:
8.9 考虑一个计算机超市,出售硬件、外设和软件。分析谁是这个系统的参与者?这个系统有哪些主要用例?画出用例图。
系统的参与者:系统管理员(administrator),售货员
(salesperson),客户(customer)。
主要用例
编号参与者用例Maintain product information(维护1 商品信息)名称、型号、价格)增加、修改、删除会员信息(会员编号、姓名、身份证号、办卡日期)说明增加、修改、删除商品信息(商品编号、administrator Maintain membership information2 (维护会员信息)第8章习题与思考题参考答案
Scan membership card(扫描会员3 卡)Scan product code(扫描商品的条4 salesperson 形码)Input amount of product(输入商品5 数量)salesperson,6 customer Accept payment(接收现金付款)Charge payment to card(使用银行卡付款)7 salesperson Print receipt(打印收据)在商品出售之前,系统通过扫描仪刷卡(会员卡)来确认顾客的会员身份通过扫描商品的条形码,自动识别商品的名称和价格对于已经扫描的条形码,手工输入购买的此件商品的数量
用例图如下:
8.10 假设要开发一个学生选课系统,要求根据学生的专业班级自动将其必修课填入课表,并列出所有可选的课程供学生挑选,保证时间不冲突。为学生选课系统建立需求模型。(1) 用例模型第8章习题与思考题参考答案
参与者:数据录入人员(DataEnterPerson);教务处(AcdemicAdministration);学生(Student)。序号1 2 3 4 5 6 7 8 Student AcdemicAdministration 参与者DataEnterPerson 用例Enter program of study Validate program of study Provide enrolment instruction Generate elective course list Arrange school timetable Select a course Quit a course Generate course timetable for a student 说明输入教学计划验证教学计划提供选课指导生成选课清单排课选择一门课程退选一门课程生成课表
用例图:
(2) 对象模型
主要类包括:专业/学位(Degree),教学计划(Studyprogram),课程(Course),教学任务(CourseTask),总课程表(SchoolTimetable),学生(Student),选课名单(StudentList),学生课程表(CourseTimetable)。
第8章习题与思考题参考答案
对象模型是什么
(3) 动态模型
在选课系统中,CourseTask类的对象具有比较明显的状态特征,其状态有:初始状态、可选状态、人满状态、关闭状态。
CourseTask对象的状态图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。