第11章软件项目管理
软件工程学包括方法、工具与环境、管理等广泛的研究领域。管理科学产生于集体劳动的分工与专业化。任何生产体系都包含工具、技术和管理。而软件项目管理除一般工程管理问题的规律外,由于软件产品的固有特性,还有其特殊性。
通过软件项目管理,在软件开发过程中,协调开发人员的共同工作。保证在给定资源与环境下,能够在预期的时间内,有效地组织人力、物力、财力完成预定软件项目。项目管理的内容包括项目计划管理、质量管理、人员组织管理、文档管理、成本控制和配置管理。由于软件的易变动性,软件配置的管理成为软件项目管理的重点内容。
软件产品与其他任何产业的产品不同,它是无形的,完全没有物理属性。对于这样看不见,摸不着的产品,难以理解,难于驾驭。但它确实是把思想、概念、算法、流程、组织、效率、优化等融合在一起了。因此,要开发这样的产品,在许多情况下,用户很难提出确切、全面的要求,也说不清究竟他需要的是什么。在开发的过程中,程序与其相关的文档常常需要修改。在修改的过程中又可能产生新的问题,并且这些问题很可能在过了相当长的时间以后才会发现。文档编制的工作量在整个项目研制过程中占有很大的比重。但从实践中看出,人们对它不感兴趣、认为是不得不做的苦差事,不愿认真地去做。因而直接影响了软件的质量。软件开发工作技术性很强,要求参加工作的人员具有一定的技术水平和实际工作的经验。但事实上,人员的流动对工作的影响很大。离去的人员不但带走了重要的信息,还带走了工作经验。
软件项目管理的主要职能包括以下几点:
⑴制定计划:规定待完成的任务、要求、资源、人力和进度等。
⑵建立组织:为实施计划,保证任务的完成,需要建立分工明确的责任制机构。
⑶配备人员:任用各种层次的技术人员和管理人员。
⑷指导:鼓励和动员软件人员完成所分配的工作。
⑸检验:对照计划或标准,监督和检查实施的情况。
软件项目计划内容包括:
⑴范围
对该软件项目进行综合描述,定义其所要做的工作以及性能限制,具体内容包括:
①项目目标:说明项目的目标与要求;
②主要功能:给出该软件的重要功能描述,该描述只涉及高层及较高层的系统逻辑模型;
③性能限制:描述总的性能特征及其他约束条件;
④系统接口:描述与此项目有关的其他系统成分及其关系;
⑤特殊要求:指对可靠性、实时性等方面的特殊要求;
⑥开发概述:概括说明软件开始过程各阶段的工作,重点集中于需求定义、设计和维护。
⑵资源
①人员资源:要求的人员数(包括系统分析员、高级程序员、程序员、操作员、资料员和测试员);
②硬件资源:指软件开发过程中所需的硬件支持和测试设备;
③软件资源:指软件开发过程中所需的支持软件和应用软件,如各种开发和测试的软件工具包、操作系统和数据库软件等。
⑶进度安排
进度安排的好坏往往会影响整个项目是否能够按期完成,因此这一环节也是十分重要的。制定软件进度与其他工程项目没有很大的区别,其主要的方法有:
①工程网络图;
②Cantt图;
③任务资源表。
⑷成本估算
为使开发项目能在规定的时间内完成,且不超过预算,成本估算是很重要的。软件成本估算是一门不成熟的技术,国外已有的技术只能作为我们的借鉴。
⑸培训计划
为用户各级人员制定培训计划。
软件工程的目标之一是生产优质软件。软件产品的质量既有一般有形产品的共性标准又有其特殊性。整个软件生命周期中保证软件质量是一个重要问题。
软件质量控制的主要措施有计划、评审、测试和复审。
计划是指在软件定义阶段就要根据项目的要求确定质量保证体系,包括软件配置标准,软件生命周期各阶段完成的标志,实施评审、测试、复审的组织规范。文档是将软件开发与维护过程由不可见变为可见的媒介。软件配置标准主要通过文档标准体现。软件文档标准包括文挡的种类,每种文档的格式、内容、图表规范、包装、使用对象、建立及修改权限等。
评审主要是针对软件开发的需求分析、系统设计各阶段完成的文档进行审查验证。需求评审的主要内容包括:软件需求的完备性、相容性、正确性、可行性和可测试性,软件需求是否已经准确地反映了用户的功能、性能要求并且被恰当地分配到系统各配置项中。设计评审的主要内容是:系统设计是否符合需求分析规范;系统的内部结构是否恰当、合理地实现了事件处理序列,输入/输出界面,错误恢复策略;系统全程数据对象定义是否完整,模块接口定义是否正确,是否满足结构化要求。
测试系统主要针对系统实现。通过模块测试、集成测试来验证软件系统内部结构的完整性和可靠性,通过验收测试确认系统对于
软件工程10—软件项目管理 来自淘豆网m.daumloan.com转载请标明出处.