软件工程与项目管理课程

上传人:苏**** 文档编号:240755110 上传时间:2024-05-05 格式:PPT 页数:78 大小:6.53MB
返回 下载 相关 举报
软件工程与项目管理课程_第1页
第1页 / 共78页
软件工程与项目管理课程_第2页
第2页 / 共78页
软件工程与项目管理课程_第3页
第3页 / 共78页
点击查看更多>>
资源描述
软件工程与件工程与项目管理目管理当你把所有的错误都犯过之后,你就是正确的了课程引程引导为什么要学什么要学这门课?学学生生工作工作不从事不从事软件件设计和研和研发,并不表,并不表示不接触示不接触软件和件和软件的相关知件的相关知识。当涉及到与当涉及到与软件件单位打交道位打交道时,交流会比交流会比较困困难课程引程引导岗位岗位岗位要求岗位要求岗位技术难度岗位技术难度设计岗设计岗系统分析能力、需求分析能力、设计能力系统分析能力、需求分析能力、设计能力要求高、一般要求要求高、一般要求有较长时间的开有较长时间的开发经验发经验编码岗编码岗熟练掌握某种语言、能看动相关设计文档,熟练掌握某种语言、能看动相关设计文档,MIS系统编码一般要求掌握一种数据库系统系统编码一般要求掌握一种数据库系统一般一般技术支持岗技术支持岗熟练了解某种特定的软件、能解决客户提出的各熟练了解某种特定的软件、能解决客户提出的各种技术问题、对软件硬件都应当有所了解种技术问题、对软件硬件都应当有所了解一般一般软件企业维护岗软件企业维护岗熟练了解某种特定软件、能接收并解决客户提出熟练了解某种特定软件、能接收并解决客户提出的问题、能进行软件的二次开发、熟悉某种的问题、能进行软件的二次开发、熟悉某种开发语言、掌握一种数据库系统开发语言、掌握一种数据库系统一般一般软件测试岗软件测试岗熟悉软件开发流程、熟悉某种开发语言、有较长熟悉软件开发流程、熟悉某种开发语言、有较长的项目开发经验;进行确认测试人员需要了的项目开发经验;进行确认测试人员需要了解客户单位工作业务流程解客户单位工作业务流程较高,一般要求有较高,一般要求有开发经验后再从开发经验后再从事测试工作事测试工作应用企业维护岗应用企业维护岗了解某种特定软件应用、和软件公司接洽反映软了解某种特定软件应用、和软件公司接洽反映软件问题、掌握一般软硬件维护技能件问题、掌握一般软硬件维护技能较低较低软件生件生产和相关行和相关行业的主要的主要岗位位课程引程引导会会编程序不等于会程序不等于会编软件件软件和程序不同件和程序不同做做软件需要用工程的概念件需要用工程的概念软件工程与件工程与项目管理?目管理?必必须应用工程用工程设计左左图可自可自行行设计,自行施工,自行施工,右右图可能可能需工程需工程队施工施工课程引程引导“工程工程”强调的是将自然科学的理的是将自然科学的理论应用到具体生用到具体生产部部门的的过程程 软件程序文档件程序文档 软件工程是开件工程是开发、运行、运行、维护和修复和修复软件的系件的系统方法方法软件件项目是目是为创建某一独特建某一独特软件件产品而品而临时进行的一次性行的一次性努力努力 课程引程引导课程程综述述本本课程是程是计算机算机专业的的专业课之一,之一,通通过本本课程的学程的学习,要求学生理解在要求学生理解在软件开件开发过程中程中应用用软件工程方法的必要件工程方法的必要性和迫切性,要求学生掌握性和迫切性,要求学生掌握软件工程的基本原理、概念与件工程的基本原理、概念与技技术方法方法本本门课程最主要的作用就是帮助学生建立系程最主要的作用就是帮助学生建立系统、完整的、完整的专业基基础理理论体系,不体系,不仅培养学生分析培养学生分析问题、解决、解决问题的能的能力,而且全面力,而且全面锻炼学生将来成学生将来成为现代代软件工程件工程师需要的需要的团队协作、作、谈判沟通、适判沟通、适应发展等等能力,展等等能力,为在今后工作中在今后工作中从事从事计算机大算机大规模模软件开件开发与与维护打下扎打下扎实的基的基础内容安排内容安排第一部分第一部分 软件工程基件工程基础软件工程的基本概念、件工程的基本概念、软件件过程的概念以及程的概念以及软件生件生存期模型存期模型第二部分第二部分 软件工程技件工程技术方法方法综述述 结构化和面向构化和面向对象技象技术的的综述述第三部分第三部分 软件工程件工程过程程 从需求、从需求、设计、测试与与维护各个各个阶段的分析和建模段的分析和建模详细描述描述软件工程件工程过程的程的实施施第四部分第四部分 软件工程件工程项目管理目管理 软件件项目管理相关内容,包括各种目管理相关内容,包括各种组织原原则、方式、方式和方法等和方法等第一部分第一部分 软件工程基件工程基础 软件工程基本概念件工程基本概念 软件工程、件工程、软件危机件危机 软件工程模型件工程模型软件件项目开目开发路路线图,管理路,管理路线图 软件件过程模型程模型瀑布模型、增量模型、瀑布模型、增量模型、喷泉模型泉模型 软件件项目管理的目管理的问题管理的范管理的范围、管理的方法等概述、管理的方法等概述软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机1946:ENIAC 1946年世界上年世界上第一台第一台电子子计算机算机的的诞生,生,标志着人志着人类由工由工业化社会化社会进入了信息化社会,入了信息化社会,以以计算机算机产业和和计算机算机应用服用服务业为蜘蛛的信息工蜘蛛的信息工业,成了信息化社会的成了信息化社会的主要基主要基础之一之一软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机程序设计阶段程序设计阶段程序设计阶段程序设计阶段 60 60 60 60年代年代年代年代 70707070年代年代年代年代系统设计阶段系统设计阶段系统设计阶段系统设计阶段 70 70 70 70年代年代年代年代 80808080年代年代年代年代软件工程阶段软件工程阶段软件工程阶段软件工程阶段 80808080年代年代年代年代 90909090年代年代年代年代国外国外国外国外国内国内国内国内软软件件件件发发展展展展阶阶段段段段第一代第一代 算法技术算法技术第二代第二代 结构化软件技术结构化软件技术第三代第三代 面向对象技术面向对象技术第四代第四代 分布式面向对象技术分布式面向对象技术第五代第五代 软件构件技术软件构件技术软件与件与软件件技技术的的发展展软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机 OS 360是第一个超大型的是第一个超大型的软件件项目,它使用了目,它使用了1000人左右的人左右的程序程序员,经历了数十年,是一个了数十年,是一个极度复极度复杂的的软件件项目,甚至目,甚至产生生了一套不包括在原始了一套不包括在原始设计方案之方案之中的工作系中的工作系统。其管理者承。其管理者承认软件开件开发中犯了一个价中犯了一个价值数百万美数百万美元的元的错误。软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机人月神人月神话Fred Brooks在在软件开件开发过程里是没有万能的程里是没有万能的终杀性武器的,只有各种方法性武器的,只有各种方法综合运用,才是解决之道合运用,才是解决之道银弹软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件危机件危机:计算机算机软件的开件的开发和和维护过程所遇程所遇到的一系列到的一系列严重重问题阿里阿里亚娜火箭:上万人娜火箭:上万人10余年的努力余年的努力,耗耗资高达高达70亿美元,升空美元,升空仅40秒后秒后发生大爆炸,生大爆炸,由于火由于火箭箭导航的航的电脑软件系件系统发生故障造成的生故障造成的。软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件危机件危机:计算机算机软件的开件的开发和和维护过程所遇程所遇到的一系列到的一系列严重重问题软件危机的具体表件危机的具体表现:对软件开件开发的成本和的成本和进度估度估计不不够准确准确用用户对已完成的已完成的软件不件不满意的意的现象象时有有发生生软件常常是不可件常常是不可维护的的软件件产品的品的质量往往不可靠量往往不可靠软件开件开发生生产率提高的速度率提高的速度远远跟不上日益增跟不上日益增长的的软件需求,件需求,满足不了社会足不了社会发展的需要展的需要软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件危机件危机:计算机算机软件的开件的开发和和维护过程所遇到的一程所遇到的一系列系列严重重问题缓解解软件危机的途径必件危机的途径必须做好以下几个方面的工作:做好以下几个方面的工作:加加强软件开件开发过程的管理,做到程的管理,做到组织有序、各有序、各类人人员协同同配合,共同保配合,共同保证工程工程项目完成,避免目完成,避免软件开件开发过程中个人程中个人单干的干的现象象推广使用开推广使用开发软件的成功技件的成功技术和方法,并且不断探索更好和方法,并且不断探索更好的技的技术和方法,消除一些和方法,消除一些错误的概念和做法的概念和做法开开发和使用好的和使用好的软件工具,支持件工具,支持软件开件开发的全的全过程程软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件工程件工程:是研究和:是研究和应用如何以系用如何以系统性的、性的、规范化的、范化的、可定量的可定量的过程化方法去开程化方法去开发和和维护软件,以及如何把件,以及如何把经过时间考考验而而证明正确的管理技明正确的管理技术和当前能和当前能够得到得到的最好的技的最好的技术方法方法结合起来合起来软件工程包含三要素:件工程包含三要素:方法方法工具工具过程程软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件工程件工程:是研究和:是研究和应用如何以系用如何以系统性的、性的、规范化的、范化的、可定量的可定量的过程化方法去开程化方法去开发和和维护软件,以及如何把件,以及如何把经过时间考考验而而证明正确的管理技明正确的管理技术和当前能和当前能够得到得到的最好的技的最好的技术方法方法结合起来合起来软件工程包含三要素:方法、工具和件工程包含三要素:方法、工具和过程程提供一系列软件开发技术。包括完成开发过程中各方提供一系列软件开发技术。包括完成开发过程中各方面任务的方法并用某种特殊的语言或图形来描述。面任务的方法并用某种特殊的语言或图形来描述。为软件开件开发提供提供“如何做如何做”的技的技术方方法法软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件工程件工程:是研究和:是研究和应用如何以系用如何以系统性的、性的、规范化的、范化的、可定量的可定量的过程化方法去开程化方法去开发和和维护软件,以及如何把件,以及如何把经过时间考考验而而证明正确的管理技明正确的管理技术和当前能和当前能够得到得到的最好的技的最好的技术方法方法结合起来合起来软件工程包含三要素:方法、工具和件工程包含三要素:方法、工具和过程程软件工具为软件方法提供了自动的或半自动的支撑环软件工具为软件方法提供了自动的或半自动的支撑环境。将多种工具集成在一起可构成计算机辅助软件工境。将多种工具集成在一起可构成计算机辅助软件工程(程(CASE)的软件开发支撑系统)的软件开发支撑系统为软件工程方法提供为软件工程方法提供支撑环境支撑环境工工具具软件工程基本概念件工程基本概念软件工程与件工程与软件危机件危机软件工程件工程:是研究和:是研究和应用如何以系用如何以系统性的、性的、规范化的、范化的、可定量的可定量的过程化方法去开程化方法去开发和和维护软件,以及如何把件,以及如何把经过时间考考验而而证明正确的管理技明正确的管理技术和当前能和当前能够得到得到的最好的技的最好的技术方法方法结合起来合起来软件工程包含三要素:方法、工具和件工程包含三要素:方法、工具和过程程软件过程是将软件工程的方法和工具综合起来,进行软件过程是将软件工程的方法和工具综合起来,进行软件开发软件开发定定义了了:方法使用的方法使用的顺序、要求交付的文档序、要求交付的文档资料、料、为保保证质量和适量和适应变化所需要的管理、化所需要的管理、软件开件开发各个各个阶段完成的里程碑段完成的里程碑 过程程软件件过程程包括将用包括将用户需求需求转变成成软件件产品所需的所有活品所需的所有活动 软件开件开发活活动:软件件过程的核心程的核心 软件件项目管理活目管理活动:管理好管理好项目范目范围、进度和成本度和成本 软件件过程改程改进活活动:提高提高软件开件开发组织的的软件件过程能程能力,提高力,提高软件生件生产能力能力软件工程基本概念件工程基本概念软件件开开发项目目管理管理过程程改改进软件件工工程程三三段段论软件件过程程软件件过程提供了一个体系框架程提供了一个体系框架结构构该框架可框架可应用于不同的任用于不同的任务集合:集合:任任务、里程碑、交付物、里程碑、交付物、质量保量保证点点保保护性活性活动(质量保量保证、配置管理等)、配置管理等)软件开件开发过程中程中脑力活力活动的的“不可不可见性性”大大增大大增加了加了过程管理的困程管理的困难,软件工程中管理的指件工程中管理的指导思思想就是想就是“变不可不可见为可可见”,至始至,至始至终的的贯彻质量管理,保量管理,保证软件件质量量软件工程基本概念件工程基本概念软件工程模型件工程模型依照工程化的思想,依照工程化的思想,软件件过程的工程模型基本由程的工程模型基本由5个个阶段构成:段构成:初始初始阶段:立段:立项,供,供应商商选择,合同,合同签署署 计划划阶段:范段:范围计划,划,时间计划,成本划,成本计划,划,质量量计划,划,沟通沟通计划,人力划,人力资源源计划,合同划,合同计划,配置管理划,配置管理计划划 执行行阶段:需求分析,概要段:需求分析,概要设计,详细设计,编码,单元元测试,集成,集成测试,系,系统测试,项目目验收,收,项目目维护 控制控制阶段:范段:范围计划控制、划控制、时间计划控制,成本划控制,成本计划控划控制,制,质量量计划控制,沟通划控制,沟通计划控制,人力划控制,人力资源源计划控制,划控制,合同合同计划控制,配置管理划控制,配置管理计划控制划控制 结束束阶段:合同段:合同结束,束,项目目总结软件件项目开目开发路路线图软件开件开发过程是程是软件人件人员生生产软件的件的过程,例如需程,例如需求分析、求分析、设计、编码、测试等等,相当于生相当于生产线上的生上的生产过程,是程,是软件件过程的核心程的核心过程程软件工程模型件工程模型 维护 产品品提交提交 测试 编码 详细设计 概要概要设计 需求需求分析分析软件件项目管理路目管理路线图软件管理件管理过程是程是项目管理者目管理者规划划软件开件开发、控制、控制软件件开开发的的过程,相当于生程,相当于生产线上的管理上的管理过程,管理程,管理过程程是伴随开是伴随开发过程程进行的行的过程程软件工程模型件工程模型软件工程模型件工程模型合同管理合同管理生存期生存期 需求管理需求管理 任任务分解分解项目目进度度项目估算目估算质量量计划划 配置配置计划划风险计划划团队管理管理项目度量目度量集成集成项目目跟踪控制跟踪控制 项目目结束束软件件过程改程改进过程改程改进相当于相当于对软件开件开发过程和程和软件管理件管理过程的程的“工工艺流程流程”进行管理和改行管理和改进,如果没有,如果没有好的工好的工艺生生产不出好的不出好的产品,它包括品,它包括对开开发过程和管理程和管理过程的定程的定义和改和改进软件工程模型件工程模型启动诊断建立实施评估软件件过程模型程模型 软件生命周期与件生命周期与软件件过程模型程模型一个一个软件从定件从定义、开、开发、使用和、使用和维护,直到最,直到最终被被废弃,所弃,所经历的生存的生存过程称程称为软件生存期或叫生命期件生存期或叫生命期为了能高效开了能高效开发一个高一个高质量的量的软件件产品,通常把品,通常把软件件生存期中各生存期中各项开开发活活动的流程用一个合理的框架的流程用一个合理的框架开开发模型来模型来规范描述,范描述,这就是就是软件件过程模型程模型Why 软件件过程模型程模型?1、需要造一个房子,、需要造一个房子,讲述想法述想法 2、开始建造,、开始建造,边造造边画画图 造房的方法造房的方法论-简易房易房3、造了两、造了两层了,想在二楼加了,想在二楼加卫生生间 4、修改、修改设计,最,最终房屋建成房屋建成 造房的方法造房的方法论-简易房易房小型工程可小型工程可边做做边设计施工施工过程中修改方案不会程中修改方案不会带来致命影响来致命影响以以经验为主主造房和施工方不一定需要通造房和施工方不一定需要通过图纸来沟通,不需要太多的来沟通,不需要太多的工程知工程知识,双方,双方边商量商量边施工施工造房的方法造房的方法论-总结谈可行性可行性 设计原形并原形并讨论 造房的方法造房的方法论-金金贸大厦大厦严格按照格按照图纸施工施工 可可耸立百年的大楼是精确立百年的大楼是精确设计的的产物物 造房的方法造房的方法论-金金贸大厦大厦大型工程需要大型工程需要进行可行性分析行可行性分析要要进行精密的行精密的设计和原型分析和原型分析要要进行行严格的施工管理并格的施工管理并强调方法方法论姑且将房屋的:姑且将房屋的:规划划-设计-施工施工-交付交付-使用使用-报废-拆除拆除这个个过程叫程叫“房屋的生命周期房屋的生命周期”只有只有严格按照房屋生命周期格按照房屋生命周期进行行规划、划、设计才能交付一个才能交付一个可用百年的房屋可用百年的房屋造房的方法造房的方法论-金金贸大厦大厦总结造房的方法造房的方法论-总结软件件过程模型程模型软件计划软件计划问题定定义“要解决的问题是什么?要解决的问题是什么?”可行性研究可行性研究经济经济技术技术管理管理社会环境社会环境软件件过程模型程模型40需求分析需求分析 确定系统逻辑模型确定系统逻辑模型确定目标系统必须具备的如下内容确定目标系统必须具备的如下内容功能功能性能性能接口接口约束、限制条件约束、限制条件 软件件过程模型程模型41软件设计软件设计总体体设计方案方案划分子系统功能划分子系统功能确定共享数据的组织确定共享数据的组织进行行详细设计处理模块设计处理模块设计数据库系统设计数据库系统设计输入输出界面设计输入输出界面设计编码的设计编码的设计 软件件过程模型程模型42软件测试软件测试单元元测试:测试模模块 集成集成测试:把:把经单元元测试的模的模块按某种按某种选定的策略定的策略装配起来,在装配装配起来,在装配过程中程中对程序程序进行必要的行必要的测试验收收测试:验收收测试是按照需求是按照需求规格格说明明书的的规定,定,由用由用户对目目标系系统进行行验收收通通过各种各种类型的型的测试,使,使软件达到件达到预定的要求定的要求软件件过程模型程模型43软件维护软件维护日常运行管理日常运行管理根据一定的根据一定的规格格对系系统进行必要的修改行必要的修改评价系价系统的运行效率、工作的运行效率、工作质量和量和经济效益效益对运行运行费用和效果用和效果进行行监理理审计 软件件过程模型程模型44瀑布模型瀑布模型演化模型演化模型增量模型增量模型螺旋模型螺旋模型统一一过程模型程模型 软件生存期模型软件生存期模型软件生存期模型软件生存期模型软件件过程模型程模型45软件件过程模型程模型小小马过河:河:对河深度的理解决定河深度的理解决定过河的方法河的方法瀑布模型瀑布模型最早出最早出现的的软件开件开发模型,它提供了模型,它提供了软件开件开发的基本的基本框架框架系系统需求需求软件需求件需求需求分析需求分析设计编码维护测试制定周密制定周密过河河计划的瀑布模型划的瀑布模型制定周密制定周密过河河计划的瀑布模型划的瀑布模型过河前:河前:详细勘察,制定勘察,制定计划划一旦一旦过河河计划制定,将不会大更改,开始划制定,将不会大更改,开始过河河每步每步骤即将完成即将完成时,都会,都会对这一步一步骤进行行总结,如,如进行行下一步下一步骤的条件不具的条件不具备,将停留在原地,等待条件具,将停留在原地,等待条件具备瀑布模型瀑布模型瀑布模型瀑布模型瀑布模型瀑布模型的本的本质是一次通是一次通过,即每个活,即每个活动只只执行一次,最行一次,最后得到后得到软件件产品品瀑布模型有利于大型瀑布模型有利于大型软件开件开发过程中人程中人员的的组织及管理,及管理,有利于有利于软件开件开发方法和工具的研究与使用,从而提高了大方法和工具的研究与使用,从而提高了大型型软件件项目开目开发的的质量和量和效率效率里程碑或基里程碑或基线驱动,或者,或者说文档文档驱动瀑布模型瀑布模型瀑布模型的特点瀑布模型的特点头绪简单,理解容易,理解容易适合小型适合小型项目,修改目,修改较少少项目目修改修改较难,需求,需求变更工作量更工作量较大大适合教学,用于理解各个适合教学,用于理解各个过程的大致步程的大致步骤客客户:我:我们程序做的怎程序做的怎样了?了?程序程序员:差不多做好了,可以:差不多做好了,可以试用了。用了。瀑布模型的表现客客户:我:我们的程序有没有的程序有没有*的功能?的功能?程序程序员:没有,上次你没有:没有,上次你没有说要要这个个功能?功能?客客户:那怎么:那怎么办?我?我们要要这个功能,上次个功能,上次我我们忘忘记说了。了。瀑布模型的表现程序程序员:那:那.我我们要重新要重新设计数据数据库,很多,很多东西要重新做西要重新做过了,了,再再给我三个月我三个月时间吧吧.瀑布模型瀑布模型瀑布模型的缺陷瀑布模型的缺陷瀑布模型的缺陷瀑布模型的缺陷由于开由于开发模型呈模型呈线性,所以当开性,所以当开发成果尚未成果尚未经过测试时,用用户无法看到无法看到软件的效果。件的效果。这样软件与用件与用户见面的面的时间间隔隔较长,也增加了一定的,也增加了一定的风险在在软件开件开发前期末前期末发现的的错误传到后面的开到后面的开发活活动中中时,可能会可能会扩散,散,进而可能会造成整个而可能会造成整个软件件项目开目开发失失败在在软件需求分析件需求分析阶段,完全确定用段,完全确定用户的所有需求是比的所有需求是比较困困难的,甚至可以的,甚至可以说是不太可能的是不太可能的摸着石摸着石头过河的河的边做做边改模型改模型项目初期无法目初期无法获取全部的需求取全部的需求,用,用户对需求其需求其实也没有也没有全面了解,需求全面了解,需求获取是一个重复的取是一个重复的过程程第一个版本第一个版本实现的是客的是客户的初步想法,然后后的初步想法,然后后续版本不版本不断地断地调整整演化模型演化模型和在岸和在岸边冥思苦想如何冥思苦想如何过河的人河的人相比,先站在河道里的石相比,先站在河道里的石头上,上,总是是让人看到更多的希望人看到更多的希望边做做边改模型的改模型的优点就是适用点就是适用于某些中小型于某些中小型项目的快速开目的快速开发,软件件产品的成果也会在最早的品的成果也会在最早的阶段段显现出来出来演化模型演化模型演化模型演化模型演化模型演化模型程序程序员:没有,上次你没有:没有,上次你没有说要要这个功能?个功能?客客户:那怎么:那怎么办?我?我们要要这个个功能,上次我功能,上次我们忘忘记说了。了。程序程序员:那:那.我我们在下一个版本中在下一个版本中给您增加您增加这个功能个功能吧吧.(程序(程序员忙着忙着去改去改变需求去了,需求去了,因因为他首先要做的他首先要做的是完善下一个版本是完善下一个版本的需求)的需求)演化模型演化模型演化模型演化模型这样的模式,一般只能适用于公司内部研的模式,一般只能适用于公司内部研发某某产品或技品或技术时的情况,而和客的情况,而和客户签署合同的署合同的项目目难以以应用用这样的模式的模式在演化模型中,包含一种很重要的需求在演化模型中,包含一种很重要的需求获取方法:原型化取方法:原型化原型原型就是在客就是在客户有初步想法的有初步想法的时候,就候,就“快速快速设计”和和“快速快速编码”地做出一个可供演示的系地做出一个可供演示的系统(即原型),(即原型),用来更好地用来更好地获取和理解客取和理解客户的需求的需求当客当客户需求比需求比较清晰清晰时,则开始正式的开开始正式的开发工作,而开工作,而开始做的原型有可能会被完全抛弃掉,也可能会在始做的原型有可能会被完全抛弃掉,也可能会在这个原个原型的基型的基础上上继续开开发增量模型增量模型增量模型增量模型核心功能核心功能核心功能核心功能112123第一增量第一增量第二增量第二增量第三增量第三增量核心功能核心功能112123一次性地一次性地获取全部的需求取全部的需求,然后做出分版本,然后做出分版本实现各需求的各需求的计划,每个版本只划,每个版本只实现一部分需求(核心),通一部分需求(核心),通过多个版多个版本逐步本逐步实现全部需求全部需求该模型的好模型的好处是可以尽快是可以尽快让系系统上上线,让客客户先使用部分先使用部分功能,尽早功能,尽早实现系系统的价的价值该模型比模型比较能符合能符合实际的情况,但需求是不可能在一开始的情况,但需求是不可能在一开始就完全确定的,就完全确定的,实际情况是往往只能确定情况是往往只能确定80%,而后期通,而后期通过各版本各版本还会会获取更多的新需求以及需求取更多的新需求以及需求调整。此模型可整。此模型可以适用于大部分的以适用于大部分的实际项目目增量模型增量模型将将将将软软件件件件产产品看作一品看作一品看作一品看作一组组增量构件,每次增量构件,每次增量构件,每次增量构件,每次设计设计、实现实现、集成、集成、集成、集成、测试测试和交付一和交付一和交付一和交付一块块构件,直到所有构件全部构件,直到所有构件全部构件,直到所有构件全部构件,直到所有构件全部实现为实现为止止止止任任任任务务或功能模或功能模或功能模或功能模块驱动块驱动,可以分,可以分,可以分,可以分阶阶段提交段提交段提交段提交产产品品品品有多个任有多个任有多个任有多个任务单务单,这这些多个任些多个任些多个任些多个任务单务单的集合,构成的集合,构成的集合,构成的集合,构成项项目的一个目的一个目的一个目的一个总总任任任任务书务书(总总用用用用户户需求需求需求需求报报告告告告)该模型的缺点是模型的缺点是分析分析设计人人员对应用用领域不熟悉,域不熟悉,难以一步到位以一步到位软件系件系统的的组装装货拆卸性不拆卸性不强,或者开,或者开发人人员全部把握全部把握水平不高(没有数据水平不高(没有数据库系系统设计专家家进行系行系统集成),集成),或者客或者客户不同意分不同意分阶段提交段提交产品,品,则不宜采用不宜采用该模型模型增量模型增量模型计划赶得上划赶得上变化的化的螺旋模型螺旋模型为了适了适应计划和划和变化两方面的因素,螺旋模型被提出化两方面的因素,螺旋模型被提出螺旋模型的外形的确很螺旋模型的外形的确很类似一个螺旋似一个螺旋确确认风险开始开始阶段段总结与与计划划下一下一阶段段评估与开估与开发产品品螺旋模型螺旋模型螺旋模型螺旋模型实际上是上是边做做边改模型和瀑布模型的有机改模型和瀑布模型的有机结合合螺旋模型是多次螺旋模型是多次计划,划,边做做边改,改,这样既保既保证了了软件开件开发任任务的清晰,也降低了开始一次的清晰,也降低了开始一次计划,因划,因为理解不完整或理解不完整或者市者市场变化后化后导致致项目失目失败的可能性的可能性螺旋模型螺旋模型螺旋模型螺旋模型软件分多个版本开件分多个版本开发,每个版本就是一次螺旋。,每个版本就是一次螺旋。每个版本按照每个版本按照这样的的顺序序进行:行:确定确定软件目件目标,选取定取定实施方案,弄清施方案,弄清项目开目开发的限制条件;(的限制条件;(图中左上象限)中左上象限)分析所分析所选取方案,考取方案,考虑如何如何识别和消除和消除风险;(图中右上象限)中右上象限)实施施软件开件开发;(;(图中右下象限)中右下象限)评价开价开发工作,提出修正建工作,提出修正建议,调整整计划。(划。(图中右下象限、左下象限)中右下象限、左下象限)需求不是一次需求不是一次获取和取和实现的,通的,通过多个螺旋来完善。多个螺旋来完善。计划也不是一次成型的,每次螺旋都需要划也不是一次成型的,每次螺旋都需要调整。整。统一一过程模型程模型RUP是是统一一软件件过程的程的缩写,英文全写写,英文全写为:Rational Unified Process增量、增量、进化、螺旋的共同特点是多个版本,而每个版本可化、螺旋的共同特点是多个版本,而每个版本可以以认为是一个是一个“小瀑布小瀑布”,对于每个版本,于每个版本,可以可以认为还是是要先完成前一步才能做下一步要先完成前一步才能做下一步RUP认为项目中的工作可以分成好几目中的工作可以分成好几类,而每一,而每一类工作在工作在整个整个项目周期都是持目周期都是持续进行的,只是不同工作在行的,只是不同工作在项目的不目的不同同时期比重不太一期比重不太一样统一一过程模型程模型统一一过程模型程模型过程模型中的主要模型元素有过程模型中的主要模型元素有 4 种:种:v 工作人员工作人员:谁做(谁):谁做(谁)-角色角色v 活动活动:怎么做(如何):怎么做(如何)v 制品制品:做什么(什么):做什么(什么)v 工作流工作流:何时做(什么):何时做(什么)设计师设计师用况分析用况分析用况设计用况设计用况实现用况实现活动活动工作人员工作人员制品制品统一一过程模型程模型在在RUP中,中,软件开件开发生生命周期根据生生命周期根据时间和和RUP的的核心核心工作流工作流划分划分为二二维空空间F时间维从从组织管理的角度描述整个管理的角度描述整个软件开件开发生命周期,生命周期,是是RUP的的动态组成部分成部分F核心工作流从技核心工作流从技术角度描述角度描述RUP的静的静态组成部分成部分具有迭代式的增量开具有迭代式的增量开发、使用、使用实例例驱动、以以软件体系件体系结构构为核心三个核心三个鲜明特点,明特点,这使得使得RUP非常适宜于开非常适宜于开发复复杂、技、技术难度大、需求多度大、需求多变、高、高风险的的项目目是是可裁剪的可裁剪的软件开件开发过程框架,各程框架,各组织可以根据自身及可以根据自身及项目特点目特点对RUP进行裁减,在某些情况下行裁减,在某些情况下RUP甚至可以甚至可以蜕化化为瀑布式开瀑布式开发模型模型。软件件过程模型程模型总结模型名称模型名称技术特点技术特点适用范围适用范围瀑布模型瀑布模型简单,分阶段,阶段间存在因果关系,各个阶段简单,分阶段,阶段间存在因果关系,各个阶段完成后都有评审,允许反馈,不支持用户参与,完成后都有评审,允许反馈,不支持用户参与,要求预先确定需求要求预先确定需求需求易于完善定义且不易变更的软需求易于完善定义且不易变更的软件系统件系统演化原型演化原型不要求需求预先定义,支持用户参与,支持需求不要求需求预先定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化的渐进式完善和确认,能够适应用户需求的变化需求复杂、难以确定、动态变化的需求复杂、难以确定、动态变化的软件系统软件系统增量模型增量模型软件产品是被增量式地一块块开发的,允许开发软件产品是被增量式地一块块开发的,允许开发活动并行和重叠活动并行和重叠技术风险较大、用户需求较为稳定技术风险较大、用户需求较为稳定的软件系统的软件系统螺旋模型螺旋模型结合瀑布模型、快速原型模型和迭代模型的思想,结合瀑布模型、快速原型模型和迭代模型的思想,并引进了风险分析活动并引进了风险分析活动需求难以获取和确定、软件开发风需求难以获取和确定、软件开发风险较大的软件系统险较大的软件系统RUPRUP可改造、扩展和剪裁,可以对它进行设计、开发、可改造、扩展和剪裁,可以对它进行设计、开发、维护和发布,强调迭代开发维护和发布,强调迭代开发复杂和需求难以获取和确定的软件复杂和需求难以获取和确定的软件系统,软件开发项目组拥有丰富的系统,软件开发项目组拥有丰富的软件开发和管理经验软件开发和管理经验请描述以下描述以下项目适合的目适合的软件件过程模型?程模型?案例案例生命周期生命周期模型模型原因原因一个一个发票打票打印印软件件瀑布瀑布流程比流程比较简单,根据客,根据客户需求定制,需求定制,制作完成后只需要制作完成后只需要经过小范小范围调整整即可即可一个外一个外贸交交易网站易网站演化演化先做一个原型,先做一个原型,给客客户看基本的界看基本的界面和操作流程,再修改,可以更接面和操作流程,再修改,可以更接近客近客户要求要求一个大型游一个大型游戏软件件增量增量后期修改比后期修改比较多,多,软件会不断改件会不断改进软件件项目管理的目管理的问题管理的范管理的范围软件件项目管理的第一个活目管理的第一个活动是是软件范件范围的确定。范的确定。范围可可以通以通过回答下列回答下列问题来定来定义背景:待建造的背景:待建造的软件如何适件如何适应于大型的系于大型的系统、产品或品或商商业的背景,在的背景,在该背景下要加什么背景下要加什么约束?束?信息目信息目标:软件要件要产生什么生什么样的客的客户可可见的数据的数据对象象来作来作为输出使用?需要什么出使用?需要什么样的数据的数据对象作象作为输入?入?功能和性能:功能和性能:软件要件要执行什么行什么样的功能才能使的功能才能使输入数入数据据变换成成为输出数据?需要出数据?需要满足什么特殊的性能特征足什么特殊的性能特征?软件件项目范目范围在管理在管理层和技和技术层都必都必须是无二是无二义性的性的和可理解的。和可理解的。软件件项目管理的目管理的问题管理的方法管理的方法问题分解分解合并合并问题和和过程程过程分解程分解作作业软件危机件危机产生的原因生的原因软件危机的主要表件危机的主要表现什么是什么是软件的生命周期件的生命周期软件工程件工程过程有哪几个基本程有哪几个基本过程活程活动?试说明之明之
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 金融资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!