软件工程复习提纲答案连同实验答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习提纲
第1章概述
1、什么是软件危机?产生软件危机的主要原因?P3
软件危机是指计算机软件的开发和维护过程中所遇见的一系列严重问题
出现软件危机的主要原因是人们在开发软件时使用了错误的方法
2、软件工程的定义?P5
软件工程是指导计算机软件开发与维护的工程学料,它采用工程的概念,原理、技术和方法来开发与维
护软件
3、软件生命周期定义,八个阶段,及基本任务是什么?P10
软件生命周期是指一个软件从定义、开发、使用和维护,直到最终被废弃,经历了一个漫长的时期。
八个阶段为问题定义(关键问题是:“要解决的问题是什么?”);可行性研究(用最小的代价在尽可
能短的时间内确定问题是否解决);需求分析(仍然不是具体地解决客户的问题,而是准确地回答“目
标系统必须做什么”这个问题);概要设计(概括地回答“怎么实现目标系统?”这个问题);详细设计(还不是编写程序,而是设计出程序的详细规格说明);编码和单元测试(写出正确的容易理解、容易
维护的程序模块);综合测试(通过各种类型的测试(及相应的调试)使软件达到预定的要求);软件维
护(通过各种必要的维护活动使系统持久地满足用户的需求)
4、螺旋模型:综合了瀑布模型和快速原型的优点,并增加了风险分析
5、5种模型的特点。
瀑布模型具有三个特点:1阶段间具有顺序性和依赖性2推迟实现的观点3质量保证的重点
快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的
增量模型也称为渐增模型,使用增量模型开发软件时,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每一个构件由多个相互作用的模块构成,并且能够完成特定的功能
螺旋模型综合了瀑布模型和快速原型的优点,并增加了风险分析
喷泉模型
第2章结构化分析
1、可行性分析主要是进行哪三个方面的分析?P23
技术可行性、经济可行性和操作可行性
2、结构化分析主要建立什么模型?P32
主要建立功能模型(数据流图)、数据模型(ER图)和行为模型(状态图)
3、E-R关系图包含什么信息?P40
包含着实体(客观世界中存在的且可相互区分的事物)、联系(客观世界中的事物彼此间往往是有联系
的)和属性(实体或联系所具有的性质)
4、什么是数据流图?P41
数据流图(DFD )是一种形象直观的图形,它描绘数据在软件中从输入移动到输出的过程中所经受的变
换(即加工处理)
5、会画简单的实体联系图、系统流程图、数据流图?P42
6、什么是数据字典?P47
数据字典是描述数据的信息的集合,是对目标系统中使用的所有数据的定义的集合
7、结构化分析的策略是自顶向下逐步求精。
8 与用户沟通主要有那三种方法。
主要有访谈、简易的应用规格说明技术和原型系统
9、CASE计算机辅助软件工程CASE :是借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程,其目的是
为了加快系统开发的过程,提高所开发系统的质量
第3章结构化设计
1、结构化软件设计准则,什么是模块化?P81
模块化就是把程序划分成独立命名且独立访问的模块,每个模块完成一个子功能,这些模块集成起来构成一个整体
2、什么是耦合?P84
耦合是对一个软件结构内不同模块之间互连程度的度量
3、模块的耦合性包括哪些类型?按从低到高怎么排列?什么是控制耦合?P84-85
包括非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合和内容耦合。尽量使用数据耦合,少用控制耦合,限制公共耦合的范围,坚决避免使用内容耦合如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合
4、什么是内聚?P85
内聚是一个模块内的各个元素彼此结合的紧密程度
5、模块的内聚性包括哪些类型?按从低到高怎么排列?什么是顺序内聚?P85-86
包括偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚以上从右到左。
如果一个模块内的处理元素和同一功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据),称为顺序内聚
6、结构化设计启发规则,什么是深度、宽度、扇出、扇入、模块的控制域、作用域?P87
深度表示软件结构中控制的层数;宽度是软件结构内同一个层次上的模块总数的最大值;扇出是一个模块直接控制(调用)的模块数目;扇入是有多少个上级模块直接调用着它;模块的控制域是这个模块本身以及所有直接或间接从属于它的模块集合;模块的作用域定义为受该模块内一个判定影响的所有模块
的集合
7、按数据流的类型,结构化设计方法有两种设计策略,它们是变换分析设计和事务分析设计
8 划分模块时,尽量做到高内聚低耦合,保持模块的独立性。
9、详细设计的三个任务。
过程设计、数据设计和接口设计
10、界面设计应该考虑的四个问题。
1模块化与模块独立2抽象3逐步求精4信息隐藏
11、程序流程图、盒图、PAD图、判定表、判定树、伪码的使用及转化。
第4章结构化实现
1、以Go Jo Myers的观点,简述软件测试的目的?P172
⑴测试是为了发现程序中的错误而执行程序的过程
⑵好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案
⑶成功的测试是发现了至今为止尚未发现的错误的测试
2、软件测试准则P174
所有测试都应该能够追溯到用户需求
应该在开始测试之前预先制定出测试计划
在软件测试过程中应该应用Pareto原理
应该从“小规模”测试开始,逐步过渡到“大规模”测试
穷举测试是不可能的
为了达到最佳的测试效果,应该由独立的第三方来从事测试工作
3、什么是黑盒测试法和白盒测试法?P175、186
白盒测试方法是按照程序内部预期应有的逻辑测试程序,检验程序中的每条执行通路是否能按预定要求
正确工作
黑盒测试让软件工程师设计出能充分检查程序所有功能需求的输入条件集
4、逻辑覆盖。