(完整word版)软件项目需求管理
1
南京信息工程大学实验(实习)报告
实验名称 软件项目需求管理 实验日期 10.15 指导老师 仅供参考
一、实验目的
掌握软件项目需求管理过程,学习编制软件项目需求规格说明书。
二、实验时间
2学时
三、实验要求
1、 按照需求规格文档模板完成需求规格说明书的编写,按实验报告的撰写规范完成实验报告。
2、 自拟一个简易软件系统(以自己熟练操作的软件为主,如学生成绩管理系统、图书管理系统、美食订餐系统等,后续实验将一直围绕该系统展开),从软件开发人员角度来思考编写该项目的需求规格说明书。
3、用功能点法分析软件规模,给出软件的功能点值。
四、实验内容
图书管理系统软件需求规格说明
1.引言
1.1目的
对于一个大型图书馆,对图书的借还,读者注册借阅以及图书的管理是使用图书馆资源重要的前提,所以一个优秀的图书管理系统对于管理是非常重要的,该需求规格说明书对图书管理系统软件进行了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能。
1.2范围
本系统通过给图书管理人员带来管理上的便利来提高管理效率,本系统包括基本的增删改查功能。力求减少人力与管理费用,提高信息准确度,改进管理和服务,建立高效的信息传输和服务平台,提高信息处理速度和利用率。
1.3定义、简写和缩略语
文档中采用的专门术语的定义及缩略词简要如下:
LMS:Library Management System,图书管理系统。
1.4引用文件
2 中国国家标准化管理委员会.GB/T-9385-2008,计算机软件需求规格说明规范[S].2008.
2.概述
2.1产品描述
本系统就是为现代化图书管理信息系统而设计的,本系统是面向图书管理员的,主要解决了手工记录容易出错等与书籍多等有关的问题。
2.2产品功能
能够储存一定数量的图书信息,并方便有效地进行相应的图书书籍的数据操作和管理,这主要包括:图书信息的增删改查;图书的检索;图书借还情况的统计。
能够对一定数量的读者进行相应的信息储存和管理,这其中包括:读者信息的增删改查;读者的统计与查询。
能够提供一定的安全机制,提供数据信息授权访问,防止随意删改,同时提供数据备份的服务。
2.3用户特点
通过对图书书籍、读者信息、借还情况进行高效的管理,图书管理员可以查询某读者、某图书的具体情况,还可以对某类、某具体同种书进行一些统计,能够在系统上给出统计表格,以便全面掌握图书的流通情况,减少工作量。
2.4运行环境
硬件环境:
CPU:2.2GHz及以上
内存:最低128M;推荐512M以上
硬盘:最低5G可用;推荐10G可用以上
显示:1280x1024及以上
软件环境:
Windows XP及以上操作系统
My Eclipse
SQL server 2008
Jdbc
2.5约束
本图书管理系统最好只应用于学校图书管理员,在功能上还可以进一步实现安全防范、借阅平台、后台管理、图书管理、与网络集成起来,实现真正的网上图书系统软件。
2.6假设和依赖关系
3 由于开发时间和计算机数量有限,该系统不能提供强大的信息查询功能,对信息的保护手段也仅仅限于登录密码保护,以及对数据文件的备份也比较简单,安全性有待进一步提高。
3接口需求
3.1硬件接口
考虑到大量数据备份等要求,需要保持与外部存储设备的接口。
3.2软件接口
这里主要考虑软件与操作系统和数据库的接口,以及局域网和互联网软件的数据交换,考虑到文档处理时需要常用的办公软件,应尽量实现它们数据格式的自动转换。
3.3用户接口
用户进入图书馆管理系统主页面时,输入用户名与密码,只有都输入正确才能进入系统。在做新建和更新数据信息的操作时,必须输入合法内容才能成功的进行数据控制操作。
3.4通信接口
网络通讯协议:HTTP协议
数据传输协议:TCP/IP协议
4功能需求
4.1图书管理
功能描述:图书信息的添加、删除、修改以及采购新书、旧书下架等
输入项:图书编号、图书名称、作者、出版社、定价、图书类型、库存数量、借数量
处理描述: 当图书馆购买新的图书后图书管理员将图书的信息录入系统中,给每本图书分配一个唯一标示的图书编号,以方便对图书进行各种查询及更新、修改操作。根据读者的需要输入书名,查询图书数据库显示图书信息和图书的数量是否可借。
输出项:图书具体信息
4.2用户管理
功能描述:系统管理员管理前台操作员用户、图书管理员用户、读者用户的信息以及权限
输入项:用户编号、用户姓名、性别、年龄、身份、权限
处理描述:所有用户从进入本校开始,都有一个唯一标识的用户编号,所有用户信息都会在用户数据库,不同身份的用户有不同的权限,可以进行属于自己权限的操作以及管理,用户信息有改动时,用户管理系统管理员可以修改信息,用户离校时信息
4 作废,不能使用。
输出项:用户信息
4.3借阅管理
功能描述:读者用户可以通过将借书证上的唯一标识的用户编号借书
输入项:读者用户编号、姓名、所借图书编号、图书名称、借书时间
处理描述:当读者用户去图书馆前台借书时,出示自己的借书证,前台工作人员通过扫描借书证上的信息标识和图书编号,判断当前用户是否可以借当前的图书,如果读者是在校合法的注册读者用户,则可以借书,否则,不能借书。
输出项:当前读者是否可以借当前图书
4.4还书管理
功能描述:通过读者用户借书证和所还图书上唯一标识的编号判断是否正常还书
输入项:读者编号、读者姓名、性别、年龄、图书编号、图书名称、借书时间、还书时间
处理描述:当读者用户去图书馆前台还书时,出示自己的借书证和要还的图书,前台工作人员通过扫描借书证上的信息标识和图书编号,查询当前用户的借书信息,判断读者是否违章,若读者违章,则缴纳罚金,若读者未违章,正常还书
输出项:读者是否可以正常还书
4.5预定管理
功能描述:读者通过图书检索预订图书
输入项:读者编号、姓名、性别、年龄、图书编号、图书名称
处理描述:读者可以预订当前全部借完的图书,以便在该书还回后尽快借到该图书。
输出项:预定图书是否成功
4.6借阅信息管理
功能描述:读者用户可以查询自己的图书借阅信息,可以续借一次当前已借图书
输入项:读者编号、读者姓名、性别、年龄、所借图书编号、图书名称、借书日期
处理描述:读者用户通过登陆自己的客户端查询自己的图书借阅信息,还可以续借一次已借图书
输出项:所借图书信息,借书历史信息
4.7图书检索
功能描述:读者用户登录到自己的客户端对想借阅的图书进行检索
输入项:图书名称、图书编号
处理描述:读者用户通过客户端可以进行图书检索,有一般检索(模糊查询)和高级查询(详细查询)
5 输出项:图书信息
4.8信息查询密码修改
功能描述:所有用户都可以登录到自己的系统,进行对自己的信息查询和密码修改操作
输入项:用户编号、当前密码、新密码
处理描述:用户通过自己合法的用户名与密码登录到系统,查询自己的基本信息,修改登录密码。
输出项:个人信息 密码修改是否成功
5其他非功能性需求
5.1精度要求
该系统的所有输入输出的数据精确到小数点后两位。货币金额数据类型均按实数保存,在显示处理时保留小数点后4位;文本安装基本文字规范录入。
5.2时间要求
响应时间:统计、查询数据数据的相应时间控制在30秒内一卡通读卡时间控制在0.5秒之内,写卡时间控制在0.8秒之内
更新处理时间:局域网数据库在网络无故障的情况下,插入一条数据和更新一条数据的数据库操作响应时间控制在0.5秒/条之内
数据的转换和传送时间:在拨号网络连接通后,交换数据以数据单元形式进行,所有数据交换过程控制在20分钟内
运行时间:程序启动和初始化时间控制在3秒之内
5.3密码安全性
在软件系统的安全性方面要求有较高的安全防护,基本的安全防护为用户密码,无法通过验证的用户是无法进入系统;提供用户修改密码功能;用户的密码与数据库密码相结合及用户所具有的界面操作权限与其所对应的数据库表的权限是一致的,这样不仅提高了应用程序的安全性,而且提高了数据库的安全性。
5.4数据库安全性
提供定期数据库自动备份和手工备份功能,并对数据库服务器和数据库平台进行加密,只有系统管理员才有权限进行数据库的备份和还原工作,以提高数据库的安全性。
五、实验总结
组件 组件复杂度
低 中 高
EI 4*3 0*4 0*6
6 EO 5*4 0*5 0*7
EQ 4*3 2*4 0*6
EIF 5*7 0*10 0*15
ILF 7*5 0*7 0*10
总计 114 8 0
UFC 122
TCF=0.65+0.1*(0*2+3*8+5*4)=1.09
FP=122*1.09=133
软件项目管理的范围计划
软件项目管理的范围计划
1.引言
1.1 概述
软件项目管理是指在软件开发过程中对项目范围进行规划、监控和控制的一系列活动。它负责确保软件项目能够按照既定的时间、成本和质量目标得以顺利完成。
在软件开发过程中,范围定义了项目的界限和目标。范围计划是软件项目管理中至关重要的一部分,它确定了项目的具体范围、目标和可交付成果。范围计划的编制是为了帮助团队理解项目的目标,明确项目的边界,为项目的实施提供明确的指导。
范围计划的制定需要考虑诸多因素,包括项目的需求、可用资源、时间限制等。通过明确项目的范围,可以避免项目目标的混乱和变化,提高项目的可控性和可预测性。
范围计划通常包括以下内容:确定项目的目标和可交付成果、定义项目的边界和限制条件、明确项目的需求和功能、制定项目工作分解结构(WBS)、确定项目的交付物和验收标准等。
一个完整的范围计划对于软件项目的成功非常重要。它可以帮助团队明确项目的目标,规划项目的各项工作,提前预测和解决可能出现的问题,确保项目按计划顺利进行。
总而言之,范围计划是软件项目管理的基础,它为项目提供了明确的方向和目标,并指导项目团队在实施过程中做出决策。通过制定合理的范围计划,可以有效地控制项目的进度、成本和质量,提高项目管理的效率和成功率。
1.2 文章结构
文章结构部分主要是对整篇文章的结构进行介绍和概述,包括各部分的主要内容和组成部分。在本文中,文章结构包括以下几个部分:
1. 引言:本部分主要从概述、文章结构和目的三个方面进行介绍。
- 概述:简要介绍软件项目管理的范围计划,指出其重要性和必要性。
- 文章结构:列出文章的主要部分和章节,以及各部分的主要内容。
- 目的:明确本文的写作目的,为读者提供一个清晰的指导,帮助读者更好地理解和掌握范围计划的相关知识。
2. 正文:本部分主要分为两个小节,分别介绍软件项目管理概述和范围计划的重要性。
- 软件项目管理概述:对软件项目管理进行概述,包括定义、原则、流程和方法等方面的内容。
软件项目开发和管理规范标准[详]
WORD格式
专业资料 .. .. .. ..
软件项目开发和管理规范 V1
软件开发标准化工作流程
1 引言
1.1 编写目的
软件项目管理是软件工程和项目管理的交叉学科 , 软件项目管理的概念涵
盖了管理软件产品开发所必须的知识 、 技术及工具 。 根据美国项目管理协会
PMI 对项目管理的定义可以将软件项目管理定义为 : 在软件项目活动中运用一
系列知识 、技能 、工具和技术 , 以满足软件需求方的整体要求 。
软件项目管理是为了使软件项目能够按照预定的成本 、进度 、质量顺利完
成 ,而对成本 、 人员 、 进度 、 质量 、 风险等进行分析和管理的活动 。实际上 ,
软件项目管理的意义不仅仅如此 ,进行软件项目管理有利于将开发人员的个人
开发能力转化成企业的开发能力 , 企业的软件开发能力越高 ,表明这个企业的
软件生产越趋向于成熟 , 企业越能够稳定发展 。
软件生存周期包括可行性分析与项目开发计划 、 需求分析 、设计 ( 概要设
计和详细设计 )、 编码 、测试 、维护等活动 ,所有这些活动都必须进行管理 ,
在每个阶段都存在着权限角色控制 、 文档管理 、 版本控制 、 管理工具等 ,软件
项目管理贯穿于软件生命的演化过程之中 。
参考.资料WORD格式
专业资料 .. .. .. ..
1.2 适用范围
所有软件项目管理 。
1.3 定义
列出本文件中用到的专门术语的定义 、 外文首字母组词的原词组 。
2 软件项目管理过程
2.1 概述
为保证软件项目获得成功 ,必须对软件开发项目的工作范围 、要完成的任
务 、需要的资源 、需要的工作量 、进度的安排 、可能遇到的风险等做到心中有
数。软件项目的管理工作开始于技术工作开始之前 ,在软件从概念到实现的过
程中持续进行 , 最后终止于软件开发工作结束 。
参考.资料WORD格式
专业资料 .. .. .. ..
1.4 流程图
软件项目质量管理方案
软件项目质量管理方案
一、引言
随着信息技术的快速发展,软件项目越来越重要且复杂,其质量管理也变得至关重要。本文将介绍一个完整的软件项目质量管理方案,以确保软件项目的顺利开发和高质量交付。
二、目标
该质量管理方案的主要目标是保证软件项目的质量,提高软件交付的可靠性和可控性。具体目标包括:
1.确保软件项目按照预定的时间表和预算交付。
2.提高软件项目的稳定性和可靠性,减少故障和漏洞。
3.确保软件项目符合需求和规范。
4.提高软件项目的用户体验和用户满意度。
5.提高软件项目的可维护性和可扩展性。
三、质量管理流程
1.需求管理
确保软件项目的需求明确、可追踪和可验证。通过和客户充分沟通,准确定义需求,并使用适当的工具和技术进行需求分析和管理。
2.设计管理
确保软件项目的设计满足需求,具有良好的结构和可扩展性。进行系统设计和详细设计,并使用适当的工具和技术进行设计管理和评审。 3.编码管理
确保软件项目的编码符合设计和编码规范,具有高质量和高效率。使用合适的编码工具和技术,进行代码编写、代码审查和代码管理。
4.测试管理
确保软件项目的测试全面、有效和可重复。进行单元测试、集成测试、系统测试和验收测试,并使用适当的测试工具和技术进行测试管理和缺陷管理。
5.配置管理
确保软件项目的配置可控和可追踪。使用配置管理工具和技术,对软件项目进行版本管理、变更管理和发布管理。
6.过程管理
确保软件项目的开发过程可追踪和可改进。引入合适的过程管理方法和工具,对软件项目的开发过程进行监控、评估和改进。
7.文档管理
确保软件项目的文档清晰、准确和完整。制定文档管理规范,对软件项目的文档进行版本管理、变更管理和发布管理。
8.项目管理
确保软件项目的整体进度、成本和质量可控。采用合适的项目管理方法和工具,对软件项目进行计划、执行和监控。
四、质量管理工具
为了实施质量管理方案,需要使用一些质量管理工具,如下所示: 1. 需求管理工具:用于需求分析和需求管理,如JIRA、Trello等工具。
软件项目管理流程
软件项目管理流程
1.项目流程、对应阶段以及管理思想
项目流程项开发的各阶段过程管理思想项目立项
产品定义
需求分析阶段
概要设计阶段
详细设计阶段
系统编码阶段
单元测试阶段
集成测试阶段
系统测试阶段
软件开发
软件测试
项目管理过程
评审过程
软件监督与审核过程
软件配置管理过程
软件需求管理过程
变更控制过规程
文档控制规程 文档开发与管理规范内部验收
用户验收
系统维护
2.不同角色的任务和产出(简要)
项目阶段/角色
需求阶段
项目经理
活动:
1.建立CQ/QC中的工程目
录;
2.在SVN中建立工程目录;
3.分析工程所需资源,风险
等
4.预估工程周期
产出:
1.项目计划(大致时间规划)
活动:
1.监控项目进度。
2.组织安排本阶段的评审
3.任务分解,责任到人 4.细化工程打算
产出:
3.工程打算(具体到各功能)
活动:
1.监控工程进度
2.调解人员安排
3.跟踪解决技术难点
产出:
1.工程打算(更新进度)
活动:
1.监控项目进度
2.跟踪解决问题列表
产出:
1项目计划(更新进度)
2.项目进度报告
活动:
1.监控工程进度
2跟踪.解决技术难题
产出:
1.项目进度报告 产品团队
BA/BAS/Product M)
活动:
1.收集整理需求
产出:
1.需求说明书
开辟团队
TTL/Developer)
介入:
1.需求分析
2.环境分析
测试团队
Test Lead /Tester)
参与:
1.需求分析
2.环境分析设想阶段介入:
1.系统功能设想
产出:
1.系统说明书
活动: 1.系统功能技术设计
2.数据库设想
产出:
系统功能的技术设计
活动:
1.具体功能开发
产出:
1.功能单元代码
开发阶段
单元测试阶段
集成测试阶段
系统测试阶段活动:
1.分配BUG
2.跟踪解决技术难题
产出:
1.工程进度报告
活动:
1.组织代码走查
2.单元测试
软件项目规范
软件项目规范
软件项目规范是指在软件开发过程中所遵循的一套统一的规范和标准,用以确保软件项目的质量和进度。下面是一个关于软件项目规范的示例,总共有1000字:
一、项目管理规范
1.项目立项:在项目启动阶段,确保项目的目标、范围、资源和时间等方面得到明确规定和约定,并开展必要的前期调研和可行性分析。
2.项目组织:明确项目组织架构和各个角色的职责,确保项目团队的有效沟通和协作。
3.需求管理:对项目需求进行细化、分解和描述,并使用适当的工具进行需求跟踪和管理。
4.变更管理:对项目需求和计划的变更进行评估、控制和追踪,确保变更过程的可控性和透明度。
5.风险管理:在项目开始阶段进行风险评估和规划,并通过合理的风险控制和应急预案,降低风险对项目的影响。
6.进度管理:制定项目进度计划,并通过适当的监控和调整,确保项目按时完成。
二、设计与开发规范
1.设计规范:根据需求和架构设计,对软件系统进行模块分解、接口设计和关键技术选型等,并编写相应的设计文档。
2.编码规范:制定统一的编码规范,包括命名规范、代码风格、注释规范和异常处理等,以提高代码的可读性和可维护性。
3.代码审查:对关键模块和重要功能进行代码审查,确保代码质量和规范度,并及时发现和修复潜在的问题。
4.测试规范:制定测试计划和测试用例,并通过白盒测试和黑盒测试等手段,对软件系统进行全面的测试和验证。
5.配置管理:对软件开发过程中产生的所有配置项进行有效的管理和控制,确保软件版本的可追踪性和一致性。
三、文档编写规范
1.需求文档:编写完整、准确的需求文档,包括功能需求、非功能需求和用户界面设计等。
2.设计文档:编写详细、清晰的设计文档,包括架构设计、流程设计和数据设计等。
3.用户手册:编写简明、易懂的用户手册,包括软件功能说明、操作步骤和常见问题解答等。
4.安装部署文档:编写详细、全面的安装部署文档,包括环境配置、数据库脚本和启动说明等。
需求管理 需求管理岗位职责(精彩10篇)
需求管理 需求管理岗位职责(精彩10篇)
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。相信许多人会觉得范文很难写?下面是作者给大家整理的10篇较新需求管理岗位职责,希望可以启发您对于需求管理的写作思路。
需求管理岗位职责 篇一
职责:
1、负责客户需求调研及需求反馈的分析,协助系统架构师、系统分析师对需求进行理解;
2、根据概要需求(客户及内部需求)编写详细需求规格说明书;
3、与产品人员进行前期调研和产品设计工作,编写调研报告和项目解决方案;
4、参与系统功能验收工作及用户手册、新增产品功能培训资料的编写;
5、配合测试人员完成测试计划、测试用例、测试报告,发现及跟踪问题缺陷等。
任职资格:
1、统招本科及以上学历,计算机类相关专业背景;
2、具备2年以上的it软件行业同职位工作经验;
3、具备良好的产品原型设计能力和需求分析能力,能够将用户需求合理转化为产品需求;
4、具备良好的沟通协调能力和文档能力;
5、能够熟练使用axure进行原型设计;
6、具备网络安全产品设计经验者优先考虑。
需求管理岗位职责 篇二
职责:
1、分析业务部门实际需求,规划、推进信贷数据体系建设工作;
2、负责与业务部门进行业务数据需求沟通,并整理出相应的需求和流程文档,并推进信贷数据产品的设计及开发实施;
3、持续跟踪业务数据,监测业务发展态势,并可从数据层面推进业务功能或流程优化;任职要求:
1、3年及以上风险集市、运营集市或报表平台的实施经验,了解消费金融或银行信贷业务的基本知识;
2、具备优秀的沟通表达能力,擅长跨部门沟通,快速有效的推动各项事项;
3、具备熟练的文档整理能力,擅长流程图、时序图等的绘制,能够将文案内容准确、清晰的落地;
软件需求分析
软件需求分析
软件需求分析是软件开发过程中的重要环节,它旨在确定并记录软件系统的功能、性能、安全性和可靠性等方面的需求。通过对需求的详细分析和评估,可以为软件开发团队提供指导,确保最终开发出符合用户期望的软件产品。本文将探讨软件需求分析的过程和方法。
一、需求搜集
在软件需求分析的初期阶段,需要收集用户对软件系统的需求。可以通过以下几种方式进行需求搜集:
1. 用户访谈:与用户直接交流,了解他们的需求、期望和问题。通过问答的方式,可以深入了解用户的实际需求。
2. 文档分析:研究现有的相关文档,如用户手册、需求规格说明等,从中获得对软件系统需求的指导。
3. 视频记录:观察用户使用类似软件的过程,并进行记录。通过观察用户的操作行为,可以发现一些隐藏的需求。
4. 市场调研:通过调查市场上类似软件的竞争情况,分析用户对软件的需求和偏好。
在需求搜集的过程中,需要将不同用户的需求进行整合和归纳,以确保获取到全面准确的需求信息。
二、需求分析 在需求搜集完成后,需进行对需求进行详细的分析和评估。需求分析包括以下几个主要步骤:
1. 需求分类和划分:将需求进行分类,如功能需求、非功能需求等,并根据需求的优先级进行划分。这样可以帮助开发团队有针对性地进行开发。
2. 需求验证:分析需求的可行性和合理性,并与用户进行确认。通过需求验证,可以避免开发出不符合实际需求的软件。
3. 需求建模:利用工具和技术,对需求进行建模,如数据流图、用例图等。通过建模,可以更加直观地展示软件系统的功能和交互关系。
4. 需求规约:将需求进行详细的描述和规定,确保软件开发团队理解和遵守。需求规约包括需求的背景、目标、功能描述、输入输出等方面的要求。
三、需求管理
在软件开发的整个周期中,需求可能会发生变化。因此,需求管理是软件需求分析的一个关键环节。需求管理包括以下几个方面:
1. 需求跟踪:跟踪需求的变化和演化,并记录下每个需求的状态和变更历史。这样可以确保软件开发团队对需求的变化有清晰的了解。
软件需求分析的方法与实践指导书
软件需求分析的方法与实践指导书
第1章 引言 ..................................................................................................................................... 4
1.1 软件需求分析的重要性 ................................................................................................... 4
1.1.1 保证软件符合用户需求 ............................................................................................... 4
1.1.2 降低开发成本和时间 ................................................................................................... 4
1.1.3 提高软件质量和可靠性 ............................................................................................... 4
1.1.4 为软件设计和实现提供指导 ....................................................................................... 4
1.2 需求分析的过程与任务 ................................................................................................... 4
解析企业软件开发项目的需求管理
解析企业软件开发项目的需求管理 刘若珍 李欣 (中电科技集团第二十八研究所) 摘要:需求管理是整个软件工程的管理的基础,也是项目成功的关键所 在。本文论述了企业软件开发项目中需求管理的重要性,详细描述了软件需 求的复杂性,分析了需求变化的原因,并针对这些问题提出相应的管理策略。 关键词:需求管理软件需求需求变化 0引言 随着信息时代的发展,计算机软件的需求愈来愈复杂,规模愈来 愈大,而且随着企业的发展和工作过程重组,需求变更已愈来愈成为 必然。在企业软件项目的开发过程中,需求变更贯穿了软件项目的整 个生命周期,在软件的项目立项、研发及维护各阶段,用户经验的增 加、对软件使用感受的变化以及整个行业的新动态,都为软件带来不 断完善功能、优化性能、提高用户友好性的要求。在软件项目管理过 程中,项目经理经常面对用户的需求变更。如果不能有效处理这些需 求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人 员的士气将越来越低落,将直接导致项目成本增加、质量下降及项目 交付日期推后。这决定了项目组必须拥有需求管理策略。 需求管理是软件开发生命周期的初始阶段,它对最终提交的软 件产品的质量起着至关重要的作用。有资料统计,软件项目40%一 60%的问题都源于需求分析。所以,重视需求、谨慎对待、严密分析, 是每一个开发者应该持有的正确态度。建立软件需求管理过程的目 的在于用户和软件项目组之间形成共同的理解,这种共同理解应体 现在用户需求的文档化确认和对用户需求的控制中,并保证项目的 计划、工作产品和活动都与需求一致。 1需求管理复杂性分析 软件需求是整个软件开发项目的最关键的一个输入,和传统的 生产企业相比较,软件的需求具有模糊性、不确定性、变化性和主观 性的特点,不同于生产汽车、电脑等硬件的需求,是有形的、客观的、 可描述的、可检测的,软件需求是企业软件项目最难把握的问题,其 复杂性体现在以下方面: 1.1需求的描述问题。缺少正式的、完整的需求文档浪费了大量 的人力物力,但是有了需求文档又出现了新的问题。在用户方进行的 需求评审会完全是走形式,因为用户根本不去听那上百页的需求文 档。不同层次的客户(用户)关心的问题是不一样的,想要每个客户都 成为需求专家是不现实的。 1.2需求的完备程度问题。需求如何做到没有遗漏?如何准确划 定系统的范围?这确实是一个两难问题,稍微大一点的系统要想穷举 需求几乎是不可能的,每次开需求评审会时,总会冒出新的需求,以 至于系统没有一个准确的范围界定。即使是这样,系统还是要开发, 系统的范围还要硬性的划定一个,从而建立一个基线。 1.3需求开发的工期问题。在需求上花费了大量的时间,客户、 企业是否能够忍受?为了确保需求的正确性,完备性,项目经理往往 坚持要在需求阶段花费大量的时间,但是客户与企业的高层领导却 会为项目迟迟看不到实际可运行的软件担心不已,他们往往会催促 项目组尽快往前推进,而项目组的成员往往也会被系统复杂、善变的 需求折腾的筋疲力尽,希望尽快结束需求分析的相关工作。 1.4需求的细致程度问题。需求到底描述到多细,才算可以结束 了?仁者见仁,智者见智,并没有定论,如果时间允许,要想细总可以 细下去的。但是,需求的周期越长,可能的变化越多,对设计的限制越 严格,对需求的共性提取要求越高,所以只要客户(用户)、需求分析 人员、设计人员、测试人员认为描述清楚了,就可以进入设计阶段了。 1.5需求的变化问题。在软件开发过程中如果只有一条真理的 话,那一定是:需求的变化是永恒的,需求不可能是完备的。软件开发 的过程实际上是同变化做斗争的过程,需求的变更不~定是坏事,也 有可能是好事,是商业机会,对市场敏感的人可以从需求的变化中发 现市场机会。 2需求变化的原因: 需求变化的原因很多,比如:①一开始没有识别全,需要增加需 22 求;②业务发生了变化,需求必须变化;③需求错误;④需求不清楚。 需求的变化问题是每个开发人员、每个项目经理都遇到的问 题,也是最头痛的问题,一旦发生了需求变化,项目组不得不修改设 计、重写代码、修改测试用例、调整项目计划等等。需求的变化好像 为项目的正常的进展带来不尽的麻烦,怎么办?只有通过需求管理 使需求在受控的状态下发生变化,而不是随意变化,需求管理就是 要按照标准的流程来控制需求的变化。难题随之而来,需求中的变 化一般不是突发的革命性的变化,最常见的是项目需求的渐变 (Project Scope Creep)问题,这种渐变很可能是客户与开发方都没 有意识到的,当达到一定程度时,双方才蓦然回首,发现已经物是人 非,换了一番天地。 3需求管理策略 需求管理需要遵守以下策略: 3.1需求一定要与投入有必然的联系需求一定要与投入有必 然的联系,否则如果需求变更的成本由开发方来承担,则项目需求的 变更就成为必然了。人们常说世上没有免费的午餐,同样也不应该有 免费的需求变更。但是,接受需求变更目前却是软件企业不得不咽下 的苦果。所以,在项目的开始无论是开发方还是出资方都要明确这一 条:需求变,软件开发的投入也要变。 3-2要充分理解客户提出来的需求开发者应该理解客户的需 求,如果这点做不到,后面的工作是没有意义的,所以,那种在没有理 解需求的情况下,就仓促开发的做法是不合适的。 3.3需求的变更要经过出资者的认可需求的变更引起投入的 变化,所以要通过出资者的认可,这样才会对需求的变更有成本的概 念,能够慎重地对待需求的变更。 3.4做好需求文档的版本管理记录用户需求、系统需求、软件 分配需求的文档都要作为基线确定下来,做好相关文档的管理工作。 需求的基线是指是否容许需求变更的分界线,需求分析人员在充分 与客户用户进行沟通的基础上形成第一个版本的需求文档,这个需 求文档在通过需求评审后即可以建立第一个需求基线。此后每次需 求变更并经过需求评审后,都要重新确定新的需求基线,以免将来用 户需求发生变更时,原来的需求无法查找。为有效进行需求变更控 制,必然要做的工作就是保存好各个版本的需求基线,维护需求基线 文档,以备不时之需。 3.5小的需求变更也要经过正规的需求管理流程小的需求变 更也要经过正规的需求管理流程,否则会积少成多。在实践中,人们 往往不愿意为小的需求变更去执行正规的需求管理过程,认为降低 了开发效率,浪费了时间。正是由于这种观念才使需求的渐变不可 控,最终导致项目的失败。 3.6精确的需求与范围定义并不会阻止需求的变更并非对需 求定义的越细,越能避免需求的渐变,这是两个层面的问题。太细的 需求定义对需求渐变没有任何效果,因为需求的变化是永恒的,并非 需求写细了就不会变化了。 3.7注意沟通的技巧由于需求的变更可能来自投资方、也可能 来自用户方和开发方,作为投资方可能不愿意为需求的变更付出更 多的成本,而开发方有可能主动的变更了需求目的是使软件做的更 精致。于是作为需求管理者,项目经理需要采用各种沟通技巧来使项 目的各方各得其所。 4结束语 需求管理是软件项目中一项十分重要的工作,据调查显示在众 多失败的软件项目中,由于需求原因导致的约占到45%,因此有效 的需求管理是企业软件开发项目顺利达成目标的重要支撑条件。理 解项目开发的目的和用途,梳理用户需求,设计系统的各项功能需 求,监控需求变化,进行需求确认,对需求风险进行防范,以一系列的 方法和措施实施需求管理工作,才能推进软件项目良性发展,
软件项目管理规范操作指南
软件项目管理规范操作指南
第1章 项目启动与规划 ................................................................................................................. 5
1.1 项目定义与目标 ............................................................................................................... 5
1.1.1 项目背景 ....................................................................................................................... 5
1.1.2 项目目标 ....................................................................................................................... 6
1.1.3 项目范围 ....................................................................................................................... 6
1.2 项目可行性分析 ............................................................................................................... 6
1.2.1 技术可行性 ................................................................................................................... 6
