软件工程导论复习(期末_考研用)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程导论复习(期末_考研用)
1、需求分析的任务是什么?分析得到的成果(文档)是什么?包含哪些内容?
1、需求分析的任务:(1)确定对系统的综合要求:功能需求、性能需求、可靠性和可用性需求、出错处理需求、接口需求、约束、
逆向需求、将来可能提出的要求(2)分析系统的数据要求:(3)导出系统的逻辑模型(4)修正系统开发计
划;
2、需求分析得到的结果:是通过需求分析得到的除了分析模型之外,还应该写出软件需求规格说明书,它是需求分析阶段得出的
最主要的文档。
2、软件需求通常包括哪些方面?各类需求一般包含内容有哪些?
(1)功能需求:这方面的需求指定系统必须提供的服务。通过需求分析应该划分出系统必须完成的所有功能。
(2)性能需求:性能需求指定系统必须满足的定时约束或容量约束,通常包括速度(响应时间)、信息量速率、主存容量、磁盘容量、安全性等方面的需求。
(3)可靠性和可用性需求:可靠性需求定量地指定系统的可靠性。可用性与可靠性密切相关,它量化了用户可以使用系统的
程度。
(4)出错处理需求:这类需求说明系统对环境错误应该怎样响应。
(5)接口需求:接口需求描述应用系统与它的环境通信的格式。常见的接口需求有:用户接口需求;硬件接口需求;软件接口需求;通信接口需求。
(6)约束:设计约束或实现约束描述在设计或实现应用系统时应遵守的限制条件。
(7)逆向需求:逆向需求说明软件系统不应该做什么。
(8)将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这
样做的目的是,在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦确实需要时能比较
容易地进行这种扩充和修改。
3、追加的主要描述工具的概念和使用:
E-R图:是什么,成份和基本符号,描述什么模型;
状态转换图:是什么,描述什么模型
(1)E-R图的定义:即实体--联系图,是表示数据对象及其之间关系的图形语言机制,是建立数据模型的图形工具。
E-R图的基本成份和使用的符号:实体(即数据对象)----矩形框,关系----菱形框,
属性----椭圆形或圆角矩形。
E-R图描述的模型:用来建立数据模型,ER模型使用简单的图形符号表达系统分析员对问题域的理解
(2)状态转换图的定义:通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。
状态转换图的基本成份和使用的符号:基本成分是状态、事件、状态转换。
状态转换图描述的模型:用来建立系统的行为模型。
4、在结构化分析中,建模的核心是什么?3种模型分别是什么,分别用什么工具来描述?
建模的核心是数据字典,它描述了所有的在目标系统中使用的和生成的数据对象。
(1)、数据模型,用实体-联系图描述;
(2)、功能模型,用数据流图描述;
(3)、行为模型,用状态转换图描述。
第5章总体设计
1、什么是总体设计?
将软件需求转化为软件的数据结构和系统结构,确定各组成成分(子系统或模块)之间的相互关系
2、模块化设计的原理包括什么?为了提高软件的可维护性,其中,模块独立性最重要的,是评价软件结构质量的首要标准。
模块化设计的原理包括:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立。为了提高软件的可维护性,其中,模块独立性最重要的,是评价软件结构质量的首要标准。
3、模块独立性度量(描述)的两个指标:内聚、耦合;什么是内聚,什么是耦合;耦合和内聚的具体分类及使用原则;在面向数据流的方法中,内聚、耦合各分为哪几级,每级的具体含义分别是什么?强度从弱到强如何排列?耦合和内聚两者关系?
(1)耦合定义:它是对一个软件结构内不同模块之间互连程度的度量;
耦合分类:
耦合使用原则:尽量使用数据耦合,小用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合,最终降低模块间接口的复杂性。
(2)内聚定义:它标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。
内聚分类:
内聚使用原则:设计时力求高内聚,设计时应该力求做到高内聚,通常中等程度的内聚也是可以采用的,而且效果和高内聚相差不多;但是,低内聚很坏,不要使用。
(3)耦合和内聚两者关系:耦合与内聚都是模块独立性的定性标准,都反映模块独立性的良好程度。其中内聚更重要。内聚与耦合密切相关。同其它模块强耦合的模块意味着它自己是弱内聚的;强内聚模块意味着与其它模块间松散耦
合。所以设计的目标应该是力争高内聚、低耦合。
4、软件总体结构描述工具的概念和使用:软件层次图、软件结构(SC)图、HIPO图:是什么,基本符号和表示的结构,画法。(1)软件层次图的定义:是用来描绘软件层次结构的图形工具。一个矩形框代表一个模块,方框间的连线表示模块间的调用关系。
软件层次图的示例:
(2)HIPO图的定义:即层次图 + 输入/处理/输出图,由一张H图和一组IPO图组成。通常将HIPO图作为软件结构的描绘,列入设计文档。
H图,是给每个模块加上编号的层次图。IPO图,即为H图中的每个模块画一张IPO图。
(3)结构图(SC)的定义:描述了软件的模块结构,表示了一个系统的层次分解关系;反映了模块间的联系以及块内联系;反映了模块间的信息传递。结构图一般不列入设计文档,只用于设计阶段检查模块设计的正确性和模块独立性。
结构图(SC)的基本符号:
方框,内有名称,表示模块;
直线,表示上层模块对下层模块的调用;
尾部带空心圆的箭头,表示按方向传递的数据信息;
尾部带实心圆的箭头,表示按方向传递的控制信息;
判定为真时调用A ,为假时调用B 模块M 循环调用模块A 、B 、C
5、 结构化分析、结构化设计(SD )的实质是什么? SD 是目前使用最广泛的一种软件设计方法,它的基本思想是模块化,它给出了设计软件结构的一个系统化的途径,它提出了“高内聚、低偶合”的评价模块结构质量的具体标准。
SD 的任务,就是在需求分析的基础上,将表示系统逻辑模型的数据流图映射成软件系统结构的初始设计描述。
6、数据流的分类?结构化设计(SD)方法(面向数据流的设计方法)中,如何将分析的结果(数据流图)逐层分解、转换成设计的初步结果(软件层次图)?
数据流分类:SD 方法把信息流(数据流图)映射成软件结构,信息流的类型决定了映射的方法。DFD 中的数据流可分为两类:变换型
数据流、事务型数据流;可转换为相应的软件结构:变换型结构、事务型结构。
变换分析----从变换流到变换型结构的映射过程: