软件工程期末复习知识点整理

  • 格式:doc
  • 大小:1.00 MB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

复习整理

一、绪论

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表示)

●决策表(判定表):

●决策树(判定树):

5、结构化的三种控制结构

顺序、选择、循环DO_WHILE

6、流程图、N-S图和PDL的特点,通过PDL语言绘制流程图和N-S图

例题:将三个数从小到大排序

●流程图:

●N-S图:

7、给定一个系统,用结构化分析方法进行分析,画出DFD、DD

四、面向对象及UML

1、面向对象的基本特征

抽象、封装、继承、多态

2、静态、动态UML图例(P84)

五、需求工程与需求分析

1、需求分析的任务与步骤

●任务:(1)通过对问题及其环境的理解、分析和综合建立分析模型,(2)在完全弄清用户对

软件系统的确切要求的基础上,用“软件需求规格说明书”把用户的需求表达出来。需求分析

的认为就是为了明确要开发的是一个什么样的系统,而不是去实现这个系统。

●步骤:需求获取、需求建模、需求描述(编写SRS)、需求验证

2、需求分析和需求工程的困难性

●客户说不清楚需求

●分析人员或客户理解有误

●需求自身经常变动

3、面向对象需求模型组成

用例图、用例规约、补充规约、术语表

4、用例规约应该包含哪些内容?基本流和备选流的概念及区别(P117)

六、面向对象分析

1、面向对象分析的主要任务(P138)

首先要理解用户的需求,包括全面理解和分析用户需求,明确所开发的软件系统的职责,形成文件并规范地加以表述。

然后进行分析,提取类和对象,并结合分析进行建模。其基本步骤是:标识类,定义属性和方法;刻画类的层次;表示对象以及对象与对象之间的关系;为对象的行为建模。这些步骤肯反复进行,直至完成建模。

2、面向对象分析的模型组成