您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > 软件方法与过程(知识点总结)-打印版
高级软件开发过程第1章绪论1.计算机软件发展的三个阶段:程序设计阶段(软件工作:程序设计,软件质量:程序设计=数据结构+算法,强调编程技巧);软件工程阶段(总结软件危机的教训,软件工作:代码编写+需求分析、测试、维护等等,软件质量:程序的可读性、可理解性、可测试性和易修改性等工程化的原则);软件过程阶段(软件工作:软件开发过程+软件管理过程,更强调软件开发的效率、软件质量以及与软件开发相关的管理工作)。2.现代软件产业的总体情况:很多软件项目最终不能交付,或者最终交付的软件项目发生延期、成本超出预算、而且运行经常不可靠。原因:不完整、不现实的项目需求描述、对需求变更束手无策、脆弱的框架、采用不成熟的技术、测试的不充分性、拙劣的进度计划和评估、缺乏资源、不具备项目管理的方法、缺少管理层的支持。3.软件周期模型:定义:软件生命周期模型是软件过程中全部活动的生命周期结构框架的一种形式化描述,也成为软件生存期模型。种类:瀑布模型、演化(原型)模型、螺旋模型、喷泉模型。总体局限性:软件过程不仅包括组成过程的各种活动,而且包括各种活动的相关项,如活动的执行者、活动执行时采用的各种方法和工具、活动执行的结果等等,软件生命周期模型用于指导软件开发实践时,表现出较差的可操作性。4.软件过程模式:定义:软件工程模式从成功或失败的软件开发实践中总结而成,是软件过程中生命周期、人员、方法、产品四大要素相互关联的有机整体。典型的过程模式:Rational统一过程、敏捷过程、微软过程。其他过程模式:个体/小组软件过程(PSP/TSP)。5.软件过程模式与软件生命周期模型的关系:软件生命周期模型包含与软件过程模式中。6.软件过程能力评估标准和改进方案:CMM(能力成熟度模型):初始级、可重复级、已定义级、已定量管理级、优化级。ISO9000;6σ。第2章Rational统一过程1.什么是RUP:Rational统一过程(RationalUnifiedProcess)是一种典型的软件过程模式,对软件过程模式的四大要素——生命周期、人员、方法和产品均进行了详尽的论述;是一种软件过程产品——Rational公司开发并维护,与Rational一系列其他软件开发工具集成。*2.RUP术语:用户代表与所开发的系统进行交互的某个人或某个系统(所开发系统之外的另一个系统)。用例是能够向用户提供有价值结果的系统中的一种功能。所有的用例合在一起构成用例模型。„特点:①确定系统需求的工具,传统的系统功能说明:系统应该做什么?用例模型:增加三个词foreachuser。②驱动软件开发过程,RUP三大特点中第一大特点为“用例驱动”。构架是系统在其所处环境中最高层次的概念。软件系统的构架是指通过接口交互的重要构件的组织和结构,这些构件又由一些更小的构件和接口组成。RUP三大特点中第二大特点为“以构架为中心”。工作流程是在业务中执行的活动序列,它对于业务主角个体生成一个可见值结果。迭代是指带有已建立基线的计划和评估准则的独特活动序列,迭代生成内部或外部的发布版本。增量是指在后续迭代结束后,两个发布版本之间存在的差异或差值。RUP三大特点中第三大特点为“迭代和增量的过程”。在软件过程组织的环境中,个人或协同工作的小组的行为和职责定义为角色,角色代表项目中个人承担的作用,并确定了如何完成工作。活动是要求角色执行的工作单元。工件是指一条信息,该信息:由过程生成、修改或使用;定义了职责范围;受到版本控制。里程碑是迭代正式结束的时间点,该时间点与发布时间点相对应。阶段是指项目相邻两个主要里程碑之间的时间段,在此期间要实现一组既定的目标、完成工件并决定是否进入下一阶段。3.RUP二维结构生命周期:横轴通过时间组织,体现开发过程的动态结构。术语主要包括阶段、里程碑、迭代和增量。纵轴将内容组织为逻辑活动,体现开发过程的静态结构,术语主要包括工作流程、活动、角色、工件。4.RUP静态结构:九个核心工作流程。工作流程代表了所有角色、活动与工件的逻辑分组情况,即软件过程模式中的三个要素。九个核心工作流程组成:核心过程工作流程:前6个,核心支持工作流程:后3个。○1业务建模:产生的主要工件为业务模型;②需求:用例方法:对需要的功能和约束进行提取、组织、文档化,理解系统所解决问题的定义和范围。产生的主要工件为用例模型,用户界面模型;③分析设计:以构架设计为中心:产品的适应性、可扩展性。产生的主要工件为一个设计模型、一个分析模型(可选)。④实现:产生的主要工件为实施模型(模型元素包括实施子系统和构件)。⑤测试:产生的主要工件为测试模型(模型元素包括测试用例、测试过程和测试构件)+测试结果。⑥部署:产生的主要工件为产品的一个版本+文档培训资料。⑦配置和变更管理:产生的主要工件为配置管理计划、变更请求、项目存储库和工作区。⑧项目管理:产生的主要工件为商业理由、迭代计划、风险管理计划、质量保证计划及相应的评估文档。⑨环境:产生的主要工件为工作流程指南、工具、工具指南。5.RUP动态结构:四个阶段。每个阶段由一次或多次迭代完成,迭代过程是受控的。○1先启阶段:目标:建立业务用例、确定项目的边界,结束里程碑:生命周期目标里程碑。②精化阶段:目标:建立稳定的构架、编制项目计划、淘汰项目中最高风险的元素,结束里程碑:生命周期构架里程碑。③构建阶段:目标:所有构件和应用程序功能被开发并集成为产品、所有的功能被详尽的测试,结束里程碑:最初操作性能里程碑。④产品化阶段:目标:将软件产品交付给用户群体,结束里程碑:产品发布里程碑。6.RUP与螺旋模型异同点:相同点:二维迭代特性。重复一系列组成系统生命周期的循环;每次循环的结束是向用户交付产品的一个运行版本;每个循环由若干次迭代组成;每次迭代需要进行风险分析处理;每次迭代结束的标志是交付一个增量。螺旋模型:每次迭代历经笛卡儿坐标系中四个象限的四个方面活动,RUP:每次迭代历经九个核心工作流程中的若干个。不同点:螺旋模型未给出每次迭代过程结束交付的增量原型的具体要求;也未给出不同次迭代在历经的笛卡儿坐标系中四个象限的四个方面活动的内容与重点的不同。RUP将整个生命周期划分为四个阶段,明确给出了每个阶段内的若干次迭代过程完成后交付的增量的具体要求,即四个阶段的主要里程碑——生命周期目标里程碑、生命周期构架里程碑、最初操作性能里程碑和产品发布里程碑;同时详细阐述了不同阶段中的不同迭代过程历经的九大核心工作流程中活动内容的重点和强度的不同;提供了对每次迭代过程中不同核心工作流程活动的并行化支持。RUP的二维生命周期结构对“迭代”意义的体现比螺旋模型更深刻、具体、详尽、全面,更具可操作性。7.RUP的优点:相对瀑布类模型:将成本风险进一步降低为获得一次增量所需费用;进一步降低了产品不能按计划投放市场的风险;使项目开发更能适应项目需求的变化。相对螺旋类模型:用于指导需求不明确、不稳定的项目开发时具有更强的可操作性。8.RUP人员——角色:分析员、开发人员、测试员、经理、其他角色。角色的意义:将角色与个体区分开。某种角色:一个或多个相互协作的个体完成,一个个体担任一种或多种角色。制定迭代计划:确定每个阶段、每个工作流程中需要的角色;制定人员计划:考虑人员的技能、能力经验,将一个或多个角色分配给一个适合的人员完成。有效提高了项目中人力资源的利用率。缺陷:论述不够深入,忽略了角色的质量,未给出角色的组织管理方式、角色间的相互地位关系和交互方式。体现过程可操作性的一个重要方面,RUP未给出。9.RUP方法:(1)用例及用例驱动。用例是能够向用户提供有价值结果的系统中的一种功能。所有的用例合在一起构成用例模型。采用用例的两个原因:①用例被证明是捕获需求的一种有效方法。达到需求捕获的第一个目标:发现多样性的需求(传统的系统功能说明:系统应该做什么?用例模型:增加三个词foreachuser),达到需求捕获的第二个目标:以适用于用户和开发人员的方式加以表示;②用例驱动整个过程。(2)以构架为中心。构架描述:5个视图:用例模型视图、分析模型视图、设计模型视图、实施模型视图、实现模型视图。每个视图是对应模型的精华与核心部分。意义:①理解系统,②组织开发,③鼓励重用和进化系统。(3)在面向对象的分析设计中采用UML进行可视化建模。(4)面向对象的设计与构件实现。10.RUP产品——工件:定义:项目期间生成的中间或最终产品。工件类型:根据RUP的各工作流程:划分为业务建模工件、需求工件、分析设计工件、实施工件、测试工件、部署工件、配置与变更管理工件、项目管理工件、环境工件;根据物流方向:划分为输入工件、输出工件和辅助工件;根据存在形式:划分为模型、模型元素、文档、源代码、可执行文件。11.RUP特点:优点:作为一种软件过程:RUP具有二维迭代性,有利于降低风险、适应需求变化;RUP是可配置的过程,具有通用性;作为一种软件过程模式:相对传统的软件生命周期模型具有较强的可操作性;作为一种软件过程产品:具有实用性、可操作性与可实现性。缺陷:与软件过程模式配置操作相关的因素①软件过程模式中生命周期、人员、方法、产品四大要素之间的相互关系和相对优先级;②各生命周期元素间的相互关系和相对优先级;③人员间的协作关系与协作方式、人员的质量、各种人员的相对优先级;④各种方法间的相互关系及相对优先级;⑤各种产品的相对优先级。结论:RUP是一个具有突出优点的软件过程模式;RUP还很不完整,在实际应用中仍需进一步吸收其它优秀的软件开发实践经验以对其进行补充和完善。第3章敏捷过程1.什么是AP:敏捷软件开发宣言:软件团队具有快速工作、快速响应变化的能力,制订了4条基本价值观和12条原则。敏捷过程(AgileProcess)是一种典型的软件过程模式,对软件过程模式中的四大要素(生命周期、人员、方法、产品)及相互关系均进行了论述。2.AP流派:极限编程XP、SCRUM、动态系统开发方法DSDM、水晶系列方法、开放式源码、适配性软件开发ASD、适配性软件开发ASD。3.AP的4条价值观:①个体和交互胜过过程和工具。人是软件项目获得成功最为重要的因素,当然,不好的过程和工具也可以使最优秀的团队成员失去效用、合作、沟通以及交互能力要比单纯的软件编程能力更为重要;合适的工具对于成功来说非常重要,工具的作用不可被过份地夸大,建议从使用小的工具开始。结论:团队的构建(包括个体、交互等)要比项目环境(包括过程、工具)的构建重要得多;应该首先致力于构建团队,然后再让团队基于需要来配置环境。②可以工作的软件胜过面面俱到的文档。软件的重要性:交付给用户可以工作的软件而不是文档,否则应该称之为文档开发而不是软件开发。文档的作用:没有文档的软件是一种灾难,过多的面面俱到的文档比过少的文档更糟。准则:软件开发的主要和中心活动是创建可以工作的软件;直到迫切需要并且意义重大时,才进行文档编制;编制的内部文档应尽量短小并且主题突出。③客户合作胜过合同谈判。客户不可能做到一次性地将他们的需求完整清晰地表述在合同当中:客户需求的多样性,客户需求还可能随时发生变化。全方位的满足客户需求的有效途径:开发团队与客户紧密协作,为开发团队和客户的协同工作方式提供指导的合同是最好的合同。④响应变化胜过遵循计划。变化是软件开发中存在的现实:商务环境可能会变化,这会引起需求的变动;随着系统逐渐开始运做,项目关系人(包括开发人员与客户)对系统的理解也会发生变化;技术随着时间也在变化。响应变化的有效途径之一是制定灵活可塑的计划:制定计划的策略——细致度逐渐降低的计划。*4.AP的12条原则:①最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。②即使到了开发的后期,也欢迎改变需求,敏捷过程利用变化来为客户创造竞争优势。③经常性交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。④在整个项目开发期间,商务人员和开发人员必须天天都工作在一起。⑤围绕被激励起来的个体来构建项目,给他们提供所需的环境和支持,并且信任他们能够完成工作。⑥在团队内部,最具有效果并
本文标题:软件方法与过程(知识点总结)-打印版
链接地址:https://www.777doc.com/doc-2011709 .html