
浙江科技学院ZHEIRANGUNIVERSTY OF SCIENCE&TECHNOLOG软件开发周期简介2010ZUSTSoftwareInstitute
2010 ZUST Software Institute 软件开发周期简介

ZUSTSoftware Institute主要内容■开发周期的组成■开发周期各部分介绍Java程序设计2010 ZUSTSoftware Institute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 主要内容 ▪ 开发周期的组成 ▪ 开发周期各部分介绍

ZUSTSoftwareInstitute软件开发周期简介一一开发周期的组成从时间角度对软件开发和维问题定义护的复杂问题进行分解,把可行性研究软件开发的漫长周期依次划软件定义时期分为若干个阶段,每个阶段需求分析★有相对独立的任务,然后逐步完成每个阶段的任务总体设计详细设计软件开发时期编码与单元测试综合测试软件维护时期软件维护Java程序设计2010ZUSTSoftware Institute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——开发周期的组成 问题定义 可行性研究 需求分析 总体设计 详细设计 编码与单元测试 综合测试 软件维护 软件定义时期 软件开发时期 软件维护时期 ▪从时间角度对软件开发和维 护的复杂问题进行分解,把 软件开发的漫长周期依次划 分为若干个阶段,每个阶段 有相对独立的任务,然后逐 步完成每个阶段的任务

ZUSTSoftwareInstitute软件开发周期简介一一问题定义问题定义阶段必须回答的关键问题:“要解决的问题是什么?问题定义阶段是软件生存周期中最简短的阶段,一般只需要一天甚至更少的时间Java程序设计2010 ZUSTSoftware Institute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——问题定义 ▪ 问题定义阶段必须回答的关键问题:“要解决的问 题是什么?” ▪ 问题定义阶段是软件生存周期中最简短的阶段,一 般只需要一天甚至更少的时间

ZUSTSoftwareInstitute软件开发周期简介一一可行性研究■这个阶段要回答的关键问题:“对于上一个阶段所确定的问题有行得通的解决办法吗?可行性研究应该比较简短,个阶段的任务不是具体解决问题,而是研究问题的范围,探索这个问题是否值得去解,是否有可行的解决办法可行性研究阶段应该导出系统的高层逻辑模型(通常用数据流图表示),并且在此基础上更准确、更具体地确定工程规模和目标。Java程序设计2010ZUSTSoftware Institute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——可行性研究 ▪ 这个阶段要回答的关键问题:“对于上一个阶段所 确定的问题有行得通的解决办法吗?” ▪ 可行性研究应该比较简短,个阶段的任务不是具体 解决问题,而是研究问题的范 围,探索这个问题是 否值得去解,是否有可行的解决办法 ▪ 可行性研究 阶段应该导出系统的高层逻辑模型(通 常用数据流图表示),并且在此基础上更准确、更 具体地确定工程规模和目标

ZUSTSoftwareInstitute软件开发周期简介一一需求分析■这个阶段的任务仍然不是具体地解决问题,而是准确地确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能。系统分析员在需求分析阶段必须和用户密切配合,充分交流信息,以得出经过用户确认的系统逻辑模型。通常用数据流图、数据字典和简要的算法描述表示系统的逻辑模型。Java程序设计2010 ZUSTSoftwareInstitute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——需求分析 ▪ 这个阶段的任务仍然不是具体地解决问题,而是准 确地确定“为了解决这个问题,目标系统必须做什 么”,主要是确定目标系统必须具备哪些功能。 ▪ 系统分析员在需求分析阶段必须和用户密切配合, 充分交流信息,以得出经过用户确认的系统逻辑模 型。通常用数据流图、数据字典和简要的算法描述 表示系统的逻辑模型

ZUSTSoftware Institute软件开发周期简介一一总体设计(概要设计)■这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题?■系统分析员应该使用系统流程图或其他工具描述每种可能的系统,估计每种方案的成本和效益,还应该在充分权衡各种方案的利弊的基础上,推荐一个较好的系统(最佳方案),并且制定实现所推荐的系统的详细计划。总体设计阶段的第二项主要任务就是设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系。通常用层次图或结构图描绘软件的结构。8Java程序设计2010 ZUST Software Institute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——总体设计(概要设计) ▪ 这个阶段必须回答的关键问题是:“概括地说,应 该如何解决这个问题?” ▪ 系统分析员应该使用系统流程图或其他工具描述每 种可能的系统,估计每种方案的成本和效益,还应 该在充分权衡各种方案的利弊的基础上,推荐一个 较好的系统(最佳方案),并且制定实现所推荐的 系统的详细计划。 ▪ 总体设计阶段的第二项主要任务就是设计软件的结 构,也就是确定程序由哪些模块组成以及模块间的 关系。通常用层次图或结构图描绘软件的结构

ZUSTSoftwareInstitute软件开发周期简介一一详细设计详细设计阶段的任务就是把解法具体化,也就是回答下面这个关键问题:“应该怎样具体地实现这个系统呢?”这个阶段的任务还不是编写程序,而是设计出程序的详细规格说明。55Java程序设计2010ZUSTSoftwareInstitute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——详细设计 ▪ 详细设计阶段 的任务就是把解法具体化,也就是回 答下面这个关键问题:“应该怎样具体地实现这个 系统呢?” ▪ 这个阶段的任务还不是编写程序,而是设计出程序 的详细规格说明

ZUSTSoftwareInstitute软件开发周期简介一一编码和单元测试■这个阶段的关键任务是写出正确的容易理解、容易维护的程序模块。程序员应该根据目标系统的性质和实际环境,选取一种适当的高级程序设计语言(必要时用汇编语言),把说细设计的结果翻译成用选定的语言书写的程序,并且仔细测试编写出的每一个模块。Java程序设计2010ZUSTSoftwareInstitute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——编码和单元测试 ▪ 这个阶段的关键任务是写出正确的容易理解、容易 维护的程序模块。 ▪ 程序员应该根据目标系统的性质和实际环境,选取 一种适当的高级程序设计 语言(必要时用汇编语 言),把说细设计的结果翻译成用选定的语言书写 的程序 ,并且仔细测试编写出的每一个模块

ZUSTSoftwareInstitute软件开发周期简介一一综合测试■这个阶段的关键任务是通过各种类型的测试及相应的调试,是软件达到预定的的要求最基本的测试是集成测试和验收测试通过对软件测试结果的分析可以预测软件的可靠性:反之,根据对软件可靠性的要求也可以决定测试和调试过程什么时候可以结束应该用正式的文档资料把测试计划、详细测试方案以及实际测试结果保存下来,做为软件配置的一个组成成分Java程序设计2010 ZUSTSoftware Institute
ZUST Software Institute Java程序设计 2010 ZUST Software Institute 软件开发周期简介——综合测试 ▪ 这个阶段的关键任务是通过各种类型的测试及相应 的调试,是软件达到预定的的要求 ▪ 最基本的测试是集成测试和验收测试 ▪ 通过对软件测试结果的分析可以预测软件的可靠性; 反之,根据对软件可靠性的要求也可以决定测试和 调试过程什么时候可以结束 ▪ 应该用正式的文档资料把测试计划、详细测试方案 以及实际测试结果保存下来,做为软件配置的一个 组成成分