软件项目全生命周期的阶段划分PPT(共55页)
软件工程-项目生命周期
软件工程-项目生命周期1. 引言项目生命周期是指软件项目从提出到完成的整个过程,包括了项目的规划、需求分析、设计、编码、测试和维护等阶段。
正确的项目生命周期管理能够有效提升软件项目的质量和开发效率,保证项目按时按质完成。
2. 项目规划阶段项目规划阶段是整个项目生命周期的起始阶段,主要目标是确定项目的范围、目标、约束和关键要素。
在这个阶段,需要进行项目可行性分析,确定项目的技术和资源需求,制定项目计划和预算,并建立项目组织结构。
3. 需求分析阶段需求分析阶段是项目生命周期的关键阶段,主要目标是明确软件系统的功能需求和非功能需求。
在这个阶段,需要进行用户需求收集和分析,制定系统需求规格说明书,确定用户界面设计和系统架构,以及制定详细的项目执行计划。
4. 设计阶段设计阶段是根据需求分析阶段的结果进行的重要阶段,主要目标是制定软件系统的详细设计方案。
在这个阶段,需要进行系统结构设计和模块设计,确定软件组件和接口设计,以及进行详细的数据库设计和用户界面设计。
5. 编码阶段编码阶段是根据设计阶段的结果进行的实现阶段,主要目标是将设计好的方案转化为可执行的代码。
在这个阶段,需要进行程序开发和单元测试,实现各个软件组件和模块的功能,以及对代码进行版本控制和配置管理。
6. 测试阶段测试阶段是项目生命周期的重要阶段,主要目标是对软件系统进行系统测试和验收测试。
在这个阶段,需要进行单元测试、集成测试和系统测试,发现和修复软件缺陷,验证系统是否符合需求规格说明书的要求,并进行用户验收和质量评审。
7. 维护阶段维护阶段是项目生命周期的一个阶段,主要目标是保障软件系统的稳定运行和持续改进。
在这个阶段,需要进行问题管理和修复,进行软件性能优化和系统升级,以及对用户提供技术支持和培训。
8.项目生命周期是一个软件项目从开始到结束的全过程,通过有效的项目生命周期管理,能够提升项目的质量和效率,确保项目按时按质完成。
每个阶段都具有不同的任务和目标,需要有效地进行沟通和协作,才能顺利完成软件项目。
IT项目管理ppt课件
精选版课件ppt
6
项目的三大目标
项目的三大目标:质量、成本、时间 项目的三大约束:
• 质量不高 • 时间拖期 • 预算超支
精选版课件ppt
7
什么是项目管理?
• 在项目活动中,项目经理运用专门的知识、技能、工具和方法,使项目能够实现或超过项目 干系人的需要和期望。——PMI
精选版课件ppt
30
制订项目计划前须明确的信息
• 项目要达到的目标,包括进度目标、成本目标、质量目标等 • 项目小组可以支配的资源 • 类似项目的历史资料,包括费用估算情况,实际执行情况记录等 • 组织的有关政策,包括人事、财务、采购等政策
精选版课件ppt
31
针对制定计划的6W2H问题
What-做什么项目?目标是什么? Whom-项目是为谁而作?发起人是谁?最终用户是谁?
精选版课件ppt
23
集团项目经理资质认证的方案
研发类
• 一级——重大(A) • 二级——重要(B) • 三级——一般(C)
工程类
• 一级——重大(A) • 二级——重要(B) • 三级——一般(C)
精选版课件ppt
24
优秀项目经理的重要特点
品德素质——强烈责任感、诚信、敬业精神、团队精神 性格特征——周密细致、系统思考 领导能力——表率、决策、沟通、激励 业务能力——技术过硬、知识全面 项目管理能力——了解项目的规律和过程、掌握项目管
• 总体描述、任务目标、关键技术、实施路线、人员组织与分工、进度计划、质量计划、成 本预算、风险管理、提交成果
• 客户的参与、上级的参与
精选版课件ppt
29
[计算机软件及应用]软件开发生命周期-PPT课件
*
按照以上需求陈述,回答以下问题。 如果采用增量模型开发上述系统,请画图表示该系统的生命周期模型? 根据学生成绩管理系统的功能要求,对系统进行分解,建立系统的WBS?
*
Code and fix
需求了解
编码、走查
编译、检错
修正
编写文档
提交
修正
测试
*
选择生存期的步骤
熟悉各种生存期模型 评审、分析项目的特性 选择适合项目的生存期模型 标识生存期模型与项目不一致地方,并进行裁减
*
Rational统一开发过程
*
本章要点
一、生存期模型定义 二、常用生存期模型 三、案例分析
*
软件工程与项目管理
第三章 软件项目生命周期模型
*
本章要点
一、生存期模型定义 二、常用生存期模型 三、案例分析
*
建筑工程类项目典型生存期模型
*
软件生命周期
软件生命周期(SDLD) 是指从软件开始开发到报废的全过程,亦称软件生存期(life cycle)。一般用经典的瀑布模型来描述。
*
最常用的-渐进式阶段模型
综合了增量模型和螺旋式模型的一个实用模型 渐进式前进 阶段式提交
*
渐进式迭代模型 *
*
阶段性完成规划
*
渐进式阶段模型的特点
阶段式提交一个可运行的产品 关键的功能更早出现 早期预警问题,避免软件缺陷不知不觉的增长 减少报告负担 阶段性完成可以降低估计失误 阶段性完成均衡了弹性与效率
*
Spiral Model适合的项目
风险是主要的制约因素 不确定因素和风险限制了项目进度 用户对自己的需求也不是很明确 需要对一些基本的概念进行验证 可能发生一些重大的变更 项目规模很大 项目中采用了新技术
软件工程生命周期PPT课件
问题定义
“要解决什么问题?”
“尽管确切定义问题的必要性是十分明显的,但 在实践中它却可能是最容易被忽视的问题” 通过对客户的访问调查,系统分析员扼要的写 出问题的性质、工程目标和工程规模的书面报 告,经过讨论和必要的修改后这份报告应该得 到客户用户的确认。
可行性研究
“做还是不做”
本阶段的任务是根据用户提出的工程项目的性 质、目标和规模,进一步了解用户的要求及现有的环 境及条件,从技术、经济和社会等多方面研究并论证 该项目的可行性,即该项目是否值得去解决,是否存 在可行的解决办法。
The debugging process
定位错误
设计错误 修复
程序错误 修复
重测程序
软件有效性验证
▪ 软件有效性验证是要看系统是否符合它的描述以
及是否符合客户的需求。它包括检查过程、从用 户需求定义到程序开发的每个软件过程阶段。
▪ 绝大多数有效性验证的成本发生在系统完成测试
的时候。
“测试过程应该和开发过程相结合,分阶段增量进行”
务”。
“软件的运行是软件产品发挥社会和经济效益的 重要时期”
✓ 在软件使用过程中用户或软件工程师必须仔细收
集已发现的软件运行中的问题,定期或不定期的 拟定“软件问题报告”。
维护
✓ 任务: 通过各种维护活动使软件系统持久地满足用
户的需求。
✓ 每项维护活动实质上都是一次压缩和简化了的软
件定义和软件开发过程。都要经历提出维护要求、 分析维护要求、提出维护方案、审批维护方案、 确定维护计划、修改软件设计、修改程序、测试 程序、评审、验收等步骤。
概要设计
2)实现途径 选择某种方法和工具。设计的软件系统应具有良 好的总体结构、尽量降低模块接口的复杂度,并 力争做到各功能模块之间的低耦合度、而功能模 块内部具有较高的内聚度。
IT软件项目的生命周期PPT(共46页)
Page 2
1.软件项目生命周期的概念
对于典型的IT软件项目,项目的生命周期可以从不同 的角度认识。 从项目承担方看:项目是从接到合同正式开始的, 到完成规定工作结束; 从客户的角度看:项目是从确认有需求开始,到 使用项目的成果实现商务目标结束。
系统测试
⑥系统测试:测试系统的各部分是否满足需求。
Page 7
(2)改进的纯瀑布模型--生鱼片模型
“生鱼片模型”,是将模型中的连续的各阶段
软件概念
相互有较大幅度的重叠。
需求分析
例如,在需求分析完成之前可以
初步设计
进行初步设计和详细设计。
详细设计
主要优点:
编码和调试
在项目比较小且定义得很好时,
系统测试
可以有效地减少文档的产生。是
比较有效的模型。
主要缺点:
①因为阶段重叠,里程碑非常不明确,很难精确地进行过程跟踪;
②并行地执行活动可能导致无效的沟通、错误的想法以及低下的效率。
Page 8
(2)改进的纯瀑布模型--具有子系统的瀑布模型
初步设计中将系统分成几个逻辑上相对独立的子系统,每一个子系统都
采用相对独立的
软件概念
①软件概念:用户提出对软件的开发与初步需求; ②需求分析:开发者与用户交流,确定
需求分析
系统的目标、服务与约束;
③初步设计:将用户需求分解
④详细设计:
初步设计
成硬件与软件需求,并建立
将初步设计的整体
系统的整体结构模型;
结构继续分解为可实施
详细设计
编码的小模块,并完成
流程图;
编码和调试
⑤编码和调试:选择合适的计算机语言,完 成详细设计中的各个模块的编码并调试;
软件工程完整PPT课件
2021/3/9
10
④局部化。要求在一个物理模块内集中逻辑上相互关联 的计算资源,保证模块间具有松散的耦合关系,模块 内部有较强的内聚性,这有助于控制解的复杂性。
⑤确定性。软件开发过程中所有概念的表达应是确定的、 无歧义且规范的。
⑥一致性。包括程序、数据和文档的整个软件系统的各 模块应使用已知的概念,内外部接口应保持一致,系 统规格说明与系统行为应保持一致。
2021/3/9
14
2. 需求分析方法 常见的需求分析方法有:
①结构化分析方法。 ②面向对象的分析方法。
2021/3/9
15
2.2结构化分析方法
(1)关于结构化分析方法 结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,
建立系统的处理流程,以数据流图和数据字典为主要工具,建 立系统的逻辑模型。 结构化分析的步骤如下:
3. 信息隐蔽 信息隐蔽使得一个模块内包含的信息(过程和数据)
对于不需要这些信息的模块来说,是不能访问 的。
2021/3/9
24
4. 模块独立性 每个模块完成一个相对独立的特定子功能,并且 和其他模块之间的接口很简单。
模块的独立程度可以由两个定性标准来衡量,这 两个标准分别称为耦合性和内聚性。藕合衡量不 同模块彼此间互相依赖(连接)的紧密程度;内 聚衡量一个模块内部各个元素彼此间结合的紧密 程度。
⑦完备性。软件系统不丢失任何重要成分,完全实现系 统所需的功能。
⑧可验证性。开发大型软件系统需要对系统自顶向下, 逐层分解。系统分解应遵循容易检查、测评、评审的 原则,以确保系统的正确性。
2021/3/9
11
1.5软件开发工具与软件开发环境
1. 软件开发工具 软件开发工具是指可以用来帮助开发,测试、分 析、维护其他计算机程序及其文档资料,实现软 件生产过程自动化的一类程序。 软件工具主要包括需求分析工具、设计工具、编 码工具、确认工具、维护工具等。
软件项目开发过程PPT课件
精品ppt
18
设计编码标准
• 设计的过程模块需要进行标准化 • 标准化包括设置程序和数据库的名称约定 • 标准化使代码的可读性更强,更易于维护 • 常规编码标准 • 函数声明的编码标准
精品ppt
– 颜色 – 字形 – 标题和标签的尺寸 – 页眉和页脚的外观 – 控件的主题、位置和尺寸
精品ppt
16
设计界面
• 根据 GUI 标准集设计屏幕的布局 • 可以是用户输入或显示信息的报表 • 记录在界面设计文档中
精品ppt
17
设计数据库和过程模块
• 数据库: – 根据 ERD 中包含的信息设计数据库。 – 表设计将遵循规范化的规则。 – 表设计记录在表设计文档中。
28
开发管理的一些指南
• 建立原代码互审的管理制度 ― 每个软件开发工程师遍写的原代码都有致少一个以上的同事对程序 进行审查。
• 建立原代码编写的规范 ― 每个软件开发工程师都应按照规范进行程序设计, 包括编写的风格, 格式, 组件接口的规范, 解说词的撰写, 等等。
29
测试管理的一些指南
• 根据设计构划书撰写测试计划 ― 测试计划要请项目经理和开发工程师一起进行审查。 ― 测试计划用列表式将所有的测试方案写下。 ― 每个具体地的测试方案都有专人执行,并记录每个测试方案的结果 . 任何缺陷都记录下来。
精品ppt
4
软件项目基本流程
启动
计划
执行
控制
结束
5
流程示意图
6
软件项目开发的流程及特征
• 此通用流程时间表为各种开发项目的参考,各工作项目的时间长短视项 目具体的要求来决定, 且有的流程可有可无。
最新软件项目全过程管理-PPT演示文稿
3.3.3项目计划实施的结果
▪ 1. 工作成果。工作成果是为完成项目工作而进 行的具体活动结果。工作成果资料--工作细目的 划分、工作已经完成或没有完成,满足质量标准 的程度怎样,已经发生的成本或将要发生的成本 是什么等等--这些资料都被收集起来,作为项目 计划实施的一部分,并将其编入执行报告的程序 中。
软件项目管理
第4章 项目范围管理
学习目标: 1.了解好的项目范围管理的重要性。 2.熟悉范围说明书与工作分解结构(WBS)的作用。 3.熟悉工作分解结构(WBS)。
▪ 做过项目的人可能都会有这样的经历: 一个项目做了很久,感觉总是做不完,就 像一个“无底洞”。用户总是有新的需求 要项目开发方来做,就像用户在“漫天要 价”,而开发方在“就地还钱”。实际上, 这里涉及到一个“范围管理”的概念。项 目中哪些该做,做到什么程度,哪些不该 做,都是由“范围管理”来决定的。那么, 到底什么是“范围管理”,本章将揭开这 个谜底。
▪ 2. 改变要求。改变项目要求(比如:扩大或修 改项目合同范围,修改成本或进行估算等等)通 常是在项目工作实施时得到确认。
3.4综合变更控制
• (a)对引起变更的因素施加影响,以保证这些变更是征
得同意的;
• (b)判断项目变更是否已经发生; • (c)一旦项目发生变更,对实际变更进行管理。
综合变更控制要求:
项目协调
项目主管 职员 职员 职员
▪ 矩阵型:
平衡矩阵
弱矩阵
强矩阵
组织结构对项目的影响
设计项目组织结构时需遵守的原则
▪ 目标一致性原则 ▪ 有效的管理层次和管理幅度原则 ▪ 责任与权利对等原则 ▪ 集权与分权相结合的原则 ▪ 环境适应性原则
本章结束!
软件生命周期
软件生命周期软件生命周期(SDLC,软件生存周期)是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
但随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少。
一、软件生命周期(SDLC)的六个阶段1、问题的定义及规划此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。
需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。
"唯一不变的是变化本身。
",同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。
3、软件设计此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。
软件设计一般分为总体设计和详细设计。
好的软件设计将为软件程序编写打下良好的基础。
4、程序编码此阶段是将软件设计的结果转换成计算机可运行的程序代码。
在程序编码中必须要制定统一,符合标准的编写规范。
以保证程序的可读性,易维护性,提高程序的运行效率。
5、软件测试在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。
整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。
测试的方法主要有白盒测试和黑盒测试两种。
在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。
6、运行维护软件维护是软件生命周期中持续时间最长的阶段。
在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。
第3章 软件项目全生命周期的阶段划分
利用演化模型进行软件开发的最大优点 或特点是在软件开发过程中,如果一次迭代 还不能满足用户的实际需求,可通过下一次 的迭代完成,这样就可以在一定程度上减少 软件开发的盲目性,提高软件的开发效率。
(3)螺旋模型 螺旋模型是在演化模型的基础上发展起 来的。它在演化模型的基础上增加了风险分 析机制。 它将软件项目开发划分为制定计划、风 险分析、实施开发,以及客户评估四类活动。 软件风险是任何软件项目中普遍存在的 问题,不同项目只是风险大小不同而已。项 目规模越大、问题越复杂,资源、成本、进 度等因素的不确定性就越大,承担项目的风 险也就越大。进行风险分析与管理的目的就 是使人们在危害造成之前及时对风险进行识 别、分析,采取对策,消除或减少风险所造 成的损失。
3.2 软件项目全生命周期的阶段划分
3.2.1软件开发模型 在软件项目的实施过程中,选择有效的开 发模型对项目的成功有很大的影响。比较典 型的软件开发模型有瀑布模型、演化模型和 螺旋模型。 (1)瀑布模型。 1970年,由Royce Winston提出,如图3-1 所示。瀑布模型规定软件开发各阶段的活动 依次是:用户提出软件需求,项目成员开展 需求分析、系统设计、编码、测试、实施和 运行维护等一系列的任务。模型中各阶段的 活动从上一阶段向下一阶段逐级过渡,如同 瀑布逐级下落,最终完成软件产品并交付用 户使用。
3.2.2.3需求分析
客户需求是软件开发的依据。软件需求分 析是用户对目标软件系统在功能、行为、性 能、设计约束等方面的理解、认识、定义和 期望。通过对相应问题及系统环境的理解与 分析,为问题涉及的信息、功能及系统行为 建立软件系统模型,实现将用户需求精确化、 完全化,最终形成需求规格说明书。 需求分析主要包括三个子阶段的工:作, 即问题分析、需求描述及需求评审。
软件生命周期模型
A 快速迭代
敏捷开发采用短周期的迭代方式进 行开发,每个迭代周期结束都能交
付可运行的软件。
B
C
D
持续改进
敏捷开发注重持续改进和优化,通过每个 迭代周期的反馈来不断完善软件产品。
自我组织团队
敏捷开发要求团队成员具备自我组织能力, 能够自主安排工作进度和任务分配。
敏捷开发模型适用场景
需求变化快
当需求变化较快时,敏捷开发能够快速适应 变化并满足客户需求。
03
• 对于小型简单系统可能过于复 杂,成本较高。
04
04 迭代模型
迭代模型定义
• 迭代模型是一种软件开发过程模型,它将整个软件开发过程划分为一系列迭代 阶段。在每个迭代阶段,开发团队会根据预先设定的需求和目标,进行需求分 析、设计、编码、测试等工作,并逐步构建和改进软件系统。
迭代模型特瀑布模型
顺序且线性的开发过程,强调文 档和需求分析的重要性,适用于 需求稳定、变更较小的项目。
迭代模型
开发过程反复进行,逐步完善, 强调需求调研、系统架构设计和 早期测试。
敏捷开发模型
快速响应变化,强调团队合作、 客户需求和迭代开发,适用于需 求变化快、产品复杂度高的项目。
软件生命周期模型
目 录
• 软件生命周期模型概述 • 瀑布模型 • 螺旋模型 • 迭代模型 • V模型
01 软件生命周期模型概述
定义与特点
定义
软件生命周期模型描述了软件开发和 演进的全过程,包括从需求分析、设 计、编码、测试到维护和支持等阶段 。
特点
软件生命周期模型强调软件开发过程 中的整体性和阶段性,有助于确保软 件质量、控制开发成本和合理分配资 源。
需求明确
迭代模型强调在不断迭代中 完善软件,每个迭代周期都 实现部分功能,并在后续迭
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用演化模型进行软件开发的最大优点
软件风险是任何软件项目中普遍存在的 问题,不同项目只是风险大小不同而已。项 目规模越大、问题越复杂,资源、成本、进 度等因素的不确定性就越大,承担项目的风 险也就越大。进行风险分析与管理的目的就 是使人们在危害造成之前及时对风险进行识 别、分析,采取对策,消除或减少风险所造 成的损失。
如图3-3所示,软件项目沿着螺旋式模型 旋转在笛卡儿坐标的四个象限上。
1)制定计划 确定软件项目的目标,选定实施方案, 定义项目的边界条件。
2)风险分析 分析所选方案,考虑如何识别、预防、避 免和清除风险。
3)项目实施 开展软件项目全生命周期的分析、设计、 编码、 测试和实施等工作。
4)客户评估 评价软件项目各阶段的工作,提出修正性 建议。
螺旋模型的优越性在于适合大型软件的 开发。可使开发人员和用户对每一个演化层 出现的情况均有所了解,并对下一阶段工作 做出正确的安排。
根据应用类型的不同也可分为两大类:
(1)系统软件 是支持计算机及应用软件集成化运行的基
础平台及软件。
操作系统软件、目录服务软件、文件服务 软件、通讯服务软件、数据库服务软件、语 言编译软件等。
(2)应用软件。 是最终用户使用的用来提高办公效率的
终端软件。
应用软件不像系统软件具有更广泛的通 用性,它一般是为客户在某一个专用领域提 供服务而定制的。
由于整个项目的立项、开发在一个单位内 部独立完成,整个开发过程只存在于本单位 项目内部的组织和管理,不存在不同单位之 间的协作,所以这类项目管理的难度要小些。
(2)外包软件项目
提出项目立项的单位本身不具备软件开 发的能力,项目实施要借助于专业的软件研 发机构来完成。
由于项目主体方和项目实施方属于不同 的单位,在项目实施过程中,由于利益及责 任的不同,双方在项目的实施过程中存在着 复杂的协作关系,造成项目在组织上和管理 上存在较大的困难。
3.2 软件项目全生命周期的阶段划分
3.2.1软件开发模型
在软件项目的实施过程中,选择有效的开 发模型对项目的成功有很大的影响。比较典 型的软件开发模型有瀑布模型、演化模型和 螺旋模型。
(1)瀑布模型。
1970年,由Royce Winston提出,如图3-1 所示。瀑布模型规定软件开发各阶段的活动 依次是:用户提出软件需求,项目成员开展 需求分析、系统设计、编码、测试、实施和 运行维护等一系列的任务。模型中各阶段的 活动从上一阶段向下一阶段逐级过渡,如同 瀑布逐级下落,最终完成软件产品并交付用 户使用。
瀑布模型为软件开发与维护提供了一种
有效的项目管理模式。但在实际应用中,软 件开发活动的各阶段间的关系并非是简单的 线性关系,阶段评审可能会出现向上一阶段 反馈的现象,使模型中产生环路,像图3-1中 虚线所示。
瀑布模型的不足:
①由于开发阶段呈线性,当开发成果尚未 经过测试阶段时,用户无法看到软件的运行 效果,可能会存在需求方面的缺陷,造成开 发出来的软件不是用户真正需要的软件,造 成项目的返工或在维护中纠正需求的偏差。
②由于固定顺序,前期工作中造成的偏差 如果延续到后期阶段,所造成的损失将会更 大,项目的风险也就会越大。
(2)演化模型
是利用迭代的思想,使软件开发活动逐 步完善的机制。
该模型设计主要针对在用户需求阶段, 难以给出准确、完整的用户需求的软件项目。 在项目开始时,用户可以给出目标系统的核 心功能需求,开发人员可以根据核心需求开 发系统的核心模块。
演化模型有效地解决了瀑布模型的不足, 利用原型技术可有效防范软件开发过程中的 风险,但对风险的分析的预防机制略显不足, 因而适合规模中等的软件项目开发。
螺旋模型既继承了演化模型的特点,又有 效地增加了风险预防和解决机制,适合于大 型规模的软件项目开发。
3.2.2软件项目生命周期阶段划分
不同的软件开发模型,生命周期的阶段 划分会有所差别。
其软件开发活动具有以下特点:
1)阶段性 要求在开发过程中前一阶段工作完成以 后,后一阶段工作才能开始。
2)阶段评审 对每一阶段完成的工作都要进行评审, 以利于尽早发现问题,避免后期的返工,如 果评审不合格,则不能开始下一阶段工作。
3)文档管理 每个阶段都明确规定了要完成的工作。 如果文档没有完成,就认为本阶段的工作 有完成。
第3章 软件项目全生命周期 的阶段划分
主要内容:
软件项目分类 软件项目全生命周期的阶段划分 软件项目各阶段之间的关系 软件项目生命周期中里程碑的设定 与管理
3.1 软件项目分类
根据实施主体的不同分为两大类:
(1)自主研发项目 对于立项的软件项目,采取自主开发和自
主维护的方式进行。即立项单位本身就是项 目开发单位,既是实施单位,也是受益单位。
在实际应用过程中,如果用户提出了明 确的业务需求,开发人员也正确理解了用户 需求后,开发过程无需开发原型系统,整个 开发过程可采用瀑布模型。
(4)模型的使用
在模型实际的使用不能生搬硬套现有的 开发模型,而是要深刻领会模型的精神,结 合自己软件项目的实际情况,选择符合本身 项目特点的开发模型。
瀑布模型无法解决软件需求不明确或不 准确的问题,会对整个软件开发工作带来严 重影响,最终可能导致开发出的软件并不是 用户真正需要的,且这一点只有在软件开发 完成后才可以被发现,所以瀑布模型对于需 求简单、明确的软件开发项目比较适合。
或特点是在软件开发过程中,如果一次迭代 还不能满足用户的实际需求,可通过下一次 的迭代完成,这样就可以在一定程度上减少 软件开发的盲目性,提高软件的开发效率。
(3)螺旋模型
螺旋模型是在演化模型的基础上发展起 来的。它在演化模型的基础上增加了风险分 析机制。
它将软件项目开发划分为制定计划、风 险分析、实施开发,以及客户评估四类活动。