软件项目如何进行需求分析.doc





《软件项目如何进行需求分析.doc》由会员分享,可在线阅读,更多相关《软件项目如何进行需求分析.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件项目如何进行需求分析软件项目如何进行需求分析?我们要围绕两个核心问题开展需求分析:(1)应该了解什么?(2)通过什么方式去了解? 1 应该了解什么那怕是天下最无能的市长或书记,都知道在作报告时要先从宏观上讲一、二、三、四、五,再从细节上讲A、B、C、D、E。需求分析不象侦探推理那样从蛛丝马迹着手。应该先了解宏观的问题,再了解细节的问题,如图4.1所示。一个软件系统(记为 S)的涉及面可能很广,可以按不同的问题域(记为D)分类,每个问题域对应于一个软件子系统。S = D1,D2,D3, Dn 问题域Di 由若干个问题(记为P)组成,每个问题对应于子系统中的一个软构件。Di = P1,P2,P
2、3, Pm 问题Pj有若干个行为(或功能,记为F),每个行为对应于软构件中的接口。Pj = F1,F2,F3, Fk 按图4.1结构写成的需求说明书,对于那些只想了解宏观需求的领导,和需要了解细节的技术员都合适。在写需求说明书时还应该注意两个问题:(1)最好为每个需求注释“为什么”,这样可让程序员了解需求的本质,以便选用最合适的技术来实现此需求。(2)需求说明不可有二义性,更不能前后相矛盾。如果有二义性或前后相矛盾,则要重新分析此需求。2 通过什么方式去了解了解需求的方式有好几种:(1)直接与客户交谈。如果分析人员生有足球评论员的那张“大嘴”,就非常容易侃出需求。(2)有些需求客户讲不清楚,分
3、析人员又猜不透,这时就要请教行家。有些高手真的很厉害,你还没有开始问,他就能讲出前因后果。让你感到“听君一席言,胜读十年书。”(3)有很多需求可能客户与分析人员想都没有想过,或者想得太幼稚。要经常分析优秀的和蹩脚的同类软件,看到了优点就尽量吸取,看到了缺点就引以为戒。前人既然付了学费,后人就不要拒绝坐享其成。软件工程之需求分析过程介绍软件需求工程过程(SREP),本文简要地列举并说明了在整个软件需求工程的过程中的工作职责要点。一、 开始 1. 项目经理根据项目特点,指定对过程表格的具体要求; 2. 项目经理制订项目的标准,包括:DTS(缺陷类型)、TRA(风险类型)、TRS(需求类型)等,在过
4、程表格中按标准引用. 二、 计划1. 计划经理估算需求开发时间; 2. 计划经理完成:SPT(进度计划)、TPT(任务计划),将计划数据录入PDS(项目计划摘要). 三、 需求获取 1. 软件需求工程师搜集系统概要信息,填写REQ(需求获取概貌); 2. 软件需求工程师搜集用户需求,分类并清晰地把需求写入REA(需求获取/分析)、RES(需求获取情节)、UIR(用户交互需求); 3. 检查需求获取过程,并填写REC(需求获取检查); 4. 如果检查不通过,从1.重头开始过程; 5. 软件需求工程师填写TRL(时间记录日志)、PIP(过程改进建议); 6. 计划经理整理本阶段数据,录入SPT、T
5、PT. 四、 需求分析1. 软件需求工程师进行需求分析,建立分析模型,数据字典及项目词汇表,完成REA(分析模型的具体要求,请分别参见结构化分析和面向对象分析的具体作业指导书); 2. 软件需求工程师将发现的需求的冲突、交迭、冗余或矛盾,记入NCR; 3. 检查需求分析,完成RAC(需求分析检查); 4. 如果检查不通过,从1重头开始过程; 5. 软件需求工程师填写TRL、PIP; 6. 计划经理整理数据,录入TPT、SPT. 五、 协商1. 软件需求工程师利用NCR,与风险承担者协商解决需求分析中发现的问题,将决议录入NCR; 2. 软件需求工程师根据决议,修改REA等相关文档; 3. 如果
6、有新的需求引入,需要重新进行需求分析阶段; 4. 软件需求工程师填写TRL、PIP; 5. 计划经理整理数据,录入TPT、SPT. 六、 需求评审1. 评审小组负责人拟定检查清单,为成员分派检查任务,制订评审日程表; 2. 评审员各自评审分派的内容,将发现的问题录入DRL(缺陷记录日志); 3. 评审小组负责人组织评审会议,各小组成员提交DRL并讨论; 4. 评审小组以IRF形式提交检查报表; 5. 软件需求工程师根据IRF修订相关文档; 6. 计划经理整理数据,录入TPT、SPT。 七、 需求文档编写1. 软件需求工程师综合考虑功能需求和非功能需求,编写软件需求说明书 软件需求说明书的编写格
7、式与要求,请参见具体的作业指导书。 2. 利用RDC检查软件需求说明书是否全面、正确并可执行; 3. 如果检查不通过,从1重头开始过程; 4. 软件需求工程师填写TRL、PIP; 5. 计划经理整理数据,录入TPT、SPT。 八、 需求确认1. 评审小组,对需求进行确认: l 确认每一个需求及相互关系; l 需求的总体质量达到标准。 将结果写到RVC。 2. 软件需求工程师根据RVC,修订需求文档,并最终通过; 3. 软件工程师为每一个需求设计测试用例,并录入TRF; 4. 相关人员填写TRL、PIP; 5. 计划经理整理数据,录入TPT、SPT。 九、 配置管理1. RD(需求文档)成为基线
8、后,即纳入到配置管理; 2. 如果需要对基线RD(需求文档)进行修改,填写CCP; 3. 配置管理人员征求需求开发小组和其他相关人员(风险承担者)关于CCP的意见; 4. 如果所有人员通过CCP,则将需求文档的配置管理取出,并填写CCF; 如果否决需求,则填写RRF; 5. 软件需求工程师修改RD以适应新的需求 (可能包括REA等);软件需求调研中的5W+1H定律 2005.06.28来自:mypm泓峥萧瑟 对于软件的需求调研活动,虽然曾经写过三篇相关的需求管理文章,出发角度是从整体的需求管理过程考虑;在引入CMM(二)需求管理KPA活动的基础上,列举了如何进行需求调研前的需求管理计划活动;在
9、失败的项目中,找出规范和管理软件需求过程的关健点及需求关联的模型架构(这些可以参考以前写过的CMM 需求管理实践经验记录谈、从CMM角度考虑需求管理计划、如何用CRC模型来确定需求)。一直以来,感觉自己在经过几个项目试验的基础上对于软件的需求管理应该是有一定的基础和经验了,然而在最近参与的一个大型项目过程中,在新加坡项目经理的引导与帮助下,对于软件需求调研又有了更深一层的体会和认识;总结出需求调研中的5W+1H定律,在此把自己的一些过程和经验描述出来,希望能与各同仁一起分享与讨论。项目背景:一个中型的企业信息化项目,其中乙方的项目经理是一个拥有PMP证书的资深项目管理人员。甲方的项目经理是一个
10、有着丰富项目实施和管理经验的新加坡项目管理人员。(在这里需要补充的时,在调研产生冲突过程中,外籍人员如何用自己的经验和技巧,让乙方完全可以接收)项目成员:甲方:外包项目经理、外包项目管理人员乙方:项目经理、系统分析员、界面制作人员工作内容:项目需求阶段的活动,对于系统的需求,甲乙双方与最终用户能达成一致,甲方作为外包管理者,主要是对乙方项目组的项目进度、项目阶段成果进行跟踪与验收,以保证项目在预期的时间内完成预期的工作任务。过程描述:项目启动后,乙方的项目经理列了一份详细的需求调研时间表、调研阶段成果目录清单、界面成果等的计划内容,可以用一个 “赞” 字来形容;从计划上看,乙方的项目经理计划真
11、的是完美无缺;在与用户进行业务需求调研的活动中,乙方不仅记录下目前用户现有的业务流程,包括目前流程的局限性,流程的执行性等方面,还为用户进行了将来系统流程的规划,的确是一个不错的开始。可是在乙方提交其阶段的需求分析文档和界面时,却发现二者存在了种种的冲突和矛盾,我们无法将需求分析文档与界面结合在一起。此时,乙方的项目经理解释是因为文档比界面细,所以二者存在一些理解上的差异。而我们甲方却总觉得有些不太对劲,但因为同样存在着对用户流程细节的不熟悉,所以我们也提不出具体的问题,直到有一天,跟着乙方一起做用户的需求活动后,从乙方项目经理的提问方面,我们终于明白为什么他们会做出这样的文档和界面。首先,乙
12、方项目经理对用户的提问是没有序列的,我们所谓的序列就是项目经理的逻辑是否清晰,除了问及目前的流程外,最重要的引入项目(即新的软件系统)的目的,所需达到的效果,可以对用户辅助的东东,而这些乙方的项目经理一字未提与问,只记录用户所说的过程、局限和要求。这样,乙方项目经理在分析与规划系统的需求时,就没有一个明确的目的性和方向性,这里就要引入第一个W定律-WHY定律。WHY就是为什么用户要引入系统,引入新的信息系统对用户有什么帮助,在总体工作效能上如何实现一个最终的结果?WHY定律是要求在需求开始时,项目经理就应该明确的,这个项目是为了改进用户工作效率;提高部门间的协作机制;加快对客户反应的体系服务;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 如何 进行 需求 分析

限制150内