软件工程复习知识点

软件工程

  • 第一章 软件工程概述
      • 1、四种图
      • 2、计算机系统
        • 计算机系统组成:
        • 计算机分为四个发展阶段:
      • 3、软件危机:
        • 产生原因:
      • 4、软件工程:
        • 软件工程的基本原理 :
        • 软件工程包括两方面的内容:
        • 软件工程方法学3要素:
      • 5、软件生命周期三个时期八个阶段:
      • 6、软件过程:
      • 7、瀑布模型:
      • 8、快速原型模式:
      • 9、增量模型:
      • 10、螺旋模型:
      • 11、其他模型:
  • 第二章 可行性研究
      • 1、可行性研究报告
      • 2、可行性研究目的:
      • 3、可行性包括:
      • 4、可行性研究过程(循环):
      • 5、可行性分析报告之系统流程图
      • 6、数据流图
      • 7、数据字典:
      • 8、 成本/效益分析的目的
      • 9、成本/效益分析:
      • 10、成本/效益分析方法:
  • 第三章 软件需求分析
    • (一、重要性)
      • 1、软件需求分析决定软件开发是否成功。(最重要的)
    • (二、定义和概念)
      • 2、软件需求分析
      • 3、需求分析的任务
    • (三、具体的过程)
      • 4、需求分析基本流程:
    • (四、过程中的要求)
      • 5、系统的综合要求:
      • 6、分析系统的数据要求:
      • 7、逻辑模型:
      • 8、需求获取的关键
    • (五、过程的详细步骤)
      • 9、需求规格说明书(开发人员文档的起点)
      • 10、实体-联系图(E-R图):三要素
      • 11、数据规范化:
      • 12、层次方框图(H图):
      • 13、HIPO图:H图+IPO图
      • 14、需求分析验证软件需求正确的四方面:
  • 第四章 形式化说明技术
      • 1、形式化方法:
      • 2、有穷状态机:
      • 3、Petri网:
      • 4、Z语言:
  • 第五章 总体设计
      • 三种阶段划分方式:
      • 1、总体设计的目的
      • 2、总体设计分两个阶段:
      • 3、总体设计详细过程9步:
      • 4、功能设计时设计模块
      • 5、模块化作用:
      • 6、模块化方式
      • 7、一般抽象过程就是层次分析的过程。
      • 8、原则:
      • 9、耦合程度:
      • 10、内聚程度:
      • 模块化:
      • 6、HIPO图:
      • 7、结构图:
      • 8、面向数据流的设计
      • 9、数据流即信息流分为变换流和事务流。
      • 10、变换流步骤:
      • 11、事务流步骤
  • 第六章 详细设计
      • 1、详细设计
      • 2、结构程序设计:
      • 3、常见的语句:
      • 4、人机界面设计
      • 5、三大黄金原则:
      • 6、四大问题:
      • 7、用户界面设计的过程
      • 8、程序流程图(程序框图):
      • 9、判定表:
      • 10、判定树
      • 11、过程设计语言PDL(伪码):
      • 12、面向数据结构的设计方法:
      • 13、程序复杂度度量方式:
  • 第七章 实现
      • 1、实现:
      • 2、编码:
      • 3、测试:
      • 4、计算机语言:
      • 5、高级语言选择标准:
      • 6、编码基本要求:
      • 7、编码风格:
      • 8、软件测试目的
      • 9、常用测试方法:
      • 10、测试步骤:
      • 11、单元测试
      • 12、集成测试
      • 13、回归测试:
      • 14、确认测试/验收测试:
      • 15、软件测试分类10个:
      • 16、白盒测试:
      • 17、黑盒测试:
      • 18、调试:
      • 19、软件可靠性:
      • 20、 相关量的符号
      • 21、估计错误总数的方法:
  • 第八章 维护
      • 1、软件开发八大阶段:
      • 2、软件维护:
      • 3、软件维护的工作量
      • 4、维护过程:
      • 5、维护机构构成:
      • 8、程序的修改步骤:
      • 9、软件的可维护性保证
      • 10、文档是影响软件可维护性的决定因素。
  • 第9章 面向对象方法学引论
      • 1、面向对象
      • 2、四个要点:
      • 3、面向对象方法论三个组成部分:
      • 4、优点:
      • 5、对象
      • 6、类
      • 7、实例
      • 8、消息
      • 9、方法
      • 10、属性
      • 11、封装
      • 12、继承
      • 13、多态:
      • 14、面向对象建模
      • 15、OMT
      • 16、三种模型:
      • 17、UML统一建模语言:
      • 19、对象模型使用UML的类图:
      • 20、动态模型:
      • 21、功能模型:
      • 22、功能模型和对象模型:
      • 23、动态模型和对象模型:
      • 24、动态模型和功能模型:
  • 第十章 面向对象分析
      • 1、面向对象分析OOA:
      • 2、要求:
      • 3、核心是:
      • 4、OOA三个子模型:
      • 5、五个层次:
      • 6、OOA的过程:
      • 7、OOA过程详解:
      • 8、三大模型关系:

第一章 软件工程概述

1、四种图

测试用例图:设计一个场景,软件在场景内运行,获得设计的执行结果。
类图:用图形显示模型的静态结构以及之间的关系。
时序图:通过图形描述对象之间发送消息的时间顺序,来显示他们之间的动态协作。
流程图:用图形描述算法和思路等。

2、计算机系统

是指适当的组织在一起的一系列系统元素的集合,这些系统元素互相配合、相互协作,通过对信息的处理而完成预先定义的目标。

计算机系统组成:

计算机分为四个发展阶段:

3、软件危机:

用户和开发人员信息不对等,计算机更新换代等问题引起软件开发目标和结果不匹配等问题。

产生原因:

(1)与软件本身的特点有关
(2)与软件开发与维护的方法不正确有关
1.忽视软件需求分析的重要性
2.认为软件开发就是写程序并设法使之运行(程序、文档和数据等)
3.轻视软件维护
解决办法:促进沟通交流和协作,将目标与结果尽可能匹配,用工程的角度看待软件开发的过程。

4、软件工程:

是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发与维护软件,是解决软件危机的方法方式,将正确的开发经验和技术以及维护方法结合起来。(PS:一套有效的开发软件和维护软件的方法)
IEEE:软件工程是(1)将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程,即将工程化应用于软件中;(2)(1)中所述方法的研究。

软件工程的基本原理 :

(分阶段,监督和控制质量,写文档,现代软件技术应用,高效,软件开发是动态发展的。)
用分阶段的生命周期计划严格管理
坚持进行阶段评审
实行严格的产品控制
采用现代程序设计技术
结果应能清楚地审查
开发小组的人员应该少而精
承认不断改进软件工程实践的必要性

软件工程包括两方面的内容:

1.技术(软件工程方法学):通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。
2.管理:通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。

软件工程方法学3要素:

(1)方法:是完成软件开发的各项任务的技术方法,回答“怎样做”的问题;
(2)工具:是为运用方法而提供的自动的或半自动的软件工程支撑环境
(3)过程:需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。

  1. 传统方法学(生命周期方法学或结构化范型)——强调自顶向下
  2. 面向对象方法学——强调主动地多次反复迭代(4个要点:对象,类,继承(关系重用),消息(数据的传递))
    面向对象与传统方法学对比:面向对象是迭代执行而传统的则是从顶向下依次执行不可反复。
    传统方法和面向对象是软件工程的程序设计方法中最本质的思想方法。
    传统方法以过程为中心,强调过程,功能和模块化,适用于数据少而操作多的问题;面向对象以对象为中心,强调对象,适用于以数据为主而操作较少的系统。

5、软件生命周期三个时期八个阶段:

软件定义(问题定义,可行性研究,需求分析);软件开发(概要设计,详细设计,编码和单元测试,综合测试);软件维护(运行维护)

6、软件过程:

开发的步骤,运用方法的顺序(思想)和各种文档资料的书写(思想的总结实现)等。(软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。
为获得高质量的软件产品,软件过程必须科学、有效。)

7、瀑布模型:

(顺序,规范,文档)
优点:采用规范的方法;严格规定每个阶段提交的文档;要求每个阶段交出产品必须经过验证。
a、按照软件工程的生命周期,自上而下依序完成,并且严格的检验每个阶段。
b、特点:自上而下的顺序性和依赖性;代码的推迟实现;严格的文档规范来保证质量。
c、优缺点和适用性:优点是保证开发文档的规范性,有质量保证和正确性的保证。
缺点是缺少实践检验。适用需求相对确定,周期短,技术成熟的软件工程。

8、快速原型模式:

根据原型的不同作用,有三类原型模型:
探索型原型——用于开发的需求分析阶段
实验型原型——主要用于设计阶段
演化型原型——用于及早向用户提交一个原型系统
快速原型模型的运用方式:
抛弃策略——探索型和实验型采用此策略
附加策略——演化型快速原型采用此策略

9、增量模型:

10、螺旋模型:

11、其他模型:

喷泉模型和形式化方法模型,RUP统一过程等。

第二章 可行性研究

1、可行性研究报告

找到问题计算成本(计算效益率)

2、可行性研究目的:

不是解决问题,而是确定问题是否值得去解决。(实质:进行一次大大压缩简化了的系统分析和设计的过程, 也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。)(系统分析员需要具备抽象(得到模型)分析的能力。)

3、可行性包括:

技术,经济,操作,运行和法律等方面的可行性。

4、可行性研究过程(循环):

(1)复查系统规模和目标(问题定义)
(2)研究当前系统
(3)导出新系统的高度逻辑模块(目标系统逻辑研究)
(4)进一步定义问题
在循环完1234后 (5)导出和评价供选择的解法(得出结论,包括剔除不可行的和计算成本效益后保留结论及进度表)
(6)推荐行动方针
(7)草拟开发计划
(8)书写文档提交审查

5、可行性分析报告之系统流程图

图形化系统逻辑模型。

6、数据流图

是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。(对信息的加工处理的图形化描述,包括输入,传输和输出。)
(补充:数据流图中的事务应该具有独占性,防止产生冲突——数据库事务管理的来源)
数据源点/终点:通常是人或部门,可重复表示;
处理:一个处理框可以代表一系列程序、单个程序或程序的一个模块;
数据存储:可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等,数据存储是处于静止状态的数据;
数据流:描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件 ,数据流是处于运动中的数据。

软件工程复习知识点
软件工程复习知识点
b、PAD图

9、判定表:

能够清晰地表示复杂的条件组合与应做的动作之间的对应关系。可以弥补流程图中不能描述的多重嵌套问题(多条件)

软件工程复习知识点

10、判定树

比判定表更加清晰易读

11、过程设计语言PDL(伪码):

用正文形式表示数据和处理过程的设计工具。
伪代码的基本控制结构:
简单陈述句结构:避免复合语句。
判定结构:IF_THEN_ELSE或CASE_OF结构。
选择结构:WHILE_DO或REPEAT_UNTIL结构。

来源:@而@安@

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月16日
下一篇 2020年6月16日

相关推荐