软件工程各章作业习题的名词解释和问答题参考答案
第一章:
1:什么是软件危机
开发软件由于管理混乱,加入软件规模越来越大,越来越复杂,造成软件开发失败。
2:软件工程过程
指获取、供应、开发、操作和维护软件时要实施的过程、活动和任务。
3:软件生成周期
可行性研究与计划、需求分析、总体设计、详细设计、实现、测试、使用与维护
4:有哪些软件周期模型
瀑布模型、原型模型、增量模型、螺旋模型。
5:软件
计算机程序及说明程序的各种文档
6:个体手工劳动
个人编写程序
7:小生产合作方式
多人编写程序
8:软件的特点
是一种逻辑产品,软件的生产主要是研制,软件产品不会用坏,软件生产主要是脑力劳动,软件的成本高。
9:软件文档
有关程序的功能、设计、图形资料等等。
第二章: 三. 名词解释 1.可行性研究
以最小代价, 在尽可能短的时间内, 确定该软件项目是否能够开发, 是否值得开发.
2.技术可行性
主要研究开发的软件技术风险有多大
3.经济可行性
主要研究开发成功后能否得到应有的效益
4.社会可行性
主要研究开发的软件是否存在责任和侵权, 以及与当前管理制度, 人员素质, 操作方式的矛盾能否解决.
四.问答题
1. 可行性研究的任务是什么?
首先初步确定项目的规模, 目标, 约束和限制条件, 决定系统的主要功能, 进行简要压缩, 提出几种解决方案.对每种方案提出意见.
2. 可行性研究有那些步骤?
确定任务;
分析技术可行性; 分析经济可行性; 分析社会可行性; 作出系统流程图; 作出开发计划。
3. 可行性研究的目的.
减少开发大型软件的风险,缩短开发周期, 减小投资, 减少使用资源, 在尽可能短的时间内, 确定该软件项目是否能够开发, 是否值得开发.
第三章 三. 名词解释 1. 需求分析
指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来
2. DFD
数据流图
四. 简答题
1. 什么是需求分析? 该阶段的基本任务是什么?
指开发人员为了准确地理解, 表达用户的要求, 通过调查, 分析, 把系统的功能, 性能等方面准确地表达出来
基本任务:
(1) 能够表达和理解问题的功能和性能;
(2) 可以把一个复杂问题按某种方式进行划分, 并能逐步细化, 从而使复杂问题简化,软件的功能域,数据域都可以划分;
(3) 建立模型.
2. 简述结构化分析的步骤
这一方法的基本思想是采用自顶向下,逐层分解的方法分析整个系统,有效的控制系统的复杂性.
对于复杂, 规模大的应用系统,采用先抽象后具体, 先全局后局部的思想,有利于把握系统的总体目标, 结构和功能.
第四章:
三. 名词解释 1. 软件设计
确定软件结构,选择好的数据库,进行数据结构设计 2. 模块化
把复杂问题划分为模块的过程
3. 信息隐蔽
指模块内部处理细节和内部数据用某种手段隐蔽起来,外部模块不能随便访问
4. 模块独立性
希望一个模块越独立越好,每个模块完成独立的功能,与其他模块联系越少越好
5. 耦合性
指软件结构中模块之间相互依赖的程度
6. 内聚性
模块内部各部分执行功能组合在一起的相关程度
7. 模块的控制范围
一个模块对下属模块的控制
8. 模块的作用范围
指模块之间的作用,但两个模块间是平级的
9. 软件结构
以需求分析文档为依据,解决实现软件体系结构
四. 简答题
1.什么是软件概要设计, 该阶段的基本任务是什么?
以需求分析文档为依据,解决实现软件体系结构。
基本任务:确定软件结构,分解各部分的模块,确定模块的功能,调用关系及接口信息,将用户的需求分配到适当的位置上,得出系统的模块层次结构。
2.软件设计的基本原理包括那些内容?
模块与模块化; 抽象; 信息隐蔽; 模块独立性
3.模块的耦合性, 内聚性包括那些内容? 其含义 耦合性:
无直接耦合(模块之间无直接联系); 数据耦合(模块间传递数据);
标记耦合(模块间传递数据结构和地址) 控制耦合(模块间传递控制变量) 公共耦合(模块间通过公共关系传递)
内容耦合(一个模块与另一个模块内部数据有关)
内聚性:
功能内聚(仅完成一个功能的各成分组合在一起)
顺序内聚(与同一功能相关的且按顺序执行的各成分组合在一起) 通信内聚(在同一数据结构上操作的各成分组合在一起) 时间内聚(同一时间内执行的各成分组合在一起) 逻辑内聚(逻辑上相似的各成分组合在一起)
偶然内聚(将语句和程序段随意地组合在一起,他们之间无任何联系)
4.简述软件结构设计优化准则
(1)划分模块时,尽量做到模块内部高内聚,模块之间低耦合,保持模块相对独立性。 (2)一个模块的作用范围应该在自己的扩展范围内。 (3)软件结构的深度,宽度应适当。 (4)模块的大小要适中
(5)模块的接口要简单、清晰,传递的参数数量不能太多,类型不要太复杂。