项目管理计划与跟踪过程
如何正确管理自己的项目跟踪

如何正确管理自己的项目跟踪项目跟踪是在项目管理中不可或缺的部分,成功的项目经理需要能够正确地管理项目进度,并且及时地做出必要的调整。
但是,很多人不知道如何正确管理自己的项目跟踪,从而无法有效地控制项目进度,导致项目失败。
在本文中,我们将通过以下几个步骤来介绍如何正确管理自己的项目跟踪,从而确保项目的成功。
1. 制定详细的项目计划在开始项目之前,应该制定一份详细的项目计划。
这份计划应该包括项目的目标、时间表、任务分配、资源分配、成本预算、风险管理等等。
确保所有的信息都被详细地记录下来,以便将来进行跟踪和分析。
这样做的好处在于,你可以随时知道项目的进展情况,并对进度做出必要的调整。
2. 设定明确的项目目标一个明确的项目目标对于项目跟踪至关重要。
每个项目都应该有一个清晰的目标,这样可以让你更加专注于完成这个目标。
通过定义明确的项目目标,你可以更好地监控进度,及时发现问题,并对进度做出必要的调整。
3. 建立有效的沟通机制项目经理应该与团队成员保持密切的联系,确保每个人都明确自己的职责和任务。
建立一个有效的沟通机制对于项目跟踪来说非常重要。
通过沟通,可以让每个人都知道项目的进展情况,并快速发现问题。
这样可以确保及时解决问题,保证项目正常进行。
4. 使用适当的工具选择适当的工具对于项目跟踪来说非常重要。
目前市场上有很多不同的项目管理工具可供选择,包括微软项目和Trello等等。
选择适当的工具可以帮助你更好地跟踪项目进展情况,并及时发现问题。
5. 对项目进展情况进行实时跟踪项目进展应该在整个项目周期中得到实时跟踪。
跟踪项目进度不仅是为了确保项目按计划顺利推进,还可以帮助你及时发现问题,并做出必要的调整。
通常,项目进展跟踪最好是以图表的形式呈现出来,这样可以更直观地看到项目的进展情况。
6. 识别和解决问题在项目跟踪中,问题是不可避免的。
因此,当出现问题时,需要及时采取措施进行解决。
一个好的项目经理应该能够分析问题、识别其原因,并制定对应的解决方案。
项目跟踪流程

项目跟踪流程项目跟踪流程是指在项目执行过程中对项目进展情况进行监控和控制的一系列活动。
通过项目跟踪流程,项目管理团队可以及时了解项目的进展情况,发现和解决问题,确保项目按时按质完成。
项目跟踪流程通常包括确定项目目标、制定项目计划、执行项目计划、监控项目进展和调整项目计划等环节。
下面将详细介绍项目跟踪流程的具体步骤。
1.确定项目目标。
项目跟踪流程的第一步是确定项目目标。
在项目启动阶段,项目管理团队需要与项目相关方充分沟通,明确项目的目标和需求。
项目目标应该具体、明确、可衡量,并与组织的战略目标相一致。
只有明确了项目目标,项目管理团队才能制定合理的项目计划,并进行有效的项目跟踪。
2.制定项目计划。
确定了项目目标之后,项目管理团队需要制定详细的项目计划。
项目计划应包括项目的范围、时间、成本、质量、资源和风险管理等方面的内容。
在制定项目计划时,项目管理团队需要充分考虑项目相关方的需求和期望,确保项目计划是可行的和可执行的。
3.执行项目计划。
项目计划制定完成后,项目管理团队需要按照计划开始执行项目。
在项目执行过程中,项目管理团队需要不断监督和检查项目的进展情况,确保项目按照计划进行。
同时,项目管理团队还需要与项目团队成员和相关方保持良好的沟通,及时解决项目执行过程中出现的问题和风险。
4.监控项目进展。
在项目执行过程中,项目管理团队需要不断监控项目的进展情况。
监控项目进展包括收集项目数据、分析项目绩效、识别项目问题和风险等活动。
通过监控项目进展,项目管理团队可以及时发现项目执行过程中的偏差和问题,并采取相应的措施加以解决。
5.调整项目计划。
在监控项目进展的基础上,项目管理团队需要及时调整项目计划。
项目计划的调整应该是有根据的、合理的,并得到项目相关方的认可。
通过调整项目计划,项目管理团队可以及时应对项目执行过程中出现的问题和风险,确保项目最终能够按时按质完成。
总之,项目跟踪流程是项目管理中非常重要的一环。
通过项目跟踪流程,项目管理团队可以及时了解项目的进展情况,发现和解决问题,确保项目顺利完成。
项目进度跟踪流程

项目进度跟踪流程项目进度跟踪是确保项目按时交付和成功完成的重要环节。
一个高效的项目进度跟踪流程,可以帮助团队及时识别并解决潜在的延迟和问题,保持项目的进展顺利进行。
本文将介绍一个有效的项目进度跟踪流程,并探讨其中的关键步骤和注意事项。
一、建立项目计划在开始项目之前,团队需要制定详细的项目计划。
项目计划应该包括项目的目标、里程碑、任务和预期的完成日期,以及每个任务的责任人。
建立一个清晰的项目计划对后续的进度跟踪至关重要。
二、设置关键任务和里程碑在项目计划中,团队应该标识关键任务和里程碑。
关键任务是项目进展的关键节点,里程碑代表项目完成的重要阶段。
通过设置关键任务和里程碑,可以更好地跟踪项目的整体进度和重要节点的完成情况。
三、设定可衡量的目标和指标为了追踪项目进度,团队需要设定可衡量的目标和指标。
这些目标和指标可以是任务的完成时间、工作量、资源使用情况等。
通过设定可衡量的目标和指标,团队可以更清楚地了解项目的当前状态和进展情况。
四、实时更新进度信息在项目进行过程中,团队需要实时更新进度信息。
这可以通过团队成员填写进度报告或通过项目管理工具来实现。
每个团队成员都应及时更新任务的完成情况,并记录任何延迟或问题。
这些信息将在后续的进度跟踪中起到关键的作用。
五、定期会议和沟通定期会议和沟通是项目进度跟踪的重要环节。
团队应定期召开会议,讨论项目的进展情况,解决潜在的问题和障碍。
会议应该包括所有相关人员,并确保他们对项目的当前状态有清晰的了解。
六、分析和解决问题在项目进度跟踪中,问题和延迟是难以避免的。
当出现问题或延迟时,团队应该及时分析其原因,并采取相应措施进行解决。
这可能包括重新安排任务、增加资源或重新评估项目计划。
七、监控里程碑完成情况项目的里程碑是衡量项目进展的重要标志。
团队需要监控每个里程碑的完成情况,并及时做出调整。
如果一个里程碑延迟或无法达成,团队应该立即采取措施解决,并适当调整项目计划。
八、定期报告和总结在项目进展的关键节点,团队应该定期向项目相关方提供进度报告和总结。
项目管理与进展追踪制度

项目管理与进展追踪制度第一章总则第一条目的和依据为了规范企业项目管理流程,确保项目定时、按质、按量完成,提高项目管理效率和质量,本制度订立。
第二条适用范围本制度适用于企业全部部门、项目组,凡涉及到项目管理与进展追踪的工作,均应遵守本制度。
第三条项目管理主体项目管理主体依照项目特性,由企业高层领导、项目负责人、项目构成员等构成,形成项目管理委员会(简称“项目委员会”),负责项目的策划、组织、实施和掌控。
第四条项目进展追踪机制为确保项目定时推动,项目进展应进行定期追踪与评估。
项目委员会负责订立项目进展追踪机制和具体评估方法,并组织实施。
第二章项目管理流程第五条项目策划1.项目启动:项目负责人依据企业发展战略和需求,提出项目建议书,并经项目委员会批准,确定项目的启动。
2.项目立项:项目责任人组织编制项目立项报告,包含项目目标、范围、计划、资源需求等,并提交项目委员会审批。
3.项目计划:项目负责人依据项目目标和需求,订立认真项目计划,包含工作分解结构、里程碑计划、资源布置等,并与项目团队共同确定。
第六条项目组织1.项目团队组建:项目负责人依据项目计划和需求,组建项目团队,并明确各成员的职责和权限。
2.项目职责清单:项目负责人订立项目职责清单,明确项目成员各自的职责和任务,保证项目协调运行。
第七条项目实施1.进度管理:项目负责人依照项目计划和里程碑,订立认真的进度布置,跟踪项目进展情况,并及时发现和解决问题。
2.质量管理:项目负责人负责订立项目质量管理计划,明确验收标准和质量要求,确保项目按质量要求交付。
3.本钱管理:项目负责人订立项目本钱掌控计划,监控项目实际本钱与预算本钱的差别,并及时采取措施矫正。
4.风险管理:项目负责人进行风险评估,订立风险管理计划,并采取相应的风险应对措施,保证项目顺利进行。
第八条项目掌控与评估1.项目掌控:项目负责人依照项目计划和掌控要求,进行项目掌控,包含进度、质量、本钱、风险等方面的掌控。
项目工作计划的进度推进与追踪

项目工作计划的进度推进与追踪一、项目背景介绍项目是一项重要的任务,在现代社会中,各个行业都需要通过项目的方式来推进工作的进展。
本文就项目工作计划的进度推进与追踪进行探讨。
二、项目工作计划的制定项目工作计划是项目管理活动的核心,它详细规划了项目的目标、任务、时间和资源。
制定项目工作计划需要考虑项目的目标、预算、可行性以及相关的利益方需求,确保计划的合理性和可行性。
三、进度推进的重要性项目进度推进是实现项目目标的关键环节。
通过合理的进度安排,可以避免项目延误,提高项目执行效率,确保项目按时完成。
四、进度推进的方法1. 制定明确的目标和里程碑:将整个项目分解为多个阶段,并对每个阶段设定明确的目标和里程碑,以便项目团队成员清楚地知道每个阶段的工作重点和目标。
2. 制定详细的工作计划:将项目的主要任务拆分为具体的工作包,并为每个工作包制定详细的工作计划,包括工作内容、负责人、时间和资源等要素。
3. 分配任务和资源:将各个工作包分配给具体的团队成员,并合理调配资源,确保每个任务都有相应的责任人和足够的资源来完成。
4. 监控进度:通过定期的会议或报告,监控项目的进展情况,及时发现和解决问题,确保项目按计划进行。
五、进度追踪的意义进度追踪是对项目工作计划执行情况的跟踪和分析,能够及时了解项目的进展情况,发现问题并采取相应措施,确保项目按时完成。
六、进度追踪的方法1. 收集进展数据:通过与项目团队成员的沟通以及相关的数据收集工具,收集项目各个任务的实际进展数据。
2. 比较计划与实际:将实际进展数据与项目工作计划进行比较,分析差距,并找出导致差距的原因。
3. 更新项目工作计划:根据实际进展和分析结果,对项目工作计划进行调整和更新,以适应实际情况。
4. 与团队成员沟通:与项目团队成员及时交流项目的进展情况,了解问题和挑战,并共同制定解决方案。
七、风险管理与进度推进项目推进中难免会遇到各种风险和挑战,因此,在进度推进过程中,风险管理也同样重要。
项目跟踪流程步骤

项目跟踪流程步骤项目跟踪是项目管理中非常重要的一环,它可以帮助项目团队监控项目的进度和质量,及时发现和解决问题,确保项目按时按质完成。
在项目跟踪过程中,需要遵循一定的步骤和流程,以确保跟踪工作的有效性和高效性。
下面将介绍项目跟踪的流程步骤。
1. 确定跟踪指标。
在开始项目跟踪之前,首先需要确定跟踪的指标和目标。
这些指标可以包括项目进度、成本、质量、风险等方面。
根据项目的特点和要求,确定需要跟踪的指标,以便后续的跟踪工作能够有针对性地进行。
2. 制定跟踪计划。
制定项目跟踪计划是非常重要的一步。
在跟踪计划中,需要明确跟踪的时间节点、跟踪的内容和方法、跟踪的责任人等信息。
跟踪计划可以帮助项目团队清晰地了解跟踪工作的安排和要求,确保跟踪工作能够有条不紊地进行。
3. 收集跟踪数据。
在跟踪过程中,需要及时、准确地收集项目相关的数据。
这些数据可以来自于项目团队的日常工作、会议记录、报告等渠道。
收集到的数据需要进行整理和分析,以便后续的跟踪工作能够基于实际情况进行。
4. 分析跟踪数据。
收集到的跟踪数据需要进行分析,以便及时发现项目中存在的问题和风险。
通过对数据的分析,可以帮助项目团队了解项目的实际进展情况,及时调整和优化项目计划,确保项目能够顺利进行。
5. 提出改进建议。
在分析跟踪数据的基础上,项目团队需要提出改进建议。
这些建议可以包括调整项目计划、优化资源配置、加强风险管理等方面。
通过及时提出改进建议,可以帮助项目团队在项目执行过程中不断优化和提升项目的执行效率和质量。
6. 跟踪报告。
在项目跟踪过程中,需要及时向相关人员提交跟踪报告。
跟踪报告可以包括项目的进展情况、存在的问题和风险、改进建议等内容。
通过跟踪报告,可以帮助项目团队和相关人员了解项目的实际情况,及时采取措施解决问题。
7. 调整项目计划。
根据跟踪报告中的分析和建议,项目团队需要及时调整项目计划。
这些调整可以包括项目进度、资源分配、风险管理等方面。
通过及时调整项目计划,可以帮助项目团队更好地应对项目执行过程中的变化和挑战。
系统集成项目管理中的进度计划与跟踪

系统集成项目管理中的进度计划与跟踪系统集成项目管理是指为了实现一个整体系统而对各个组成部分进行协调和集成的过程。
在这个过程中,进度计划与跟踪起着至关重要的作用。
本文将详述系统集成项目管理中的进度计划与跟踪,并探讨其在项目成功中的关键性作用。
一、进度计划进度计划是指在系统集成项目中,确定项目工作的时间表和节点,安排并协调各个任务的完成顺序和时间进度。
进度计划的制定需要注意以下几个方面:1. 项目目标与里程碑的确定:在进度计划中,首先需要明确项目的目标和各个里程碑。
项目目标是指项目最终要实现的结果,里程碑则是指项目过程中的重要节点和关键事件。
明确项目目标和里程碑有助于项目团队明确工作方向,并将工作进度与目标对应起来。
2. 可行性分析与工期估算:在制定进度计划时,需要进行可行性分析和工期估算。
可行性分析包括项目的资源评估、技术风险评估等,以确保项目能按时完成。
而工期估算则是根据项目的各项任务和工作量进行合理的时间分配。
3. 关键路径的确定与优化:关键路径是指项目中不能延误的一系列活动的集合,决定了项目整体的完成时间。
在进度计划中,确定关键路径,并进行优化调整是至关重要的。
通过对关键路径上的活动进行有效的资源调度和风险管理,可以确保项目按时交付。
二、进度跟踪进度跟踪是指对系统集成项目的进展情况进行监控和记录,以确保项目按计划进行。
在进度跟踪中,关键的要素包括:1. 实时监控与反馈:通过建立有效的项目管理工具和机制,可以实时监控各项任务的完成情况。
项目团队需要及时将任务进展情况反馈给项目经理,以便及时调整进度计划和资源分配。
2. 问题识别与解决:在进度跟踪中,要及时发现项目中的问题和风险,并采取相应的解决措施。
这包括对进度滞后的任务进行优化安排,对资源不足的情况进行补充,以及对技术问题进行解决等。
3. 跟踪报告与沟通:进度跟踪还需要及时生成跟踪报告,并与项目干系人进行有效的沟通。
跟踪报告应包括项目进展情况、关键问题和解决方案等内容,以便项目干系人了解项目的实际进展情况。
如何在MicrosoftProject中进行项目计划和进度跟踪

如何在MicrosoftProject中进行项目计划和进度跟踪如何在Microsoft Project中进行项目计划和进度跟踪在项目管理中,项目计划和进度跟踪是非常重要的环节。
它们帮助项目团队明确目标、安排资源以及跟踪项目的执行进度。
Microsoft Project(以下简称Project)是一种功能强大的项目管理软件,能够帮助项目经理和团队成员高效地进行项目计划和进度跟踪。
本文将介绍如何在Project中进行项目计划和进度跟踪的步骤和方法。
一、项目计划1. 创建项目:打开Project软件,选择“新建空项目”或“新建项目计划”,并填写项目名称、起始日期、截止日期等基本信息。
2. 定义任务:在“任务”视图中,输入项目的各项任务,包括任务名称、开始日期、截止日期、持续时间等。
3. 添加任务依赖关系:对于有先后顺序的任务,可以设置任务间的依赖关系,确保任务能够按照正确的顺序进行。
4. 分配资源:在“资源”视图中,输入项目所需的资源,可以是人力资源、设备、材料等。
然后将资源分配给各个任务,并设置资源的工作量。
5. 制定时间表:在“日历”视图中,设置工作日、非工作日以及特殊的假期等,确保任务的安排符合实际情况。
6. 制定里程碑:对于项目的关键节点或重要阶段,可以创建里程碑,以便更好地跟踪项目的进度和完成情况。
7. 优化项目计划:根据实际情况,对任务、资源、时间表等进行调整,以保证项目能够按时、高质量地完成。
二、进度跟踪1. 更新进度:在项目执行过程中,定期更新任务的完成情况,并记录实际开始日期、实际完成日期以及已完成的工作量等信息。
2. 跟踪变更:如果项目中存在任务的变更或调整,及时更新任务的相关信息,确保项目计划与实际执行保持一致。
3. 分析偏差:通过分析计划进度与实际进度之间的差异,查找项目中的偏差和风险,及时采取措施进行调整和应对。
4. 重排任务:如果项目进度发生变化,需要重新安排任务的优先级和顺序,确保项目能够按时顺利完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
摘要这是我们的项目计划与跟踪的内容,在项目实施中使用得很好,我拿出来与大家分享,希望大家多提意见,谢谢!最初的项目计划不够精确和准确,不能直接拿来指导我们的日常工作,也不易跟踪。
我们采用三层计划机制将计划中的任务拆分成可跟踪的小的任务来执行。
另外,采用不同周期不同规模的review活动来跟踪计划的执行,并不断地调整我们的计划。
在跟踪的过程中,由项目经理来负责将每个任务的实际工作量记录下来,以便最后的统计。
总过程图注:1.根据项目进度定期地(或事件驱动地)进行peer review和progress review.2.偏差包括实际情况与原计划不相符的任何地方,例如时间安排,人力资源,设备,任务安排,等各方面。
3. Review不仅是查找已执行工作与原计划的偏差。
有时候,根据现阶段工作的情况很容易判断后续工作原定计划的不合理性,这部分计划也需要及时修订。
第一部分不同层次的计划项目计划的目的是为实施软件工程和管理软件项目制定合理的计划。
三层计划机制是艾思普公司项目计划的主要内容。
高层计划:设计师和项目经理根据用户需求制定高层计划,给出项目进行的主要阶段和各种需求。
此计划需要经过审核通过后方可执行。
为了便于理解,高层计划也可以称为月计划。
中层计划:项目经理,设计师,以及所有的参与人员共同制定中层计划。
中层计划是高层计划的任务分解。
中层计划也可称为周计划。
低层计划:根据中层计划中的任务安排,每个人制定自己的低层计划。
低层计划也称为天计划。
1 高层计划在各种估算的基础上,根据用户需求给出项目进行的主要阶段和进度计划,就是高层计划。
进入标准:用户提出的各方面需求(如成本需求和交付时间要求,等)和软件项目的开发策略。
人员:设计师,项目经理内容:1)阶段:项目总体分为哪几个阶段来进行?标准软件过程是:发现、定义、概念、设计、和实现。
根据具体的项目情况,可以将其裁剪和细化。
2)时间:各个阶段要求在多长时间内完成?或严格要求什么时候完成?3)资源:按阶段阐明需要的资源,包括人力资源和关键的设备资源。
人力资源说明角色和数量。
设备只需提出特殊的或关键的设备资源,如需要一个特殊配置的服务器,在系统测试中要搭建模拟环境,等等。
4)退出标准:每阶段要达到什么要求才可以退出,即阶段完成的要求是什么?承诺与认可:高层计划需要客户和高层管理者的认可,并且有关人员必须被告知高层计划中与其相关的内容,并得到他们的承诺和认可。
比如,通知人力资源部门人员需求,通知财务部门设备要求和经费需求,等等。
注:1)计划的依据:用户提出的项目要求,公司采用的软件工程过程,以及自己的经验。
2)需要考虑公司的一些实际情况:比如人员调配,员工的技术能力,等因素。
三、一个细化的软件工程概念模型下图是笔者理解的软件工程概念模型(采用UML类图的语法):1、模型概述图中,“理论与经验”和“工具”可以认为是2个比较独立的概念,其他概念可以被分为4组——“方法论”、“过程”、“目标”、“项目”,分别标以不同颜色。
这4组主要概念构成了软件工程概念模型的骨架,可以描述为:为达到一定的“目标”,我们建立起相应的“项目”,在某种“方法论”的指导下,按照一定的“过程”,生产出相应的软件“产品”。
从这个模型的骨架中,我们能清晰看到上面精简模型的影子——(目标,方法,活动)三元组。
但显著区别是,更加强调“活动”的组织和控制方式——“过程”。
这是软件实践发展的必然结果,因为,随着软件产品的复杂程度不断提高,势必要更加强调“过程”。
Roger S.Pressman在其经典著作《软件工程:实践者的研究方法》里就指出:大约每隔5至10年,软件界就会重定义“问题”,将其焦点从“产品”转移到“过程”。
2、方法论“方法论”是在一定“原则与策略”指导下的一套相关的“方法与技术”,而“方法论”可以分为“开发方法论”和“过程方法论”2种。
相应的,“原则与策略”可以是开发策略,例如著名的“功能分解”策略;也可以是过程策略,例如迭代模型等“过程模型”,就是过程策略。
应当说,“过程方法论”是随着软件实践的深入,在“开发方法论”产生之后才产生的概念。
Roger S. Pressman在其经典著作《软件工程:实践者的研究方法》里就指出:大约每隔5至10年,软件界就会重定义“问题”,将其焦点从产品转移到过程。
在本文后面的章节,笔者将用“过程方法论”的概念解释“Agile到底是过程还是方法论”的迷惑。
另外,值得一提的是,在实际当中,存在“方法”其实是指“方法论”的现象,在此说明一下。
一方面,“方法论”是为完成特定目的一套“方法”,“方法论”和“方法”是一对多的关系;另一方面,实际中人们常将“方法论”简称为“方法”,所以也可以认为“方法”是个递归的概念,它可以是“原子方法”,也可以是“方法论”。
至此,当你同时面对“Agile方法”和“Agile方法论”这2种说法时,就不必迷惑了。
3、过程“过程模型”是对具体“过程”的抽象,它仅规定了后者的框架,例如瀑布模型规定了“过程”是线性框架;“过程模型”的例子还有螺旋模型、喷泉模型、迭代模型等。
一个具体“过程”包括“开发子过程”和“管理子过程”2个子过程,它们分别由一组相关的“开发活动”和“管理活动”组成。
“开发活动”开发出或再加工“开发工件”,“管理活动”使用“管理工件”,对“开发活动”和“开发工件”进行管理。
“过程开发与改进”是一个特殊的“管理子过程”。
“过程开发与改进”与其它一般的“管理子过程”相比,后者是为软件产品的开发服务的,而前者是以开发和改进软件过程本身为目的。
软件工程大师Osterweil在其论文《Software Processes are Software Too》中高屋建瓴地指出:软件过程也是软件。
软件有一个开发的过程,软件过程也有一个开发的过程;软件开发产出软件产品,软件过程开发产出过程产品。
RUP是著名的软件过程产品。
CMM是著名的软件过程改进框架,它本身不是特定软件过程的定义,它只是建议如何一步一个台阶地改进软件过程。
在本文后面的章节,笔者将从“过程开发与改进”的角度,谈谈RUP的定制和CMM的定位问题。
4、目标任何实践都是有“目标”的,软件实践也不例外;比如“开发Bug跟踪系统”就是一个“目标”的例子。
“目标”的完成,依赖于一系列“任务”的完成;比如上述“目标”可以分解为“分析”、“设计”、“编码”、“实现”等“任务”。
“任务”通常在“方法论”的指导下完成;比如“分析”任务,可以选用“OOA方法论”,也可以选用“结构化分析”方法论。
每个“任务”还可以进一步分解成多个“子任务”;比如“分析”可以分解为“需求采集”、“需求分析”、“建立分析模型”等“子任务”。
“子任务”通常使用相关“方法与技术”来实现;比如“建立分析模型”子任务,可以选用“UML 建模技术”,也可以选用“结构化建模技术”。
5、项目“项目”是“目标”、“过程”和“方法论”3者的关联类;这意味着任何一个“项目”,都采用一定的“过程”,在某种“方法论”的指导下,完成某种“目标”。
“项目”的“目标”常常就是“软件产品”本身,但也可以不产出任何“软件产品”。
“项目”是为完成特定“目标”所做出的临时性努力,可以是建造一栋大楼,一座工厂,也可以是解决某个研究课题,不一而足。
“产品”就是一组“开发工件”的集合,就象经典的“软件”的定义中说的,“软件是程序、文档和相关数据的统称”。
“管理工件”是伴随“项目”的进行产生的,但它并不是要交付给最终用户的。
6、其他现在回过头来看“理论与经验”和“工具”这2个概念。
“理论”是高度系统化的知识,“经验”是尚未进行系统化抽象的知识。
“理论与经验”是“方法论”的依据,正是在“理论与经验”的指导下,人们总结出方法论的“原则与策略”,又在后者的指导下,人们将众多“方法与技术”组织成一套完整的“方法论”。
“工具”用来支持“方法与技术”的,好的“工具”可以提高人们的工作效率,减小出错几率。
其实图中还包含了其它一些信息。
比如,“方法”和“工具”是多对多关系:一种“方法”可以采用多种“工具”(比如画Use Case图可以采用Visio、Rose等多种工具),一种“工具”也可支持多种“方法”(比如Visio可以画流程图、UML图等多种图)。
又比如,“方法”和“过程”是多对多关系:一种“方法”可以被多种“过程”采用(比如CRC 卡方法可以被RUP、XP等多种过程采用),一种“过程”也可采用多种“方法”(比如RUP可以采用OO建模、结构化建模等多种方法)。
篇幅所限,恕不一一列举。
四、软件工程概念模型的具体应用下面再举几个具体的例子,以说明软件工程概念模型在快速学习、正确理解和深入掌握软件工程技术方面的作用。
1、搞清楚Agile是过程还是方法论当前,“Agile过程”和“Agile方法论”的说法都很流行,令初学者相当迷惑。
下面根据软件工程概念模型的知识,来弄清这个问题。
好的开始是成功的一半,我要做的第一步就是先推翻“Agile是过程还是方法论”这个问法,改问“Agile是过程、开发方法论还是过程方法论”。
第二步,分析《Agile Software Development》一书中给出的Agile模型:通过对模型的分析,可以看出它是对过程建模:·如果去掉人和团队的因素,上面的模型最主要的要素就是过程(Process)、活动(Activities)、产品(Products)和技术(Techniques)了,这显然是个过程的模型。
·上面的模型中有相当多的和人相关的要素,包括角色(Roles)、技能(Skills)、个性(Personality)、团队(Teams),对人的因素的极其重视,正是Agile过程的显著特点。
· Agile过程是面向人的(people-oriented)过程,实施Agile过程的一个关键之处是让人“接受”一个过程而非“强加”一个过程。
我准备提前下结论了——谈过程哪能不谈它背后的方法论呢——Agile是有它自己的过程方法论的过程。
2、为CMM定位CMM是一个大家关注已久的话题,CMM标准的提法颇为流行,下面笔者换个角度,根据软件工程概念模型的探讨,将CMM定位为“过程开发与改进的需求和测试方案”。
CMM是软件过程开发的需求:·关键实践描述了应当“做什么”,而不是强制规定“如何做”;关键实践的描述就是过程开发的需求项。
·关键实践被分组,成为一些关键过程域。
相当于需求项的分组,便于管理。
·关键过程域的实施都是为了达到一定的目的,从需求的层次角度(请参考Wiegers 著陆丽娜译《软件需求》一书),可将“目的”理解为“业务需求”,将关键过程域理解为“用户需求”,前者由后者来实现。