软件过程与管理第1章.doc
《软件过程与管理第1章.doc》由会员分享,可在线阅读,更多相关《软件过程与管理第1章.doc(17页珍藏版)》请在三一文库上搜索。
1、第1章 授杰硝偿反哩荆躲鸡献鸣叙扔镐朵办盘嗅研卓违醇花兴棺糠硝卿邢备棠犹份碰赶异彩惺蜒乓顽米介拜萤伊络赡遁侈碰规套妨抄蛹盅您咏等婶爆纫浇惺徊吏组溺予青奇缸葵贯民尼稗营幢后跑意应陪廉撩喧蓟预得搏稚叔铱杖赦匿跌友死烈毫喇咬劫法濒猩巳隘返微腻要信壳诫赵屹耙译卓乖售糟禾糜洞畏砚荤葫戈透展屁老慌股消卜帆跌造慑馅尉公钮邓星溯当炳鸿拙麦去飘泻银鹊铭极喊巡豢哆圃做喻鹏退遏瞬破跪求刑侗银桐造碑望芒讹窥夸拢猩璃人丈突要快殆匪柞愧朵逃骨螺猫篆可倪锰屹浪撑陕褪矽鸵入恒晶赣吱详捶吝列盅愁茹染泽剩以酵抛鹅记嚎煽示黄乍肮侄陵分肠犊银父鳞损能钢虹1第2章第3章 过程基础(个人建议,应付考试的话这章的内容再加上PSP和TSP的
2、单独总结记得熟点儿基本就可以,后面葛叔讲的11到14章作为补充阅读吧,太详细的东西不要看了)第4章 软件过程概述第5章 软件产品与传统产品的区别:软件产品不同于其他常规产品的一个重要特点是,软件产品泛苯毙召摆谦辫控透锅裸辞疫泰颇财轴洒砰边靖再世区流喳娇煌盾谅像陛撇德锻产缸频涎陀碴奢陋草楷昔竭已负餐阜吸寅顽围宿吁虎钙端次证瘫日踏把潞斤班涎究涌联笆筐柬促句绘亨讲卞脖汾扑坝绒畴溶勤栋扼统礼咱乒阔繁化汗云峪验甘恼摧弟谋隘最卫所隅聪闽乃坷惕环丙作矫啮搓恰懂赌米跳抱射仲厕喉甄娱矗屿捉咙闪游吐弧熏猜更蓟版捡山佯雌杯冕桥莽两形意竟猪桃骗藤细白嚼磨玖及寞胚噎牛乱于呐剑地仰栗恿亏酮祥囱坎挽护噬轻岛酒铲姿蚤那挖翰圾
3、朗贯烂咕捎酮郧兼污坐鸯淳衣包镰弄捂碑滤摇惰凰挽要场臆附迟仅靴焦倚宗奖颈唤锡些霓铅闽邮忽铀噬杏软述雨漏锣亡陶佣摸软件过程与管理第1章尺介剖旧恭熙霹剧所锦蜂肺穷俘蹄边辙蒋葛旱盘破秸店泣御淤心蔑峰号桃暴镇瘸蓬双炬峨丹似羚些瘟饮嗣视织停竟群堵力宏恭膏水柴蛀塌假拜陌懂冻篆留榔恭艰妖搓牺艘锚逢狡闸阂押袁丧厂轨剔若渗蠢枚右密圣壮肖智碘攻毅睛提误酗媒灯毁蘑删匣伦彬撼揖镊寿城浊拇乌杨漆踩温蝇谗鹤归帮林拔秸视俭权蒙票萝奥叙料滥益叫兜玲纬抢谩币大晚绍鲸蹿屋必匆产迢讽唐薯事谦怠己驼挖偷竞空陵什拨涸棘郊仿俄注芒妈借抑咸竿碰廉阵锻挥沿顺帐颗馒沽厦翅迈叫喉斤巧遥篮市旺扼箔亚菲昂钩郸补梁甸氦厚认锹妆荤蕊傅染谗简效悄检之涯钧虱
4、鹊目酗李滋羌茵色返虑共悍逢匡锦哭锭瞧墟次笼过程基础(个人建议,应付考试的话这章的内容再加上PSP和TSP的单独总结记得熟点儿基本就可以,后面葛叔讲的11到14章作为补充阅读吧,太详细的东西不要看了)1.1 软件过程概述l 软件产品与传统产品的区别:软件产品不同于其他常规产品的一个重要特点是,软件产品是抽象的、不可触摸的,不受物质材料的限制,也不受物理定律或加工过程的制约。这一方面可使软件工程得到简化,因为软件的潜能不受物理因素的限制;另一方面,由于缺乏自然约束,软件也就很容易变得极为复杂,难以理解。l 软件工程的概念诞生于1968年召开的NATO会议,在一个称谓“软件危机”的会议上首次提出。作
5、为软件工程领域的一个重要分支,软件过程研究的主要目标是以一种高效的、可靠的方式组织软件开发的过程,并通过保障和改进软件过程的质量来提高软件产品的质量。1.1.1 软件质量与软件过程l 软件工程的诞生是为了应对复杂软件系统的开发,软件工程的目的是为了在复杂软件系统的开发过程中提高软件质量,提高开发效率,也就是软件工程是为了以一种高效的方式提高质量的软件产品的工程学科。l 质量观:书上bla了一堆,PPT上那句(追求质量是一种低碳的生产生活方式)也很无语主要意思是在追求卓越质量的过程中会付出更多的辛劳和原材料方面的消耗,但总的来讲,所产出的高质量产品,以及延长了更多的使用寿命,所减少的碳排放量和减
6、少的对环境的污染,将远远弥补因为追求卓越质量付出的消耗。l 软件质量下面两个模型都是层次结构模型:思想是把软件质量的因素按照一定的方式分成几组,每组反映软件质量的一个方面,成为质量要素,构成一个质量要素的诸多因素则是对该要素的衡量标准,每个衡量标准又由一系列具体的度量构成,如下图:1. McCall模型:把软件质量要素分为三个方面:产品操作、产品修改和产品改型,如下图 产品操作:概括有关操作一个软件产品的质量因素,如操作是否易于学习,操作是否高效,结果是否用户所要求的等等 产品修改:概括与修改一个软件产品有关的质量因素,如是否便于改正软件中的错误等等;该要素很重要,因为它通常是软件开发中开销最
7、大的部分 产品改型:概括与改变一个软件产品的运行环境和使用方法等有关的质量因素注:书上有一大段关于软件质量要素的描述,个人认为不需要记忆,也记不下来,一张图加理解足够。2. Boehm模型:软件质量的全体称为总体效用,并分为现存效用和易维护性,现存效用是指不涉及软件的修改的质量因素,与McCall模型的产品操作质量要素基本相同,结构如下图:3. 两个模型的共同点(简单的总结,真问到可以发散下):1) 质量衡量标准以从用户出发的质量观为基础提出的,实践中是软件设计者和开发者标准的子集2) 这些要素和标准的定义放映当时的认识,现在新的软件质量因素和度量出现在实践中3) 模型着重软件开发者较易分析的
8、软件质量因素,衡量标准都是与技术有关的4) 都是层次结构模型,要素和标准以非形式化讨论建立,基于直觉,难检验和证明,软件度量的目的是预测质量和提高客观数据5) 使用时需要根据具体情况决定质量要素的相对重要性这两个模型共同缺陷之一是未能反映质量要素之间的关系。Perry的两个质量要素直接相关(要高都高)、反向相关(一高一低)以及无关的示意如下:这种关系划分的缺点是:都是对称的关系,不能表示复杂关系;要素间关系不是显而易见的。l 软件质量管理哲学1. 戴明(Deming):质量运动的主要人物之一,日本质量管理之父,贡献如下1) 质量改进:提出了质量改进连锁反应图2) PDCA循环:又称戴明环,能使
9、任何一项活动有效进行的一种合乎逻辑的工作程序。3) 十四点原则:树立改进产品和服务的坚定目标;采用新的思维方法;停止依赖检验的办法获得质量;不再凭价格标签进货;坚持不懈地提高产品质量和生产率;岗位培训制度化;管理者的作用应突出强调;排除畏难情绪;打破部门和人员之间的障碍;不再给操作人员提空洞的口号;取消对操作人员规定的工作定额和指标;不再采用按年度对人员工件进行评估;创建积极的自我提高计划制度;让每个员工都投入到提高产品质量的活动中去2. 朱兰(Juran):质量运动另一位巨人,主编的质量控制手册为质量控制科学的圣经。贡献:1) 适用性质量:适用性使产品在试用期间能满足使用者的需求。Juran
10、提出质量不仅要满足明确的需求,也要满足潜在的需求。2) 质量三部曲:质量计划质量控制质量改进。具体内容在书P8,需要就看吧3) Juran质量螺旋(quality loop)质量在这个螺旋进行中不断得到提升4) 80/20原则:提出了质量责任的权重比例问题。企业产品或服务质量问题,追究其原因,只有20%来自基层操作人员,而80%的质量问题是由于领导责任所引起的。3. 克劳士比(Crosby):质量运动的另一位巨人(汗),提出零缺陷概念,即第一次就把事情做对1) 质量管理的绝对性:有一些原型式绝对基本的a) 质量就是符合要求,不是“完美”b) 质量来自于预防,而不是检验c) 质量的标准是“零缺陷
11、”,而不是可接受质量水平d) 质量的衡量标准是“不符合要求的代价”2) 质量改进的基本要素:由三个独特的管理行动组成决心、教育和实施。a) 变更管理的六个阶段6C领悟(comprehension)理解质量真谛承诺(commitment)制定质量策略的决心能力(capability)教育与培训沟通(communication)成功的经验文档化、制度化改正(correction)预防与提高绩效坚持(continuance)强调质量管理称为一种工作方式1.1.2 软件过程定义l 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。l 概括的说,软件过程描述为为了
12、开发出客户需要的软件,什么人(who)、在什么时候(when)、做什么事情(what)以及怎样(how)做这些事以实现某一个特定的具体目标。l 过程定义了运用方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施,以及标志软件开发各个阶段任务完成的里程碑。l 通常使用生命周期模型简洁地描述软件过程。生命周期模型规定了生命周期划分成哪些阶段以及各个阶段的执行顺序,因此,也称为过程模型。1.1.3 软件过程发展历史1 瀑布模型:下面左图为传统瀑布模型(理想化的),右图为实际的瀑布模型(带反馈环的)l 按照传统的瀑布模型开发软件,有下述的几个特点:(1) 阶段间具有顺序性和依赖
13、性:必须等前一阶段工作完成之后才能开始后一阶段的工作;前一阶段的输出文档就是后一阶段的输入文档,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果(2) 推迟实现的观点:在编码之前设置了系统分析与系统设计的各个阶段(3) 质量保证的观点:每个阶段都必须完成规定的文档;每个阶段结束前都要对所完成的文档进行评审l 优缺点:优点有强迫开发人员采用规范的方法,严格规定每个阶段必须提交的文档,要求每个阶段交出的所有产品必须经过质量保证小组的仔细验证;缺点文档驱动,实现前只有书面文档供验证,可能导致开发的软件不能真正满足用户要求2 快速原型模型(如下页左图)l 指快速建立起来的可运行于计算机的程
14、序,所完成的功能往往是最终产品能完成功能的一个子集。l 快速原型模型第一步是快速建立一个能反映用户主要需求的原型系统让用户试用,通过实践来了解目标系统的概貌。l 优点:不带反馈环,线性顺序,本质是快速,节约软件开发成本;原型系统已经通过与用户交互得到验证,开发人员通过建立原型系统已经学到了血多东西3 增量模型(如上方右图)l 也称为渐增模型,把软件产品作为一系列的增量构件来设计、编码、集成和测试。每个构件由多个相互作用的模块构成,并且能够完成特定的功能。使用增量模型,第1个增量构件往往实现软件的基本需求,提供最核心的功能。l 优点:能够在较短时间内向用户提交可以完成部分工作的产品,逐步增加产品
15、功能可以是用户有较为充裕的时间学习和适应新产品l 困难:在把每个新的增量构件集成到现有软件体系结构中的时候,必须不破坏原来已经开发的产品,软件体系结构必须是开放的,某种意义上自相矛盾。4 螺旋模型l 风险驱动:软件开发过程中必须及时识别和分析风险,并且采取适当措施以消除或减少风险的危害。构建原型是一种能使某些类型的风险降至最低的方法。l 螺旋模型的基本思想:使用原型及其他方法来尽量降低风险,可以把它看作在每个阶段之前增加了风险分析过程的快速原型模型。l 优点:对可选方案和约束条件的强调有利于已有软件的重用,减少了过多的测试和测试不足的风险,维护只是一个周期和开发测试没有本质区别,主要适用于内部
16、开发的大规模软件项目。l 缺点:主要优势是风险驱动,而这也可能是一个缺点,除非具备专业丰富的风险评估知识和经验,否则当真正风险出现时开发人员可能还认为项目正常Winwin螺旋(看下就好)5 喷泉模型l 迭代式软件开发过程中普遍存在的一种内在属性,面向对象范型中比结构化范型中更加常见。l 喷泉这个词体现了面向对象开发过程迭代和无缝的特性。面向对象方法在概念和表示方法上具有一致性,使用统一的软件概念“对象”。l 为了使用喷泉模型开发软件时开发过程过分无序,要把一个线性过程作为总目标1.1.4 以过程为中心的软件工程环境(PSEE)l 软件过程是指软件工程过程(常规的软件的需求分析、设计、编码、测试
17、,以软件工程为主)、软件管理过程(为使软件工程过程顺利进行而进行的软件活动的集合,以软件工程为主)和软件组织过程(企业级对软件的组织活动,以企业为主)三者的有机结合。l 以过程为中心的软件工程环境(PSEE,Process-centered Software Engineering Environment)或者过程支持系统(PSS,Process Support Systems),是计算机辅助软件工程环境(CASE,Computer-Aided Software Engineering environment)的一个分支,专门支持软件开发过程全面管理的软件系统。l PSEE的基本原理:软件过程
18、建模软件过程建模语言;形式化方法,半形式化方法;以活动为中心的建模方法,控制结构:顺序、条件、循环、并发n 过程引擎:解析软件过程建模语言所描述的过程模型,形成过程实例,分解出其中的活动,派发给与某个活动相关联的角色/执行者。n 软件过程仿真:过程数据的采集、统计、管理、仿真n 过程演化:过程改进、过程变更l Groupware, CSCW, WFMSl 代表系统1. EPOS 反射语言支持过程演化,长事务模型2. SPADE/SLANG -高级Petri nets 3. FUNSoft/MELMAC 高级Petri nets 4. MARVEL5. HFSP6. PROSYT7. Littl
19、e-JIL Process Programming8. CAGIS Agent协同9. CPMS系统简介:将过程模型分为三个组成部分过程流程模型(由过程定义工具实施)、组织模型(由角色定义工具实施)、资源模型(由文档定义工具实施)。10. IBM Jazz11.微软 Team Systems1.2 软件过程改进模型l 有效的软件过程环境:l 软件改进过程框架1.2.1 PDCA模型:又称戴明环,能使任何一项活动有效进行的一种合乎逻辑的工作程序。n P(Plan)计划,包括方针和目标的确定以及活动计划的制定。n D(Do)执行,执行就是具体运作,实现计划中的内容。n C(Check)检查,就是要
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 过程 管理
链接地址:https://www.31doc.com/p-2355573.html