《常见开发模型调研报告ppt课件》由会员分享,可在线阅读,更多相关《常见开发模型调研报告ppt课件(25页珍藏版)》请在金锄头文库上搜索。
1、1,第2章 软件开发模型 软件工程研究室,Software Engineering,2,基本内容,软件开发模型 软件开发生命周期,3,2.1 软件开发模型/软件生命周期模型,2.1.1 瀑布模型(Waterfall Model) 1970 W.Royce 定义阶段 开发阶段 运行、维护阶段,4,瀑布模型的变种:,需求 分析,运行 维护,功能 说明,编码,测试,结构设计 详细设计,计划,分析,设计,编码,编码,设计,需求,计划,评价,测试,运行,图 2-2 ANSI模型,图 2-3 b模型,5,2.1.2 渐增模型(增量开发模型之一) (Incremental Model),6,构件1,7,2.
2、1.3 快速原型模型 (Rapid Prototyping Model),规格说明 可运行原型,图2-6 快速原型模型,8,原型模型的种类: 抛弃式原型、进化式原型、可操作式原型,图 2-7 进化式原型,9,操作模型 (Operational Model),图 2-8 可操作式原型,10,实例:空中美食,需求阶段: 空中的乘客有饮食的需求,而航班应提供满 足乘客的食品. 提供素食、海味、水果、饮料、小食品. 提供低脂肪、低胆固醇、低热量、低盐、无 糖食品. 为特殊人群(老年、儿童、少数民族)提供不 同食品. 为有要求的乘客提供持殊食品,记录他们的座 位号和要求的食品. 可以预定食品,记录身份、
3、航班号、日期、 时间.,11,提供特殊食品的成本考虑: 特殊食品的配料成分比一般食品花费要多. 提供特殊食品的数量少,不能批量购买,无优惠. 特殊食品要与食品厂签约,增加开销. 每份食品从生产厂到机场要有运输费. 食品的剩余(乘客改变飞行计划). 一份食品,因人的因素,没装入指定的航班.,12,空中美食的管理者: 获得特殊食品计划数据 调查乘客对食品满意程度.特殊食品的质量. 特殊食品漏装的百分比. 航班在飞行前24小时,查询空中美食数据库, 了解对特殊食品要求,生成报告,交给生产商, 将食品准时送到飞机上. 飞行结束后,处理反馈意见. 特殊食品分析软件有三个独立、连续阶段: 起飞前24小时生
4、成附加记录;扫描清单; 扫描明信片,13,记录的数据元素格式: 预定者身份标识(6个大写字母) 航班号(3位教字,右对齐且补零) 航班日期(9个字符:日,2位、月,3位、年,4位) 座位号(3个数字,右对齐且补零,后跟一个大写 字母) 乘客姓名(最多30个字母) 乘客地扯(国家、省、地区、邮编) 食品类型 乘客在机上吗(1个字母) 特殊食品装上飞机吗(1个字母) 食品质量(好、一般、差),14,新软件记录从数据库来的信息: 每个特殊食品计划,整体计划. 指定特殊食品装上飞机的百分比 预订特殊食品的顾客登机的百分比 预订特殊食品的顾客登上了飞机,但他的特殊 食品没装上飞机的百分比. 客户关系要求
5、的报告: 特殊食品多次没被装入飞机发生的日期; 食品质量低.,15,空中美食产品的部分快速原型的Java实现: public static final int NUM_PASSENGER_ RECORDS=10; 乘客 public static final int NUM_FLIGHT_ RECORD=20; 航班 public static Cpassenger passenger= new Cpassenger NUM_PASSENGER _RECORDS; public static CFlightRecord fltRecs= new CFlightRecord NUM_FLIGHT
6、 _ RECORD; System.out.println (“ 24HOUR CATERER LISTnn”); System.out.println (“ Thic report is not implemented in the rapid prototypennn”); System.out.println (“ press to return to the menu”);,16,最多有10个乘客记录存在数组中.是一个可 变的数据结构.原型中使用数组,便于测试. 在另一个数组中存 20个航班记录. 原型中仅实现两个食品报告(低盐的和机上 的食品报告).其他4个报告与实现的两个报 告类似
7、,将这4个报告当作存根程序来编程 (即包含一个界面但无程序体的伪例程, 当被调用时仅显示一条信息),加速了快速原 型开发.,17,2.1.4 螺旋模型(Spiral Model),风险 分析 原型1,需求、生命 周期计划,风险 分析 原型2,软件 需求 需求 确认,开 发 计 划,风险 分析 原型3,软件产 品设计 设计确认 验证,集成与 测试计划,风险 可运行,模拟 模型 详细 设计 编码 单元测试 集成测试,图 2-9 螺旋模型,分析,制定计划,确定目标 选择方案 设定约束,风险分析,识别风险 排除风险,客户评估,实施工程,开发 验证,提出修改意见,实 现,验收 测试,原型,基准,18,计
8、划阶段 定义问题 确认系统的可行性 制定项目进度表 为项目安排人员 启动项目,分析阶段 收集信息 确定系统需求 建立需求发现的原型 划分需求的优先级 产生并评估可替换方案 与管理人员一起审查建议,设计阶段 设计并集成网络 设计应用程序结构 设计用户界面 设计系统界面 设计并集成数据库 设计细节的原型化 设计并集成系统控制,实现阶段 构建软件的部件 检验并测试 开发调整原型 转换数据 培训与文档 安装系统,支持阶段 目标:保证系统在安装后有效地运行 对最终用户的支持 帮助台,由技术人员组成 培训计划 维护并增强计算机系统 增强 升级 维护,2.2 软件开发生命周期 (SDLC,systems d
9、evelopment life cycle),19,了解 部分,20,(1) 喷泉模型,无隙性,复用 概括、聚集 对客观世界 的模型化,21,( Software Reuse Model ) J.C.Jones于1984年提出的。,图 2-11 软件重用模型,(2) 软件重用模型,22,(3) 构件集成模型,将新构件 存入库中,候选构件,在构件库中 查找构件,进行下一次 迭代,是否存在 构件?,是,否,计划,风险分析,用户通信,产品开发与发布,用户评估,提取构件,图 2-12,23,(4) 智能模型,图 2-9 智能模型,获取 需求,需求分析,优化,程序,验证,维护,调整,知识库/ 专家系统,/,具体描述,图 2-13 智能模型,24,小结,软件开发模型是 软件开发全过程、活 动、任务的结构框架,软件开发模型: 瀑布模型-知道做什么 原型模型-快速开发 增量模型-并行开发 螺旋模型-风险驱动 喷泉模型-重用 各模型优点、缺点,软件生命周期各个 阶段及各阶段的任务,25,习题,1. 什么是软件的生命周期? 2. 软件生命周期分哪几个阶段?各阶段的任务是什么? 3. 简述一下软件开发模型。 4. 举例说明哪些项目的开发使用与原系概念模型和螺旋模型,哪些不适用于采用这两种模型?,