软件生命周期模型实用教案_第1页
软件生命周期模型实用教案_第2页
软件生命周期模型实用教案_第3页
软件生命周期模型实用教案_第4页
软件生命周期模型实用教案_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、提纲(tgng) 解决问题的过程(guchng) 多个软件开发模型 建模工具2022-5-111第1页/共90页第一页,共90页。 考虑面临一个全新问题的解决( jiju)过程2022-5-112第2页/共90页第二页,共90页。定义分析解决 考虑面临一个(y )全新问题的解决过程2022-5-113第3页/共90页第三页,共90页。软件工程要回答(hud)的问题第4页/共90页第四页,共90页。软件(run jin)生命周期阶段2022-5-115第5页/共90页第五页,共90页。软件(run jin)生命周期第6页/共90页第六页,共90页。过程(guchng) 一组有序的任务,涉及活动、

2、约束和资源使用的一系列步骤,用于产生期望的输出 特性 规定了所有主要的活动 遵从一组约束使用资源,产生中间结果及最终产品 过程可以是子过程的链接或层次结构的组合 每个过程具有进入和退出标准 过程可按一定(ydng)顺序进行组织 过程有指导原则以解释其目标 约束 此为生命周期的概念第7页/共90页第七页,共90页。过程需包括(boku)的阶段 需求分析和定义 系统设计 程序设计 编写程序 单元测试 集成(j chn)测试 系统测试 系统交付 维护 每个阶段有自己的一组活动(过程) 每个阶段有输入、输出、约束(yush)、资源及步骤 规定性过程 描述性过程第8页/共90页第八页,共90页。例:可行

3、性分析(fnx)可行性分析(fnx)可行性分析步骤第9页/共90页第九页,共90页。软件工程的庇护(bh)性活动第10页/共90页第十页,共90页。对过程(guchng)进行建模 获得共同理解(lji) 发现过程及其组成部分不一致、荣誉和遗漏 发现和评估合适的活动 依据具体情况对每个过程进行裁剪第11页/共90页第十一页,共90页。模型(mxng)利用模型可帮助重复(chngf)成功经验,传承知识第12页/共90页第十二页,共90页。理想(lxing)软件开发过程需求分析设计实现部署2022-5-1113第13页/共90页第十三页,共90页。边写边改生命周期模型(mxng)2022-5-111

4、4第14页/共90页第十四页,共90页。瀑布(pb)模型第15页/共90页第十五页,共90页。瀑布(pb)模型第16页/共90页第十六页,共90页。 瀑布(pb)模型错误后怎么办 瀑布(pb)要倒流2022-5-1117第17页/共90页第十七页,共90页。带有反馈的瀑布(pb)模型2022-5-1118第18页/共90页第十八页,共90页。带有多重反馈(fnku)的瀑布模型第19页/共90页第十九页,共90页。软件(run jin)生命周期V模型2022-5-1120第20页/共90页第二十页,共90页。V模型(mxng) 瀑布的变形 测试与设计是如何关联的 右边(yu bian)出现问题时

5、,需重做左边 瀑布关注文档和制品,V模型关注活动和正确性第21页/共90页第二十一页,共90页。原型(yunxng)模型第22页/共90页第二十二页,共90页。第23页/共90页第二十三页,共90页。带有反馈、重叠、原型(yunxng)的瀑布模型2022-5-1124第24页/共90页第二十四页,共90页。可操作(cozu)规格说明 解决需求(xqi)不确定的一种模型 演示系统行为的方式来评估和执行系统需求(xqi) 瀑布把系统的功能和设计分离,以使客户的需求(xqi)与实现分开;此方法将功能和设计合并 类似原型方法第25页/共90页第二十五页,共90页。可转换(zhunhun)模型 去除某些

6、主要开发步骤(bzhu)来减少出错机会 需利用自动化手段支持 样例 改变数据表示 选择算法 优化 编译 随着形式化规格说明方法的应用,将会扩大第26页/共90页第二十六页,共90页。阶段(jidun)化开发增量与迭代第27页/共90页第二十七页,共90页。阶段化开发(kif)增量与迭代RDC/TI/ASDC/TI/ASDC/TI/AS第28页/共90页第二十八页,共90页。增量(zn lin)和迭代 增量从提供部分(b fen)功能开始 迭代(di di)从提供完整功能开始 现代开发多用此模型第29页/共90页第二十九页,共90页。增量(zn lin)迭代式第30页/共90页第三十页,共90页

7、。RUP 统一开发(kif)过程第31页/共90页第三十一页,共90页。增量(zn lin)和迭代模型第32页/共90页第三十二页,共90页。 螺旋(luxun)模型第33页/共90页第三十三页,共90页。2022-5-1134第34页/共90页第三十四页,共90页。模型(mxng)驱动 MDA2022-5-1135第35页/共90页第三十五页,共90页。敏捷(mnji)(Agile)开发方法和过程 电子政务、电子商务、远程教学、远程医疗、网上娱乐等应用的广泛开展,如何以快节奏的软件(run jin)开发适应经常变化的需求,以满足市场竞争的需要 IOS, CMM, SPICE等可称之为“重载”

8、方法:有大量的文档要求和严格的执行纪律,使软件(run jin)人员常常觉得负担过重,难以适应快节奏的软件(run jin)开发需求。 轻载的方法第36页/共90页第三十六页,共90页。敏捷(mnji)2022-5-1137第37页/共90页第三十七页,共90页。敏捷(mnji)方法 新方法论的观点(gundin) 需求不可预期 正好(Just Enough)原则 人的因素至关重要 相对于过程和工具,更强调个人和交互 提供资源、信任及面对面交流 时间花费在生产运行的软件而不是文档 精力集中在与客户的合作上 专注于对变化的反应第38页/共90页第三十八页,共90页。敏捷(mnji)方法典型方法

9、极限编程(XP) 激发开发人员的创造性,使管理负担最小的一组技术 结对编程(Pair Programming) 水晶(shujng)法(Crystal),2002 每个不同的项目都需要一套不同的策略、约定和方法论 人对质量有zhoyao的影响;随着项目质量和人员能力提高,项目和过程的质量随之提高;经常交付 并列争球法(Scrum),1994-2002 自适应软件开发(ASD)第39页/共90页第三十九页,共90页。XP Kent Beck提出,与Smalltalk项目有关 有一串严格的要求,采用整体价值驱动的观点,强调:通信、简化、反馈和勇气 通信和对话:客户与开发者、开发者之间、测试和程序人

10、员(rnyun)之间。每次迭代2周时间;pair programming,共同编程,代码共享, 注重测试,通常先写测试程序 简单策略,集中在最重的功能上,其他可在迭代过程中实现 重构:必要时要用于抛弃不好的程序 10人以下可用;分布开发及不易测试的应用系统需慎重第40页/共90页第四十页,共90页。敏捷(mnji)方法典型方法 并列争球法(Scrum) 每30天一个迭代周期(冲刺),按需求的优先级实现产品; 多个自组织和自治小组并行地递增实现产品;通过简短的日常会议(Scrum)进行协调(xitio)。 自适应软件开发(ASD) 6个原则第41页/共90页第四十一页,共90页。SCRUM SC

11、RUM来自橄榄球,每个成员都有自己的角色,围绕同一目标,通过集体行动完成 被认为是高生产率的软件开发方法 6倍 PloP的标准(biozhn),可应用在小型到大型的应用 有例子表明:4000KLOC 4KFP 原理 自组织 非单一控制点 跨专业团队 进化的行为 产出高,依赖于关系和上下文 性能取决于团队个人成员之和 有与XP结合(jih)的趋势,将经常性测试当作开发过程的集成部分。 Java/XML分布系统的开发第42页/共90页第四十二页,共90页。SCRUM开发周期 启动SCRUM过程 建立开发组 每小组47人,包括设计人员、结构、工程师、QA和技术协作 任命SCRUM主持 建立和指导日常

12、SCRUM会议 以保证(bozhng)项目的可视性,及时调整 识别待完成(wn chng)项 创建冲刺期的目标和待完成(wn chng)项 冲刺期开发 冲刺期结束演示 形成下一个冲刺期第43页/共90页第四十三页,共90页。Adaptive Software Development 适合于高压力、要求高速开发、极度变化和不肯定强、难以计划和控制的项目。 构件式和迭代交变的 管理的注意力放在关系相互通信(tng xn) 目标驱动第44页/共90页第四十四页,共90页。Agile 开发组超过50人,开发人员质量不太高且缺乏动力,以及客户不能理解甚至不能参与合作,则不能使用Agile方法 10人左右

13、(zuyu)的开发组,可考虑使用XP 人多且问题规范,可用Crystal第45页/共90页第四十五页,共90页。基于(jy)复用和构件的软件工程 工业界的标准件概念和经验,提出了一些软件公司专门生产软标准件(组件component),软件人员在开发软件时可大量复用这些软构件,从而降低软件的开发和维护费用,提高软件生产率;同时提高软件质量 如何获取、如何生产、如何描述、如何组织,如何检索合适(hsh)的构件,如何组装;异质构件间如何协同计算?第46页/共90页第四十六页,共90页。簇模型(mxng)第47页/共90页第四十七页,共90页。并行工程泛化校验(xio yn)和验证实现(shxin)设

14、计规格说明时间簇的小生存周期模型第48页/共90页第四十八页,共90页。泛化校验和验证实现设计规格说明泛化校验和验证实现设计规格说明泛化校验和验证实现设计规格说明可行性分析(fnx)把系统(xtng)分解成簇第49页/共90页第四十九页,共90页。簇模型(mxng)的优点第50页/共90页第五十页,共90页。SWEBOK2004版2022-5-1151第51页/共90页第五十一页,共90页。SWEBOK 软件工程知识体software engineering body of knowledge 软件工程分为10个领域 软件需求SR 软件设计SD 软件构造SC 软件测试ST 软件维护SM 软件配

15、置管理SMC 软件工程管理SEM 软件工程过程SEP 软件工程工具和方法(fngf)SETM 软件质量 SQ2022-5-1152第52页/共90页第五十二页,共90页。软件(run jin)需求 需求工程(gngchng)过程 需求启发 需求分析 需求说明书 需求验证 需求管理软件设计 基本概念 关键问题 结构和系统结构 质量分析与评价 设计(shj)符号2022-5-1153第53页/共90页第五十三页,共90页。软件(run jin)构造 复杂度消减 变化预计 结构化验证 语言(yyn)构造法 形式构造法 可视构造法 使用外部标准软件测试 基本概念和定义(dngy) 测试级别 测试技术

16、相关度量 测试过程管理2022-5-1154第54页/共90页第五十四页,共90页。软件维护 基本概念 维护(wih)过程 关键问题 维护(wih)技术软件配置管理 配置过程管理(gunl) 配置识别 配置控制 配置状态审计 软件发行管理(gunl)与交付使用2022-5-1155第55页/共90页第五十五页,共90页。软件工程(run jin n chn)管理 组织管理 过程/项目管理 软件工程(run jin n chn)度量软件工程(run jin n chn)过程 基本概念 过程基础 过程度量 过程定义 量化分析 实现和变更2022-5-1156第56页/共90页第五十六页,共90页。

17、软件工程(run jin n chn)工具与方法 软件(run jin)工具 软件(run jin)方法 启发式方法 正式方法 原型方法软件(run jin)质量 概念 质量定义 制定质量计划 要求多人的技术 其他技术支持 针对SQA和V&V的测试 缺陷查找技术 软件质量分析中的度量2022-5-1157第57页/共90页第五十七页,共90页。软件设计方法(fngf)第58页/共90页第五十八页,共90页。程序设计(chn x sh j)方法第59页/共90页第五十九页,共90页。结构化程序设计(shj)第60页/共90页第六十页,共90页。模块化程序设计(chn x sh j)第61

18、页/共90页第六十一页,共90页。面向对象程序设计(chn x sh j)第62页/共90页第六十二页,共90页。形式化方法(fngf)第63页/共90页第六十三页,共90页。重点(zhngdin)讲述 结构化过程(guchng) 瀑布模型 面向对象过程(guchng)2022-5-1164第64页/共90页第六十四页,共90页。建模语言 结构化建模语言 DFD ERD 面向对象建模语言 UML2022-5-1165第65页/共90页第六十五页,共90页。附录(fl)2022-5-1166第66页/共90页第六十六页,共90页。过程(guchng)建模工具和技术 用于帮助我们从模型中获取内容,

19、表示法的选择也取决于希望用模型表示的内容 文本方法,把过程表示为函数 图形方法,把过程表示为层次结构 图文混合方法, 两类: 静态模型(static model),输入到输出的转换(zhunhun)过程 Lai表示法 动态模型(dynamic model),中间产品和最终产品是如何随时间推移进行转换(zhunhun)的 系统动力学第67页/共90页第六十七页,共90页。Lai表示法 90年代,全面(qunmin)地过程表示,在任何细节层次上都对任何过程都可以建模 范型:人代表角色,资源执行活动,导致制品产生 如何用多个结构和策略来获取大量关于软件开发过程的信息 过程描述层次化,许多模板可以使用

20、 制品定义表 关系 过程状态 操作 分析 动作 角色第68页/共90页第六十八页,共90页。Lai表示法的7个信息(xnx) 活动 过程中要发生的事情(sh qing) 活动前后的事、资源、触发器等,支配活动的规则,算法等 序列 活动的顺序 程序结构、转换、排序、满足的条件等描述 过程模型 关于系统兴趣的观点 资源 必要的项、工具或人员 确定对每一类(y li)资源所需的数量 控制 外部影响 策略 指导原则 组织 层次化结构第69页/共90页第六十九页,共90页。Car的制品(zhpn)定义表Lai可用于过程(guchng)建模,如风险分析第70页/共90页第七十页,共90页。启动汽车(qch

21、)的过程条件(tiojin)框左列为制品右列为相应制品状态第71页/共90页第七十一页,共90页。汽车的状态(zhungti)转移图第72页/共90页第七十二页,共90页。系统(xtng)动力学 第一步是将实证性数据、研究报告和直觉结合起来标识关系 量化这些关系 一个(y )系统动力学模型包含大量信息并非常复杂 Adbel-Hamid的软件开发模型包含100多因果连接 需慎用第73页/共90页第七十三页,共90页。系统(xtng)动力学:影响生产率的因素的模型第74页/共90页第七十四页,共90页。软件开发的结构(jigu)Adbel-Hamid 1996影响生产率的4个主要方面软件生产人力(

22、rnl)资源管理计划控制第75页/共90页第七十五页,共90页。实际(shj)问题的过程建模Marvel MSL(Marvel规格说明语言)定义过程,建立Marvel过程制定(zhdng)环境 MSL有3种结构:类、规则和工具 基于规则的过程行为规格说明 模型信息过程的面向对象定义 用作执行该过程的外部工具与Marvel之间的接口第76页/共90页第七十六页,共90页。实际(shj)的过程建模椭圆表示工具或数据库矩形表示任务或活动菱形表示判定箭头表示控制流双虚线(xxin)表示使用工具 或数据库Marvel信号(xnho)故障解析过程第77页/共90页第七十七页,共90页。实际的过程(guch

23、ng)建模Marvel命令 建模如何执行 22个类 22个规则 定义(dngy)故障单 诊断单的规则TICKET: superclass ENTITY status : (initial, open, referred_out, referral_done, closed, fixed) = initial; diagnostics: (terminal, non_terminal, none) = none; level: integer; description: text; referred_to: link WORKCENTER; referrals: set_of link TICK

24、ET; process: link PROC_INST;enddiagnose ?t: TICKET: (exists PROC_INST ?p suchthat (linkto ?cess ?p) : (and (?t.status = open(?t.diagnostics = none) TICKET_UTIL diagnose ?t.Name (and (?t.diagnostics = terminal)(?p.last_task = diagnose)(?p.next_task = refer_to_WC3); (and (?t.diagnostics = non_ter

25、minal)(?p.last_task = diagnose)(?p.next_task = refer_to_WC2);Cl assdef i ni t i onf or t r oubl et i cket sRul e f ordi agnosi ngt i cket 第78页/共90页第七十八页,共90页。实际(shj)的过程建模AT&T 5ESS交换机软件的部分维护过程 25个类和26个规则 过程: 对每个模型(mxng),用MSL过程描述生成“过程制定环境” 模拟若干场景以验证模型(mxng)是否如期望执行; 模拟过程中,收集计时和资源信息; 改变规则再次执行场景并记录,比

26、较第79页/共90页第七十九页,共90页。教你写字(xi z) 下面是赠送的PPT模板不需要朋友可以下载后编辑删除(shnch)!谢谢!第80页/共90页第八十页,共90页。 感恩(gn n) 父母第81页/共90页第八十一页,共90页。天冷时,是他们(t men)给你送来温暖第82页/共90页第八十二页,共90页。有时,他们会对我们(w men)发火第83页/共90页第八十三页,共90页。感恩(gn n)父母感谢你们把我带到了这个世界感谢你们给了我自由的空气感谢你们 谆谆的教导 殷殷的嘱托 我长大了 而你们却老了 谁言寸草心 报得三春晖 我会向你们献上一片诚挚的孝心 祝你们永远健康 第84页/共90页第八十四页,共90页。第85页/共90页第八

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论