因为快期末考试了,这里整理了一下软件工程这门课的一些知识点。
其实整理这些软件工程的知识点并不只是为了考试,我真正的目的是让自己真正学到一些东西。
1.软件工程采用:系统工程学和管理学。
2.软件工程的基本目标:高质量和高生产力。
高质量:最大限度地满足客户需求、帮助客户获得成功。
高生产力:以最小的成本获得最好的收益。
3.软件工程的产生:软件危机。
4.软件生命周期3个时期:软件定义、软件开发、运行维护。
5.软件开发的两种思想和方法:面向过程和面向对象。
6.软件工程的定义:软件工程是开发、运行、维护和修复软件的系统方法。
7.软件工程的7个基本原理:
8.软件工程学的发展分为4个时期:
程序设计时期、软件时期、软件工程时期、后软件工程时期。
9.为了解决软件危机,既要有技术措施(包括方法和工具),又要有必要的组织管理措施。
10.软件工程需要从管理和技术两方面开发和维护软件。
11.软件工程发展的四个重要阶段:
第一代:传统的软件工程
第二代:对象工程
第三代:过程工程
第四代:构件工程
第三节 软件开发技术
1.软件开发技术包括:
软件生存期模型、软件开发方法、软件开发工具和环境、软件管理技术
2.软件生存期模型(软件生命周期模型):描述软件开发过程中各种活动如何执行的模型。
2.1瀑布模型:也称软件生存周期模型或线性顺序过程模型
包括:问题定义:
可行性研究:
需求分析:
概要设计:
详细设计:
编码:
测试和维护:
2.2增量模型;也称渐增模型
该模型融合了线性顺序模型的基本成分和原型实现模型的迭代特征。
2.3螺旋模型:
螺旋模型是一个演化软件过程模型,它将原型实现的迭代特征和线性顺序模型中控制
的和系统化的方面结合起来,是的软件的增量版本的快速开发称为可能。
螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。
2.4喷泉模型;喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要采用对象技术的软件
开发项目。
该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。
相互迭代即软件的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。
无间隙是指在各项活动之间无明显边界。
2.5变换模型:是基于形式化规格说明语言及程序变换的软件开发模型。
主要用于软件的形式化开发方法,对形式化的软件规格说明进行一系列自动或半自动的程序变换,
最后映射成系统的目标程序。
2.6原型化模型:
3.软件开发方法:面向过程的开发方法、面向对象的开发方法、基于构件的开发方法。
4.典型的软件开发方法:
4.1 结构化开发方法:面向数据流的开发方法,是现有的软件开发方法中最成熟、应用最广泛的方法,特点是快速、自然和方便。
结构化开发方法总的指导思想是:自顶向下、逐步求精。
以数据流、数据的封闭性准成来逐层分解。
结构化开发方法的基本原则是功能的分解和抽象。
4.2 Jackson方法:
面向数据结构的设计方法,强调程序结构与问题结构相对应。
4.3 原型化方法:又称速成原型法,反映系统的最终系统的部分重要特性。
原型化方法的基本思想是花费少量代价建立一个可运行的系统,使用户及早获得学习的机会。
强调软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。
4.4 HIPO方法:
按功能层次结构分析法。又称HIPO图。
HIPO图是以功能、功能完备性准侧逐层分解的,由直观目录表(H图)、概要HIPO图、详细IPO图组成。
5.软件构件:以分布式对象为基础的构件实现技术日趋成熟。