软件开发质量管理提升系统之需求管理
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
绪论
1.1课题来源及研究意义
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件开发质量管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件开发质量管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,从而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,开发质量管理的意义不仅仅如此,进行开发质量管理有利于将开发人员的个人开发能力转化成企业的开发能力,当企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。目前大多数软件企业都缺乏对项目工作量、成本、进度、质量及风险等有效的监控手段,无法实现科学和系统的项目工作规划。软件开发质量管理提升系统正是基于目前软件开发企业的现状,结合了实际的软件项目管理经验而设计开发的一套管理平台,来帮助企业提高软件开发管理质量。
以软件开发生命周期为中心,基于软件工程过程[3]和项目管理过程两个方面来构建软件开发管理工具,为项目组、高级管理者提供方便有效的项目计划、任务跟踪、问题处理、需求管理[1]、缺陷管理、配置管理、质量管理、培训等工具。
需求管理工具的主要目的是实现客户及开发小组之间内部的良好沟通、有效的减少错误,增加项目可控性,保证项目按期按预算顺利进行、规范软件开发过程,确保软件质量,为需求的组织、集成和分析提供方便。本系统将结合需求文档管理条目化管理的要求,使需求具有可追溯性,而且很好的控制软件需求的变更,通过基线管理等方式,实现需求的可跟踪性,增加团队开发的积极性和项目管理的可控性,从而准确地控制需求变更。
软件开发质量管理提升系统之需求管理工具实现为传统的C/S模式。CS模式是一种两层结构的系统,第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。本文主要讲述的是安装在客户机上的系统实现。
1.2课题目前研究现状及存在的问题
现在需求管理过程[2]中常存在着不足:
1、缺乏有效的需求获取方法。例如,缺乏合理的规范来指导如何获取客户需求,不能正确使用需求的分析方法和工具,没有合适的需求规格说明书模板支持,没有对需求进行评审并获得客户确认,等等。
2、缺乏有效的需求变更管理。由于软件的需求具有模糊性、不确定性、变化性和主观性等特点,需求变更在所难免。然而中小型软件企业大都没有规范的需求变更管理,当用户需求变化时,没有很好地分析需求变更的影响,盲目相应客户的变更需求,造成需求反复和工期延长等问题。 think58.com [资料来源:www.THINK58.com]
3、用户说不清楚需求和用户经常变更需求是普遍现象,令开发方非常头痛。开发人员不善于写文档,很难写出清楚、完整的软件需求规格说明书。后续开发人员可能误解需求,做出与需求不一致的设计、代码、测试用例等等,最后不得不大量返工重做。
缺乏有效的需求跟踪管理。需求的一致性在软件的实现过程如设计、编码等环节没有得到很好保证,导致产品没有满足需求,增加了产品质量问题的隐患。
随着社会对软件的需求的应用越来越复杂,日益呈现出对管理软件需求的工具的需要。而目前国内针对中小型IT企业的需求管理工具很少,存在的大多是国外的大型软件需求管理工具,如,IBM Rational RequisitePro,Borland CaliberRM等。这些软件多是本着大型软件公司作为出发点的,并没有具体考虑到中国IT企业现有的管理流程和制度。同时,那些工具许多功能的使用方式不适合中国人的习惯,而且那些工具的汉化工作支持不足,关健是,那些工具的许多功能在中小型IT企业根本用不上,因为在中国有些IT企业现在还根本上没有依据国际上规范的软件过程来进行项目的开发和管理。再者,这些大型的外国工具价格也不菲。
中小型IT企业管理的规范将会随着社会的发展而逐渐完善。本系统本着从中小型IT企业出发,实现一个可以追溯,对变更可具有可控性的需求管理工具。
本系统的主要不足之处是面向中小型的IT企业,应用面有一定的局限性。同时,系统是基于C/S模式开发的,具有着C/S模式本身上的一些缺点。如缺少通用性,业务的变更,需要重新设计和开发,增加了维护和管理的难度,进一步的业务拓展困难较多。
需求管理中常用的概念和过程
在本文中经常用到需求管理[4]中的一些概念。了解这些概念对于理解本系统的设计有很大的帮助。本章还将会提出一些需求管理过程中常遇到的问题,在后面将会结合本系统讲出该问题在本系统的解决方法或对应的功能点。
2.1需求管理中常用到的概念
2.1.1需求
Rational将需求[6]定义为“(正在构建的)系统必须符合的条件或具备的功能”。需求工程设计师 Merlin Dor`fman 和 Richard H. Thayer 提出了一个包容且更为精练的定义:
“软件需求可定义为:用户解决某一问题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。”
需求到最终可以细化为一些需求属性的组合。
2.1.2需求管理
需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。
换句话说,需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。这个定义与Dorfman与Thayer以及IEEE的“软件需求工程”的定义相似。需求工程包括获取、分析、规定、验证和管理软件需求,而“软件需求管理”则是对所有相关活动的规划和控制。 think58.com
需求管理(Requirements Management)应当是已知系统需求的完整体现,每部分解决方案都是对总体需求一定比例的满足(甚至是充分满足),仅仅解决部分需求是没有意义的。对关键需求的疏忽很可能是灾难性的。需求模型是不同的需求组合起来而形成。用户需求决定了系统设计所要解决的问题,所要带来的结果。可以说,需求管理指明了系统开发所要做和必须做的每一件事,指明了所有设计应该提供的功能和必然受到的制约。有效需求管理的关键在于维护需求的明确阐述、每种需求类型所适用的属性,以及与其他需求和其他项目工件之间的可追踪性。
其中需求的明确阐述包括了版本控制和变更历史等等。
2.1.3需求类型
引入需求类型以区分不同的抽象级别和目的的需求。每个需求类型都有一组唯一属性,与在该级别上定义的每个需求相关联。
2.1.4需求类型里的需求属性
需求是由一系统的信息组合而成的。这些信息就是需求属性。但在本系统中,采用了需求类型这一概念,把各个属性归属到需求类型里。下面是用到的部分需求属性及其说明如下:
1、需求名称:需求的简要描述。它应该可以很好概括和指出某个“需求”具有的约束或行为。
2、需求编号:在某个系统中,可以唯一的标识出某个需求。
3、需求描述:需求最重要的属性之一。需求描述里指明了该需求的所有具体,详细的要求或约束。 think58.com
4、优先级:需求的优先级描述了需求的急缓和重要情度。
5、需求状态:描述了需求的当前处于的状态。如新提交的、已经评审的等等。
6、需求拥有者:指提出需求的人。一般指产品经理或客户代表。
还有很多的其它的属性,不同的需求类型,其需求属性组是不一样的。比如,业务需求的需求属性不一定要很细致,只要说明一下客户高级的要求或在使用软件系统后要达到的目标即好。
1.1课题来源及研究意义
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件开发质量管理引入开发活动中,对开发实行有效的管理。从概念上讲,软件开发质量管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,从而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,开发质量管理的意义不仅仅如此,进行开发质量管理有利于将开发人员的个人开发能力转化成企业的开发能力,当企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。目前大多数软件企业都缺乏对项目工作量、成本、进度、质量及风险等有效的监控手段,无法实现科学和系统的项目工作规划。软件开发质量管理提升系统正是基于目前软件开发企业的现状,结合了实际的软件项目管理经验而设计开发的一套管理平台,来帮助企业提高软件开发管理质量。
以软件开发生命周期为中心,基于软件工程过程[3]和项目管理过程两个方面来构建软件开发管理工具,为项目组、高级管理者提供方便有效的项目计划、任务跟踪、问题处理、需求管理[1]、缺陷管理、配置管理、质量管理、培训等工具。
think58好,好think58
[资料来源:http://www.THINK58.com]
需求管理工具的主要目的是实现客户及开发小组之间内部的良好沟通、有效的减少错误,增加项目可控性,保证项目按期按预算顺利进行、规范软件开发过程,确保软件质量,为需求的组织、集成和分析提供方便。本系统将结合需求文档管理条目化管理的要求,使需求具有可追溯性,而且很好的控制软件需求的变更,通过基线管理等方式,实现需求的可跟踪性,增加团队开发的积极性和项目管理的可控性,从而准确地控制需求变更。
软件开发质量管理提升系统之需求管理工具实现为传统的C/S模式。CS模式是一种两层结构的系统,第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。本文主要讲述的是安装在客户机上的系统实现。
1.2课题目前研究现状及存在的问题
现在需求管理过程[2]中常存在着不足:
1、缺乏有效的需求获取方法。例如,缺乏合理的规范来指导如何获取客户需求,不能正确使用需求的分析方法和工具,没有合适的需求规格说明书模板支持,没有对需求进行评审并获得客户确认,等等。
2、缺乏有效的需求变更管理。由于软件的需求具有模糊性、不确定性、变化性和主观性等特点,需求变更在所难免。然而中小型软件企业大都没有规范的需求变更管理,当用户需求变化时,没有很好地分析需求变更的影响,盲目相应客户的变更需求,造成需求反复和工期延长等问题。 think58.com [资料来源:www.THINK58.com]
3、用户说不清楚需求和用户经常变更需求是普遍现象,令开发方非常头痛。开发人员不善于写文档,很难写出清楚、完整的软件需求规格说明书。后续开发人员可能误解需求,做出与需求不一致的设计、代码、测试用例等等,最后不得不大量返工重做。
缺乏有效的需求跟踪管理。需求的一致性在软件的实现过程如设计、编码等环节没有得到很好保证,导致产品没有满足需求,增加了产品质量问题的隐患。
随着社会对软件的需求的应用越来越复杂,日益呈现出对管理软件需求的工具的需要。而目前国内针对中小型IT企业的需求管理工具很少,存在的大多是国外的大型软件需求管理工具,如,IBM Rational RequisitePro,Borland CaliberRM等。这些软件多是本着大型软件公司作为出发点的,并没有具体考虑到中国IT企业现有的管理流程和制度。同时,那些工具许多功能的使用方式不适合中国人的习惯,而且那些工具的汉化工作支持不足,关健是,那些工具的许多功能在中小型IT企业根本用不上,因为在中国有些IT企业现在还根本上没有依据国际上规范的软件过程来进行项目的开发和管理。再者,这些大型的外国工具价格也不菲。
中小型IT企业管理的规范将会随着社会的发展而逐渐完善。本系统本着从中小型IT企业出发,实现一个可以追溯,对变更可具有可控性的需求管理工具。
think58
[资料来源:THINK58.com]
本系统的主要不足之处是面向中小型的IT企业,应用面有一定的局限性。同时,系统是基于C/S模式开发的,具有着C/S模式本身上的一些缺点。如缺少通用性,业务的变更,需要重新设计和开发,增加了维护和管理的难度,进一步的业务拓展困难较多。
需求管理中常用的概念和过程
在本文中经常用到需求管理[4]中的一些概念。了解这些概念对于理解本系统的设计有很大的帮助。本章还将会提出一些需求管理过程中常遇到的问题,在后面将会结合本系统讲出该问题在本系统的解决方法或对应的功能点。
2.1需求管理中常用到的概念
2.1.1需求
Rational将需求[6]定义为“(正在构建的)系统必须符合的条件或具备的功能”。需求工程设计师 Merlin Dor`fman 和 Richard H. Thayer 提出了一个包容且更为精练的定义:
“软件需求可定义为:用户解决某一问题或达到某一目标所需的软件功能。系统或系统构件为了满足合同、规约、标准或其他正式实行的文档而必须满足或具备的软件功能。”
需求到最终可以细化为一些需求属性的组合。
2.1.2需求管理
需求管理是软件项目开发过程中控制和维持需求约定的活动,它包括:变更控制、版本控制、需求跟踪、需求状态跟踪等工作。
换句话说,需求管理就是:一种获取、组织并记录系统需求的系统化方案,以及一个使客户与项目团队对不断变更的系统需求达成并保持一致的过程。这个定义与Dorfman与Thayer以及IEEE的“软件需求工程”的定义相似。需求工程包括获取、分析、规定、验证和管理软件需求,而“软件需求管理”则是对所有相关活动的规划和控制。 think58.com
[资料来源:http://think58.com]
需求管理(Requirements Management)应当是已知系统需求的完整体现,每部分解决方案都是对总体需求一定比例的满足(甚至是充分满足),仅仅解决部分需求是没有意义的。对关键需求的疏忽很可能是灾难性的。需求模型是不同的需求组合起来而形成。用户需求决定了系统设计所要解决的问题,所要带来的结果。可以说,需求管理指明了系统开发所要做和必须做的每一件事,指明了所有设计应该提供的功能和必然受到的制约。有效需求管理的关键在于维护需求的明确阐述、每种需求类型所适用的属性,以及与其他需求和其他项目工件之间的可追踪性。
其中需求的明确阐述包括了版本控制和变更历史等等。
2.1.3需求类型
引入需求类型以区分不同的抽象级别和目的的需求。每个需求类型都有一组唯一属性,与在该级别上定义的每个需求相关联。
2.1.4需求类型里的需求属性
需求是由一系统的信息组合而成的。这些信息就是需求属性。但在本系统中,采用了需求类型这一概念,把各个属性归属到需求类型里。下面是用到的部分需求属性及其说明如下:
1、需求名称:需求的简要描述。它应该可以很好概括和指出某个“需求”具有的约束或行为。
2、需求编号:在某个系统中,可以唯一的标识出某个需求。
3、需求描述:需求最重要的属性之一。需求描述里指明了该需求的所有具体,详细的要求或约束。 think58.com
[来源:http://think58.com]
4、优先级:需求的优先级描述了需求的急缓和重要情度。
5、需求状态:描述了需求的当前处于的状态。如新提交的、已经评审的等等。
6、需求拥有者:指提出需求的人。一般指产品经理或客户代表。
还有很多的其它的属性,不同的需求类型,其需求属性组是不一样的。比如,业务需求的需求属性不一定要很细致,只要说明一下客户高级的要求或在使用软件系统后要达到的目标即好。