软件项目管理 - 作业集合
作业一
1、项目与日常运作的主要区别有哪些?
项目:为提供一项独特产品、服务或成果所做的临时性努力
运作:连续不断周而复始的活动
项目是一次性的,日常运作是重复进行的;
项目是以目标为导向的,日常运作是通过效率和有效性体现的;
项目是通过项目经理及其团队工作完成的,日常运作是职能式的现象管理;
项目存在大量的变更管理,日常运作基本保持持续的连贯性。
2、敏捷开发的宣言是什么?
个体和交互胜过过程和工具。
可以工作的软件胜过面面俱到的文档。
客户合作胜过合同谈判。
响应变化胜过遵循计划。
作业二:
1、请描述软件项目招投标的具体流程及甲方、乙方的具体任务。
(1)招标准备
• 甲方任务:明确项目需求、目标和预算。准备招标文件,包括项目范围、技术规格、交付标准、时间表等。发布招标公告。
(2)发布招标
• 甲方任务:正式发布招标公告,通常通过官方渠道或专业平台。可能包括一个预投标会议,向潜在的乙方介绍项目详情并回答问题。
(3)投标准备
• 乙方任务:获取招标文件。审阅招标文件,评估项目需求与自身能力的匹配度。准备投标文件,通常包括公司资质、项目管理计划、技术解决方案、报价等。
(4)提交投标
• 乙方任务:在规定的截止日期前提交完整的投标文件。
(5)评标与选择供应商
• 甲方任务:组织评标委员会审查投标文件。评审标准可能包括技术能力、过往经验、报价、项目管理能力等。
• 乙方任务:可能需要参加答辩会,对投标方案进行解释和辩护。
(6)合同谈判与签订
• 甲方任务:与中标的乙方进行合同谈判,明确项目的具体条款、费用、时间表和质量保证措施。
• 乙方任务:参与谈判,就合同条款达成一致,签署合同。
2、请写出三种常见的软件生存期模型,并说明这些模型适用于什么情况下的项目。
(1)瀑布模型
适用于软件需求很明确的软件项目,即一般适用于功能明确、完成、无重大变化的软件系统的开发,即:1)在项目开始前,项目的需求已经被很好的理解、也很明确,而且项目经理很熟悉为实现这一模型所需要的过程。2)解决方案在项目开始前也很明确。3)短期项目可采用瀑布模型。
(2) V模型
适用于项目需求在项目开始前很明确、解决方案在项目开始前也很明确,项目对系统的安全很严格,如航天飞机控制系统、公司的财务系统等。
(3)快速原型模型
适用于项目的需求在项目开始前不明确,需要减少项目的不确定性的时候。
作业三:
1、我们常常可以从哪些方面着手处理软件项目需求不明确的问题?
(1)让用户参与开发
(2)开发用户界面原型
(3)举行需求讨论会议
(4)强化需求分析和评审等
2、检验软件项目任务分解结果的标准有哪些?
(1)最底层的要素是否是实现目标的充分必要条件
(2)最底层要素是否有重复的
(3)每个要素是否清晰完整定义
(4)最底层要素是否有定义清晰的责任人
(5)是否可以进行成本估算和进度安排等
作业四:
1、一位项目经理正在进行一个图书馆信息查询系统的项目估算,他采用Delphi专家估算方法,邀请了3位专家进行估算,第一位专家给出了2万元、7万元、12万元的估算值,第二位专家给出了4万元、6万元、8万元的估算值,第三位专家给出了2万元、6万元、10万元的估算值,假设估算过程在第一轮后即结束,试计算这个项目的最终成本估算值,要求写出简要的计算过程,结果四舍五入保留2位小数。(备注:所有计算过程用文字表述)
专家一: E1=(a1+4m1+b1)/6= (2+47+12)/6=7 (万元)
专家二: E2=(a2+4m2+b2)/6= (4+46+8)/6=6 (万元)
专家三: E3=(a3+4m3+b3)/6= (2+46+10)/6=6 (万元)
最终成本估算值:E= (E1+E2+E3)/3= (7+6+6)/3=6.33 (万元)
2、一个33.3KLO的软件项目,属于半有机型的项目,请采用基本COCOMO,估算此项目的规模,要求写出简要的计算过程,结果四舍五入取整数。(备注:所有计算过程用文字表述)
由基本COCOMO模型、半有机型项目可查表得系数:a=3.0,b=1.12。
因此,项目规模E = 3.0*L^1.12 = 3.0*33.3^1.12 = 152 PM
作业五:
1、对一个任务进行进度估算时,A是乐观者,估计用6天完成,B是悲观者,估计用24天完成,C是有经验者,认为最有可能用12天完成,那么采用PERT加权算法估算时,这个任务的历时估算介于10天到16天的概率是多少?要求写出相应的计算过程。
E=(6+4*12+24)/6=13,
δ=(24-6)/6=3,
E-δ=10,
E+δ=16,
因为10一16天刚好为均值左右一个标准差的区间,
所以任务历时估算介于10一16 天的概率为: 68.3%。
2、作为项目经理,你需要给一个软件项目做计划安排,经过任务分解后得到任务A,B,C,D,E,F,G,假设各个任务之间没有滞后和超前,下图是这个项目的PDM网络图。通过历时估计已经估算出每个任务的工期,现已标识在PDM网络图上。假设项目的最早开工日期是第0天,请计算每个任务的最早开始时间,最晚开始时间,最早完成时间,最晚完成时间,同时确定关键路径,并计算关键路径的长度,计算任务F的自由浮动和总浮动。
1.确定所有任务的ES、EF、LS、LF?
2.确定关键路径以及关键路径的长度?
3.确定任务F的自由浮动和总浮动?
要求写出相应的计算过程。
(1)
(2)关键路径:A-E-C-D-G
关键路径的长度:4 (TaskA) + 8 (TaskE) + 7 (TaskC) + 5 (TaskD) + 3 (TaskG) = 27天
(3)F的自由浮动:FF=ES(s)-EF-lag=24-20-0=4天
F的总浮动:TF=LS-ES=16-12=4天
3、现有一工程项目如下图所示,图中给出了各个任务可以压缩的最大限度和压缩成本,请问如果将工期压缩到17周、16周、15周时,每次应该压缩的活动是哪个?每次压缩后相应的项目总成本分别是多少?要求写出相应的计算过程。
(1)根据上图可计算出A、B、C、D的任务单位进度压缩的成本,如下表:
表1 每个任务的单位进度压缩成本
A:(6.2-5)/(7-5)=0.6
B:(11-8)/(9-6)=1
C:(4.5-4)/(10-9)=0.5
D:(4.2-3)/(8-6)=0.6
(2)根据题目已知条件和表1条件,可以看出首先压缩哪个任务,然后选择压缩后增加成本最小的任务,压缩这些任务,如表2所示:
表2 压缩后的项目总成本
(3)如果希望总工期压缩到17周,需要压缩关键路径“开始一→C→D-结束”,可以压缩的任务有C或者D,但是根据表7-6知道压缩任务C的成本最小(压缩任务C一周增加0.5万元成本,压缩任务D一周增加0.6万元成本),故选择压缩任务C一周。所以,项目压缩到17周后的总成本是20.5万元。
(4)如果希望总工期压缩到16周,需要压缩关键路径“开始一→C→D→结束”,可以压缩的任务还是C或者D,但是这时任务C在可压缩范围内是不能再压缩的,否则压缩成本会非常高,应该选择压缩任务D一周。所以,项目压缩到16周后的总成本是21.1万元。这时,项目网络图的两条路径的长度都是16周,即有两条关键路径。
(5)如果希望总工期压缩到15周,应该压缩两条关键路径,即“开始→A→B→结束”和“开始→C-→D-→结束”两条路径都需要压缩,在A、B任务中应该选择压缩任务A一周(压缩任务A一周增加0.6万元成本,压缩任务B一周增加1万元成本),在C、D中选择压缩D-周(这样的压缩成本是最低的)。所以,项目压缩到15周后的总成本是22.3万元。
参考答案二:
(计算过程省略)
作业六:
1、简述编制质量计划的常用方法有哪些?
(1)试验设计:试验设计是一种统计学方法,确定哪些因素可能会对特定变量产生影响。
(2)基准对照:是一种寻找最佳实践的方法,是利用其他项目的实施情况作为当前项目性能衡量的标准。
(3)质量成本分析:质量计划必须进行质量成本的综合分析,以便决定质量活动。
(4)流程图方法:可以显示系统的各种成分是相互的关系,帮助我们预测在何处可能发生何种质量问题。
(5)因果分析图:也称鱼刺图,描述相关的各种原因和子原因如何产生潜在问题或影响,将影响质量问题的“人员、设备、参考资料、方法、环境”等各方面的原因进行细致的分解,方便地在质量计划中制定相应的预防措施。
2、论述质量保证与质量控制的关系。
(1)质量保证(QA)是通过评价项目整体绩效,建立对质量要求的信任,提供项目和产品可视化的管理报告。这个任务本身并不能提高产品的质量,但是通过质量保证的一系列工作可以间接地提高产品的质量。质量保证一般由质量保证部门人员实施。
(2)质量控制(QC)是确定项目结果与质量标准是否相符,同时确定消除不符的原因和方法,它控制产品的质量,及时纠正缺陷。这个任务本身提高产品的质量,一般由开发人员实施。
(3)质量保证是后期质量活动,质量控制是前期质量活动。它们是有区别的:质质量保证是针对项目实施过程的管理手段,质量控制是针对项目产品的技术手段。实施质量保证是针对过程改进和审计的,强调的是过程改进和信心保证。实施质量控制是按照质量要求,检查具体可交付成果的质量,强调的是具体的可交付成果。
作业七:
1、简述配置管理在软件开发中的作用,并列举至少两种常见的配置管理工具。
答:软件配置管理是软件项目管理的重要内容,也是保证软件质量的重要手段。它能够对软件开发过程进行有效管理和控制,从而实现软件产品的完整性、一致性、可控性,使产品极大程度地与用户需求相吻合。它能够控制、记录、追踪对软件的修改并形成规文档,方便日后维护和升级,更重要的是能够保护代码资源,积累软件财富,提高软件重用率。
常见的配置管理工具有:ClearCase、 CVS\SVN、 VSS、Git等。
2、试论述矩阵型项目组织结构的优缺点是什么?
答:优点:
(1)专职的项目经理负责整个项目,以项目为中心,能迅速解决问题。在最短的时间调配人才,组成一个团队,把不同职能的人才集中在一起。
(2)多个项目可以共享各个职能部门的资源。在矩阵管理中,人力资源得到了更有效的利用,减少了人员冗余。
(3)既有利于项目目标的实现,也有利于公司目标方针的贯彻。
(4)项目成员的顾虑减少了,因为项目完成后,他们任然可以回到原来的职能部门,不用担心被解散,而且他们能有更多机会接触自己企业的不同部门。
缺点:
(1)容易引起职能经理和项目经理权利的冲突。
(2)资源共享可能引起项目之间的冲突。
(3)项目成员有多位领导,即员工必须要接受双重领导,因此经常有焦虑与压力。
3、一个项目在进行规划的时候,碰到了一个风险问题,项目经理需要决定是否采用方案A。如果采用方案A需要使用一个新的开发工具,而能够掌握这个工具的概率是30%,通过使用这个工具可以获利5万元;但如果采用方案A却不能掌握这个工具,将损失1万元。请分析并通过计算说明这个项目经理是否应该采用这个方案A? 要求写出相应的分析计算过程。
参考答案二:
如果不采用方案A:则EMV1=0万元;
如果采用方案A:则EMV2=530%+(-1) 70%=0.8万元;
因为EMV2 > EMV1,因此应该采用方案A。
4、某项目采用成本加激励费用(CPIF)的成本补偿类合同,当预计成本为100万元,利润10万元,且奖励分配为80/20时,如果实际成本降至80万元,则项目最终的总价为多少万元?要求写出相应的计算过程。
答案:
答:预计成本:100万元
实际成本:80万元
节省的成本:100-80=20万元利润:10万元
根据奖励分配比例:80/20,可以计算出乙方获得的奖励=20*0.2=4万元
最后,计算项目的最终总价:80+10+4=94万元。
参考答案二:
80+10+(100-80)*20%=94万元
作业八:
1、请简述项目执行控制的基本步骤是什么?
非标准答案,仅供参考:
(1)建立计划标准;
(2)观察项目性能;
(3)测量和分析结果;
(4)采取必要措施;
(5)做好计划修改工作。
2、假设你被指定负责一个软件项目,其中有4部分,项目总预算为53000,A任务为26000,B任务为12000,C任务为10000,D任务为5000。截止到5月31日,A任务已经全部完成,B任务过半,C任务刚开始,D任务还没有开始,截止到5月31日的BCWS 和ACWP如下表所示。请采用50/50规则计算截止到5月31日的CV,SV,CPI,SPI,EAC?要求写出相应的计算过程。
非标准答案,仅供参考:
答:计算CV,SV,CPI,SPI的关键就是计算BCWP。由于采用50/50规则,不管完成多少,只要是任务开始,但是没有完成,我们认为是实现了50%的预算价值。则计算BCWS、ACWP、BCWP的表如下:
任务 BCWS(计划成本) ACWP(实际成本) BCWP(已获取价值) A 26000 25500 26000 B 9000 5400 6000 C 4800 4100 5000 D 0 0 0 总计 39800 35000 37000 截止到5月31日为止,CV,SV,CPI,SPI,EAC的计算结果如下:
BCWS=39800元,ACWP=35000元,BCWP=37000元,BAC=53000元。则CV=BCWP-ACWP=37000-35000=2000元
SV=BCWP-BCWS=37000-39800=-2800元CPI=BCWP/ACWP*100%=37000/35000*100%=106%SPI=BCWP/BCWS*100%=37000/39800*100%=93%
EAC=BAC/CPI=50000元
3、请分析论述一个典型的软件项目团队中一般有哪些人员角色及其职责是什么?
非标准答案,仅供参考:
(1)项目经理:负责整个项目的规划、执行和监控。
(2)业务分析师:与利益相关者沟通,收集和分析业务需求。
(3)系统架构师:设计软件系统的总体结构。
(4)软件开发工程师:根据需求文档和设计规范编写代码;实现软件功能,参与软件设计;与团队成员协作,进行代码审查和调试。
(5)前端开发工程师:负责用户界面设计和实现;使用HTML、CSS和JavaScript等技术构建用户友好的界面;确保跨浏览器兼容性和响应式设计。
(6)后端开发工程师:设计和实现服务器、数据库和应用逻辑;确保系统的安全性、性能和稳定性;与前端开发者协作,提供API和数据接口。
(7)质量保证/测试工程师:编写和执行测试用例,发现软件缺陷。
(8)技术支持/运维工程师:负责软件的部署和维护。
(9)用户体验(UX)设计师:设计产品的用户体验流程;创建原型和用户界面设计;进行用户研究和测试,确保设计满足用户需求。
(10)界面设计师:负责视觉设计,包括布局、颜色和字体;创建高保真设计原型;与前端开发者协作,确保设计的一致性。
(11)配置管理师:管理软件版本和变更;维护代码库和配置文件;支持团队协作和版本控制。
(12)数据科学家/分析师:处理和分析数据,提供洞见。
(13)项目经理助理/项目协调员:支持项目经理,协助日常项目管理活动;跟踪项目进度,管理文档和会议。
(14)市场/产品经理:定义产品愿景和路线图;管理产品需求,确保产品符合市场趋势;协调跨部门团队,推动产品开发。
作业九:
1、请简述作为项目经理,在项目结束阶段需要开展的主要活动有哪些?
非标准答案,仅供参考:
答:在结束项目时,项目经理需要回顾项目管理计划,确保所有项目工作都已完成及项目目标均已实现。如果项目在完工前就提前终止,结束项目或阶段过程还需要制定程序,以调查和记录提前终止的原因。为了实现上述目的,项目经理应该引导所有合适的相关方参与本过程。
2、通过学习软件项目管理课程,请以你自己的理解和认识,谈一谈作为项目经理如何才能更好地做好软件项目的管理工作。
非标准答案,仅供参考:
答:
(1)明确项目目标和范围:项目经理应该与利益相关者一起明确项目的目标和范围,确保所有团队成员都对此有共同的理解。
(2)制定详细的项目计划:项目经理需要制定详细的项目计划,包括任务分配、时间表、预算和资源分配。计划应该具有可操作性和灵活性,以适应项目过程中的变化。
(3)风险管理:识别可能的风险,并制定相应的应对策略。定期评估风险,并调整管理措施。
(4)团队建设与管理:建立高效的团队,确保团队成员之间良好的沟通和协作。了解每个成员的强项和弱点,合理分配任务。
(5)沟通与协调:保持与团队成员、利益相关者和客户的持续沟通。确保信息的透明度和及时性,协调各方面的需求和期望。
(6)质量控制:确保项目输出符合质量标准。采用适当的方法和工具进行质量控制,如代码审查、测试和用户反馈。
(7)变更管理:对项目过程中的变更进行有效管理,确保变更不会对项目的目标和时间表产生不利影响。
(8)持续学习与改进:鼓励团队成员持续学习和改进。从每个项目中学习经验教训,不断改进项目管理过程。
(9)使用项目管理工具:利用现代项目管理工具,如敏捷看板、甘特图、项目管理软件等,以提高项目管理的效率。
(10)遵守职业道德和规范:作为项目经理,应遵守职业道德和行业标准,确保项目的透明度和公正性。
该作业pdf版下载链接
www.lanzouw.com/ilZnB1zzjo1g
该作业word版下载链接
www.lanzouw.com/inFyx1zzjo2h