软件工程复习重点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件工程概论
1.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,几乎所有软件都不同程度地存在这些问题。
2.软件危机的典型表现:
1)对软件开发成本和进度的估计常常很不准确;
2)用户对“已完成的”软件系统不满意的现象经常发生;
3)软件产品质量往往靠不住;
4)软件常常是不可维护的;
5)软件通常没有适当的文档资料。
3.在软件开发和维护的过程中存在这么多严重问题,一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
4.一个软件必须由一个完整的配置组成,事实上,软件是程序,数据及相关文档的完整集合。
5.软件工程是:
1)把系统的,规范的,可度量的途径应用于软件开发运行和维护过程,也就是把工程应用于软件;
2)研究1)提到的途径。
6.软件工程的基本原理:
1)用分阶段的生命周期计划严格管理;
2)坚持进行阶段评审;
3)实行严格的产品控制;
4)采用现代程序设计技术
5)结果应能清楚的审查;
6)开发小组的人员应该少而精;
7)承认不断改进软件工程实践的必要性。
7.软件工程方法学包含3个要素:方法,工具和过程。
8.当软件规模庞大,或者对软件的需求是模糊的或会随时间变化而变化的时候,使用传统方法学开发软件往往不成功,应该使用面向对象方法学。
9.软件生命周期由软件定义,软件开发和运行维护(也称软件维护)3个时期组成,每个时期又进一步划分成若干个阶段。
10.软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成个项任务的工作步骤。
11.瀑布模型的特点:
1)阶段间具有顺序性和依赖性;
2)推迟实现的观点;
3)质量保证的观点。
12.瀑布模型的成功在很大程度上是由它基本上是一种文档驱动的模型。
13.快速原型模型的本质是快速。
14.生命周期方法学把软件生命周期划分为若干个相对独立的阶段,每个阶段完成一些确定的任务,交出最终的软件配置的一个或几个成分。
15.面向对象方法学=对象+类+继承+用消息通信(面向对象方法就是既使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信的方法)。
16.面向对象方法简化了软件的开发和维护,提高了软件的可重用性。
17.增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点。
18.风险驱动的螺旋模型适用于内部开发的大型软件项目。
19.喷泉模型较好的体现了面向对象软件开发过程无缝迭代的特性。
第2章可行性研究
1.可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
2.可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行的系统分析和设计的过程。
3.从3个方面研究每种解法的可行性:1)技术可行性;2)经济可行性;3)操作可行性。
4.可行性研究过程:
1)复查系统规模和目标;
2)研究目前正在使用的系统;
3)导出新系统的高层逻辑模型
4)进一步定义问题;
5)导出和评价供选择的解法;
6)推荐行动方针;
7)草拟开发计划;
8)书写文档提交审查。
5.系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库和人工工程等)。系统流程图表达的是系统个部件之间流动的情况,而不是对数据进行加工和处理的过程。
6.数据流图(DFD)是一种图形化技术,它描绘信息和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据流图是系统逻辑功能的图形表示。
7.数据存储和数据流都是数据,仅仅所处的状态不同,数据存储是出于静止状态所谓数据,数据流是出于运动中的数据。
8.画数据流图的基本目的是利用它作为交流信息的工具。
9.数据流图的另一个主要用途是作为分析和设计的工具。
10.数据字典是关于数据的信息的结合,也就是对数据流图中包含的所有元素的定义的集合。
11.数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。
12.数据流图和数据字典共同构成系统的逻辑模型,没有数据字典,数据流图就不严格,然而没有数据流图,数据字典也难以发挥作用。
13.数据字典由以下4类元素的定义组成:
1)数据流;2)数据流分量(即数据元素)3)数据存储;4)处理。
14.投资回收期就是使累计的经济效益等于最初投资所需要的时间。
15.纯收入就是在整个生命周期之内系统的累计经济效益(折合成现在值)与投资之差。
16.系统流程图实质上是物理数据流图,它描绘组成系统的主要物理元素以及信息在这些元素间流动和处理的情况。
第3章需求分析
1.需求分析是软件定义时期的最后一个阶段,它的基本任务是准确定义新系统的目标,回答“系统必须做什么”这个问题。
2.需求分析阶段需要编写的文档有需求规格说明书,初步用户使用手册,确认测试计划。
3.在需求分析阶段结束之前,系统分析员应该写出软件需求规格说明书,以书面形式准确地描述软件需求。
4.需求分析的任务:
1)确定对系统的综合要求;
2)分析系统的数据要求;
3)导出系统的逻辑模型;
4)修正系统开发计划。
5.在访问用户的过程中使用情景分析技术往往非常有效。(情景分析就是对用户将来使用目标系统解决某个具体问题的方法和结果进行分析)。
6.必须请用户对上述分析过程中得出的结果仔细地复查,数据流图是帮助复查的极好工具。从输入端开始,分析员借助数据流图,数据字典和IPO图像用户解释输入数据是怎样一步一步地变成输出数据的。
7.为了追踪更详细的数据流,分析员应该把数据流图扩展到更低的层次,通过功能分解可以完成数据流图的细化。
8.快速原型应该具备的第一个特性是“快读”;快速原型应该具备得第二个特性是“容易修改”。快速建立软件原型是最准确,最有效和最强大的需求分析技术。
9.结构化分析实质上是一种创建模型的活动。
10.实体-联系图,描绘数据对象及数据对象之间的关系,是用于建立数据模型的图形;数据流图,描绘当数据在软件系统中移动时被变换的逻辑过程,指明系统具有的变换数据的功能,数据流图是建立功能模型的基础;状态转换图,指明了作为外部事件结果的系统行为,状态转换图是行为建模的基础。
11.数据对象是对软件必须理解的复合信息的抽象。
12.在一张状态转换图中只能有一个初态,而终态可以有0至多个。初态用实心圆表示,终态用一对同心圆(内圆为实心圆)。
13.IPO图是输入,处理,输出图的简称。是一种图形工具,能够方便的描绘输入数据,对数据的处理和输出数据之间的关系。
14.需求分析是发现,求精,建模,规格说明和复审的过程。
15.通常主要从一致性,完整性,现实性和有效性4个方面复审软件规格说明书。
16.数据字典描述在数据模型,功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义。
17.层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。
第5章总体设计
1.总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,(怎样做)。
2.总体设计过程通常有两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。
3.总体设计过程的步骤:
1)设想供选择的方案;
2)选取合理的方案;
3)推荐最佳方案;
4)功能分解;
5)设计软件结构;
6)设计数据库;
7)制定测试计划;
8)书写文档;