软件工程基础知识1
2017-04-06 15:51
423 查看
NATO会议上首次提出了“软件工程”这个名词,希望用工程化的原则和方法来克服软件危机。此后,人们开展了软件开发模型、开发方法、工具与环境的研究,提出了瀑布模型、演化模型、螺旋模型和喷泉模型等开发模型,出现了面向数据流方法、面向数据结构方法、面向对象等开发方法,以及一批CASE(Computer Aided Software Engineering,计算机辅助的软件工程)工具和环境。
一.软件生存周期
二.软件过程
软件开发中所遵循的路线图称为“软件过程”。
1.能力成熟度模型(CMM)
软件过程能力成熟度模型(Capability Maturity Model of Software,CMM),其研究目的是提供一种评价软件承接方能力的方法,
同时它可以帮助软件组织改进其软件过程。
CMM将软件过程分为5个成熟度级别。
(1)初始级 杂乱无章,项目的成功完成完全依赖个人的努力和英雄式核心人物的作用。
(2)可重复级 有必要的过程准则来重复以前在同类项目中的成功。
(3)已定义级 管理和工程两方面的软件过程已经文档化、标准化。
(4)已管理级 制定了软件过程和产品质量的详细度量标准。
(5)优化级 加强了定量分析,通过反馈使过程能不断持续改进。
2.能力成熟度模型(CMMI)
CMMI是若干过程模型的综合和改进,是支持多个工程许学科和领域的、系统的、一致的过程改进框架。
CMMI提供两种表示方法,阶段式模型(关注组织的成熟度)和连续式模型(关注每个过程域中的能力)。
3.统一过程(UP)
统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,由UML方法和工具支持。
初始阶段:生命周期目标
精华阶段:生命周期框架
构件阶段:初试运作功能
移交阶段:产品发布
一.软件生存周期
阶段 | 任务 | 参加人员 | 产生的主要文档 |
可行性分析与项目开发计划 | 确定软件的开发目标和可行性 | 用户、项目负责人和系统分析师 | 可行性分析报告和项目开发计划 |
需求分析 | 软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型 | 用户、项目负责人和系统分析师 | 软件需求说明书 |
概要设计 | 设计软件的结构,还要设计该项目的应用系统和总体数据结构和数据库结构。 | 系统分析师和软件设计师 | 概要设计说明书 |
详细设计 | 把功能描述转变为精确地、结构化的过程描述。 | 软件设计师和程序员 | 详细设计文档 |
编码 | 把每个模块的控制结构写成某种特定程序设计语言 | 程序员 | 源程序清单 |
测试 | 在测试用例的基础上检查软件的每一个部分 | 另一部门的软件设计师或系统分析师 | 软件测试计划 测试用例 软件测试报告 |
维护 | 由于各方面原因,对软件进行修改。 | —— | —— |
二.软件过程
软件开发中所遵循的路线图称为“软件过程”。
1.能力成熟度模型(CMM)
软件过程能力成熟度模型(Capability Maturity Model of Software,CMM),其研究目的是提供一种评价软件承接方能力的方法,
同时它可以帮助软件组织改进其软件过程。
CMM将软件过程分为5个成熟度级别。
(1)初始级 杂乱无章,项目的成功完成完全依赖个人的努力和英雄式核心人物的作用。
(2)可重复级 有必要的过程准则来重复以前在同类项目中的成功。
(3)已定义级 管理和工程两方面的软件过程已经文档化、标准化。
(4)已管理级 制定了软件过程和产品质量的详细度量标准。
(5)优化级 加强了定量分析,通过反馈使过程能不断持续改进。
2.能力成熟度模型(CMMI)
CMMI是若干过程模型的综合和改进,是支持多个工程许学科和领域的、系统的、一致的过程改进框架。
CMMI提供两种表示方法,阶段式模型(关注组织的成熟度)和连续式模型(关注每个过程域中的能力)。
3.统一过程(UP)
统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,由UML方法和工具支持。
初始阶段:生命周期目标
精华阶段:生命周期框架
构件阶段:初试运作功能
移交阶段:产品发布
相关文章推荐
- 软件工程基础知识
- 面试问题:专业基础知识,软件工程知识,英语水平,实践能力
- 对于软件工程基础知识课程的希望与时间安排
- 软件工程基础知识
- 学习笔记:第7章 软件工程基础知识
- 软件工程基础知识
- 软件工程基础知识----软件概述
- 信息系统管理师读书笔记之第2章 软件工程基础知识1部分
- 软件工程基础知识
- 软件工程基础知识---软件维护
- 编程基础知识之软件工程
- 软件工程基础知识-软件生存周期及其产生的文档
- 软件工程基础知识随笔
- 软件工程基础知识
- 信息系统管理师读书笔记之第2章 软件工程基础知识2部分
- 软件工程基础知识
- 每一个软件开发人员绝对必须掌握的关于 Unicode 和字符集的最基础的知识
- HP实训软件测试第一阶段测试基础知识总结
- 对软件测试的认识(理论基础知识)
- java基础知识精华总结 java面试题 深圳酷琪 kuuqii.com 电脑配件软件 硬件一体化采购平台