软件工程基础与案例教程 习题及答案 第2部分 .docx

软件工程基础与案例教程 习题及答案 第2部分 .docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第5章习题答案

什么是结构化分析?

结构化分析方法是一种传统的软件建模技术,其过程是创建描述信息内容和数据流的模型,依据功能和行为对软件统进行划分,并描述必须建立的软件要素。

2.阐述结构化分析要创建的模型。

结构化的需求分析模型有数据流模型、状态转换模型、实体—关系模型等。

数据流模型集中在数据的流动和数据转换功能,而不关心数据结构的细节。

实体—关系模型关心的是寻找系统中的数据及其之间的关系,却不关心系统中包含的功能。

软件的行为模型包括两类模型:一类是数据流模型,用来描述系统中的数据处理过程;另一类是状态转换模型,用来描述系统如何对事件做出响应。

3.给出面对面结对软件系统的用户管理的数据模型。

面对面结对编程系统涉及系统相容性分析和评测,以及结对工作。所以,面对面结对编程系统的主要实体有:结对者(包括驾驭者、导航员)、个性能力。关系有:结对、评测、相容。面对面结对编程系统的实体关系图如下:

结对者

结对者

结对导航员驾驭者

结对

导航员

驾驭者

评测评测

评测

评测

个性与能力特性

个性与能力特性

4.状态图主要用于描述系统的什么需求?

状态图描述了系统中某些复杂对象的状态变化,主要有状态、变迁和事件三种符号。这种模型适用于描述实时系统,因为实时系统往往是由外界环境的激励而驱动的。状态图描述系统的非功能需求和领域需求。

5.给出网上书店的主要功能和优先级。

图书查询与浏览(重要)

订单生成(重要)

支付(一般)

记账(一般)

订书(次要)

统计(一般)

6.给出网上书店的实体-关系图。

付款订购

付款

订购

订单支付顾客

订单

支付

顾客

包含

包含

图书

图书

7.给出电子表软件的状态图。提示:电子表具有三种状态,分别为显示时间、设置小时、设置分钟。模式按钮是外部事件,导致电子表发生状态变化。

inc/hours=hours+1modulo24inc/minutes=minutes+1modulo60

inc/hours=hours+1modulo24

inc/minutes=minutes+1modulo60

电子表程序的状态图

模式按钮

显示

执行显示当前时间

设置小时

执行显示小时

显示分钟

执行显示分钟

模式按钮

模式按钮

8.图书馆管理系统中在检查读者能否借书时要考虑哪些规则?

1)是否是合法会员

2)是否有超期图书

3)是否已借满

4)是否罚金大于2元

。。。

9.借书功能的可借性是否要考虑预约?

如果预约的图书不返回到书架,即非预约者不可能拿到该书,则可以不考虑。否则需要验证。

10.请建立图书馆管理系统的实体-关系模型。

1

1

借书记录

预约记录

借/还/续借

1

M

1

N

M

包含

预约

图书馆系统部分ERD

借书者

图书

书目

第6章习题答案

1.阐述软件设计过程及其任务。

软件设计的第一类活动是总体设计,也称为概要设计,软件结构设计,或高层设计。软件结构设计任务是分析需求规格说明,进行模块划分,形成具有预定功能的模块组成结构,表示出模块间的控制关系,并给出模块之间的接口。

软件设计的第二类活动是软件详细设计,也称为(模块)过程设计,或低层设计。其任务是设计各个模块细节,确定模块所需的算法和数据结构等。

软件设计的第三类活动是对软件设计的测试和复审,确保设计的正确和优化。

2.阐述软件设计的主要概念和原理。

分解、抽象、逐步求精、信息隐蔽和模块独立性,是软件模块化设计的指导思想。

3.请分析分解、逐步求精和抽象的关系。

一般,需要对复杂问题进行分解,分解成的小问题就容易分析了。但是,分解必然需要抽象的支持。抽象是抓住主要问题,隐藏细节,这样才能容易分解。

抽象具有不同的级别。在最高的抽象级上,使用问题所处的环境的语言以概括性的术语描述解决方案。在较低的抽象级上,将提供更详细的解决方案说明。比如,当我们考虑开始需求时,与用户使用业务描述语言和领域术语来交谈,主要目的是了解用户的动机。然后使用用例和场景等方法得到用户的基本要求,最后使用各种建模方法描述和理解用户的真正需要。

4.举例阐述衡量模块独立性的指标。

模块独立性可以由两个定性标准度量,即模块自身的内聚和模块之间的耦合,前者也称为块内联系或模块强度,后者也称为块间联系。显然,模块独立性愈高,则块内联系越强,块间联系越弱。

5.简述软件结构图的主要元素和作用。

软件结构一般用树状或网状结构的图形来表示。在软件工程中,一般采用结构图来软件结构。软件结构图的主要元素有:

(1)模块:模块用带有名字的方框表示,名称应体现模块的功能。

(2)控制关系:控制关系用单向箭头或直线表示模块间的调用关系。

(3)信息传递:用带注释的短箭头表示模块调用过程中传递的信息。

(4)循环调用和选择调用:在上部模块底部加一个菱形

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档