软件制造工程
第一章 软件制造工程的概念
知识回顾
? 软件
? 软件的生命周期
? 软件工程
程序 +文档
采用工程化方法把软件作为工程产品按
软件生命周期进行生产
软件计划、需求分析、软件设计、
软件编码、软件测试、运行维护
软件生命周期的另一种划分
? 需求定义分析
? 设计工程
? 制造工程
? 测试工程
? 运行与维护
软件制造工程
? 程序设计
? 程序编码
? 单元测试
软件制造工程的位置






需求分析工程
设计工程
制造工程
测试工程
应用安装
运行维护
用户需求
转化为软
件产品所
需的全部
软件工程
活动的集
合。
软件开发过程的主要作业内容
开发工程 目的和处理内容
需求
分析
工程
需求分析
系统计划
? 确定系统开发的目的,做出软件系统的开发计划。
? 在需求分析基础上明确系统构想模型和处理要求,作出系统
功能概要说明,确定系统能够实现的范围。
设计
工程
外部设计
(概要设计)
? 系统功能概要处理的具体化,作出用户看得到的部分系统要
件的基本设计(如系统窗体显示和外部接口等方面的设计)。
内部设计
(详细设计)
? 进行数据库及其文件系统的设计。
? 进行系统内部结构及其处理要求的详细设计(程序处理概要
,模块功能说明等)。
制造
工程
程序制造
(程序设计、程序编
制、单元测试 )
? 按照各个程序的处理概要,做出程序单元设计说明书。
? 按照程序单元设计说明书,进行程序编码。
? 实施程序单元测试,验证各个程序单元的处理功能。
测试
工程
软件测试
(组合测试、系统测
试、运行测试 )
? 为提高软件质量,按以下顺序进行测试。
? 组合测试:各个子系统内的程序单元的组合测试。
? 系统测试:各个子系统连接起来,全系统的综合测试。
? 运行测试:在用户环境下进行实际运行环境的测试。
应用
安装
移植安装
运行评价
? 处理在用户环境中运行时所发现的问题。
? 对与新系统有关的所有人员(客户)进行新系统培训。
? 实施导入新系统作业,满足项目初期所确立的需求,使客户
满意。
软件制造工程的主要作业内容
? 如图 1.2软件工程的主要内容
程序设计过程
程序设计
详细设计书理解
程序设计作业实施
程序设计书作成
程序单元内的功能模块分割
模块功能说明及处理内容说明
程序功能层次图及模块关联说明
定义公共变量和重要变量
程序编制
程序编制
详细设计书或
程序设计书的理解
P CL 作成(程序测试清单)
程序编制
单元测试
? 又称为“模块测试”
? 利用 PCL确定程序的检测点
? 利用各种数据验证模块功能
? 通常由编码的程序员担任此工作
软件制造工程的成果物
详细设计结果的确认
确定从事制造工程作业的
开发体制
作出开发日程表
作出开发计划并检查开发
计划
开发准备工作
按阶段分析其作业内容及成果物
软件制造工程的成果物
程序设计 程序单元结构设计
做出程序处理追加功能
说明书
作出模块功能说明书
程序设计结果的检查
程序处理概要图
程序功能说明图
程序功能层次图
模块关联图 (PAD
图 )
模块的说明定义

软件制造工程的成果物
程序代码编制
(程序编制 )
公共函数的编码和测试
程序编码 (按用户需求选择
程序编制语言 )
程序代码的检查
程序设计结果的检查
源程序清单
程序检测清单
(PCL)
软件制造工程的成果物
程序单元测试 写出程序测试项目表
(PCL)
程序测试项目的检查
做出测试数据
实施每个程序的单元测

填写问题管理表
测试报告书
软件制造工程的成果物
开发结束工作 填写质量数据汇总表
作出程序单元测试报告
软件制造工程的理想与现实
? 最新的前沿技术 当前技术发展
? 理想化指标 用户的需求
技术状况
资金预算、工程时限等
程序员与软件制造工程
? 程序员的想像力与软件开发的质

? 开发团队与协作精神
? 交流与沟通的重要性
思考,
作为一个程序员应该怎样与
开发小组的人员进行交流?