项目管理理论的软件需求开发管理模型分析
2016-08-10农宁勇
农宁勇
(广西博联信息通信技术有限责任公司广西南宁市530023)
项目管理理论的软件需求开发管理模型分析
农宁勇
(广西博联信息通信技术有限责任公司广西南宁市530023)
软件开发需要作为软件项目管理的前期工作。在整个项目过程中,实现与最终产品需求的软件开发的最佳组合。运用项目管理理论,将软件开发过程分为需求获取、需求分析、编译软件需求规范和验证四个阶段,并对软件的设计需求管理模型的开发进行了研究。该模型可以提高软件的需求开发和管理效率,保证软件开发进度、低成本、高质量的完成。
软件需求开发过程;需求模型;项目管理;需求进度;需求成本;需求质量
1 引言
件需求开发是软件工程的一个重要组成部分,软件生命周期的需求,设计,编码,测试和维护的各个阶段,对软件工程的发展需求,为建设项目提供了依据,确定了客户对软件开发需求的匹配程度。在项目管理理论的应用中,开发系统软件需求分析阶段设计管理模型,提高了软件开发管理的效率需求。
2 软件需求开发管理过程
由于计算机技术的飞速发展,对软件需求的管理与开发,软件需求具有模糊性、加上用户逐步参与,逐渐深入,从而提出了更多更好的需求,导致产生了不确定性、变异性及主观性和复杂性等特点。软件需求的开发是一定的组织,在规定的时间内完成有限的资源,可以作为项目管理、管理过程中获得需求、需求分析、软件需求规范和验证的四个部分。
2.1 需求获取
需求获取是需求工程的主体,他必须要求开发者与用户共同参与,其主要目的是获取提供方所需需求。
获取需求的方式主要是先了解用户的组织结构、业务流程、硬件环境、软件环境、现有的操作系统的具体情况,并与用户建立良好的沟通渠道和方法。软件需求获取方法,对用户提出的问题;访问用户的工作流程,观察用户的操作;用户情景分析;系统中存在的问题和改进要求的报告和事件响应;市场调查和问卷调查;与同伴、专家说话,听他们的意见;现有的同类软件产品的分析;从现有产品或竞争产品中提取行业的标准;从互联网搜索相关的信息等。收集的信息需要经过多次确认。值得注意的是,需求获取是随机的,不是硬性的,在与需求人员相互沟通时,情商尤为重要。
2.2 需求分析
需求分析主要是通过建立业务模型来描述用户、客户、用户的功能需求,为客户提供一个沟通渠道的开发。该分析主要强调如何才能实现,但是需求分析与设计有着本质的区别,软件的设计是一项复杂工程,它涵盖了很多学术性的内容,为了达到需求分析的功能,软件设计就需要发挥自身独特的价值。需求分析后也要进行分析验证,构想的需求要按照设计转换成软件系统的功能,实现用户的需求。该业务模型可以反映软件产品的核心需求,即功能需求。功能要求应该描述该软件提供的功能和服务,描述了系统结构的具体条件。软件产品本身也可能具有非功能性的要求,与业务没有直接的关系,具体涉及系统的整体特性,如可靠性、响应时间、存储空间等非功能性要求。系统的定义提供服务或功能的约束,包括时间约束、空间约束。
2.3 编制软件需求规格
前期软件开发人员必须与需求人员进行沟通,通过反复确认后,制定软件需求规格说明书,软件需求规格说明书为用户和软件开发人员双方对软件的初始规定一个共同的理解,使它成为发展工作的基础,并将软件开发人员设计出的软件也需要反复确认。需求分析完成的标志是提交一个完整的软件需求规格说明书。软件需求规格说明在一个开发人员可用的技术形式这个软件必须提供的功能和特点,并必须考虑限制。软件项目的客户了解软件项目可以通过软件需求规格说明书提供软件产品,检查是否需要满足软件要求;项目管理根据发展计划和项目管理软件需求规格说明;软件开发人员通过软件需求说明书了解具体的开发产品和开发的内容;软件测试人员通过软件需求验证软件。
2.4 需求评审
需求评审分为内审和外审;软件设计好需经过内部人员的测评,一旦内审通过后方可进行下一步,内审没有通过需继续修改;外审指的是在内审通过后,由一些需求者经过自身测评,测评结果为外审结果。同时软件需求规格也应进行需求评估,以确保科学的要求。分别进行了如下以下各项指标:正确性:每一个要求都是正确的,代表建筑软件系统完成。无歧义:每一个要求只有一个解释。完整性:需求不能出现遗漏,应考虑与综合性有关的问题。用户需求的一致性:必须符合业务需求,功能要求必须符合用户的需求。对现有资源的重要性和稳定性进行分类,实现所有的要求,根据低水平的实施,决定放弃一定的水平。确保项目及时交付。可验证性:需求分析进行检验,都需要只有系统可以进行测试,以确保软件始终围绕用户的需求。可以修改:每一个需要完成一致的更改,并且不改变结构和样式的要求集。可追溯性:每一项要求都是可追溯的,并有一种机制,使今后的工作需求的参考是可行的。可理解性:用户和开发人员了解需求集的整体行为,提供了每一个需求的功能和意义。
2.5 需求验证
对于验证需求要按照几个方面进行,分别为:一致性、现实性、完整和有效性。
(1)一致性:必须跟所需求保持一致性,任何一条需求不可与其他需求有相互矛盾
(2)现实性:根据目前科技发展状态,必须保证需求按照现有技术可以达到。
(3)完整有效性:保证用户需求是正确的,可以满足用户的需求。
在对系统开发完后,需对系统进行整体验证,将系统让需求人员和开发人员进行试运行,将运行出的问题进行反馈,把这些问题进行一一列举出来,认真听取使用者的建议,将这些问题一一改正,最终取得用户者的认可。
3 软件需求开发管理模型
3.1 软件需求开发管理模型构建原则
软件需求开发是一项复杂的系统工程,建设管理模式应遵循以下原则:程序性原则:软件需求开发与管理应遵循固定的业务过程,可以分为需求获取、需求分析、软件需求规格说明和验证四个阶段,完成上述工作后第一阶段进入下一阶段。系统的原理:软件开发需要在有限的时间和成本的约束下实现一定的质量,实现软件需求的最优管理系统,遵循管理的原则,达到最佳的目标。简化原则:简化、将模糊、复杂的潜在问题明确,以图表的形式显示,并简化解决问题的解决方案,方便项目管理。平衡原则:具体的交易管理软件需要有一定的开发重点,重点放在开发过程中。对项目的需求,应根据大小排序的影响,在关键的问题或事项的管理多点,以达到平衡。模型设计的原则必须实施,以促进需求发展目标为前提,提供相关的展示的发展需要的人事管理和有效的解决方案平台。控制原则:始终影响进度,及时控制需求开发过程中的成本、质量等问题,及时发现和解决冲突,及时做好事前、事后控制,确保工程质量和数量。动态原则:信息技术的发展应关注在发展中的先进技术将应用于软件开发的需求,并借鉴相关的软件需求开发成果。
3.2 模型应用
由于软件需求开发是复杂的,因为需要描述问题的主要表现,需求表达清楚是很难确定的,难以统一;需求问题,需求没有遗漏,很难准确描述系统范围;需求的变化是恒定的,需求可能不完整。该模型适用于做以下工作:文档管理的需求。文档必须是正确的,被证明是在受控条件下改变的。开发或管理人员常常认为是在模棱两可的情况下相对简单和可省略忽视,文件记录的需求其实并不一定是简单的,只想清楚,真正明显整理需求,同时,方便维修工作后,在需求不确定的情况下,以处理的形式,并邀请有关人员参与需求的澄清,并确定在多方确认的申请的需求。同时软件复用率的需要相当高,可以避免再次升级时需要再次获取,只在原文本块的基础上进行需求复用。升级过程中审核要求的变化,减少了管理变更的影响。在软件开发过程中,需求的变化是不可避免的,无论需要如何改变的程度,只要需求的变化都必须由项目管理人员进行评估,必须进行。在变更申请前,再转为人事考核工作的发展。在分析整个系统的本质理解的基础上,可以通过关联性对需求管理过程中的影响和功能模块进行系统的分析,并制定积极的措施。
3.3 软件需求开发管理模型(见图1)
该模型遵循了软件需求开发的管理流程。启动阶段,软件开发进行了可行性研究,软件项目已立项,项目正式启动。软件需求开发管理阶段是模型的主要部分,按照项目流程,依次划分为需求获取、需求分析、编写软件需求规格和需求验证四个阶段。总结阶段,对软件需求开发管理进行总结,并进入到软件程序设计阶段。模型的核心部分是应用项目管理的进度管理、成本管理、质量管理,对软件需求开发进行动态管理。进度管理就是制定出经济合理的进度计划,然后在计划执行过程中,检查实际进度与计划进度之间的差异,并及时找出出现差异的原因,采取有效的补救措施,以确保项目按时按质完成。进度管理应加强沟通,掌握可能延误进度的环节,并严格控制进度变更。成本管理就是对项目所需的成本情况进行详细地分析和估算,编制资源需求计划,并编制项目所需的成本估算和预算,在执行过程中,采取相应的措施对项目成本进行控制。
4 结束语
软件需求开发在软件项目管理中,其发挥着重要的作用。在项目管理理论的应用中,设计了软件需求开发和管理模型。该模型将按照项目管理的过程,软件需求开发部推出需求开发过程,总结了三个阶段以及软件开发过程分为需求获取、需求分析、编写软件需求规格说明和验证四个阶段,进度管理,成本管理模式及应用项目管理,质量管理,软件需求开发的动态管理,实现最优的软件开发项目的目标。该模型可以提高软件的需求开发和管理效率,保证了软件开发进度、低成本、高质量的完成。
图1 软件开发管理模型
[1]陈婷婷,刘欣.研发项目风险因素差异性实证研究[J].科技进步对策,2009,32(18):37~43.
[2]景慎艳.软件项目需求管理的探索与实践[J].电脑知识与技术,2008(27).
[3]左怀远.软件项目中的风险管理研究[J].世界科技研究与发展,2008(3).
[4]张路玲,李师贤.软件项目风险管理方法比较和研究[J].计算机工程,2003,29(3):92~93.
[5]方德英,李敏强.中小规模低成熟度软件企业的项目风险管理[J].计算机系统应用,2003,10(3):12~15.
TP311.5
A
1004-7344(2016)30-0005-02
2016-8-18
农宁勇(1984-),男,助理工程师,主要从事软件需求开发工作。