软件工程-原理、方法与应用【第三版】重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
1.软件:是能够完成预定功能和性能的可执行的计算机诚信度。包括使程序正常执行所需的数据,以及有关描述程
序操作和使用的文档。即:软件= 程序+ 文档
2.软件的特征:软件的开发不同于硬件设计、不同于硬件制造、不同于硬件维修。
3.软件工程方法学:把在软件生命周期全过程中使用的一整套技术方法的集合。三要素:方法、工具、过程
4.软件工程学的范畴:
软件开发技术(软件开发方法学、软件工具、软件工程环境)、软件工程管理(软件管理学、软件经济学、度量学)。
5.软件工程:是指导计算机软件开发和维护的工程学科。它采用工程的概念、原理、技术和方法来开发与维护软件,
目的是为了实现按照预期的进度和经费完成软件生产计划,同时提高软件的生产率和可靠性。
6.软件的发展:大体经历了程序、软件、软件产品3个阶段。
7.工具和方法是软件开发技术的2大支柱。
8.3种编程泛型:过程式编程泛型、面向对象编程泛型、基于构件技术的编程泛型
9.面向对象程序设计中,数据和操作被封装在一个对象中,对象之间则是通过消息相互联系。
10.构件:标准化/规格化的对象类。
11.3种编程泛型的差异: 粒度由小到大依次是:过程式编程范式、面向对象编程范式、基于构件的编程泛型。
12.软件工程的分化:1、传统软件工程2、面向对象软件工程3、基于构件的软件工程
13.消除软件危机的途径:①正确认识计算机软件;②充分认识到软件开发是一种组织良好、管理严密、各类人员协
同工作的工程项目;推广使用在实践中总结出来的开发软件的成功的技术和方法;③开发和使用更好的软件工具。第二章软件生存周期与软件过程
1.软件生存周期:计划、开发、运行3个时期。
需求分析-》软件分析-》软件设计-》编码测试-》软件测试-》运行维护
2.需求分析(用户视角):功能需求、性能需求、环境约束、外部接口描述。
3.软件分析(开发人员视角):建立与需求模型一致的,与实现无关的软件分析模型。
4.软件设计:总体设计/概要设计、详细设计(确定软件的数据结构和操作)。
5.软件测试:单元测试、集成测试、系统测试。
7.形式化开发模型:转换模型、净室模型
8.软件可行性研究:经济可行性、技术可行性、运行可行性、法律可行性。
9.可行性研究的步骤:对当前系统进行调查研究、导出新系统的解决方案、提出推荐方案、编写可行性论证报告。
10.可行性论证报告的内容:系统概述、可行性分析、结论意见。
11.软件风险分析包括:风险识别(项目风险、技术风险、商业风险)、风险预测、风险的驾驭和监控。
12.软件计划的7种类型:项目实施计划、质量保证计划、软件测试计划、文档编制计划、用户培训计划、综合支持
计划、软件分发计划。
第三章结构化分析与设计
1.瀑布模型的生命周期:需求定义与分析-》总体设计-》详细设计-》编码-》测试-》维护
2.系统的开发流程(SA和SD流程):
结构化分析(工具:DFD,PSPEC)------》分析模型(分层DFD图)+SRS
结构化设计(工具:SC图(映射)------》初始设计模型(初始SC图)
初始设计模型(初始SC图)(优化)------》最终设计模型(最终SC图)
3.SA需求分析的两项基本任务:建立系统分析模型、编写SRS。
4.分析模型组成:功能模型、数据模型、行为模型3种。
5.抽象和分解是结构化分析的主要指导思想,细化的实质是分解。分解和细化是软件设计的策略。
6.SD阶段把分析模型中的DFD图转换为最终SC图。
7.传统软件的开发技术:结构化设计、模块设计。
8.软件设计:总体设计/概要设计(初始SC图、最终SC图)、详细设计(用逐步细化的方法,完成模块的说明)。
9.需求分析的步骤:需求获取、需求提炼、需求描述、需求验证。
10.DFD图不能表示程序的控制结构(如选择、循环结构)。
11.加工规格说明通常用结构化语言、判定表、判定树作为描述工具。
12.软件中的数据分为3类:数据项(数据元素)、数据流(多个相关数据项)、数据文件和数据库。
13.数据字典的组成:数据项、数据流、数据存储(文件或数据库)、加工(处理逻辑)、外部项(人、物或其它软件系统)。
14.SD模型是由SA模型映射而来的。
SA模型的数据字典可转换为待开发系统的数据设计
数据流图可转换为体系结构设计(SC图)与接口设计
加工规格说明可转换为模块内部的详细过程设计
15.SD模型的组成:从上到下依次是:过程设计、接口设计、体系结构设计、数据设计。
16.结构化分析的基本步骤:
自顶向下对系统进行功能分解,画出DFD图;由后向前定义系统的数据和加工;编制DD和PEPES;写出SRS。
17.把不需要分解的加工成为基本加工。把逐步分解成为“自顶向下,逐步细化”。
18.DFD的优点:便于实现,便于使用。
19.传统的软件设计可细分为:面向数据流设计(SD方法)、面向数据结构设计(Jackson方法)。
20.用数据流图表示逻辑模型,在设计阶段,按照数据流图的不同类型(变换型、事务型)转换为相应的软件结构。
21.结构化设计通常从DFD图到SC图的映射开始。
22.面向数据流的设计方法:从DFD图到SC图的映射的4个步骤:
1、复审DFD图,必要时可再次进行修改或细化;
2、鉴别DFD图的结构特征:事务?变换?;
3、按照规则,把DFD图为初始的SC图;
4、改进初始的SC图。
23.变换型结构:由输入、变换中心和输出三部分组成。
事务型结构:具有在多种事务中选择执行某类事物的能力。
24.变换映射的步骤:划分DFD图的边界、建立初始SC图的框架、分解SC图的各个分支。
事务映射的步骤:在DFD图上确定边界、画出SC图框架、分解和细化接受分支和发送分支。