300 likes | 673 Views
目标 本课中你将学习: 识别系统开发中的五个阶段 识别以下过程模型: 瀑布模型 原型模型 渐进模型 快速应用开发 ( RAD) 模型 螺旋模型. 软件开发生命周期的需要 Gibson 先生就想建造他自己的房子 每当他的房东要他让出房子时 他会见 M/s Newcity Builders 的代表,讨论建造房子的计划 分配建筑师, Mike Fleming, 到 Gibson 先生的‘房子’,他与 Gibson 先生一起理解他们对房子的要求。 然后他起草一个可被 Gibson 所接受的计划 六月以后, Gibson 搬进了这个新房子.
E N D
目标 本课中你将学习: • 识别系统开发中的五个阶段 • 识别以下过程模型: • 瀑布模型 • 原型模型 • 渐进模型 • 快速应用开发(RAD)模型 • 螺旋模型
软件开发生命周期的需要 • Gibson 先生就想建造他自己的房子 • 每当他的房东要他让出房子时 • 他会见M/s Newcity Builders 的代表,讨论建造房子的计划 • 分配建筑师, Mike Fleming,到Gibson 先生的‘房子’,他与Gibson 先生一起理解他们对房子的要求。 • 然后他起草一个可被Gibson所接受的计划 • 六月以后,Gibson搬进了这个新房子
软件开发生命周期的需要…(续) • 注意这个房子的建造项目要通过五个阶段 • 构想阶段:Gibson 先生把需要有自己的房子这个问题概念化 • 初始化阶段: Gibson 先生提供建筑师一个可行的解决方案 • 分析阶段:建筑师分析Gibson一家的要求,确定他们的需求 • 设计阶段:建筑师草拟一个计划 • 构造阶段:建造房子
软件开发生命周期的需要…(续) • 任何计算机化项目也必须经历同样的五个阶段 • 这五个阶段构成了软件项目的生命周期,称为软件开发生命周期 (SDLC)。
SDLC的五个阶段 CONCEPTION INITIATION ANALYSIS DESIGN CONSTRUCTION
SDLC的五个阶段(续) • 构想: • 从问题或机会的认识开始Starts with the recognition of a problem or opportunity • 识别这个阶段中的四个对象:Four objectives are identified in this phase: • 问题 • 解决行为Solution • 行为Benefit • 机会Scope • 文档中记录材料称为Project Request Form。 The details are recorded in a document called the Project Request Form.
SDLC的五个阶段(续) • 初始化: • 对用户需求做了初步的研究 • 下面是文档: • 建议的解决方案 • 考虑的候选解决方案 • 经济上的理由 或成本效益分析(Cost Benefit Analysis) • 进度表 • 在文档中记录的材料称为系统建议书
SDLC的五个阶段(续) • 分析: • 下面是文档: • 输出要求 • 输入要求 • 要保留的数据 • 过程 • 审计和控制要求 • 验收准则 • 结果文档是功能规格说明
SDLC的五个阶段(续) • 设计: • 定义系统将如何工作 • 下面是设计规格说明中文档: • 将如何处理输入、输出、操作、文件、及审计和控制的要求 • 验收测试计划/进度 • 所需的设施、设备、及人员 • 操作系统所需的手工过程
SDLC的五个阶段(续) • 构造: • 这个阶段包括三个活动: • 为使用包,完成和测试计算机程序和操作手册 • 为从当前工作中系统转换到新系统而执行的所有任务 • 进行最后的系统测试,以确定它的运转是否达到分析阶段建立的验收准则。
SDLC的五个阶段(续) • 在系统评价时,确定系统在真实环境中的性能
稍等一下… 列出SDLC的五个阶段
过程模型 • 五个通用的SDLC阶段是使不同的软件工具和方法学结合起来,创建可应用于真实场景的SDLC策略,这些策略称为过程模型或软件工程范式。 • 某些过程模型是: • 瀑布模型 • 原型模型 • 渐进 模型 • 快速应用开发 (RAD) 模型 • 螺旋模型
瀑布模型 • 瀑布模型也称为线性顺序模型或典型的生命周期模型 • 在阶段中每个阶段都有开始点和结束点,且从一个阶段到下一个阶段都有明确的递交物 • 这种模型对于需求一开始就定义很明确和以后只有次要变动的情形来说,是理想的模型。 • 多数软件系统是动态的—随着用户的增多他们需要不断地变动。因此,这种模型可证明是低效的。
稍等一下… 在瀑布模型的哪个阶段中,你要指出输入、输出、及系统验收准则吗?
原型模型 • 产品的第一版是试验性的 • 这种试验的主要目的是评估此产品的可行性和验证需求 • 这种产品的‘第一版’称为原型 • 抛弃此产品,在更为扎实的基础上开始真正的开发 • 原型法最适合用户不能精确地表述他或她的需求
过程模型的结合 • 原型法和瀑布模型的结构化技术可以结合起来使用 • 在向软件工程师提供了足够的关于用户的确切需求反馈之前,使用原型法。 • 然后第二个版本按照瀑布模型开发
渐进模型 • 其开发阶段是由可运行的软件产品的扩展增量组成的模型。 • 分析增量的需求 • 然后分别设计、编码、测试、集成每个增量,并提交给客户 • 然后第二个版本按照瀑布模型开发
快速应用开发模型快速应用开发模型(RAD) • 快速应用开发模型是一个线性过程模型 • 使用基于构件的系统,如面向对象系统 • 在开发过程中通常同时涉及到不止一个开发组 • 每个组都独立地遵顺RAD过程 • RAD 模型有以下五各阶段: • 业务建模 • 数据建模
业务建模 数据建模 过程建模 应用建模 测试和调整 业务建模 数据建模 过程建模 应用建模 测试和调整 业务建模 数据建模 过程建模 应用建模 测试和调整 RAD模型 • 过程建模 • 应用生成 • 测试和调整 组1 组2 组3
RAD模型 • 对于开发时间很短的应用开发来说, RAD模型时合适的 • 用自动化工具来生成代码 • 也可用第四代工具或 • 在RAD模型中使用面向对象语言,因为构件可被重用 • RAD模型需要比其他模型更多的人力资源,不论开发者还是客户都需要介入到RAD中快速的跟踪活动
稍等一下… 什么是数据对象?
螺旋模型 • 以往项目失败的主要原因之一是忽略了项目风险 • 这个模型使管理转向强调风险评估和风险消除 • 对于十分复杂和风险很大的项目,此模型可以有效地实现
小结 • 系统开发应出现在五可阶段中: • CONCEPTION阶段,在准备项目申请单(Project Request Form)时 • INITIATION阶段,在准备系统建议书(System Proposal)时 • ANALYSIS阶段,在准备功能规格说明(Functional Specifications)时 • DESIGN 阶段,在准备设计规格说明(Design Specifications)时 • CONSTRUCTION阶段,在编写程序和操作手册(Programs and the Operation Manuals)时
小结(续) • 过程模型把软件开发生命周期和实现项目的不同阶段的不同工具结合起来 • 瀑布模型是一种线性模型,它有构想、初始化、分析、设计、构造、测试、及实现和维护等阶段 • 原型模型开始于原型的开发 • 渐进模型把原型法和瀑布模型结合起来 • RAD模型用于用4GT的快速应用开发