课后习题答案
第一章
1.选择题
(1)软件是计算机系统中与硬件相互依存的另一部分,它包括文档、数据和( )。
A. 数据 B. 软件 C. 文档 D. 程序
(2)软件工程是一门研究如何用系统化、( )、可度量化等工程原则和方法去进行指导软件开发和维护的学科。
A.规范化 B.标准化 C.抽象化 D.简单化
(3)软件工程的出现主要是由于( )。
A.方法学的影响 B.软件危机的出现 C.其他工程学科的发展 D.计算机的发展
(4)可行性研究主要包括经济可行性、技术可行性、法律可行性和( )等六个方面。
A.运行可行性 B.条件可行性 C.环境可行性 D.维护可行性
(5)编制项目开发计划的目的是用文件的形式,把在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软件、硬件条件等问题做出的安排以( )记载下来。
A.文件形式 B. 文档形式 C. 电子档案形式 D. 条文形式 2.填空题
(1)软件工程是开发 、 运行 、维护和修复软件的系统方法,这里所说的系统方法,是把系统化的、规范化的、可度量化的途径应用于软件生存周期中,也就是把工程化应用于软件中。
(2)可行性研究的任务不是具体解决系统中的问题,而是确定问题是否值得解决、是否能够解决。 (3)软件的开发计划也称项目实施计划,是一个综合的计划,是软件开发工作的指导性文档,阅读对象是软件开发的主管部门、软件技术人员和普通用户。 3.思考题
(1)软件危机产生的原因是什么?为何要引入软件工程的概念?
答:软件危机的产生,一方面是与软件本身的特点有关,另一方面是由于软件开发和维护的方法不规范、不正确造成的,其根本原因
①忽视了软件开发前期的需求分析;
②开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。 ③忽视测试阶段的工作,提交给用户的软件质量差。 ④请示软件的维护。 (2)可行性研究的主要任务有哪些?
答:①经济可行性 ②技术可行性 ③时机可行性
④管理上的可行性 ⑤法律可行性 ⑥运行可行性
(3)制定项目开发计划的主要任务是什么?
答:①项目资源计划
软件开发中的资源包括用于支持软件开发的硬件,软件工具以及人力资源。 ②成本预算
成本预算就是要估计总的开发成本,并将总的开发费用合理地分配到开发的各个阶段中去。
③进度安排
进度安排确定最终的软件交付日期,并在限定的日期内安排和分配工作量。
第二章 需求分析
习 题
1. 选择题
(1)需求分析阶段的工作可以分成4个方面:对问题的识别、分析与综合、制订需求规格说明书和( )。
A.需求分析评审 B.对问题的解决 C.对过程的讨论 D.功能描述 (2)以下不是结构化分析方法描述系统功能模型的方法是( ).
A.数据流图 B.数据字典 C.加工说明 D.流程图 (3)以下不是对象具有的特点是( ).
A.数据的封装性 B.并行性 C.模块独立性好 D.对象是被动的
(4)对象模型技术是1991年由Jame Rumbaugh等5人提出来的,该方法把分析收集到的信息构造在对象模型、动态模型和功能模型中,将开发过程分为系统分析、系统设计( )和实现4个阶段。
A.对象设计 B.类的设计 C.模块设计 D.程序设计 (5)。按照层次来划分。UML的基本构造块包含:视图、图和( )
A.功能模型 B.模型元素 C.示例 D.视图元素
2.填空题
(1)需求分析可分为对问题识别、分析与综合、编制需求分析文档、需求评审四个阶段。
(2)需求分析的任务是理解和表达用户的需求,借助当前系统的物理模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题所要做的工作是深入描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。
(3)系统分析是对问题的 识别 和 说明 的过程,分析员要回答的问题是“系统必须做什么”的问题,而不是“系统应该怎么做”的问题。
(4)结构化分析方法是一种面向数据流的需求分析方法。这种方法通常与设计阶段的结构化设计衔接起来使用。
(5)面向对角分析模型通常包括对象模型、功能模型、动态模型。
(6)类是某些对象的模板,抽象地描述属于该类的全部对象的属性和操作。
(7)UML是一种可视化的、用于绘制软件蓝图的标准建模语言。可心用UML对软件系统的各种制品(包括程序、文档等)进行描述。
3.思考题
(1)什么是需求分析?需求分析阶段的基本任务是什么?
答;一个项目通过市场调研,进行深入细致的可行性分析,获准开发后,为了保证制定的软件开发计划详细可行,还需要对软件目标及范围求精和细化,从而解决软件系统必须要做的工作。这就是本项目所阐述的需求分析
需求分析的任务是理解和表达用户的需求,描述软件的功能和性能,确定软件设计的限制和软件同其他系统元素的接口细节,定义软件的其他有效性需求。 (2)什么是结构化分析方法?该方法使用什么描述工具? 答:结构化分析方法是一种面向数据流的需求分析方法。该方法主要是利用数
据流图、数据字典和加工说明等来描述系统的功能模型。 (3)什么是面向对象技术?面向对象方法的特点是什么?
答;面向对象技术是一整套实用的软件开发方法
特点:数据的封装性。 以数据为中心。 对象是主动的。 模块独立性好。并行性。 (4)什么是类?类与传统的数据类型有什么关系?
答; 具有相同特征和行为的对象归结在一起就形成类,也就是说,类是具有相同属性和服务的一组对象的集合。
在面向对象方法学中,类是某些对象的模板,抽象地描述属于该类的全部对象的属性和操作。 (5)建立分析和设计模型的一种重要方法是UML,试问UML是一种什么样的建模方法?它如何表示一个系统?
UML是一种可视化的、用于绘制软件蓝图的标准建模语言。可以用UML对软件系统的各种制品(包括程序、文档等)进行描述。
UML虽然不是一种具体的编程语言,但是用UML描述的各种模型可以与各种编程语言直接相连。
(6)UML中提供哪几种图?并说明每种图所描述的内容是什么?
(1)用例视图(Use Case View)。 (2)逻辑视图(Logical View) (3)并发视图(Concurrent View) (4)组件视图(Component View)。 (5)部署视图(Deployment View)
第三章 选择项目的总体设计
习 题
1.选择题
(1)系统开发的命名规则是( )
A. 变量名只能由大小写英文字母、“_”以及阿拉伯数字组成 B. 名称的第一个字符必须是英文字母或数字
C. 全局变量、局部变量命名必须用英文字母简写来命名 D. 数据库表名、字段名等命名应尽量体现数据库、字段的艺能
(2)面向事务设计方法首先确定主要的( C ),然后逐层详细描述各个状态的( A )。
A. 转化过程 B. 状态变化 C. 状态分类 D. 转化变化 (3)使用面向对象的设计方法进行对象分析和设计时的步骤是( ABCED )。
A. 识别对象 B. 确定操作 C. 定义操作 D. 确定对象之间的通信 E. 完成对象定义
(4)软件建模的三个模型是:( C )描述系统能什么,( F )描述系统在何时、何地由何角色、按什么业务规则去执行,以及执行的步骤或流程,( B )描述系统工作前的数据来自何处,工作中的数据暂存什么地方,工作后的数据放到何处,以及这些数据之间的关联。
A. 设计模型 B. 数据模型 C. 功能模型 D. 性能模型 E. 用例模型 F. 业务模型
2. 填空题
(1) 总体设计的主要任务是根据用户需求分析阶段得到的目标系统的物理模型确定一个合理的系统解决方案。