软件工程复习纲要
第一章
1、软件的定义
软件是程序以及开发、使用和维护程序所需的所有文档
是指能够完成预定功能和性能的可执行的程序,包括使程序正常执行所需要的数据和有关描述程序操作和使用的文档。
2、软件危机的概念及表现
概念:软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象
主要表现在两个方面:
(1)软件产品质量低劣,甚至开发过程就夭折,
(2)软件生产率低,不能满足需要。
3、软件开发方法
面向过程:结构化方法(sa,sd,sp)
结构化方法:是一种面向数据流的开发方法,其基本原则是功能的分解与抽象,其指导思想是自顶向下,逐步求精。
Sa:结构化分析法: 是结构化开发方法的核心
Sd:结构化设计法
Sp:结构化程序设计法
面向对象(OOA、OOD、OOP)
其基本思想是对问题领域进行自然分割,以便对客观的信息实体进行结构和行为的模拟,从而使设计的软件更直接的表现问题。
OOA:面向对象的分析,强调的是对一个系统中的对象特征和行为的定义。
OOD:面向对象的设计,与OOA密切配合顺序实现对现实世界的进一步建模。
OOP:面向对象的程序设计,是面向对象的技术中发展最快的,使用面向对象的程序设计语言进行编码。
4、软件的生命周期及每个阶段的工作(可以画图可以文字描述)
问题定义 :软件开发方与需求方共同讨论,确定软件的开发目标及其可行性。
可行性研究 :项目是否值得开发.
需求分析 :在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析.
总体设计:设计软件结构,确定程序有哪些模块组成。
详细设计:针对每个模块,确定算法和数据结构。
编码 :将软件设计的结果转换成计算机可运行的程序代码。
测试: 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正.
运行与维护: 在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。
5、常见的软件开发模型有哪些(瀑布、增量、螺旋、原型)?各自大致的开发过程是怎样的?有什么优缺点。
①瀑布模型
1、按照软件生命周期的各个阶段,依次向下,逐步求精的方式完成软件项目;