第二章 软件过程 (1).

Slides:



Advertisements
Similar presentations
地方新闻网站发展前景 II 网络新闻业务. 张家界新闻网招聘新闻采编人员 5 人(新闻 网 3 人、手机报 2 人) “ 新闻传媒、中文相关专业, 28 周岁以下; 具有较强的文字处理能力、新闻反应能力... 熟悉网络新闻采编、手机新闻采编流程和 熟练使用图片处理制作软件和网页制作软 件;
Advertisements

维普考试资源检索指南 漳州卫生职业学院图书馆. 什么是 VERS 维普考试资源系统?  《 VERS 维普考试资源系统》( VIP Exam Resources System ,简称 VERS )是维普资讯专门研发的集日常学 习、考前练习、在线考试、模拟测试等功能于一体的大型 教育资源数据库。 
重庆维普资讯有限公司 二 O 一四年六月 VIP Exam Resources System VERS 维普考试资源系统.
VERS 维普考试资源系统 VIP Exam Resources System 重庆维普资讯有限公司 2016年8月10日 2016年8月10日 2016年8月10日.
VERS 维普考试资源系统 VIP Exam Resources System 重庆维普资讯有限公司 2016年8月10日 2016年8月10日 2016年8月10日.
VERS 维普考试资源系统 VIP Exam Resources System. 培训内容  系统简介  系统功能 模拟自测 随机组卷 专项训练 题库检索 我 的题库 在线考试 自建资源.
Quality verification systems of Medical Equipment 子宮收縮監測裝置 碩研電機二甲 杜駿昌 MA
2013年华兴教育 广州中考志愿填报分析.
华东师大版《初中数学》各册教材 修 订 说 明 与 解 读
先進觀念 • 輕鬆掌握 商周數位學院 《細節裡的競爭力》 建議最佳閱讀版本:powerpoint 2000.
智慧城市试点分析报告进展情况.
406班喜羊羊小分队 梦想在哪里呀? ——寻访身边的追梦人
当前我国社会领域的改革发展形势 四川大学形势与政策教研室.
银行招聘tips 主讲人:程潘红.
眼影的学习.
中国职教学会质量保障与评估研究会2016年学术年会
民間團體補(捐)助系統CGSS 平臺說明 2014/12/12.
以人權為核心的正向管教 ---- 教師對『輔導與管教學生』 應有之法律認知
先進觀念 • 輕鬆掌握 商周數位學院 《細節裡的競爭力》 建議最佳閱讀版本:powerpoint 2000.
主讲人: 君山区地方税务局综合业务科 葛亮 2015年3月19日
談生技醫藥產業的前景與現況.
大学英语四级解析 大学英语四级考试题型及要求分析.
何謂專案管理? 美國專案管理學會 專案管理就是「為達成或超出利害關係人的需求或期望,把種種知識、技能、工具、技術應用在專案活動上,…,其牽涉到相互競爭的範疇,時間、成本、品質,以及利害關係人各種不同需求和期望之間的平衡」
非居民政策培训 大企业和国际税务管理处 2014年9月.
中华神茶——青钱柳茶 高迎春 2016/03/31 万代福青钱柳(北京)股份有限公司.
VIP Exam Resources System
如何在培训网学习 落麦 CCIM.
宜点通账户策划.
處理疑似不適任教師 相關法規與案例研析 黃金宏主講
西进 武隆 市场部 陈敏扬
中国食品检验机构资质认定评审的关键注意事项 国家认监委CMAF培训教师 、CNAS主任评审员 鲍晓霞研究员
社会分层理论第二讲 韦伯的社会分层理论.
类 别 发 展 成 就 农业 的 发展 手工业的发展 商业的 繁荣 粮食作物 经济作物 纺织业 制瓷业 造船业 商业都市 对外贸易 货币
搖錢樹下, 誰聰明?誰傻瓜? 你的錢是掉進口袋, 還是腦袋?.
2012届(数计院) 企业人事管理系统 ——指导老师: 学生:.
健康快递 Health tips.
CNKI E-Learning数字化学习与研究平台
2017/3/21 港口起重机回转支承的失效分析与设计选型 武汉理工大学 胡吉全.
企业管理概论.
项目二 讲求工作质量 做到诚实守信 一、职场困惑 情景案例一
上海市危险废物转移管理信息系统简要介绍 市场拓展部.
软件测试专题 孙继荣 四川广播电视大学.
美丽全方位 优雅仪态篇.
毕业生求职途径及方法 课程主题 每天十分钟 轻松学就业.
个案社会工作 ——接案.
教育信息技术学院 2014年11月 《教育传播学》 第二章 教育传播过程和模式 第一节 教育传播过程 主讲人:胡钦太教授.
国际商务礼仪.
朗默企业宣讲会之—— 液体分配器.
第七章 组 织.
搖錢樹下, 誰聰明?誰傻瓜? 你的錢是掉進口袋, 還是腦袋?.
用智慧塑造形象 以修炼打造“合金” ——谈学生干部的形象塑造与核心竞争力
ISO 9001條文簡介 ( 2000年版) ISO9001訓練教材之二 顧問師 林弘炤.
第六章 树立法律理念 维护法律权威 第一节:树立社会主义法治理念念 第二节:培养是会主义法律思维方式 第三节:维护社会主义法律权威
品質管理系統 華南品規課 鴻准精密模具有限公司 2018/12/6.
友善關係*雙贏校園 高雄市內門區金竹國小 蕭淑美校長.
辅导教师:李晓红 天津大学 计算机科学与技术学院
教學中應用剪報 一九九九年一月十五及十六日
策略管理─內部分析 特殊能耐、競爭優勢與獲利能力
策略管理─內部分析 獨特能力、競爭優勢與獲利能力
策略管理─內部分析 特殊能耐、競爭優勢與獲利能力
2. 函數及其圖像 如何找出二次函數的圖像中頂點的坐標? (a) 對於y = a(x-h)2+k,圖像的頂點為(h , k)。
核心單元(1)---- 資訊處理及演示 第二部分 數據與資訊處理.
破除養生迷思 現代人重視養生保健,但道聽塗說或斷章取義的流言很多,甚至有許多人深信不移。 我們請榮新診所副院長何一成,以及中醫師吳明珠 就門診中最常被詢問的錯誤養生法,一一解答,並請這2位醫師提供他們自己的養生法。
熊博安 嵌入式系統實驗室 國立中正大學資訊工程學系
策略管理─內部分析 特殊能耐、競爭優勢與獲利能力
第十一届中国国际商标品牌节会员系统 报名指南
Dr. Rational You IEK/ITRI 2002/02/01
Advanced Basic Key Terms Dependency Generalization Actor Stereotype
The Basic Steps of INCOME 4
infoteam 功能安全管理系统 iFSM
Presentation transcript:

第二章 软件过程 (1)

第二章内容概要 过程、软件过程和软件生命周期 经典软件过程模型 现代软件过程模型 Rational统一过程 敏捷过程与极限编程 微软过程 ★ 软件工程 - 2011 - 第二章 软件过程

过程(Process) 学习的过程与软件的开发过程 建造计算机软件是一个迭代学习的过程,其输出是在过程进行中收集、精炼和组织的知识的具体化。 过程:产生某种预定输出的一系列可预测的步骤,包含一组活动(activities)、约束(constraints)、资源要素(resources)。 软件工程 - 2011 - 第二章 软件过程

过程的特性 过程使用一定的资源,受一定的限制,并生成一定的中间及最终产品; 过程中所包含的活动事先都规定好了; 过程中每个活动的开始、结束有明确的规定; 每项活动都有相应的指导原则,用以明确其目标; 各活动之间以某种顺序组织; 过程可能包括若干相互关联的子过程; 过程中的活动、资源以及产品都可能受到约束; 软件工程 - 2011 - 第二章 软件过程

为何使用过程 过程能保证各活动之间是有组织的和一致的: 过程可被检查、理解、控制和改进; 过程也是传授经验的一种途径。 从而,不同的人使用同一过程能获得在某一层次上一致的产品; 一致性并不排斥灵活性,一致性是在某一层次上实现的; 过程可被检查、理解、控制和改进; 过程也是传授经验的一种途径。 软件工程 - 2011 - 第二章 软件过程

软件过程与软件工程 软件过程:为建造高质量软件所需完成的任务的框架,它规定了完成各项任务的工作步骤。 软件过程和软件工程的关系: 软件工程应该是由有创造力、有知识的人在定义好的、成熟的软件过程中进行的,该过程适合于他们建造的产品和他们的市场需要。 软件过程定义了软件开发中采用的方法,但软件工程还包含该过程中应用的其他技术和工具。 软件工程 - 2011 - 第二章 软件过程

软件过程与软件生命周期 当谈及的过程涉及到某种产品的建造时,常把过程称作为生命周期。 软件过程与软件生命周期的关系: 软件过程是在软件生命周期中所实施的一系列活动的集合; 软件生命周期与选择的软件过程有关,不同的软件过程可能对应不同的软件生命周期。 软件工程 - 2011 - 第二章 软件过程

第二章内容概要 过程、软件过程和软件生命周期 经典软件过程模型 现代软件过程模型 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 ★ 软件工程 - 2011 - 第二章 软件过程

软件过程模型 软件过程模型是对被描述的实际过程的抽象,即,是从某种特定角度提出的对软件过程的简化描述。 经典软件过程模型可为我们提供一些范例 软件工程 - 2011 - 第二章 软件过程

瀑布模型 软件工程 - 2011 - 第二章 软件过程

瀑布模型特点 阶段间具有顺序性和依赖性 推迟实现的观点 必须等前一阶段的工作完成之后,才能开始后一阶段的工作 前一阶段的输出文档就是后一阶段的输入文档 推迟实现的观点 清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现 软件工程 - 2011 - 第二章 软件过程

瀑布模型特点 质量保证的观点 瀑布模型的本质是“一次通过” 每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。 每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。 瀑布模型的本质是“一次通过” 软件工程 - 2011 - 第二章 软件过程

瀑布模型的历史功绩 在支持开发结构化软件、控制软件开发复杂度、促进软件开发工程化方面起了显著作用; 它为软件开发和维护提供了一种当时较为有效的管理模式,根据这一模式制定开发计划、进行成本预算、组织开发人员,以阶段评审和文档控制为手段,有效地对软件开发过程进行指导,从而对软件质量有一定程度的保证; 我国曾在1988年根据该模型制定并公布了“软件开发规范”国家标准。 软件工程 - 2011 - 第二章 软件过程

瀑布模型优点 可强迫开发人员采用规范的方法(例如,结构化技术) 严格地规定了每个阶段必须提交的文档 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证 瀑布模型的成功在很大程度上是由于它基本上是一种文档驱动的模型 软件工程 - 2011 - 第二章 软件过程

瀑布模型缺点 要求用户不经过实践就提出完整准确的需求,在许多情况下都是不切实际的 仅仅通过写在纸上的静态的规格说明,很难全面正确地认识动态的软件产品 将本来非线性的软件开发过程人为地加以线性化,不符合实际中的软件开发情况 软件开发耗时长,可运行版本要等到项目后期才能得到,一旦在后期发现错误,付出的代价将是巨大的。 “由文档驱动”的这个事实也是瀑布模型的一个主要缺点,这可能导致最终开发出的软件产品不能真正满足用户的需要 软件工程 - 2011 - 第二章 软件过程

V模型 软件工程 - 2011 - 第二章 软件过程

Tips:验证与确认 验证(Verification) 确认(Validation) 目标是确定系统中各项功能可以正常工作,实质上是检查实现的质量如何。 确认(Validation) 目标是确定系统实现了全部的需求,确保开发方建造的是正确的、用户需要的产品。 软件工程 - 2011 - 第二章 软件过程

V模型 瀑布模型的改进,强调测试活动与分析和设计之间的关联: 单元测试和集成测试->校验程序设计; 系统测试->校验(verify)系统设计; 验收测试->确认(validate)需求; 与瀑布模型关注文档和工作产品不同,V模型的关注点是软件开发各阶段的活动以及正确性,因此V模型是以活动驱动的。 软件工程 - 2011 - 第二章 软件过程

V模型的改良之处与存在的问题 本质是把瀑布模型中一些隐含的迭代过程明确出来,使开发活动和验证活动的相关性更加明显; 和瀑布模型一样,都是对软件开发过程过份简单、理想化的抽象,对需求变化的适应性差。 软件工程 - 2011 - 第二章 软件过程

原型/快速原型模型 所谓原型,是一个可以实际运行的模型,它在功能上可以看作是最终产品的一个子集(展示了目标系统的关键功能)。 快速原型化的软件开发大体可以如下图所示: 软件工程 - 2011 - 第二章 软件过程

原型/快速原型模型 软件工程 - 2011 - 第二章 软件过程

快速原型模型 软件工程 - 2011 - 第二章 软件过程

快速原型模型 所谓快速原型是快速建立起来的可以在计算机上运行的程序,它所能完成的功能往往是最终产品能完成的功能的一个子集。 软件工程 - 2011 - 第二章 软件过程

快速原型模型 原型模型的优势: 快速原型模型是不带反馈环的,软件产品的开发基本上是线性顺序进行的。原因如下 原型系统已经通过与用户交互而得到验证 开发人员通过建立原型系统已经学到了许多东西 利用原型能统一客户和开发人员对软件项目需求的理解,有助于需求的定义和确认; 可以考虑结合瀑布模型,二者互补性强。用快速原型做为需求分析的一种技术,用于收集客户的真实需求,然后把客户满意了的原型再作为瀑布模型的输入,从而达到优势互补。 软件工程 - 2011 - 第二章 软件过程

快速原型模型 使用原型必须要注意的问题: 由于要求能够快速建立可供运行的模型,原型不可能象最终产品一样面面俱到; 客户:不可把原型当作软件的正式运行版本; 开发人员:同上。还必须牢记原型中没有考虑质量因素的部分; 使用前要与用户达成一致:原型只是模型而已。 软件工程 - 2011 - 第二章 软件过程

阶段式开发(演化模型) 软件工程 - 2011 - 第二章 软件过程

阶段式开发(演化模型) 软件系统和其他所有复杂系统一样,是随着时间不断演化的。业务需求和产品需求随着开发向前推进经常发生改变,这使得直线式的开发模型不切实际。 来自时间、成本、人力以及技术等方面的压力往往使得演化成为软件开发的必经之路。 阶段式开发大体分为两种: 渐增式开发 迭代式开发(螺旋式开发) 软件工程 - 2011 - 第二章 软件过程

阶段式开发(演化模型) 增量开发 迭代开发 增量和迭代模型 软件工程 - 2011 - 第二章 软件过程

增量模型 增量模型采用随着日程时间的进展而交错的线性序列,每一个序列产生软件的一个可发布的“增量”; 第一个增量往往是核心的产品,实现最基本需求,提供最基本功能; 其他补充的产品特征(包括已知的和未知的)留待后续发布。 这个过程在每个增量发布后不断重复,直到产生最终完善的产品。 软件工程 - 2011 - 第二章 软件过程

增量模型 增量模型的优点: 适用于人员配备不充裕、不能在软件项目期限之前实现一个完全版本的软件的情况; 能有计划地管理技术风险; 每个增量都发布了一个高质量的可操作的版本,用户能在较短时间内使用上部分功能; 逐步增加产品功能可以使用户有较充裕的时间学习和适应新产品,减少一个全新的软件可能给客户带来的冲击。 软件工程 - 2011 - 第二章 软件过程

增量模型 增量模型存在的困难: 要求每个新的增量构件能够无缝地集成到现有的软件体系结构中,必须不破坏原来已经开发的产品; 因此软件体系结构必须是开放的,增加了设计阶段的投入; 本身具有矛盾性,一方面要求开发人员把软件看作一个整体,另一方面要求开发人员把软件看作构件序列,且构件间彼此独立。需要开发人员协调这一矛盾。 软件工程 - 2011 - 第二章 软件过程

增量模型 软件工程 - 2011 - 第二章 软件过程

增量模型 风险更大的增量模型 软件工程 - 2011 - 第二章 软件过程

螺旋模型 软件项目中的风险: 通过使用原型或其他手段降低风险,是螺旋模型中蕴涵的基本思想; 人员; 硬件设备; 项目的生存能力等。 通过使用原型或其他手段降低风险,是螺旋模型中蕴涵的基本思想; 可以把螺旋模型简单地理解为在每一个阶段之前都增加了风险分析的瀑布模型(或快速原型模型),如下图: 软件工程 - 2011 - 第二章 软件过程

螺旋模型 软件工程 - 2011 - 第二章 软件过程

螺旋模型 软件工程 - 2011 - 第二章 软件过程

螺旋模型 螺旋模型沿着螺线旋转,在四个象限上分别表达四个任务区域,即: 制定计划──确定软件目标,选定实施方案,弄清项目开发的限制; 风险分析──分析所选方案,考虑如何识别和消除风险; 实施工程──实施软件开发; 客户评估──评价开发工作,提出修正建议,并计划下一个阶段的任务; 软件工程 - 2011 - 第二章 软件过程

螺旋模型的优点 实质上相当于在瀑布模型的每个阶段开始前引入风险分析,并由客户对阶段性产品做出评审,这对保证软件产品质量十分有利; 由于引入风险分析等活动,测试活动的确定性增强了; 螺旋模型最外层代表维护,开发与维护采用同样方式,使维护得到与开发同样的重视。 软件工程 - 2011 - 第二章 软件过程

螺旋模型的缺点 主要适合内部开发,否则风险分析必须在签订合同前完成,或者争取客户的最大理解; 只适合大型软件项目的开发,否则,每个阶段的风险分析将占用很大一部分资源,增加成本; 对开发人员的风险分析能力是极大的考验,否则,模型将退化到瀑布模型,甚至更糟。 软件工程 - 2011 - 第二章 软件过程

喷泉模型 维护期 进一步开发 运行状态 集成和测试阶段 编码阶段 面向对象设计阶段 面向对象分析阶段 需求阶段 软件工程 - 2011 - 第二章 软件过程

喷泉模型 注意事项 为避免使用喷泉模型开发软件时开发过程过于无序,应该把一个线形过程作为总目标 面向对象范型本身要求经常对开发活动进行迭代或求精 软件工程 - 2011 - 第二章 软件过程

关于经典软件过程模型 上述经典软件过程模型仅是实际中使用的模型的一部分; 应根据客户、用户、开发人员所处环境及解决问题的需要来定义和剪裁过程模型; 对于可能需要从多个角度来关注的开发过程,不能局限于一种过程模型。 软件工程 - 2011 - 第二章 软件过程

课堂讨论 在你曾经经历过的软件开发任务中,采用的是近似于上面哪一种软件过程模型?有哪些主要的开发活动?有何应对后期需求变化的措施? 你认为在研究机构中,比如大学,进行的软件项目,所采用的软件过程模型与专门从事软件开发的公司所采用的模型有什么不同吗? 软件工程 - 2011 - 第二章 软件过程