软件工程各章作业习题的名词解释和问答题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程各章作业习题的名词解释和问答题参考答案第一章:
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)模块的接口要简单、清晰,传递的参数数量不能太多,类型不要太复杂。
第五章:
三. 名词解释
1 详细设计
是解决如何实现具体的每个模块功能,涉及每个模块的处理过程,构造其实现算法。
2. 结构化程序设计
设计容易理解,容易验证的程序。
四. 问答题
1 详细设计的基本任务是什么?
设计算法,设计数据库,对某些固定的数据值进行代码设计,对界面及输入输出格式设计。
2 结构化程序设计方法的基本要点是什么?
使用顺序,选择,循环三种基本控制结构自顶向下,逐步求精的构造算法或程序。
3. 详细设计主要使用那一个描述工具? 其特点? 工具:结构化程序设计特点:首先考虑程序完成的主要功能的步骤;要考虑判断处理和重复处理的问题;考虑数据对程序的影响;
三种基本控制结构只能按顺序出现或完整嵌套,不能出现相互交叉的情况。
第六章
三. 名词解释
1. 编码
编程序
2. 程序设计风格
指人们编程的习惯特点
四. 简答题
1. 在项目开发时, 选择程序设计语言通常考虑那些因素?
根据项目的应用领域;软件的开发方法;软件的执行环境;算法及数据机构的复杂性;软件开发人员的知识水平;合理选择编程语言。