uml习题答案第三次到第五次_第1页
uml习题答案第三次到第五次_第2页
uml习题答案第三次到第五次_第3页
uml习题答案第三次到第五次_第4页
uml习题答案第三次到第五次_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1习题习题 3.1n参考答案参考答案q对比其他工程,在软件工程的实施中,晚期测试带来的对比其他工程,在软件工程的实施中,晚期测试带来的问题越来越明显问题越来越明显q问题在于软件工程师,通过系统模型或用户需求,无法问题在于软件工程师,通过系统模型或用户需求,无法推断目标系统的特证;但对于航空工程师来说,通过早推断目标系统的特证;但对于航空工程师来说,通过早期的风洞试验或数学分析模型,就能够评测新机翼的设期的风洞试验或数学分析模型,就能够评测新机翼的设计计q软件开发的形式化研究,试图为软件工程的实施提供一软件开发的形式化研究,试图为软件工程的实施提供一个适合的数学基础,但没有取得成功;部分原因就在

2、于个适合的数学基础,但没有取得成功;部分原因就在于,软件形式化规范对需求的描述比代码本身更详细,在,软件形式化规范对需求的描述比代码本身更详细,在某些方面甚至不是一种对系统的抽象某些方面甚至不是一种对系统的抽象2习题习题 3.2n参考答案参考答案q要回答这个问题,需要熟悉其他工程。从一个世俗的角要回答这个问题,需要熟悉其他工程。从一个世俗的角度来看,似乎是软件需求比其他工程更复杂。其中一个度来看,似乎是软件需求比其他工程更复杂。其中一个原因可能是缺乏宽容(太过于严谨),这是软件需求的原因可能是缺乏宽容(太过于严谨),这是软件需求的典型表现典型表现3习题习题 3.3n参考答案参考答案q每次螺旋的

3、开始,基于以往的开发和风险分析提出一些每次螺旋的开始,基于以往的开发和风险分析提出一些明确的方案。明确的方案。4习题习题 3.4n参考答案参考答案q这一过程是渐进的,没有反复建立一个分阶段制度,每这一过程是渐进的,没有反复建立一个分阶段制度,每个阶段所涉及的活动将有所不同。例如神经网络软件的个阶段所涉及的活动将有所不同。例如神经网络软件的开发过程:第一增量是网络拓扑定义,第二增量就是增开发过程:第一增量是网络拓扑定义,第二增量就是增加适当的数据训练样本。分阶段地构建系统,每个阶段加适当的数据训练样本。分阶段地构建系统,每个阶段的活动都不一样,这就是一个增量而无迭代的开发过程的活动都不一样,这就

4、是一个增量而无迭代的开发过程。q构建好完整的系统原型后,在前一次开发的评估或启发构建好完整的系统原型后,在前一次开发的评估或启发下,不断返工开发的过程,就是一个迭代而无增量的过下,不断返工开发的过程,就是一个迭代而无增量的过程。程。5习题习题 3.5n参考答案参考答案q开源开发是一个分布的演化模型,通常会转化为增量和开源开发是一个分布的演化模型,通常会转化为增量和迭代开发,例如迭代开发,例如Linux的开发,具有以下特征:的开发,具有以下特征:n地理上广泛分布的开发者进行相互独立的开发,使地理上广泛分布的开发者进行相互独立的开发,使得许多不同的增量被并行(迭代)开发得许多不同的增量被并行(迭代

5、)开发n通过具有配置管理功能的系统,确保从分布的开发通过具有配置管理功能的系统,确保从分布的开发活动中提取合适的产品活动中提取合适的产品6示例示例n家庭图书管理家庭图书管理q有一个爱书的人,家里各类书籍已过千册,而平时又时有一个爱书的人,家里各类书籍已过千册,而平时又时常有朋友外借,因此需要一个个人图书管理系统。该系常有朋友外借,因此需要一个个人图书管理系统。该系统应该能够将书籍的基本信息按计算机类、非计算机类统应该能够将书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类别、出版社等关键字分别建档,实现按书名、作者、类别、出版社等关键字的组合查询功能。在使用该系统录入新书籍时,

6、系统会的组合查询功能。在使用该系统录入新书籍时,系统会自动按规则生成书号,可以修改信息,但不能够删除记自动按规则生成书号,可以修改信息,但不能够删除记录。该系统还应该对书籍的外借情况进行记录,显示外录。该系统还应该对书籍的外借情况进行记录,显示外借情况列表。另外,还希望对书籍的购买金额、册数按借情况列表。另外,还希望对书籍的购买金额、册数按特定时限进行统计特定时限进行统计n请用请用UML画出用例图画出用例图7 (a)通常结果)通常结果 (b)可选结果)可选结果 示例示例n参考答案参考答案8示例示例n优化优化 (a)优化方案)优化方案 1 (b)优化方案)优化方案 2 9习题习题 8.1n(a)

7、n(b)10习题习题 8.1n(c)n(d)11习题习题 8.2n(a)n(b)n(c)n(d)n(e)12习题习题 8.3n(a) 正确正确 n(b) 错误错误q类类C实例不允许独立存在,实例不允许独立存在, 1个类个类C实例都确定链接实例都确定链接1个个类类D实例实例 n(c) 错误错误q类类D的的1个实例最多只能链接个实例最多只能链接1个类个类C实例实例 n(d) 错误错误q1个类个类C实例都当且仅当只能链接实例都当且仅当只能链接1个类个类D实例实例 n(e) 错误错误q类图中没有定义与链接匹配的关联类图中没有定义与链接匹配的关联n(f) 正确正确q类类D实例可能独立存在实例可能独立存在

8、13习题习题 8.4n(a) 正确正确q类类C实例可以链接实例可以链接0到多个类到多个类D实例实例n(b) 错误错误q类类D实例不允许独立,每实例不允许独立,每1个类个类D实例都确定链接实例都确定链接1个类个类C实例实例 n(c) 正确正确n(d) 错误错误q每每1个类个类D实例都当且仅当只能链接实例都当且仅当只能链接1个类个类C实例实例 n(e) 正确正确q类类C实例可以链接实例可以链接0到多个类到多个类D实例实例n(f) 错误错误q最上面的类最上面的类D实例链接了实例链接了2个类个类C实例实例14习题习题 8.5n参考答案参考答案director Employs15习题习题 8.6n(a)

9、 P119图图8.20表达信息不精确表达信息不精确q多重性表达不准确多重性表达不准确修改多重性修改多重性q祖先链存在无限和循环祖先链存在无限和循环的可能的可能改为聚合关联改为聚合关联 16 习题习题 8.6n(b)q抽象的抽象的“关系类关系类(liaison)”,表示类,表示类person之间的关系之间的关系n类类(marriage)是抽象是抽象“关系类关系类(liaison)”的子类的子类n类类(person)与与“关系类关系类(liaison)”有关联关系有关联关系(childof)17习题习题 8.7n参考答案参考答案q课本课本P120原图原图8.22 18 习题习题 8.7n参考答案参

10、考答案q改进后图改进后图n记录职别和薪水记录职别和薪水19习题习题 8.8n(a) 正确正确n(b) 错误错误q关联关联“beta”只能链接只能链接C和和T的类实例的类实例n(c) 错误错误qC是是A的子类,的子类,T是是S的子类;图示的子类;图示alpha链接是正确的链接是正确的q但在但在T类实例存在的情况下,应该有一个确定的类实例存在的情况下,应该有一个确定的C类实类实例与之存在例与之存在beta链接链接 n(d) 正确正确qB类是类是A类的子类类的子类q一个一个S类实例可以与任意类实例可以与任意(0n)的的B类实例存在类实例存在alpha链链接接20习题习题 8.8n(e) 正确正确qB

11、类或类或C类都是类都是A类的子类类的子类q一个一个S类实例可以与任意类实例可以与任意(0n)的的B类实例或类实例或C类实例之类实例之间,存在间,存在alpha链接链接n(f) 正确正确qC类是类是A类的子类,类的子类,T类是类是S类的子类类的子类qC类实例和类实例和T类实例之间存在多重联系,既存在类实例之间存在多重联系,既存在alpha链链接,也存在接,也存在beta链接链接n(g) 错误错误qS类和类和T类之间只有泛化关系,没有其他的关联类之间只有泛化关系,没有其他的关联21习题习题 8.8n(h) 错误错误q同同(c),图示的图示的alpha链接是正确的链接是正确的q但缺少一个确定的但缺少

12、一个确定的beta链接,链接,T类实例不会孤立存在类实例不会孤立存在n(i) 错误错误qB类实例不能与类实例不能与T类实例建立类实例建立beta链接链接n(j) 错误错误qC类是类是A的子类,的子类,C类实例不会孤立存在,必须有一个类实例不会孤立存在,必须有一个S类实例类实例(或或S子类实例子类实例)与之有与之有alpha链接链接qT类实例与类实例与C类实例有一确定的类实例有一确定的beta链接链接n(k) 正确正确n(l ) 正确正确22 习题习题 8.9n参考答案参考答案q系统运行时,特定子系统运行时,特定子类的类实例对象使用类的类实例对象使用定义在抽象父类中的定义在抽象父类中的公共接口,

13、是泛化、多态的主要优点;公共接口,是泛化、多态的主要优点;qP126图图8.31中,若类中,若类shape省略抽象省略抽象draw()方法,方法, 就就失去失去draw()方法的多态机制;即:泛指的方法的多态机制;即:泛指的shape对象不对象不知道调用哪一个知道调用哪一个shape子类实例的子类实例的draw()方法,如方法,如 Shape s = new Rectangle() ; s.draw() ; 此时,使用此时,使用s的的draw()方法前,必须明确方法前,必须明确s所属具体所属具体子类,如:子类,如:(Rectangle) s).draw() ;nn23习题习题 8.10n参考答

14、案参考答案q现实生活中,父子关系是不具有对称性和传递性的现实生活中,父子关系是不具有对称性和传递性的n父子关系是反对称的,没有人能够做自己的父母父子关系是反对称的,没有人能够做自己的父母n父子关系是不可传递,祖父与父亲是父子关系,父父子关系是不可传递,祖父与父亲是父子关系,父亲和儿子是父子关系,祖父与儿子就不是父子关系亲和儿子是父子关系,祖父与儿子就不是父子关系q故故P119图图8.20中的双向关联改为聚合关联更为恰当中的双向关联改为聚合关联更为恰当 24习题习题 8.11n参考答案参考答案qP129图图8.36q改进后的类图与对象图改进后的类图与对象图 25习题习题 8.12n参考答案参考答

15、案qP129图图8.37q对象图对象图 26 习题习题 8.13n参考答案参考答案qP132图图8.44含义,含义,1个学生个学生选修选修1门课程,可以参加门课程,可以参加0n次考试次考试q但对于但对于1个个Attempt实例,与之链接的实例,与之链接的Student实例数和实例数和Module实例数,没有给出精确的限制;一个实例数,没有给出精确的限制;一个Attempt实例,可能并不链接至任何实例,可能并不链接至任何Student实例或实例或Module实实例,但至多只能和例,但至多只能和1个个Student实例和实例和1个个Module实例实例链接;链接;qN元关联的重数的含义比元关联的重

16、数的含义比2元关联的重数更为复杂,在元关联的重数更为复杂,在实际建模中,通常使用实际建模中,通常使用2元关联,不使用元关联,不使用N元关联。元关联。27 习题习题 8.14nP117图图8.15:公司雇佣职员:公司雇佣职员qa方案方案n一个一个person只只能受雇于一个能受雇于一个company,可以将可以将salary属性简单地加在属性简单地加在person类类中中qb方案方案n可以将可以将salary属性加在一个关属性加在一个关联类联类contract中中qa方案简单,方案简单,b方案灵活方案灵活nb方案能应对业务规则改变,考虑业务规则变化,增方案能应对业务规则改变,考虑业务规则变化,增

17、加关联类的设计是值得的加关联类的设计是值得的 28习题习题 8.15n分析过程分析过程q提取名词提取名词q总结业务实体总结业务实体q抽象业务模型抽象业务模型q设计领域模型设计领域模型nBook与与CopyqBook是逻辑书是逻辑书qCopy是物理书是物理书 名词名词 英文表示英文表示 备注备注 图书馆图书馆 library 类类 Library 系统系统 system 类类 Library 书的列表书的列表 catalogue 类类 Catalogue(*) 书书 book 类类 Book 书名书名 title 类类 Book 的属性的属性 作者名作者名 authors name 类类 Boo

18、k 的属性的属性 ISBN 号号 ISBN number 类类 Book 的属性的属性 书的副本书的副本 copy 类类 Copy 书的登记号书的登记号 accession number 类类 Copy 的属性的属性 注册读者注册读者 registered reader 类类 Reader 读者姓名读者姓名 name 类类 Reader 的属性的属性 读者地址读者地址 address 类类 Reader 的属性的属性 一次借阅一次借阅 loan record 类类 Loan 借阅日期借阅日期 date 类类 Loan 的属性的属性 借书卡借书卡 ticket 不建模不建模 29习题习题 8.15n类图类图 30习题习题 8.16n文件系统模型文件系统模型q目录包含子目录和文件目录包含子目录和文件q文件系统由根目录下的一文件系统由根目录下的一组文件组成组文件组成q用户可以拥有目录和文件用户可以拥有目录和文件q用户可以读文件并拥有一用户可以读文件并拥有一个主目录个主目录 FileSystem User Directory File home root subdirectory Contains CanRead Owns Owns * * * * * 1 1 1 1 1 0.1 0.1 0.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论