您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 11-401-高级软件工程-第2章 软件过程
高级软件工程授课教师:ࡎ䘑ࢥᮏ授Email:mailjinliu@yahoo.com第二章软件过程斫轮老手桓公读书于堂上。轮扁斫轮于堂下,释椎凿而上,问桓公曰:“敢问,公之所读者何言邪?”公曰:“圣人之言也。”曰:“圣人在乎?”公曰:“已死矣。”曰:“然则君之所读者,古人之糟魄已夫!”桓公曰:“寡人读书,轮人安得议乎!有说则可,无说则死。”轮扁曰:“臣也以臣之事观之。斫轮,徐则甘而不可,疾则苦而不入。不徐不疾,得之于手而应于心,口不能言,有数存焉于其间。臣不能以喻臣之子,臣之子亦不能受之于臣,是以行年七十而老斫轮。古之人与其不可传也死矣,然则君之所读者,古人之糟魄已夫!”——庄子·外篇·天道3斫轮的过程规范、技术要求与检验手段轮人为轮,斩三材必以其时。三材既具,巧者和之。毂也者,以为利转也。辐也者,以为直指也。牙也者,以为固抱也。轮敝,三材不失职,谓之完。望而眡其轮,欲其幎尔而下迤也。进而眡之,欲其微至也。无所取之,取诸圜也。望其辐,欲其揱尔而纤也。进而眡之,欲其肉称也。无所取之,取诸易直也。望其毂,欲其眼也,进而眡之,欲其帱之廉也。无所取之,取诸急也。眡其绠,欲其蚤之正也,察其菑蚤不龋,则轮虽敝不匡。凡斩毂之道,必矩其阴阳。阳也者,稹理而坚;阴也者,疏理而柔。是故以火养其阴,而齐[六尺六寸],以其一为之牙围,参分其牙围,而漆其二。椁其漆内而中诎之。以为之毂长,以其长为之围,以其围之阝力捎其薮。五分其毂之长,去一以为贤,去三以为轵。容毂必直,陈篆必正,施胶必厚,施筋必数,帱必负干。既摩,革色青白,谓之毂之善。参分其毂长,二在外,一在内,以置其幅。凡辐,量其凿深以为辐广。辐广而凿浅,则是以大扤,虽有良工,莫之能固。凿深而辐小,则是固有余,而强不足也,故竑其辐广,以为之弱,则虽有重任,毂不折。参分沈必均,直以指牙,牙得,则无槷而固,不得,则有槷必足见也。六尺有六寸之轮,绠参分寸之二,谓之轮之固。凡为轮,行泽者欲杼,行山者欲侔。杼以行泽,则是刀以割涂也,是故涂不附。侔以行山,则是搏以行石也,是故轮虽敝不甐于凿。凡揉牙,外不廉而内不挫,旁不肿,谓之用火之善。是故规之以眡其圜也,萭之以眡其匡也。县之以眡其幅之直也,水之以眡其平沈之均也,量其薮以黍,以眡其同也,权之以眡其轻重之侔也。故可规、可萭、可水、可县、可量、可权也,谓之国工。——周礼.冬官考工记4过程的概念过程是指人们解决一个任务时,采取的行动步骤、步骤应遵循的规则、步骤所使用资源的总和传统思维:以任务为中心过程思维:以过程为中心以过程为中心的好处协调组织的活动,为达到共同的目标而努力为每个人提供度量的基准增强过程的一致性和可重复性5过程改进成熟的过程过程可计划,过程稳定,过程产生的结果一致,过程可预测过程改进只有进行过程改进才能得到不同的产品过程改进的步骤:定义质量目标、了解过程、对过程进行调整、应用调整后的过程、测量结果、将结果与目标进行比较、循环的持续改进6什么是软件过程?DefinesWhoisdoingWhat,Whentodoit,andHowtoreachacertaingoal.SoftwareProcessNeworchangedrequirementsNeworchangedsystem软件过程,也称为软件生存周期过程,是指软件生存周期中的一系列相关过程,其中过程就是活动的集合,活动是任务的集合,任务要起到把输入加工成输出的作用。活动的执行可以是顺序的、迭代的(重复的)、并行的、嵌套的,或者是有条件地引发的。7AProcessFramework(过程框架)8ProcessframeworkFrameworkactivitiesworktasksworkproductsmilestones&deliverablesQAcheckpointsUmbrellaActivitiesFrameworkActivities(框架活动)Communication(沟通)Planning(策划)Modeling(建模)AnalysisofrequirementsDesignConstruction(构建)CodegenerationTestingDeployment(部署)上述5个通用框架活动适用于小程序的开发,大型网络应用程序的建造以及基于计算机的复杂系统工程软件的细节可能很不一样,但是框架活动都是一致的9举例10举例11UmbrellaActivities(普适性活动OR保护性活动)Softwareprojecttrackingandcontrol软件项目跟踪与控制Formaltechnicalreviews正式的技术复审Softwarequalityassurance软件质量保证Softwareconfigurationmanagement软件配置管理Documentpreparationandproduction文档的准备和产生Reusabilitymanagement可复用管理Measurement软件度量Riskmanagement风险管理12TheProcessModel:Adaptability(过程模型的适用性)Tosolveactualproblemsinanindustrysetting,asoftwareengineerorateamofengineersmustincorporateadevelopmentstrategythatencompassestheprocess,methods,andtoolslayersandthegenericphasesdiscussedThisstrategyisoftenreferredtoasaprocessmodel13process=methodology+toolsTheProcessModel:Adaptability(过程模型的适用性)theframeworkactivitieswillalwaysbeappliedoneveryproject...BUTthetasks(anddegreeofrigor)foreachactivitywillvarybasedon:thetypeofprojectcharacteristicsoftheprojectcommonsensejudgment;concurrenceoftheprojectteam过程模型的适用性(如软件所需解决的问题,项目特点,开发队伍和组织文化等)是成功的关键。14TheProcessModel:Adaptability(过程模型的适用性)Prescriptiveprocessmodel(惯例过程模型)(重)强调对过程活动和任务的详细定义,识别和应用Agileprocessmodel(敏捷过程模型)(轻)强调项目的灵活性,可操作性和可适应性eXtremeprogramming15软件过程的元素工件/产品活动里程碑资源和角色关系16工件和WBS工件(Artifact)是指软件开发过程的中间或最后工作产品,包括文档、模型和程序。工作分解结构(WBS,WorkBreakdownStructure)以工作为导向对项目要素进行的分组,它定义了项目的整个工作范围,每细分一层表示对项目工件更详细的描述分组方式按开发阶段组织按子项目/子系统组织按类型组织17按开发阶段组织的WBS举例18明确的可量化的里程碑19活动一个软件过程可分为多个活动(activity)一个活动可分为多个动作(action)一个动作可分为多个任务(task)(子)活动的执行可以是顺序的、迭代的(重复的)、并行的、嵌套的、或者有条件地引发的。(子)活动间的时序关系F-FF-SS-FS-S20资源人需要的技能,开始时间,工作期限,有效性工具硬件:开发系统,目标机器,新系统其他硬件部分软件:支持软件,实用软件。投入时间,持续时间,有效性软件构件库21里程碑里程碑是特殊的活动,当时钟到达特定时间,就会触发里程碑检查本阶段的所有活动和工作是否按要求完成制定明确的里程碑大项目制定更细化的里程碑让项目组成员时刻保持高效的工作状态为管理人员提供进度可视化的可靠依据让客户都感觉到一段时间就实现了一个目标,提高客户的满意度22主流过程模型当前软件过程技术的研究方向软件过程分析和建模软件过程支持——研究和开发支持软件过程活动的CASE工具软件过程流程工具过程文挡工具评审工具人员管理工具软件过程评估和改进CMM/CMMI24常见过程模型线性顺序模型WaterfallModel增量式模型IncrementalModel演化模型EvolutionaryModel原型Prototyping螺旋模型SpiralModel并发开发模型ConcurrentDevelopmentModel特殊过程模型基于构件的开发Component-BasedDevelopment形式化方法模型FormalMethodsModel面向侧面的软件开发Aspect-OrientedSoftwareDevelopment25Waterfallmodel1970年W.Royce26Waterfallmodel1970年W.Royce27Waterfallmodel特点强调阶段的划分及其顺序性强调各阶段工作及其文档的完备性每个阶段结束之前,都从技术和管理两个角度进行严格的审查是一种严格线性的、按阶段顺序的、逐步细化的开发模式适用时机所有功能、性能等要求能一次理解和描述时所有的系统功能一次交付时必须同时淘汰全部老系统时28瀑布型的价值结构简单明了;历史较长、应用面广泛、为广大软件工作者所熟悉;已有与之配套的一组十分成熟的开发方法和丰富的支撑工具一种较为有效的管理模式:订计划、成本预算、组织开发人员,阶段评审,文档管理,从而对软件质量有一定的保证29瀑布型的风险和缺点获得完善的需求规约是非常困难的难以适应快速变化需求系统太大时,难以一次做完反馈信息慢极可能引起开发后期的大量返工,如返工到需求、设计等早期活动30增量型(Incremental)构造一系列可执行的中间版本(VersionbyVersion)31IncrementaldeliveryRatherthandeliverthesystemasasingledelivery,thedevelopmentanddeliveryisbrokendownintoincrementswitheachincrementdeliveringpartoftherequiredfunctionality.Userrequirementsareprioritisedandthehighestpriorityrequirementsareincludedinearlyincrements.Oncethedevelopmentofanincrementisstarted,therequirementsarefrozenthoughrequirementsforlaterincrementscancontinuetoevolve.32IncrementaldevelopmentadvantagesCustomervaluecanbedeliveredwitheachincrementsosystemfunctionalityisavailableearlier.Earlyincrementsactasaprototypetohelpelicitrequirementsforlaterincrements.Lowerriskofoverallprojectfailure.Thehighestprioritysystemservicestendtoreceivethemosttesting.33增量型需考虑的风险需求未被很好地理解一次要求所有功能需求迅速发生变化事先打算采用的技术迅速发生变化长时期内仅有有限的资源(人员/资金)34增量型适用时机需要早期获得功能中间产品可以提供使用系统被自然地
本文标题:11-401-高级软件工程-第2章 软件过程
链接地址:https://www.777doc.com/doc-6108116 .html