文档介绍:《软件工程》
Software Engineering
(An Introduction)
Chapter 2Process & Process Models
回顾
克服软件危机的途径
研究软件开发的本质,消除错误的认识、概念和做法;
研究先进的软件开发技术和方法,推广使用成功的开发技术和方法;
研制使用软件工具和软件工程支持环境;
加强软件管理。
回顾
【IEEE】“软件”的定义为:计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。
虽然表面上看来在这个定义中列出了软件的5个配置成分,但是,方法和规则通常是在文档中说明并在程序中实现的。
【ISO】软件是与计算机系统操作有关的程序、过程、规划及任何有关的资料。
【SEI】软件是程序及其支持该程序的安装,操作,修复和加强所需的各种信息和资料。
回顾
{There is no universal accepted, definition of SE. “Software Engineer programmer, what title do you want”—Computer, 2001,34(5)}
软件工程(SEI):软件工程指规范地应用各种工程的科学的和数学的原理与方法以经济地生产高质量的软件。
软件生命周期(SDLD) 是指从软件开始开发到报废的全过程,亦称软件生存期(life cycle)。一般用经典的瀑布模型来描述。
GB 8567中规定,软件生命周期分为7个阶段:
1、  可行性研究和项目开发计划
2、  需求分析 3、概要设计
4、  详细设计 5、编码
6、  测试 7、维护
在大部分文献中将生存周期划分为5个阶段,即要求定义、设计、编码、测试及维护。其中要求定义阶段包括可行性研究和项目开发计划、需求分析,设计阶段包括概要设计和详细设计。
为了描述软件生存期的活动,提出了多种生存期模型:
例如:瀑布模型、循环模型、演化模型、螺旋模型等。
回顾:Software Life Cycle
(维护报告)
问题定义
编码
需求分析
设计
可行性研究
运行与维护
测试
开发
时期
运行时期
计划时期
(目标与范围说明书)
(可行性论证论告)
(测试报告)
(程序)
(设计文档)
(需求说明书)
回顾
回顾:Software Life Cycle
(1) Requirements:
Identify the needs of the users by interviewing them.
(2) Specification or Analysis:
Describe what the software system should do to meet the requirements.
(3) Design:
Describe how the system should perform the required tasks.
回顾: Software Life Cycle
(4) Implementation:
Program various modules of the system.
(5) Integration:
Combine the modules and verify that the whole system works correctly.
(6) Maintenance:
Maintain the operation of the system, remove bugs as they are discovered.
(7) Retirement:
Migrate to a new system.
回顾:Software Life Cycle
Inputs/Outputs of Each Phase