版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目管理理论与实践项目管理理论与实践企业项目管理介绍一、企业项目管理的概念1. 什么是项目管理 这里把“项目管理”关键词拆解为2个词:项目、管理。项目:为完成某一独特产品或服务所做的一次性努力。管理:同别人一起,或通过别人使活动完成得更有效的过程。项目管理:把各种系统、方法、人员结合在一起,在规定的时间、预算和质量目标范围内完成项目的各项工作。2. 项目管理都管理什么项目范围管理,项目时间管理,项目成本管理,项目质量管理,其他相关的包括:人力资源管理,沟通管理,风险管理,采购管理,整体管理3. 项目管理的演变1)针对单个项目的管理将“一次性任务”作为项目管理的对象,关注于“单个项目”的成功。当
2、在同一组织背景下开展多个项目时,由于每个项目都只追求自身目标的实现,结果各个项目之间互相牵制,导致“单个项目”的目标无法实现;或者实现了部分“单个项目”的目标,但整个组织的长期性战略目标却未能实现。2)早期的企业项目管理早期的企业项目管理是针对项目型公司而提出的,指的是“管理整个企业范围内的项目”(managing projects across an enterprise),即着眼于企业总体战略目标的实现,而对企业中的诸多项目实施管理。随着经济全球化的深入,各个企业对有限资源的争夺越来越激烈,这要求企业必须能够对有限的资源在时间、成本、质量三个方面进行全方面、全过程的控制,同时以企业战略目标
3、为导向来指导企业的经营管理活动,而项目管理方法正好符合了这种要求。3)企业传统的作业业务日趋项目化买方市场出现,顾客需求日趋个性化、多样化,这使得产品生产逐渐具备了项目的独立性特征。 高新技术不断涌现,产品在市场上的生命周期越来越短,一种产品从创意到退市的全过程具备了项目的一次性特征。 因此,除项目型企业外,传统的生产作业型企业也开始广泛地应用项目管理方法来管理自身的经营活动。这使得企业的管理活动由 “面向过程” ,转变为 “面向对象” 。4. 企业项目管理所谓企业项目管理,就是站在企业高层管理者角度对企业中各种各样的任务进行项目管理,其主导思想是将企业的运作当作或者参照项目来进行管理(man
4、agement by project),这是一种以项目为中心的长期性组织管理方式,其核心是基于项目管理的组织管理体系。 5. 企业项目要求能干的员工,一个企业的成败,人才还是很重要的。其中的角色可包括:执行董事、it经理、产品经理、项目经理、团队成员等等。标准的流程,没有一个合理的标准制约,会使一个企业杂乱无章,无规则可循。扁平的组织,是指在组织的决策层和操作层之间的中间管理层级越少越好,以便组织尽最大可能将决策权延至最远的底层,从而提高企业的效率。强大的技术,没有强大的项目管理工具做为支持,项目管理将会非常混乱。参看以下的图:二、企业项目管理成功要素1. 确定远景1)为什么需要确定远景这个根
5、据项目中的各个角色的分配而不同。执行董事是为了实现企业战略目标;项目经理是为了更有效的项目管理;it人员是为了构建安全稳定的系统;资源经理室为了更合理地利用资源,这都需要整个团队良好的协作。而企业项目管理的成功需要全体成员的共同努力与密切配合。远景为企业员工确立了共同的目标,指明了努力的方向。2)如何确定远景确定企业的商业目标确定项目管理系统在功能与性能方面的需求充分认识到实施企业项目管理对企业员工、业务流程以及组织结构的影响 明确企业在项目管理成熟度方面的现状与目标2. 制定计划1)如何制定计划列出企业面临的主要挑战找出产生挑战的原因明确挑战对企业产生的影响,包括:那些方面会受影响?会受到怎
6、样的影响?仔细了解决策层的需求让决策层了解企业项目管理对企业产生的积极影响规划出决策层所期望的远景制定衡量成功的指标量化企业项目管理对企业产生的各种影响定义企业项目管理成功的标准明确投资收益率 (roi) 的变化明确需要具备的项目管理能力明确需要具备的技术实施能力,系统管理、数据库管理、工程服务管理、网络管理等等;制定实施计划,确定范围与目标、确定时间表、风险识别、变更控制等等;循序渐进,分布实施,方案论证、部门试点、跨部门实施、企业整体实施等等;三、企业项目管理最佳实践1. 保持一致性统一的业务流程、统一的术语、统一的项目管理方法、统一的项目管理系统、统一的数据存储2. 尽早取得决策层的认可
7、与支持3. 循序渐进,分布实施4. 灵活处理变化总结:企业项目管理是一门很重要的课程,对于企业项目的计划与实施至关重要。项目管理理论与实践软件需求分析本章主要是对于软件需求分析相关的介绍。一、需求分析的目的1. 马斯洛的需求层次理论具体可以参考:(2. 需求分析的目的1)与相关干系人在工作内容方面达成并保持一致2)使设计、开发、测试人员能够更清楚地了解需求3)定义系统边界,形成需求基线4)为估算系统的规模、工作量、成本和进度提供基础5)为开发计划的形成提供范围(sow)基础二、需求工程概述1. 什么是需求工程?用一张图可以形象的表示需求也属于一门工程学,需求工程包括需求开发、需求管理两个方面,
8、其中需求开发包括需求开发准备、需求获取、需求分析、需求验证。2. 需求分析的流程图三、需求获取1. 需求获取的基本原则1)深入浅出对企业的需求调研的要尽可能的全面、细致调研的需求是个全集,系统真正实现的是个子集。调研的细致并不等于在分析时都面面俱到地将调研的内容纳入到新系统中, 而有可能实现的很少,但其中在向细处扩充时将会很容易。2)以流程为主线应该用流程将所有的内容串起来,如单据、信息、组织结构、处理规则等。流程的描述既要有宏观,又要有微观。3)鱼刺图石川图,鱼骨图, ishikawa图2. 六边形法则1)组织结构:企业为进行相应的业务流程所做的人员的组织安排。2)业务流程:企业开展业务所必
9、须的各个环节及在每个环节中的具体做法。3)业务数据:企业内部经营信息的存储和流动形式。4)业务地点分布:反映企业在什么地方开展业务以及业务流程中的各个环节之间的地点关系。5)业务应用:企业以什么样的应用软件处理业务流程中的各个环节。6)技术基础设施:企业在信息技术基础设施上的状况。五、需求分析 1. 绘制关联图1)用于定义系统与系统外部实体间的界限和接口的简单模型。 2)明确了通过接口的信息流和物流。2. 创建开发原型1)使得许多概念和可能发生的事更为直观明了。2)用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题。3. 确定需求优先级1)应用分析方法来确定使用实例、产品特性或单项需
10、求实现的优先级别。2)以优先级为基础确定产品版本将包括哪些特性或哪类需求。3)帕雷托图定理(pareto,2,8定理)4. 为需求建立模型1)是软件需求规格说明极好的补充说明。2)它们能提供不同的信息与关系以有助于找到不正确的、不一致的、遗漏的和冗余的需求。3)这样的模型包括用例图、流程图、实体关系图、状态图、时序图、类图、对象类及交互调用图。例如:并且书写用例情况用例名称:网站新闻发布用例标识号:102角色:后台系统管理员用例说明:后台系统管理员用来填写和修改物流网站首页的新闻,新闻最终显示在物流网站的首页上。前置条件:后台系统管理员已经登录物流网站后台管理系统基本事件流:1 选择发布新闻2
11、 填写新闻标题,内容以及上传图片3 修改标题、内容、图片,也可以完全删除,重填新闻信息4 编辑完成,选择提交5 用例终止其他事件流:在提交之前,随时可以返回,任何修改内容都不会影响网站首页的新闻异常事件流:1 提示图片大小超过范围错误信息,重新上传,2 返回到后台管理系统主页面后置条件:网站首页的新闻信息被更新注释:无 5. 编写数据字典1)创建数据字典,数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。2)在需求阶段,数据字典至少应定义客户数据项以确保客户与开发小组是使用一致的定义和术语。6. 应用质量功能调配要1)将产品特性、属性与对客户的重要性联系起来。2)
12、明确那些是客户最为关注的特性。3)将需求分为三类:期望需求,即客户或许并未提及,但如若缺少会让他们感到不满意普通需求兴奋需求,即实现了会给客户带去惊喜,但若未实现也不会受到责备六、编写需求规则说明书1. 采用软件需求规格说明模版1)为记录功能需求和各种其它与需求相关的重要信息提供了统一的结构。2)其目的并非是创建一种全新的模板,而是采用一种已有的且可满足项目需要并适合项目特点的模板。2. 指明需求的来源1)为了让所有项目风险承担者明白需求规格说明书中为何提供这些功能需求,要都能追溯每项需求的来源;2)可能是一种使用实例或其它客户要求,也可能是某项更高层系统需求、业务规范、政府法规、标准或别的外
13、部来源。3. 为每项需求注上标号1)可跟踪性和可修改性的质量标准,必须唯一确定每个软件需求。2)为每项需求注上标号制定一种惯例来为需求规格说明书中的每项需求提供一个独立的可识别的标号或记号。3)这种惯例应当很健全,允许增加、删除和修改。4)作了标号的需求使得需求能被跟踪,记录需求变更并为需求状态和变更活动建立度量。5)需求标识方法有序列号;层次化编码;使用待确定(to be determined, tbd)符号等。4. 记录业务规范1)是指关于产品的操作原则,比如谁能在什么情况下采取什么动作。2)将这些编写成需求规格说明书中的一个独立部分,或一独立的业务规范文档。七、需求验证1. 审查需求文档
14、1)在需求开发期间进行非正式评审。2)对需求文档进行正式审查是保证软件质量的很有效的方法。3)组织一个由不同代表(如分析人员,客户,设计人员,测试人员)组成的小组,对需求规格说明书及相关模型进行仔细的检查。2. 依据需求编写测试用例1)根据用户需求所要求的产品特性写出黑盒功能测试用例。2)客户通过使用测试用例以确认是否达到了期望的要求。3)从测试用例追溯回功能需求以确保没有需求被疏忽,并且确保所有测试结果与测试用例相一致。4)要使用测试用例来验证需求模型的正确性,如对话框图和原型等。3. 确定合格的标准1)确定合格的标准让用户描述什么样的产品才算满足他们的要求和适合他们使用的。2)将合格的测试
15、建立在使用情景描述或使用实例的基础之上。4. 需求确认签字1)在主要的业务清楚以后即可以进行需求确认2)目的是确定需求基线3)不要期望所有的需求在签字后不变八、需求管理1. 需求基线1)软件需求规格说明及相关分析模型。经评审批准,这些文档就定义了开发工作的需求基线;2)建立需求基准版本和需求控制版本文档确定一个需求基准,这是一致性需求在特定时刻的快照;3)之后的需求变更就遵循变更控制过程;4)每个版本的需求规格说明都必须是独立说明,以避免将底稿和基准或新旧版本相混淆。2. 需求变更控制1)确定需求变更控制过程,确定一个选择、分析和决策需求变更的过程。2)需求变更控制流程3. 建立变更控制委员会
16、1)组织一个由项目风险承担者组成的小组作为变更控制委员会,由他们来确定进行哪些需求变更,此变更是否在项目范围内,估价它们,并对此评估作出决策以确定选择哪些,放弃哪些,并设置实现的优先顺序,制定目标版本;2)变更控制委员会成员可以是甲方与乙方的人员共同组成;3)定期进行需求变更评审会议;4)每次评审要有评审报告。4. 需求变更影响评估1)进行需求变更影响分析,应评估每项选择的需求变更,以确定它对项目计划安排和其它需求的影响。2)明确与变更相关的任务并评估完成这些任务需要的工作量。5. 需求变更时,修改需求跟踪能力矩阵1)跟踪所有受需求变更影响的工作产品当进行某项需求变更时,参照需求跟踪能力矩阵找
17、到相关的其它需求、设计模板、源代码和测试用例,这些相关部分可能也需要修改。6. 维护需求变更的历史记录1)记录变更需求文档版本的日期以及所做的变更、原因,还包括由谁负责更新和更新的新版本号等。2)在需求基线的基础上记录变更历史记录;3)针对每一个需求形成一个单独记录;通过对于软件需求分析的学习,知道需求分析要承担着很多风险,因此做好计划以及风险控制是非常重要的。项目管理理论与实践如何进行有效的项目管理对于具有成功并有效的项目管理经验的项目经理,还是非常难得的。因为项目管理并不是一件很简单的事情。虽然自己对于项目管理的理解还是处于初级阶段,但是利用自己学习到的理论知识,还是想做一次归纳,希望对大
18、家能够受用。那么就开始本篇文章。一、项目是什么?1. 项目的概念项目:在一段时间内完成某一独特的产品、服务或过程结果所进行努力地过程!存在着人力、资源、时间、成本、质量上的控制。2. 项目的基本特征1)一次性。这是项目与日常运作的最大区别。项目有明确的开始时间和结束时间,项目在此之前从来没有发生过,而且将来也不会在同样的条件下再发生,而日常运作是无休止或重复的活动。2)独特性。每个项目都有自己的特点,每个项目都不同于其他的项目。项目所产生的产品、服务或完成的任务与已有的相似产品、服务或任务在某些方面有明显的差别。项目自身有具体的时间期限、费用和性能质量等方面的要求。因此,项目的过程具有自身的独
19、特性。3)目标的明确性。每个项目都有自己明确的目标,为了在一定的约束条件下达到目标,项目经理在项目实施以前必须进行周密的计划,事实上,项目实施过程中的各项工作都是为项目的预定目标而进行的。4)组织的临时性和开放性。项目开始时需要建立项目组织,项目组织中的成员及其职能在项目的执行过程中将不断地变化,项目结束时项目组织将会解散,因此项 目组织具有临时性。一个项目往往需要多个甚至几百上千个单位共同协作,它们通过合同、协议以及其他的社会联系组合在一起,可见项目组织没有严格的边界。5)后果的不可挽回性。项目具有较大的不确定性,它的过程是渐进的,潜伏着各种风险。它不像有些事情可以试做,或失败了可以重来,即
20、项目具有不可逆转性。二、项目管理管什么?1. 项目管理的概念项目管理:就是把知识、技能、工具和技术应用于项目各项活动中,以实现项目干系人(利益相关者)对项目的要求和期望,是对变化的管理以及时一种理论和方法。2. 项目的三种约束成功的项目必须满足客户、管理层和供应商在时间、成本和质量上的不同要求,任何一个变化都会引发另外两个的变化。3. 项目干系人项目干系人(stakeholder)是指积极参与项目、其利益受到该项目影响的个人或组织。或者大家可以简单的理解成项目所牵扯到的所有人。一般地,下列人员或组织可能成为项目的干系人:1)项目经理负责管理项目的个人。2)客户(业主、项目发起人)以现金或实物为
21、项目提供资金来源,使用项目成果的个人或组织。客户可能是多层次的。3)政府机构负责项目的审批及指导。4)项目承约商承接项目满足客户需求的个人或组织。5)组织内的参与者组织内部与项目有关的人或部门,包括上层管理人员、项目团队成员、采购部门等。6)供应商为项目提供原材料、设备、工具等物资设备的个人或组织。7)其他金融机构为项目融通债务资本。8)其他受项目结果影响的组织或个人,如社区公众等。由于不同的项目干系人对于项目的期望和要求不同,项目干系人之间的利益关系既有一致的一面,也有冲突的一面。如客户希望尽量降低项目的成本或造价收益高, 时间短,质量合格;项目承约商希望客户支付尽量高的成本或造价,获取优厚
22、的利润等。对于这些可能发生的利益关系,项目经理必须给予充分的重视,因为从人的 角度而言,项目干系人是影响项目成功的最重要因素,所以识别、分析哪些是项目干系人,并且明确他们各自的需求和期望是至关重要的,只有这样才能很好地协调 项目干系人各方的利益关系,确保项目获得成功。一个比较大的项目往往牵扯到方方面面的人,各个方面的干系人都代表各自不同的利益参与到项目中来,而他们之间的关系经常用合同或协议等方式加以联系和规范,因此,如何管理的协调各项目干系人是一个很大的课题。4. 列出项目干系人,分析其基本需求你需要罗列你的项目关系人,可以根据以下表格进行填写:5. 项目生命周期项目生命周期的阶段划分:1)一
23、般按时间顺序划分为项目阶段2)每个阶段以主要的可交付成果组成3)由实施项目的执行组织根据控制需要决定项目生命周期的主要功能:1)用来定义一个项目的开始与借宿2)确定项目开始和项目结束之间过渡行动3)与项目执行组织日常运作建立适当联系三、项目管理阶段1. 启动阶段:1)立项申请立项是项目前期工作的重要一环,其中可行性研究则是它的重要组成部分。可行性研究是对拟实施项目作详尽的技术经济分析和多方案比较,提出评价,从而对项目是否合理和可行性作出结论的过程。通过这个过程,储备一些可供选择的项目,使项目投资决策的基础工作超前;或取消一些不合理、不可行的项目,避免和减少投资决策的失误。2)组建项目组一个配置
24、合理、团队合作的项目组是项目的核心,也是项目成功的保障。组建项目是应该考虑:建立一个结构合理的项目组(obs);寻找合适的人选,了解他们的技术、管理方面的优劣势,争取职能部门的支持。输出:项目成员表项目组结构:主要由赞助人(sponsor)、项目经理、核心团队、外围团队构成。项目赞助人的责任,通常对项目提供资金和支持职责:1)挑选并任命项目经理,批准项目核心成员的组成;2)提供资金及审批重大财务事项;3)监控项目组执行情况;4)项目经理的求助对象;项目经理的责任,直接对项目赞助人负责,保证项目的成功的实施:1)与项目赞助人协商,就项目的目标(qtc)和所需的资源达成共识;2)挑选核心成员, 并
25、取得他们的支持;3)在项目的进程中不断了解客户的需求;4)在项目计划过程中领导小组及指导小组成员;5)保证与项目干系人的沟通并汇报项目的进 程;6)监督项目的进程,保证项目按时间计划执行;项目成员的责任,对项目经理负责,保证项目的完成:1)参与计划的制定;2)服从项目经理的指挥,执行计划分配的任务;3)配合其他小组成员工作;4)保证与项目经理沟通;3)策划/制作任务书项目策划/制作任务书的基本要素:描述、里程碑、项目评价标准、假定与约束条件、项目利益干系人。描述,了解项目背景及目的,包括项目需解决的问题,这是一个什么项目,为何要做这个项目。了解项目目标,包括成果,工期,成本等等。里程碑,通过制
26、定里程碑,可以知道项目各个阶段中的目标。评价标准,说明项目成果在何种情况下将被接受,何时项目将被终止或取消,项目成功标准的度量或验收规程。假设与约束条件,假设说明项目的主要假设条件;约束条件说明项目启动和实施过程中的限制性条件,将会影响项目的风险和成本。利益干系人,包括客户、高管、相关职能部门负责人、项目赞助人、项目经理,项目团队主要成员等等。4)项目开工会项目组成员的初步交流,相互了解营造一种良好的团队氛围就相关方面达成共识,比如项目目标、管理方式、工作方式等等。2. 计划阶段1)工作分解结构定义项目范围的目的,把项目的逻辑范围清楚地描述出来并获得认可;范围陈述被用来定义哪些工作室包括在该项
27、目内,而哪些工作又是在该项目之外;作为wbs分解的依据。项目范围与产品范围的区别,产品范围定义了产品或服务所包含的特性和功能;项目范围定义了为交付具有规定特定和功能的产品或服务所必须完成的工作。工作分解的原则遵循“大事化小”,将项目的任务按照一定逻辑进行逐渐层分解,分解到可预测、可管理的单个活动为止。通常而言,活动的长度应小于两周(80小时)2)活动排序方法,按照工作的客观规律排序;按照项目目标的要求排序;按照轻重缓急排序;按照项目本身的内在关系来排序;技巧,只用工作分解结构(wbs)的最低层次的;各项首先把最相关的项目排好(建一个子网),然后合并所有的子网;先不要担心资源、日期或工期!工具,
28、前导图3)资源、工期、成本估算资源估算,需要考虑我需要什么资源,什么时候需要,我获得所需资源 由谁拍板,估算方法采用专家判断法工期估算,项目范围和资源的相关信息,估计完成所有活动所需的工期。估算方法采用乐观、悲观和最可能的三点工期估算法,并进行平均值、标准差等有关计算来确定工期的方法。工期 = (a + 4b + c) / 6;也可以采用专家判断法,由项目经理组织1-3名团队成员对任务消耗的工期进行估算,并确定项目日程。成本估算,采用专家判断法,类比估算法(利用历史信息和专家判断,只有当满足一下条件才比较可靠:(a) 先前的项目不仅在表面上且在实质上和当前项目是类似的;(b) 做估算的个人或小
29、组具有必要经验),参数成本法(如确定项目成本与编写计算机程序代码行的关系,或者项目成本与美术资源制作工时的关系!4)进度计划进度计划根绝wbs、活动排序、工期预算和所需资源的结果进行分析,制定出项目进度计划,进度制定的工具有:关键路径法,甘特图。5)风险沟通计划识别风险,回顾你所列出的假设和限制,每一项代表一个风险;回顾wbs,每项作业或完成件哪里会出错;与你的团队进行头脑风暴;考虑以往项目中出现的问题;评估风险等级,考虑发生的可能性;考虑如果发生风险对项目的影响;风险应对方式,规避、转移、缓解、接受;沟通计划,分析利益干系人对项目的兴趣及影响程度,针对每个利益干系人制定沟通计划。沟通的三大原
30、则,及时、准确、信息量恰到好处。3. 实施、监控阶段1)沟通项目沟通的要点:1)项目组全体成员对目标达成共识;2)项目沟通计划和规则制定;3)互相尊重;4)主动倾听;5)双赢;有效沟通的关键要素:会前:1)事先了解为什么开会,以及预期要去的什么结果2)考虑是否可能取消会议3)确定需要参加的最少人数4)选择会议地点,会议的布置于会议目的相一致5)会前和关键与会者会议议题的持续时间进行沟通会中:1)做好准备,按时开始,并首先点明会议的目的和议程2)每位与会者都有发言的机会3)对会议内容进行口头总结会后:1)会后发布会议纪要给每位与会者2)会议必须产生明确的决定3)所有决定必须立即付诸行动2)项目监
31、控项目监控的方法与工具,应用项目进度计划表;建立项目基线;召集会议;观察/检查;跟踪行动计划;定期反馈及报告(进度报告、状态报告、阶段结束/月度评估报告)项目进度控制,实施监控过程中发现进度滞后,该怎么办?选择最近的、时间估算较多的工作包实施以下措施:投入更多的人;现有的人投入更多的时间(加班);换工作效率更高的人员去作;改进工作方法与工具,提高效率;缩小项目范围或降低活动质量要求;3)变更管理典型的变更管理过程,如下图变更管理的注意事项,1)变更发生时要首先确定“能做些什么,以 及不能做些什么”;2)确定全体都一致同意的方案,提出变更步骤,并就将要做出的变更进行评估;3)申请/审批修改后的计
32、划(修改部分);4)保持/共享 计划和信息最新状态;5)尽量做得“天衣无缝”,而且没有“痛苦”;4. 收尾阶段1)评估与验收2)项目总结开项目总结会议,撰写项目总结表3)文档归档总结:影响项目成功的因素有:项目的目标、范围是否明确;是否获得领导的积极支持;项目的组织是否健全、稳定;是否建立了有序的,有效的,良好的沟通渠道;是否具有有效、全面的项目管理,严格的变更控制;是否建立了良好的、积极的、团队合作的工作范围;项目经理的经验。而项目失败的主要因素有:缺少必需承担的义务和方向;没有项目策略上的一致性;变化中不明确的效益;不明确的目的或目标;组织与项目目标不一致;资源限制;不明确的职责;不断变化
33、的要求;没有最终用户介入;不规范,低效的沟通。项目管理理论与实践uml应用本篇文章介绍uml的相关知识。参考uml从入门到精通一、uml综述1. uml简介统一建模语言(uml)是一个通用的可视化建模语言,用于对软件 进行描述、可视化处理、构造和建立软件系统制品的文档。uml描述了一个系统的静态结构和动态行为。 uml将系统描述为一些离散的相互作用的对象并最终为外部用户提供一定功能的模型结构。静态结构定义了系统中重要对象的属性和操作以及这些对象之间的相互 关系。动态行为定义了对象的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度对系统建立的模型可用于不同的目的。uml不是一
34、门程 序设计语言,但可以使用代码生成器工具将 u m l模型转换为多种程序设计语言代码,或使用反向生成工具将程序源代码转换为uml。2. uml的目标uml语言的开发有多个目标。首先,最重要的目标是使 u m l成为一个通用的建模语言,可供所有建模者使用。其次,我们希望uml 尽可能地采用源自omt booch, objectory及其他主要方法的表示法,即使它能够很好地支持设计工作,如封装、分块、记录模型构造思路。此外,我们希望uml能准确表达当前软件开 发中的热点问题,比如大规模、分布、并发、方式和团体开发等。二、模型的性质与用途1. 什么是模型软件系统的模型用建模语言来表达,如uml。模
35、型包含语义信息和表示法,可以采取图形和文字等多种不同形式。建立模型的目的是因为在某些用途中模型使用起来比操纵实物更容易和方便。2. 模型的用途软件系统的不同模型可以捕获关于这个软件的应用领域、使用方法、 度量手段和构造模式等方面的需求信息。在编写程序代码以前,软件系统的模型可以帮助软件开发人员方便地研究软件的多种构架和设计方案。软件系统的一类模型 可以说明这个系统的外部行为和系统中对应于真实世界的有关信息,另一类模型可以展示系统中的类以及实现系统外部行为特性所需要的内部操作。实现这些行为有 多种方法。利用软件系统的模型,可以获得类的声明、过程体、用户界面、数据库、合法使用的说明、配置草案以及与
36、其他单位技术竞争情况的对比说明。软件系统 用视图来组织信息:静态结构视图、状态机视图、交互视图、反映需求的视图等等。三、uml初览本章使用的例子是计算机管理的戏院售票系统。1. uml视图在最上一层,视图被划分成三个视图域:结构分类、动态行为和模型管理。uml视图和图不同视图元素间的部分关系四、静态视图1. 概述静态视图是uml的基础。模型中静态视图的元素是应用中有意义的概念,这些概念包括真实世界中的概念、抽象的概念、实现方面的概念和计算机领域的概念,即系统中的各种概念。静态视图说明了对象的结构。一个面向对象的系统使数据结构和行为特征统一到一个独立的对象结构中。静态视图包括所有的传统数据结构思
37、想,同时也包括了数据操作的组织。数据和操作都可量化为类。静态视图将行为实体描述成离散的模型元素,但是不包括它们动态行为的细节。静态视图将这些行为实体看作是将被类所指定、拥有并使用的物体。静态视图中的关键元素是类元及它们之间的关系。类元是描述事物的建模元素。有几种类元,包括类、接口和数据类型。包括用例和信号在内的其他类元具体化了行为方面的事物。实现目的位于像子系统、构件和节点这几种类元之后。对象是从建模者理解和构造的系统中分离出来的离散单元。它是类的实例即,它是一个其结构和行为都由类来描述的具有身份的个体。对象是一个可识别的状态,该状态的行为能被激发。类元之间的关系有关联、泛化及各种不同的依赖关
38、系,包括实现和使用关系。2. 类元3. 关系类元之间的关系有关联、泛化、流及各种形式的依赖关系,包括实现关系和使用关系。关联关系描述了给定类的单独对象之间语义上的连接。关联提供了不同类间对象可以相互作用的连接。其余的关系涉及到类元自身的描述,而不是它们的实例。泛化关系使父类元(超类)与更具体的后代类元(子类)连接在一 起。泛化有利于类元的描述,可以不用多余的声明,每个声明都需加上从其父类继承来的描述。继承机制利用泛化关系的附加描述构造了完整的类元描述。泛化和继 承允许不同的类元分享属性、操作和它们共有的关系,而不用重复说明。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类之中则包
39、含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。流关系将一个对象的两个版本以连续的方式连接起来。它表示一个对象的值、状态和位置的转换。流关系可以将类元角色在一次相互作用中连接起来。流的种类包括变成(同一个对象的不同版本)和拷贝(从现有对象创造出一个新的对象)两种。依赖关系将行为和实现与影响其他类的类联系起来。除了实现关系以外,还有好几种依赖关系,包括跟踪关系(不同模型中元素之间的一种松散连接) 、精化关系(两个不同层次意义之间的一种映射) 、使用关系(在模型中需要另一个元素的存在) 、绑定关系(为模板参数指定值) 。使用依赖关系经常被用来表示具体实现间的关系,如代码
40、层实现关系。在概括模型的组织单元,例如包时,依赖关系很有用,它在其上显示了系统的构架。例如编译方面的约束可通过依赖关系来表示。4. 关联在关联中如果同一个类出现不止一次,那么一个单独的对象就可以与自己关联。一个类的关联的任何一个连接点都叫做关联端,与类有关的许多信息都附在它的端点上。关联端有名字(角色名)和可见性等特性,而最重要的特性则是多重性,即一个类的多个实例与另一个类的一个实例相关。如果一个关联既是类又是关联,即它是一个关联类,那么这个关联可以有它自己的属性。如果一个关联的属性在一组相关对象中是唯一的,那么它是一个限定符,限定符是用来在关联中从一组相关对象中标识出独特对象的值。聚集和组成
41、。聚集表示部分与整体关系的关联,它用端点带有空菱形的线段表示,空菱形与聚集类相连接。组成是更强形式的关联,整体有管理部分的特有的职责,它用一个实菱形物附在组成端表示。5. 泛化泛化关系是类元的一般描述和具体描述之间的关系,具体描述建立在一般描述的基础之上,并对其进行了扩展。泛化用从子指向父的箭头表示,指向父的是一个空三角形。泛化的用途。泛化有两个用途。第一个用途是用来定义下列情况:当 一个变量(如参数或过程变量)被声明承载某个给定类的值时,可使用类(或其他元素)的实例作为值,这被称作可替代性原则(由 barbara liskov提出);泛化的另一个用途是在共享祖先所定义的成分的前提下允许它自身
42、定义增加的描述,这被称作继承。继承是一种机制,通过该机制类的对象的 描述从类及其祖先的声明部分聚集起来。继承允许描述的共享部分只被声明一次而可以被许多类所共享,而不是在每个类中重复声明并使用它,这种共享机制减小了 模型的规模。6. 实现实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,其中接口只是行为的说明而不是结构或者实现。实现关系用一条带封闭空箭头的虚线来表示。7. 依赖依赖表示两个或多个模型元素之间语义上的关系。根据这个定义,关联和泛化都是依赖关系,但是它们有更特别的语义,故它们有自己的名字和详细的语义。依赖用一个从客户指向提供者的虚箭头表示:8. 约束约束用大括弧内的文
43、字表达式来表示,可以使用形式语言或自然语言。文字字符串可以写成注释或附加在依赖关系的箭头旁。五、用例视图1. 概述当用例视图在外部用户前出现时,它捕获到系统、子系统或类的行 为。它将系统功能划分成对参与者(即系统的理想用户)有用的需求。而交互功能部分被称作用例。用例使用系统与一个或多个参与者之间的一系列消息来描述系统 中的交互作用。参与者可以是人,也可以是外部计算机系统和外部进程。2. 参与者参与者是与系统、子系统或类发生交互作用的外部用户、进程或其他系统的理想化概念。每个参与者可以参与一个或多个用例。参与者可以是人、另一个计算机系统或一些可运行的进程。3. 用例用例是外部可见的一个系统功能单
44、元 ,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用例除了与其参与者发生关联外,还可以参与系统中的多个关系:一个用例也可以被定义为基用例的增量扩展 ,这叫做扩展关系。同一个基用例的几个扩展用例可以在一起应用。基用例的扩展增加了原有的语义 , 此时是基用例而不是扩展用例被作为例子使用。包含和扩展关系可以用含有关键字 i n c l u d e和e x t e n d的带箭头的虚线表示。包括用例关系箭头指向被包含的用例,扩展关系箭头指向被扩展的用例。一个用例也可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。
45、用例泛化与其他泛化关系的表示法相同,都用一个三角箭头从子用例指向父用例。六、状态机视图1. 概述状态机视图通过对类对象的生存周期建立模型来描述对象随时间变化的动态行为。状态是给定类的对象的一组属性值 ,这组属性值对所发生的事件具有相同性质的反应。状态机用于描述类的行为,但它们也描述用例、协作和方法的动态行为。2. 状态机状态机是展示状态与状态转换的图。通常一个状态机依附于一个类,并且描述一个类的实例对接受到的事件所发生的反应。状态机也可以依附于操作、用例和协作并描述它们的执行过程。3. 事件事件是发生在时间和空间上的一点的值得注意的事情。它在时间上的一点发生,没有持续时间。如果某一事情的发生造成了影响,那么在状态机模型中它是一个事件。4. 状态状态描述了一个类对象生命期中的一个时间段。它可以用三种附加方式说明:在某些方面性质相似的一组对象值;一个对象等待一些事件发生时的一段时间;对象执行持续活动时的一段时间。状态用具有圆形拐角的矩形表示。5. 转换动作。当转换被引起时,它对应的动作被执行。动作是原子性的,一般是一个简短的计算处理过程,通常是一个赋值操作或算术计算。6. 组成状态一个简单状态没有子结构,只带有一组转换和可能的入口和出口动作。组成状态是一个被分解成顺序的或并发的子状态的状态。七、活动视图1. 概述活动图是一种特殊形式的状态机,用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糕点店装修粉刷施工协议
- 建筑设计科技合同管理办法
- 公路隧道照明工程合同范本
- 农业大棚外保温施工合同
- 电视连续剧演员招聘合同
- 2025年度VOC废气处理设备定期检查与维修合同3篇
- 农田水利招投标监管与优化
- 青年旅社施工合同
- 矿山梦想钢管架施工合同
- 高新技术产业投标响应范本
- 多元化与包容性工作环境计划
- 2024版2024年《囚歌》完整版课件
- 福建省泉州市2023-2024学年高一上学期期末质检英语试题 附答案
- 安保服务评分标准
- 公司事故隐患内部报告奖励机制
- 形势与政策(吉林大学)智慧树知到答案2024年吉林大学
- 奶茶店租赁合同协议书模板
- 产品返工执行方案
- GB/T 44405-2024工业互联网平台服务商评价方法
- 24秋国家开放大学《会计信息系统(本)》测试题参考答案
- 2024年人教版六年级数学(上册)期末试卷及答案(各版本)
评论
0/150
提交评论