软件工程基础考试重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 软件危机指在计算机软件的开发和维护过程中所遇到的一系列严重问题
2 软件危机的原因有:1客观:软件规模大、复杂性高2主观:忽视需求分析
3 软件危机的主要表现:
(1)对软件开发成本和进度的估计常常不准确(2)用户对已完成系统不满意的现象经常发生(3)软件产品质量往往靠不住(4)软件常常是不可维护的(5)软件通常没有适当的文档资料(6)软件的成本不断提高(7)软件开发生产率的提高赶不上硬件的发展和人们需求的增长
4 软件工程:采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验、证明正确的管理技术和当前能够得到的做好的技术方法结合起来。经济地开发出高质量的软件并有效地维护它
5 软件工程原理:(1)用分阶段的生命周期计划严格管理(2)坚持进行阶段评审(3)实行严格的产品控制(4)采纳现代程序设计技术(5)结果应能清楚地审查(6)开发小组的人员应少儿精(7)承认不断改进软件工程实践的必要性
6 生存期模型:瀑布模型、循环模型、演化模型、螺旋模型
7 软件生存周期:从某个待开发软件的目的被提出并着手实现,直到最后停止使用的这个过程。
、
8 生存周期阶段:定义阶段(系统分析、制定软件项目计划、需求分析);开发阶段(软件设计、编码、软件测试);维护阶段(改正性维护,适应性维护,完善性维护,预防性维护)
9 软件开发的模式:1 瀑布模式(初始目标、需求分析、软件设计、编码、测试、运行维护)2原型法模式3演化模式4螺旋模式
10 软件定义过程分阶段:问题的定义、可行性研究、需求分析
11 可行性研究目的:以最小的代价在尽可能短的时间内确定问题是否能够解决。可行性研究包括:经济、技术、法律和方案选择性
12 可行性研究包括:经济可行性、技术可行性、法律可行性、方案选择性、
13需求分析:软件需求是指用户对于目标系统在功能.、行为、性能、设计约束等方面的期望。通过对应问题及其环境的理解和分析,为问题涉及的信息、功能及系统行为进行建模,将用户需求精确化、完整化和清晰化,最终形成需求规格说明。
14 需求分析任务:确定系统的综合要求、分析系统的数据要求、导出系统的逻辑模型、修正系统的开发计划、开发原型系统。
15 初步需求获取技术:访谈与会议、观察用户工作流程、用户与开发人员组成联合小组
|
16 结构化分析方法:简称SA方法,它是一种面向数据流的需求分析方法,适用于分析大型数据处理系统,是一种简单、实用的方法。
17 SA方法分析结果组成:一套分层的数据流图、一本数据字典、一组加工逻辑说明和补充材料
18 数据流图(DFD):描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息
在系统中流动和处理的情况。是一种用逻辑系统的图形表示,便于用户理解、分析系统数据流程的分析工具
19 数据流图基本成分:外部实体-方框、加工-圆、数据存储-平行线、数据流-箭头
20 数据字典:就是为数据流图中的每个数据流、文件、加工、以及组成数据流或文件的数据项做出说明
21 数据字典条目内容:(1)数据流图中标识数据流、数据源或外部实体的名称与别名(2)
数据类型(3)所有以它作为输入流或输出流的转换的列表(4)使用该数据条目的简要说明(5)数据条目的解释性说明(6)其他补充说明
在数据流图中,每个加工框中只简单地写上了一个加工名,这显然不能表达加工的全部内容。
随着自顶向下逐步细化,功能越来越具体,加工逻辑也越来越精细。到最底一层,加工逻辑详细到可以实现的程度,因此称为“原子加工”或“基本加工”。如果能够写出每一个基本加工的全部详细逻辑功能,再自底向上综合,就能完成全部逻辑加工。
^
22 加工逻辑的描述方法:结构化语言、判定表、判定树
23 概要设计任务:设计实现软件的最佳方案、设计软件体系结构
24 模块化:按照一定原则把程序划分成若干个模块、使每个模块完成一个子功能
模块多,开发单个模块工作量减少,与模块接口有关工作增加。必须减少接口复杂提高独立性。模块特性:输入输出、功能、内部数据、程序代码
25抽象:对事物共同的本质特性进行抽取和概括,忽略次要因素逐步求精:自顶向下的设计策略
26 信息隐蔽:在设计和确定模块时,使得一个模块内包含的信息(过程或数据)对于不需要这些信息的模块来说是不能访问的局部化:在设计和确定模块时把一些关系密切的软件元素物理地放的彼此靠近
27 模块独立性:每个模块只完成系统要求的独立子功能,并且与模块的联系最少且接口简单模块独立可用两个定向标准度量:内聚性(快内联系,一个模块内部各个元素彼此结合的紧密程度的度量,大)耦合性(块间联系,各模块间相互联系的紧密程度,小)28 内聚度低到高:偶然内聚、逻辑、时间、过程、通信、信息、功能内聚耦合性从高到低:内容耦合、公共、外部、控制、标记、数据、非直接耦合
…
29 软件结构优化的原则:改善独立性;模块规模应该适中;深度、宽度、扇入和扇出要适当;作用域应在控制域内;设计单入口单出口的模块;力争降低模块接口的复杂程度;功能应该可以预测。
30详细设计的原则:
(1)采用自顶向下逐步求精的设计方法。
(2)使用言语中的顺序、选择、重复等有限的基本结构表示程序逻辑。
(3)选用的控制结构只允许一个入口和一个出口。
(4)复杂结构应该用基本控制结构进行组合嵌套来实现。
(5)严格控制GO TO语句。
31 详细设计方法:程序流程图、N-S图、PAD图、PDL
)
32 程序里程图中主要符号元素的含义:方框表示加工任务:菱形表示逻辑条件;箭头表示控制流.
33 程序流程图主要缺点:(1)程序流程图本质上不是逐步求精的好工具,它诱使程序员过早地考虑程序的控制流程,而不去考虑程序的全局结构。
(2)程序流程图中用箭头代表控制流,因此,程序员不受任何约束,可以完全不顾结构程序设计的精神,随意转移控制。程序流程图不宜表示数据结构
N-S图有下述特点:(1)功能域(即一个特定控制结构的作用域)明确(2)不可能任意转