《北京传智播客教育.ppt》由会员分享,可在线阅读,更多相关《北京传智播客教育.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育UMLUML讲师:讲师:佟佟 刚刚高级软件人才实作培训专家高级软件人才实作培训专家!软件设计和软件工程l任何事情都要先想清楚了才能做,软件开发更是如此!软件开发过程不可能一上来就开始盲目写代码,写代码之前必须搞清楚下面一些基本问题:要做什么?做成什么样?怎么去做?l软件设计软件设计:把软件开发想清楚的过程把软件开发想清楚的过程.l软件工程软件工程:对软件开发全过程进行对软件开发全过程进行建模建模和管理和管理.高级软件人才实作培训专家高级软件人才实作培训专家!模型l模型:对问题的书面上的无歧义文字或图形的描述.简言之,模型是对现实
2、的简化模型是对现实的简化.通过模型,人们可以了解所研究事物的本质.l最杰出的模型:地图高级软件人才实作培训专家高级软件人才实作培训专家!建模l建模:对现实系统进行适当的过滤对现实系统进行适当的过滤,用适当的表用适当的表现规则描述出简洁的模型现规则描述出简洁的模型.l建模是一种深入解决问题的方法建模是一种深入解决问题的方法.高级软件人才实作培训专家高级软件人才实作培训专家!建模的原则l(1).选择建立什么样的模型对如何发现和解决问题具有重要的影响。正确的模型正确的模型有助于提高开发者的洞察力。高级软件人才实作培训专家高级软件人才实作培训专家!建模的原则l(2).每个模型可以有多种表达方式.使用者
3、的使用者的身份和使用的原因是评判模型好坏的关键身份和使用的原因是评判模型好坏的关键。l(3).最好的模型总是能够切合实际.模型是现实的简化,必须保证简化保证简化过程不会掩盖任何重不会掩盖任何重要的细节要的细节。l(4).孤立的模型是不完整的孤立的模型是不完整的。高级软件人才实作培训专家高级软件人才实作培训专家!软件建模的实现过程l软件建模的作用软件建模的作用是把来源于现实世界的问题转化为计算机可以理解和实现的问题.l软件建模的实现过程软件建模的实现过程是从需求入手,用模型表达分析设计过程,最终将模型映射成软件实现.现实世界计算机世界映射需求模型编码高级软件人才实作培训专家高级软件人才实作培训专
4、家!UMLlUML(UnitedModelingLanguage,统一建模语言):是一种基于面向对象的可视化基于面向对象的可视化建模建模语言语言.lUML 采用了一组形象化的图形采用了一组形象化的图形(如类图)符号作为建模符号作为建模语言语言,使用这些符号可以形象地描述系统的各个方面lUML 通过建立图形之间的各种关系通过建立图形之间的各种关系(如类与类之间的关系)来描述模型来描述模型.高级软件人才实作培训专家高级软件人才实作培训专家!UML 中的图lUML中一共有10种图:类图类图*对象图包图组件图部署图用例图用例图*时序图时序图*协作图状态图活动图活动图*静态模型图:描述系统的静态结构动态
5、模型图:描述系统行为的各个方面高级软件人才实作培训专家高级软件人才实作培训专家!UML 中的关系lUML中的关系主要包括4种:关联关系关联关系(association)依赖关系依赖关系(dependency)泛化关系泛化关系(generalization)实现关系实现关系(realization)高级软件人才实作培训专家高级软件人才实作培训专家!UML 建模工具-Rose高级软件人才实作培训专家高级软件人才实作培训专家!用例图l用例图(UseCaseDiagram):也称为用户模型图,是从软件需求分析到最终实现的第一步,它是从客户的角度从客户的角度来描述系统功能来描述系统功能.l用例图包含3个
6、基本组件:参与者(Actor),用例(UseCase),关系:参与者(Actor):与系统打交道的人或其他系统即使用该系统即使用该系统 的人或事物的人或事物.在UML中参与者用人形图标表示用例(UseCase):代表系统的某项完整的功能代表系统的某项完整的功能.在UML中使用一个椭圆来表示关系:定义用例之间的关系-泛化关系,扩展关系,包含关系高级软件人才实作培训专家高级软件人才实作培训专家!用例之间的关系-泛化关系l泛化关系:表示同一业务目的表示同一业务目的(父用例父用例)的不同技术实的不同技术实现现(各个子用例各个子用例).在UML中,用例泛化用一个三角箭头从子用例指向父用例.以下是某购物网
7、站为用户提供不同的支付方式高级软件人才实作培训专家高级软件人才实作培训专家!用例之间的关系-包含关系l一个用例可以包含其他用例具有的行为可以包含其他用例具有的行为,并把它包含的用例行为作为自身行为的一部分.在UML中包含关系用虚线箭头加“”,箭头指向被包含的用例高级软件人才实作培训专家高级软件人才实作培训专家!用例之间的关系-扩展关系l如果在完成某个功能的时候偶尔会执行另外一个功偶尔会执行另外一个功能能,则用扩展关系表示.在UML中扩展关系用虚线箭头加“”,箭头指向被扩展的用例高级软件人才实作培训专家高级软件人才实作培训专家!用例图练习l下面是关于一个公司的人事信息管理系统的需求的简单描述,建
8、立其相应的用例模型:该人事管理系统该人事管理系统的用户是公司的的用户是公司的人事管理干部人事管理干部.该系统具有人事档案库,保存员工的人事信息保存员工的人事信息,包括姓名,性别,出生年月,健康状况,文化程度,学位,职称,岗位,聘任时间,任期,工资,津贴,奖罚记录,业绩,论著和家庭情况等,系统提供的基本服务有人事信息的管理人事信息的管理,包括人事包括人事规规定的权定的权调动与聘任调动与聘任,职称评定职称评定,奖罚等奖罚等,并且可以按按照限查询人事信息照限查询人事信息,生成与输出统计报表生成与输出统计报表等.该人事系统每月向公司的财务系统提供员工的工资向公司的财务系统提供员工的工资,津贴等津贴等数
9、据数据.高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!类图l类图是面向对象系统建模中最常用最常用的图.是定义其他图的基础.l类图主要是用来显示系统中的类显示系统中的类,接口以及它们之间接口以及它们之间的关系的关系.l类图包含的主要元素有类,接口和关系.其中关系有关联关系关联关系,泛化关系泛化关系,依赖关系依赖关系和实现关系实现关系.在类图中也可以包含注释和约束.高级软件人才实作培训专家高级软件人才实作培训专家!类的表示法l类是类图的主要组件,由3部分组成:类名,属性和方法.在UML中,类用矩形来表示,顶端部分存放类的名称,中间部分存放类的属
10、性,属性的类型及值,底部部分存放类的方法,方法的参数和返回类型.l在UML中可以根据实际情况有选择的隐藏属性部分或方法部分或两者都隐藏l在UML中,共有类型有+表示,私有类型用表示,保护类型用#表示.UML的工具开发商可以使用自己定义的符号表示不同的可见性高级软件人才实作培训专家高级软件人才实作培训专家!接口的表示法l接口中包含方法,但不包含属性.在UML中接口用一个带有名称的圆圈表示,并且通过一条实线与它的模型元素相连l有时候接口也使用普通类的举行符号表示高级软件人才实作培训专家高级软件人才实作培训专家!类之间的关系-泛化关系l在UML中,泛化关系泛化关系用来表示类与类,接口与接口之间的继承
11、关系继承关系.泛化关系有时也称为”is a kind of”关系l在UML中泛化关系用一条实线空心箭头有子类指向父类高级软件人才实作培训专家高级软件人才实作培训专家!类之间的关系-实现关系l在UML中,实现关系用来表示类与接口之间的实现类与接口之间的实现关系关系.l在UML中实现关系用一条虚线空心箭头由子类指向父类高级软件人才实作培训专家高级软件人才实作培训专家!类之间的关系-依赖关系l对于两个对于两个相对独立相对独立的系统,当一个系统负责构造另一个系统的实的系统,当一个系统负责构造另一个系统的实例,或者依赖另一个系统的服务时,这两个系统之间体现为依赖例,或者依赖另一个系统的服务时,这两个系统
12、之间体现为依赖关系关系.例如生产零件的机器和零件,机器负责构造零件对象;充电电池和充电器,充电电池通过充电器来充电;自行车Bicycle和打气筒Pump,自行车通过打气筒来充气l在现时生活中,通常不会为某一辆自行车配备专门的打气筒,而是在需要充气的时候,从附近某个修车棚里借个打气筒打气。在程序代码中,表现为Bicycle类的expand()方法有个Pump类型的参数。以下程序代码表示某辆自行车先后到两个修车棚里充气:高级软件人才实作培训专家高级软件人才实作培训专家!类之间的关系-关联关系l对于两个相对独立的系统,当一个系统的实例与另一个系统的一些对于两个相对独立的系统,当一个系统的实例与另一个
13、系统的一些特定实例存在特定实例存在固定的对应关系固定的对应关系时,这两个系统之间为关联关系时,这两个系统之间为关联关系。例如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司;自行车和主人,每辆自行车属于特定的主人,每个主人有特定的自行车。而充电电池和充电器之间就不存在固定的对应关系,同样自行车和打气筒之间也不存在固定的对应关系。lPerson 类与 Bicycle 类之间存在关联关系,这意味着在 Person 类中需要定义一个需要定义一个 Bicycle Bicycle 类型的成员变量类型的成员变量高级软件人才实作
14、培训专家高级软件人才实作培训专家!类之间的关系-关联关系l在现时生活中,当骑自行车去上班时,只要从家里推出自己的自行车就能上路了,不象给自行车打气那样,在需要打气时,还要四处去找修车棚。因此,在Person类的goToWork()方法中,调用自身的bicycle对象的run()方法。假如goToWork()方法采用以下的定义方式:l那就好比去上班前,还要先四处去借一辆自行车,然后才能去上班。高级软件人才实作培训专家高级软件人才实作培训专家!关联关系的名称l关联关系的名称:关联关系可以有一个名称,用于描述该关系的性质.此关联名称应该是动词短语,因为它表明源对象正在目标对象上执行动作.高级软件人才
15、实作培训专家高级软件人才实作培训专家!关联关系的角色l当一个类处于关联的某一端时,该类就在这个关系中扮演一个特定的角色.具体来说,角色就是关联关系角色就是关联关系中一个类对另一个类所表现的职责中一个类对另一个类所表现的职责.角色名称是名词或名称短语.高级软件人才实作培训专家高级软件人才实作培训专家!关联关系的多重性l关联关系的多重性是指有多少对象可以参与该关联,多重性可以用来表达一个取值范围,特定值,无限定的范围.高级软件人才实作培训专家高级软件人才实作培训专家!关联关系-聚合关系l聚合关联是一种特殊的关联聚合关联是一种特殊的关联.它表示类间的关系是整体与部分的关系.简言之:关联关系中的一个类
16、描述了一个较大的事物,它由较小的事物组成.l聚合关系描述了“has a”的关系,即整体对象拥有部分对象l整体和部分之间用空心菱形箭头的连线连接,箭头指向整体(下面图有误应该反火来)高级软件人才实作培训专家高级软件人才实作培训专家!关联关系-组成关系l组成关系是更强形式的聚合.l组合关系中,整件拥有部件的生命周期,所以整件删除时,部件一定会跟着删除.而且,多个整件不可以同时共享同一个部件。l聚合关系中,整件不会拥有部件的生命周期,所以整件删除时,部件不会被删除.再者,多个整件可以共享同一个部件.lUML中组成关系用实心的菱形实线表示l(这个图也反了)高级软件人才实作培训专家高级软件人才实作培训专
17、家!关联关系-导航性l导航性表示可从源类的任何对象到目标类的一个或多个对象遍历.即:给定源类的一个对象,可以得到目标类的所有对象.可以在关联关系上加上箭头表示导航方向.l只在一个方向上可以导航的关联称为单向关联,用一个带箭头的方向表示;在两个方向上都可以导航的关联称为双向关联,用一条没有箭头的实线表示.高级软件人才实作培训专家高级软件人才实作培训专家!类图练习1l根据以下网友描述出艺人之间关系的”类图”高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!类图练习2l汽车和自行车都是交通工具(vehicle).一辆自行车(bicycle)只归一个人
18、(person)所有,但一辆汽车(auto)可归一个人或两个人所有.一个人可能没有自行车或汽车,也可能有多辆自行车或汽车.人分为男人(male)和女人(female).每个人都有年龄(age)和名字(name).每辆交通工具都有自己的颜色(color)和商标(brand).每辆汽车都只有两个前灯(headlight)和一台发动机(motor)高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!类图练习3l根据给定的类画出它们的类图高级软件人才实作培训专家高级软件人才实作培训专家!时序图l时序图用于描述对象之间的传递消息的时间顺序对象之间的传递消息
19、的时间顺序,即用例中的行为顺序.l当执行一个用例时,时序图中的每条消息对应了一个类操作或者引起转换的触发事件.l在UML中,时序图表示为一个二维的关系图二维的关系图,其中,纵轴是时间轴,时间延竖线向下延伸.横轴代表在协作中各个独立的对象.当对象存在时,生命线用一条虚线表示,消息用从一个对象的生命线到另一个对象的生命线的箭头表示.箭头以时间的顺序在图中上下排列.高级软件人才实作培训专家高级软件人才实作培训专家!ATM 用户成功登陆的时序图高级软件人才实作培训专家高级软件人才实作培训专家!时序图中的基本概念l对象:时序图中对象使用矩形表示,并且对象名称下有下划线.将对象置于时序图的顶部说明在交互开
20、始时对象就已经存在了.如果对象的位置不在顶部,表示对象是在交互的过程中被创建的.l生命线:生命线是一条垂直的虚线.表示时序图中的对象在一段生命周期内的存在.每个对象底部中心的位置都带有生命线.l消息:两个对象之间的单路通信.从发送方指向接收方.在时序图中很少使用返回消息.高级软件人才实作培训专家高级软件人才实作培训专家!时序图中的基本概念l激活:时序图可以描述对象的激活和钝化.激活表示该对象被占用已完成某个任务.钝化指对象处于空闲状态,等待消息.在UML中,对象的激活时将对象的生命线拓宽为矩形来表示的.矩形称为计划条或控制期.对象就是在激活条的顶部被激活的.对象在完成自己的工作后被钝化.l对象
21、的创建和销毁:在时序图中,对象的默认位置是在图的顶部.这说明对象在交互开始之前就已经存在了.如果对象是在交互过程中创建的,那么就应该将对象放到中间部分.如果要撤销一个对象,在其生命线终止点处放置“X”符号.高级软件人才实作培训专家高级软件人才实作培训专家!时序图练习1高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!画出三层架构成功登陆的时序图高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!活动图l在UML中,活动图本质上就是流程图流程图.它用于描述系统的活动,判定点和分支等.高级软件人才实作
22、培训专家高级软件人才实作培训专家!活动图中的基本概念l动作状态:原子的原子的,不可中断的动作不可中断的动作,并在此动作完成之后向另一个动作转变.在UML中动作状态用圆角矩形表示,动作状态所表示的动作写在圆角矩形内部.l分支与合并:分支在软件系统中很常见.一般用于表示对象类所具有的条件行为.用一个布尔型表达式的用一个布尔型表达式的真假来判定动作的流向真假来判定动作的流向.条件行为用分支和合并表达.在活动图中,分支用空心小菱形表示.分支包括一分支包括一个入转换和个入转换和两个带条件两个带条件的出转换的出转换,出转换的条件应该是互斥的,须保证只有一条出转换能够被触发.合并包含两个带条件的入转换和一个
23、出转换.高级软件人才实作培训专家高级软件人才实作培训专家!活动图中的基本概念l分叉与汇合:分叉用来描述并发线程分叉用来描述并发线程,每个分叉可以有一个输入转换和两个或多个输出转换两个或多个输出转换.每个转换都可以是独立的控制流.汇合代表两个或多个并发控制流同步发生,当所有的控制流都达到汇合点后,控制才能继续往下进行.每个汇合可以有两个或多个输入转换和一个输出转换.在UML中分叉和汇合用一条粗直线表示l泳道:泳道将活动图中的活动划分为若干组,并将每一组指定给负责这组活动的业务组织.泳道区分负责泳道区分负责活动的对象活动的对象,明确地表示哪些活动是由哪些对象进行明确地表示哪些活动是由哪些对象进行的
24、的.每个活动指定明确地属于一个泳道.在活动图中,泳道用垂直实线绘出,垂直线分隔的区域即为泳道高级软件人才实作培训专家高级软件人才实作培训专家!用户登录活动图高级软件人才实作培训专家高级软件人才实作培训专家!活动图练习l某公司销售人员接到订单后,将订单传给财务人员和仓库人员.财务人员开具发票,并收款.仓库人员准备货物,并查看是否货物加急,若是加急采用EMS方式发货,否则采用普通包裹方式发货.完成之后由销售人员关闭该订单.根据上面描述画出该公司销售过程的活动图.高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!状态图l状态图:通过建立对象的生存周期
25、模型来描述对象随时间变化的动态行为.高级软件人才实作培训专家高级软件人才实作培训专家!状态图中的基本概念l状态:用圆角矩形表示.状态名称表示状态的名字,通常用字符串表示.一个状态的名称在状态图所在的上下文中应该是唯一的.l转换:用带箭头的直线表示.一端连着源状态,一端连着目标状态.l初始状态:每个状态图都有一个初始状态.此状态代表状态图的起始位置.初始状态只能作为转换的源,不能作为转换的目标,并且在状态图中只能有一个.初始状态用一个实心圆表示.l终止状态:模型元素的最后状态,是一个状态图的终止点.终止状态在一个状态图中可以有多个.高级软件人才实作培训专家高级软件人才实作培训专家!协作图l协作图
26、(也叫合作图)是一种交互图.l时序图主要侧重于对象间消息传递在时间上的先后关系,而协作图表达对象间的交互过程及对象间的关协作图表达对象间的交互过程及对象间的关联关系联关系。高级软件人才实作培训专家高级软件人才实作培训专家!协作图高级软件人才实作培训专家高级软件人才实作培训专家!对象图简介l对象图是类图的一个实例,用于显示系统执行时的一个可能的快照.即在某一个时间上系统可能出现的样子.对象图用带下划线的对象名称来表示对象.person:Personname:String=Tomage:int=12高级软件人才实作培训专家高级软件人才实作培训专家!包图简介l包图:由包和包之间的关系组成.包的图标就
27、如同一个带标签的文件夹.l包提供了一种用于组织各种元素的分组机制.在UML中,包用来对元素进行分组,并为这些元素提供命名空间.包所拥有的或者引用的所有元素称为包的内容,包没有实例.高级软件人才实作培训专家高级软件人才实作培训专家!组件图简介l组件图用来建立系统中各组件之间的关系,各组件通过功能组织在一起.lJavabean,ejb,jsp都是组件。在UML中,组件使用在左侧有两个小矩形的大矩形来表示。l组件图可以用来设计系统的整体构架。高级软件人才实作培训专家高级软件人才实作培训专家!部署图简介l部署图用来帮助开发者了解软件中的各个组件驻留在什么硬件位置,以及这些硬件之间的交互关系。l节点:用
28、来表示一种硬件,可以是打印机,计算机等.节点的标记符号是一个三维框,在框的左上方包含了节点的名称。l通信关联:节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。高级软件人才实作培训专家高级软件人才实作培训专家!软件的生命周期概述l软件生命周期:软件的产生直到报废的生命周期软件的产生直到报废的生命周期l软件生命周期内有问题定义有问题定义,可行性分析可行性分析,总体描述总体描述,系统设计系统设计,编码编码,调试和测试调试和测试,验收与运行验收与运行,维护升级维护升级到废弃废弃等阶段l随着新的面向对象的设计方法和技术的成熟,软件生命周期设计方法的指导意义正在逐步减少.高级软件人才实
29、作培训专家高级软件人才实作培训专家!软件的生命周期分解l软件工程可以分为三个大的阶段三个大的阶段:需求需求;设计设计;测试与测试与维护维护l1.需求:开发目标可行性分析需求分析l2.设计:概要设计详细设计编码与单元测试l3.测试与维护综合测试维护高级软件人才实作培训专家高级软件人才实作培训专家!软件的生命周期详解1、问题的定义及规划问题的定义及规划(可行性分析报告和软件开发计划):此阶段是软件开发方与需求方共同讨 论,主要确定软件的开发目标开发目标及其可行性可行性。2、需求分析需求分析(需求分析说明书和初步的用户手册):在确定软件开发可行的情况下,对软件需要 实现的各个功能进行详细分析。需求分
30、析阶段是一个很重要的阶段,这一阶段做得好,将为 整个软件开发项目的成功打下良好的基础。3、软件设计软件设计(概要设计概要设计、详细设计详细设计):此阶段主要根据需求分析的结果,对整个软件系统进行设 计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。4、程序程序编码编码(提交源程序及清单):此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提 高程序的运行效率。5、软件软件测试测试(提交软件维护测试报告):在软件设计完成后要经过严密的测试,以发现软件在整 个设计过程中存在的问题并加以纠正。整个
31、测试过程分单元测试(白盒白盒)、集成测试(黑黑 盒盒,功能测试、强度性能测试)以及系统测试三个阶段进行。测试的方法主要有白盒测试和 黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减 少测试的随意性。6、运行运行维护维护(提交软件维护报告):软件维护是软件生命周期中持续时间最长的阶段。在软件 开发完成并投入使后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使 用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。高级软件人才实作培训专家高级软件人才实作培训专家!软件的生命周期-瀑布模型l瀑布模型是传统的软件生存周期模式l瀑布模型
32、的特点是:l1).各阶段间具有顺序性和依赖性各阶段间具有顺序性和依赖性:后一阶段工作必须在前一阶段工作完成后才能进行。l2).质量保证机制的依赖性质量保证机制的依赖性。即每一步都必须循序渐进,及早消除故障隐患,保证本阶段的工作的质量,从而达到保证整体软件质量的目的。l3).推迟实现原则推迟实现原则。前一阶段工作做的越细,越扎实,后一阶段工作进行的就越顺利,强调”宁慢宁慢求好求好”。因此,各阶段工作总是一拖再拖,致使整各阶段工作总是一拖再拖,致使整个工期推迟实现。显然瀑布模型不能满足呈爆炸个工期推迟实现。显然瀑布模型不能满足呈爆炸状增长的社会应用需求状增长的社会应用需求高级软件人才实作培训专家高
33、级软件人才实作培训专家!软件的生命周期-RUPl统一软件开发过程(RationalUnifiedProcess,RUP):一个一个通用的软件流程框架通用的软件流程框架,以架构为中心以架构为中心,用例驱动用例驱动的的迭代迭代化化开发流程开发流程.RUP是从几千个软件项目的实践经验中总结出来的,对于实际的项目具有很强的指导意义.lRUP用二维坐标来描述用二维坐标来描述.横轴通过时间来组织横轴通过时间来组织,是过程展开的生命周期特征,体现开发过程的动态结构;纵轴以内纵轴以内容来组织容来组织,体现开发过程的静态结构.高级软件人才实作培训专家高级软件人才实作培训专家!软件的生命周期-RUP高级软件人才实
34、作培训专家高级软件人才实作培训专家!RUP 中软件生命周期的四个阶段l初始阶段:“获得项目的基础”.该阶段的主要人员是项目经理和系统设计师.所要完成的主要任务包括对系统的可行对系统的可行性分析性分析;创建基本的需求创建基本的需求;识别系统的识别系统的关键关键任务任务.l细化:主要目标是创建可执行构件基线创建可执行构件基线;精化风险评估精化风险评估;捕捕捉大部分的系统功能需求用例捉大部分的系统功能需求用例;为构造阶段创建详细需求为构造阶段创建详细需求.该阶段并不是要创建可执行的系统,而是展现用户所期望的需求.l构建:完成所有的需求,分析和设计.该阶段的制品将演化制品将演化成最终系统成最终系统l交
35、付:将完整的系统部署到用户所处的环境中部署到用户所处的环境中.高级软件人才实作培训专家高级软件人才实作培训专家!RUP 中的核心工作流 lRUP中有9个核心工作流.分为6个核心过程工作流(CoreProcessWorkflows)和3个核心支持工作流(CoreSupportingWorkflows).尽管6个核心过程工作流类似于传统瀑布模型中的几个阶段,但迭代过程中的阶段是完全不同的,这些工作流在这些工作流在项目中轮流被使用,在每一次迭代在每一次迭代中以不同的重点和强度重复中以不同的重点和强度重复.整个生命周期中一次又一次整个生命周期中一次又一次被访问被访问.9个核心工作流在高级软件人才实作培
36、训专家高级软件人才实作培训专家!RUP 中的核心工作流(1)l商业建模:理解目标客户的商业结构及商业运作理解目标客户的商业结构及商业运作.为目标系统描述一个构想.l需求分析:描述系统应该做什么描述系统应该做什么,并使开发人员和用户就这一描述达成共识.l分析和设计l实现l测试l部署高级软件人才实作培训专家高级软件人才实作培训专家!RUP 中的核心工作流(2)l配置和变更管理:对重复工作对重复工作,无效的改变进行控制和无效的改变进行控制和监视监视,以避免由此产生的混乱以避免由此产生的混乱.跟踪软件创建过程中的版本.l项目管理:平衡各种可能产生冲突平衡各种可能产生冲突,管理风险,克服各种约束并成功交付使用户满意的产品l环境:软件开发环境软件开发环境.