(完整版)软件工程期末复习知识点整理,推荐文档

(完整版)软件工程期末复习知识点整理,推荐文档
(完整版)软件工程期末复习知识点整理,推荐文档

复习整理

一、绪论

1.软件的定义

软件是能够完成预定功能和性能的可执行的计算机程序,包括使程序正常执行所需要的数据,以及有关描述程序操作和使用的文档。(软件=程序+文档)

2.软件工程的定义

●是指导计算机软件开发和维护的一门工程学科;

●采用工程化的原理与方法对软件进行计划、开发和维护;

●把证明正确的管理技术和最好技术综合运用到软件开发中;

●研究经济地开发出高质量的软件方法和技术;

●研究有效维护软件的方法和技术。

3.软件危机的概念,及出现的原因

软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。

产生原因:

⑴软件规模越来越大,结构越来越复杂

⑵软件开发管理困难而复杂。

⑶软件开发费用不断增加。

⑷软件开发技术落后。

⑸生产方式落后,仍采用手工方式。

⑹开发工具落后,生产率提高缓慢。

4.三种编程范型的特点

(1)

过程式编程范型:把程序理解为一组被动的数据和一组能动的过程所构成;程序=数据结构+算法;

着眼于程序的过程和基本控制结构,粒度最小

(2)

面向对象编程范型:数据及其操作被封装在对象中;程序=对象+消息;着眼于程序中的对象,粒度比较大

(3)

基于构件技术的编程范型:构件是通用的、可复用的对象类;程序=构件+架构;眼于适合整个领域的类对象,粒度最大

二、软件生存周期与软件过程

1、软件生存周期的定义,把生存周期划分为若干阶段的目的是什么,有哪几个主要活动

●定义:一个软件从开始立项起,到废弃不用止,统称为软件的生存周期

●目的:软件生存周期划分为计划、开发和运行3个时期;把整个生存周期划分为较小的阶段,

给每个阶段赋予确定而有限的任务,就能够化简每一步的工作内容,使因为软件规模而增长而

大大增加了软件复杂性变得较易控制和管理。

●主要活动:需求分析、软件分析、软件设计、编码、软件测试、运行维护(P19)

2、软件生命周期划分为哪几个阶段

软件生命周期分为三个时期八个阶段:

●软件定义:问题定义、可行性研究;

●软件开发:需求分析、概要设计、详细设计、编码、测试;

●软件运行:软件维护

3、瀑布模型的特点和缺陷

特点:线性模型,每一阶段必须完成规定的文档(阶段间的顺序性和依赖性)

优点:

●可强迫开发人员采用规范化的方法。

●严格地规定了每个阶段必须提交的文档。

●要求每个阶段交出的所有产品都必须是经过验证的。

缺点

●如果需求规格说明与用户需求之间有差异,很可能导致最终开发出的软件产品不能真正满足用

户的需要。(瀑布模型几乎完全依赖于书面的规格说明)

●由于多数用户不熟悉计算机,系统分析员对用户的专业也了解不深,因而很难在在开发的初始

阶段彻底弄清软件需求。(瀑布模型只适用于项目开始时需求已确定的情况)

4、几种软件开发模型的主要特点

5、软件可行性研究的目的和内容

目的:是弄清待开发的项目是不是可能实现和值得进行

内容:经济可行性,技术可行性,运行可行性,法律可行性

三、结构化分析(重点)P71

1、结构化分析SA模型的组成

2、结构化分析的基本步骤

1.了解当前系统的工作流程,获取当前系统的物理模型。

2.抽象出当前系统的逻辑模型。

3.建立目标系统的逻辑模型。

4.作进一步补充和优化。

3、绘制数据流图DFD的注意点

①父图与子图的平衡,即父图的输入输出数据流与子图的输入输出数据流一致

②区分局部文件和局部外部项

③分解的速度不宜过快

④按规则命名加工编号

⑤提高数据流图的易懂性,合理分解

4、决策表、决策树的绘制

例题:邮寄包收费标准如下:若收件地点在1000公里以内,普通件每公斤2元,挂号件每公斤3元。若收件地点在1000公里以外,普通件每公斤2.5元,挂号件每公斤3.5元;若重量大于30公斤,超重部分每分斤加收0.5元。

请绘制收费的原始决策表,并对其进行优化,得到优化后的决策表,再绘制出决策树(重量用W表示) 决策表(判定表):

相关主题
相关文档
最新文档