您的位置:首页 > 其它

软件工程基础知识

2016-10-17 18:18 225 查看

软件工程基本原理

确保软件产品质量和开发效率的原理的最小集合。

1.用分阶段的生命周期计划严格管理

在软件的整个生存周期中应该制定并严格执行6类计划:项目概要计划、里程碑计划、项目控制计划、产品控制计划、验证计划和运行维护计划。

2.坚持进行阶段评审。

3.实现严格的产品控制。

4.采用现代程序设计技术。

5.结果应能清楚的审查。

6.开发小组的人员应少而精

7.承认不断改进软件工程实践的必要性。

软件生存周期

把整个软件生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构负责和管理复杂的软件的开发变的容易控制和管理。

1.可行性分析与项目开发计划

确定软件的开发目标及其可行性。可行性分析与项目计划阶段的参加人员有用户、项目负责人和系统分析师。该阶段产生的主要文档有可行性分析报告和项目开发计划。

2.需求分析

需求分析阶段的任务不是具体解决问题,而是准确的确定软件系统必须做什么,确定软件系统的功能、性能、数据、和界面等要求,从而确定系统的逻辑模型。该阶段的参加人员有用户,项目负责人和系统分析师。该阶段产生的主要文档有软件需求说明书。

3.概要设计

在概要设计阶段,开发人员要把确定的各项功能需求转换成需要的体系结构。在该体系结构中,每个成分都是意义明确的模块,即每个模块都和某些功能需求相对应,因此,概要设计就是设计软件的结构,明确软件由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同事,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,他们之间有什么关系。

概要设计阶段的参加人员有系统分析师和软件设计师。该阶段产生的主要文档有概要设计说明书。

4.详细设计

详细设计阶段的主要任务是对每个模块完成的功能进行具体描述,要把功能描述转变为精确的、结构话的过程描述。即该模块的控制结构是怎样的,先做什么,后做什么,有什么样的条件判断,有些什么重复处理等,并用相应的表示工具把这些控制结构表示出来。

详细设计阶段的参加人员有软件设计师和程序员。该阶段产生的主要文档有详细设计文档。

5.编码

6.测试

7.维护

软件过程

能力成熟度模型(CNM)

1.初始级(Initial)

软件过程的特点是杂乱无章,几乎没有明确定义的步骤,项目的成功完全依赖个人的努力和英雄式核心人物的作用。

2.可重复级(Repeatable)

建立了基本的项目管理过程和时间来跟踪项目费用、进度和功能特性,有必要的过程准则来重复在同类项目中的成功。

3.已定义级(Defined)

管理和工程两方面的软件过程已经文档化、标准化,并综合成整个软件开发组织的标准软件过程。所有项目都采用实际情况修改后得到的标准软件过程来开发和维护软件。

4.已管理级(Managed)

制定了软件过程和产品质量的详细度量标准。软件过程的产品质量都被开发组织的成员所理解和控制

5.优化级(Optimized)

加强了定量分析,通过来自过程质量反馈和来自新观念,新技术的反馈使过程能不断持续地改进。

能力成熟度模型(CMMI)

两种表示方法:阶段式模型和连续式模型。

阶段式模型

关注组织的成熟度。

初始的:过程不可预测且缺乏控制。

已管理的:过程为项目服务。

已定义的:过程为组织服务。

定量管理的:过程已度量和控制。

优化的:集中于过程改进。

连续式模型

统一过程(UP)

1 起始阶段

2精化阶段

3构建阶段

4移交阶段

软件过程模型

也称为软件开发模型

瀑布模型(Waterfall Model)

瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互链接的固定次序,如同瀑布流水逐级下落。

优点:容易理解,管理成本低;强调开发的阶段性早期计划及需求调查和产品测试。

缺点:客户必须能够完整、正确和清晰地表达他们的需要;在开始的两个或三个阶段中,很难评估真正的进度状态;当接近项目结束时,出现大量的集成和测试工作;直到项目结束之前

项目风险的控制能力较弱
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件工程