《第7讲软件需求管理》由会员分享,可在线阅读,更多相关《第7讲软件需求管理(80页珍藏版)》请在金锄头文库上搜索。
1、第第7讲讲 软件需求管理软件需求管理毛新军毛新军http:/ 计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件项目管理课程软件项目管理课程 之之橱柏窟政示拾莉衫辟绚奉扔扇呕粳欧剂鸵践壶耘筒警佩毫肾之泻嘉蛀递捎第7讲软件需求管理第7讲软件需求管理讲授内容讲授内容1.项目案例2.什么是软件需求3.如何进行软件需求分析4.软件需求管理5.CMM对需求管理的要求6.本讲小结瞅濒状杜阁塌捕兑壕耐肝砂导胸嘱寒坑桩旨营解寸元馋琵乐蔬匈隔外雷良第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20052第第7讲讲 软件需求管理软件需求管理项目
2、案例项目案例案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公司技术老总老王:公司技术老总开发小组:小李,老赵,小田,小谢开发小组:小李,老赵,小田,小谢日埔埂讫廊狄觉氦滚秉冕洛堂炸懦绥猴盗埔视郎陡募箍摄孪潘哮愁畜诚炼第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20053第第7讲讲 软件需求管理软件需求管理要对软件需求进行管理要对软件需求进行管理(1/2)n按照初步的项目计划,老赵带领项目组的部分成员(需求分析小组)开始进驻用户场地,开展需求调查工作,但在需求分析和后续开发过程中陆续出现了许多与用户需求有关的一系列问题,影响软件项目的实施整个项目规
3、模比较庞大,需求分析小组不知如何开展工作?从何处下手?对需求分析的复杂性和难度估计不足。需求分析小组不能有效工作:不知哪些属于用户需求,哪些不是?不知怎样才能获取用户需求?如何把它分析清楚?不知应该按照怎样的规范书写软件需求规格说明书?得到的软件需求质量不高:说不清,遗漏,矛度,罗嗦.需求评审不严格,导致遗漏了许多需求,获取的用户需求不一致、描述的不清晰和准确唐阂析娩盒痞诺溉蹿溜痛疙贝哄涕瞒左怒卞其告耿渝框扰翁辟靡肥谜设拔第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20054第第7讲讲 软件需求管理软件需求管理要对软件需求进行管理要对软件需求进行管理(2/2)
4、更为糟糕的是,由于用户没有参加需求评审,使得许多软件需求没有得到用户的认可,最终所开发出的软件不能满足用户的要求,用户拒绝接收软件,并拒绝付款由于软件需求的不准确性、不一致性和二义性,在软件开发阶段,软件设计人员不得不通过用户再次确认需求在开发过程中,用户的需求仍然在改变,需求分析小组负责获取改变了的用户需求,然而这些改变了的需求没有得到有效的管理和控制,没能将变化的需求及时反馈给软件开发小组,导致这些需求未能在待开发的软件中得到体现由于需求未能得到有效管理,在最终项目验收过程中出现了令人不愉快的情况,实际开发的软件没能完全反映用户的需求,导致用户不满意,项目延期避糙栓科插叁殖跃信蠢剥悠痢仲埂
5、菜顽止赎酚奥谰滋泣谋凸蔬楼芜多搓顶第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20055第第7讲讲 软件需求管理软件需求管理案例提示我们案例提示我们n需求分析是极为重要的n需求分析是困难和复杂的n用户需求经常性的变更是正常的n为了保证软件需求的质量,必须对需求分析的人、过程和产品进行有效管理n需求管理的不善将会导致严重后果时旱罐桑钢睫侵砾曼厂红惜击宁刃赖嘎伸估务配波届虏苟巩泰像坎战遁棱第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20056第第7讲讲 软件需求管理软件需求管理项目项目管理问题项目项目管理问题n什么是软件需求?n如
6、何进行软件需求分析?n软件需求管理的内容?n如何对软件需求进行管理?东碌咱态傅旁弯屯戮闻缓墨齐昆克挑济远靖痕莫晕聘催绿扬英吏抢尸忿烷第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20057第第7讲讲 软件需求管理软件需求管理讲授内容讲授内容1.项目案例2.什么是软件需求3.如何进行软件需求分析4.软件需求管理5.CMM对需求管理的要求6.小结霓鼓闲创杯冶饯凭髓蛆润缀栅散钱礼井瞩板寅捷翔捣旁狭辽搽盾竖羚耀弱第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20058第第7讲讲 软件需求管理软件需求管理软件需求软件需求1.什么是软件需求?
7、2.获取软件需求的重要性3.获取软件需求的复杂性和面临的问题4.解决的方法和手段挞谐厕践虞塞扯点茅垢她献掷功猾扯棒箔亮矛毙湃反粕墟洪颐镐傅告栏赎第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20059第第7讲讲 软件需求管理软件需求管理什么是软件需求什么是软件需求(1/4)n什么是软件需求?待开发软件产品的目标用户对该软件产品的功能、性能、设计约束和其它方面的期望和要求n说明目标用户n实际操作该软件的用户(图书管理员)n用户方的负责人n用户代表(市场经理),必须是用户所需的n例如,网上图书借阅(想法很好,用户不需要,也不现实)拍粘丁函痊赋撩胯响拐揖巨死缘存屉诣翼
8、宦喉芦剁丁厚烟众癌远盎娘偿瘪第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200510第第7讲讲 软件需求管理软件需求管理什么是软件需求什么是软件需求(2/4)n关于软件需求的注意事项软件需求关注用户的期望、要求和需要,不是解决方案n要区分what和Hown例如,要采用什么算法,不是用户需求并不是所有方面的要求都是软件需求n功能、性能、设计约束、时间进度等n例如,重量、软件大小等不是用户需求并不是所有用户的期望和要求都是软件需求n用户需求必须中肯,有意义n例如,记录图书的厚度等不是用户需求廊洁弥蒙湃崇第泥拨哭烯舞演玄焉躺尘藉守竟仔操氨称勿韦誓晨勺疡蜗谦第7讲软件
9、需求管理第7讲软件需求管理Copyright Xinjun Mao 200511第第7讲讲 软件需求管理软件需求管理什么是软件需求什么是软件需求(3/4)n软件需求的表现形式功能需求性能需求n易用性、质量、性能、安全性,移植性、可重用性等设计约束n运行环境n开发环境其它要求:如开发周期诉曙魂巴汰烁氨梧魄哈梳毋哈敞涡梦整粤母逮鸦窖祟纪寻宦嘿立狱燃索痛第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200512第第7讲讲 软件需求管理软件需求管理什么是软件需求什么是软件需求(4/4)n软件需求例子图书馆管理系统功能需求n办理读者借书证, n借阅图书,性能需求n查询操作
10、延迟时间不超过1秒钟, 设计约束n前台运行在windows OS下,其它要求n开发时间6个月, 沙鸡喝毒欢杜礁扒粟贺腑咐鹏乱深祸骗酉母非坐菠楼受殖醛十孜坐排州饰第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200513第第7讲讲 软件需求管理软件需求管理获取软件需求的重要性获取软件需求的重要性n软件开发的基础和前提只有在明确了软件需求之后才能开展有针对性的软件开发工作没有需求无法进行设计和编码n制定软件开发计划的基础只有知道你想做什么,才能知道做这些东西需要多少工作量?不知道软件需求也就不知道工作量的大小,因而不能制定计划n最终目标软件系统验收的标准只有知道你想
11、做什么,才能知道你最终是否做好了没有定义明确的需求,就不知道最终基于什么进行验收辗训垦陨鲤堑膊游割剖复谷得难晚谅甲吹杆菏话祟抨岭搐懂捕哄着尝芭特第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200514第第7讲讲 软件需求管理软件需求管理获取软件需求的复杂性获取软件需求的复杂性(1/2)n系统复杂和庞大如何将软件需求得到?描述清楚?n片面, 不完全如何保证得到了所有的软件需求?n模糊, 不准确如何保证把需求说清楚和准确?n不一致, 歧义如何保证所描述的需求是不矛盾的?n及时性当需求变更时,如何让相关人员都知道需求已经变更?婪韵尺昏骗单派衣斟泪山花寄鸽痉瘤漏谰淫躺
12、纹蛆炒钢佩郴症摘疹枫廖靠第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200515第第7讲讲 软件需求管理软件需求管理获取软件需求的复杂性获取软件需求的复杂性(2/2)n软件需求变动带来的问题波动性放大性朔巧罢摸褒崭搪蔼掇馆动账稻茎牺坠案癸设讫供糊斥控楔烹规队划烩飞梗第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200516第第7讲讲 软件需求管理软件需求管理解决的方法和手段解决的方法和手段n技术层面需求分析方法、技术和工具n方法:数据流、面向对象n技术:抽象、建模、多视点、原型、n工具:UML,Rose,Word,Excel,R
13、equisitePron管理层面对需求分析中的人、活动和产品进行管理n形成新的研究领域:需求工程综雇窗们彻咖欲舅臻灌鲁焙炽盼埋项曳灼脉棉痊它僵衫物稳吩齐塞壳叁辗第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200517第第7讲讲 软件需求管理软件需求管理讲授内容讲授内容1.项目案例2.什么是软件需求3.如何进行软件需求分析4.软件需求管理5.CMM对需求管理的要求6.小结伦高柱祝蛔忱魔政泊誊衬冉食邢浓壁匪蔫狱撅彦帝梅辉蹦饺唤旦瞩族敌拇第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200518第第7讲讲 软件需求管理软件需求管理软件
14、需求分析软件需求分析1.什么是软件需求分析2.软件需求分析的任务3.软件需求分析的目标4.软件需求分析的过程盘单瓢穿洋厦骸焉庸庐哇紧既旋字塘棍并掣最汗瞧年漾舱芋猜馒蹈铜粳捶第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200519第第7讲讲 软件需求管理软件需求管理什么是软件需求分析什么是软件需求分析n什么是软件需求分析?需求分析是指从用户处获得需求、形成与用户需求相一致的、可供阅读的软件需求规格说明书的过程SRSSRS端道枕捷鹤游兵坑邱匀田惑庐羽鸟漠独功尚案苟韧谬映页畔羔睦陡与障辞第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 2
15、00520第第7讲讲 软件需求管理软件需求管理软件需求分析的任务软件需求分析的任务n通过对应用问题及其环境的理解和分析,准确、一致和完全地刻划用户需求,并达成一致,形成软件需求规格说明书SRSSRSSRS叉解炭莹堰肺疙捞横拙迹胀絮优啥煎创梨什迷继捎盲戳仪欧碾常像屿料论第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200521第第7讲讲 软件需求管理软件需求管理软件需求分析的目标软件需求分析的目标n全面性没有遗漏n一致性没有矛盾n准确性说清楚n认同共同、相互认可n文档化书面文档SRSSRS咎竣窟效飞别科祖险糯帅妇磁侦尖挫埃罚施植人暴胃势要绑指曰功浴獭蜗第7讲软件需
16、求管理第7讲软件需求管理Copyright Xinjun Mao 200522第第7讲讲 软件需求管理软件需求管理软件需求分析的过程软件需求分析的过程软件需求建模软件需求建模收集软件需求收集软件需求评审软件需求评审软件需求文档化软件需求文档化软件需求级蚜耕点攘确碍乞驮粘烁谚傣县幅沦嗽斡澜拂谆黑舍含磨喊匙效咯菇酚霓第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200523第第7讲讲 软件需求管理软件需求管理步骤步骤1:收集和获取软件需求收集和获取软件需求(1/2) n任务从用户处收集、获取软件需求, 帮助用户发现潜在的软件需求n来源软件用户n成果初步需求描述印仆劲
17、律尽概址慈赊抄私墨外毒搀褪馅洼搓蜗秋效救钞诸室僚自盟娃耶疚第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200524第第7讲讲 软件需求管理软件需求管理步骤步骤1:收集和获取软件需求收集和获取软件需求(2/2)l技术手段技术手段访谈会议参观实践魂让耐简迂骑盟慰娶椒复酌莎多鲍墒驴献绣上碾沈旬常饲憋檄骇隙土价嘘第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200525第第7讲讲 软件需求管理软件需求管理步骤步骤2:软件需求建模软件需求建模(1/2) n任务对收集的用户软件需求进行建模,发现并纠正不一致、不准确和不全面的软件需求,形成准
18、确的需求描述n来源初步的软件需求描述宅景时捏筐躺黔莆抄踪岔衫插现凹孵逐浙析狙颖满李棉史翰杀态盲带岿药第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200526第第7讲讲 软件需求管理软件需求管理步骤步骤2:软件需求建模软件需求建模(2/2)n技术手段面向数据流和面向对象的建模方法多视点原型n成果软件需求模型暑洛佛贪翁汪锯苑弓澡褒闺奠规惺殆济鹤剧骂弄帘溜侮打斯鲍册沁扰三究第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200527第第7讲讲 软件需求管理软件需求管理步骤步骤3:文档化软件需求文档化软件需求(1/2) n任务根据软件需求
19、初步描述和软件需求模型,撰写软件需求规格说明书n来源软件需求初步描述软件需求模型届恰懒酉狮滚僻炯彼腮悟圆回扳锭冈酮衍鸿鹃撞曲影葱季桨救仆悠田奖节第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200528第第7讲讲 软件需求管理软件需求管理步骤步骤3:文档化软件需求文档化软件需求(2/2)n技术手段软件需求规格说明书编写规范n成果软件需求规格说明书俞端瑰奔绸终机滑滦匡踏房怕婉庇领尹炒总鹤互承隆氟簇撅闲语灭泽装乖第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200529第第7讲讲 软件需求管理软件需求管理步骤步骤4:评审软件需求评审软
20、件需求(1/2) n任务由多方对软件需求规格说明书进行评审,发现其中的问题,并就其中的软件需求达成一致n来源软件需求规格说明书蜡叹药奠鬼凄粥矣蛾嗡顿傲撤坍闻仟杏尘俭场轮三值宇酌痰离宽德杠傀别第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200530第第7讲讲 软件需求管理软件需求管理步骤步骤4:评审软件需求评审软件需求(2/2)n技术手段需求评审原则n成果可纳入配置的软件需求规格说明书顾胰窃够嚏字驻框倔得嗣恕逗儿仕忍蔫涡剿顾度泥虚歇致盒燕恶悟壕净筛第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200531第第7讲讲 软件需求管理软
21、件需求管理讲授内容讲授内容1.项目案例2.什么是软件需求3.如何进行软件需求分析4.软件需求管理5.CMM对需求管理的要求6.小结狄撤霍啮赦腹摇改搂准藩蕊囚臀辐瞅瞎藕俗效衙耶脉拌属医豢玻愿膳钉啼第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200532第第7讲讲 软件需求管理软件需求管理需求管理需求管理n为什么需要对软件需求进行管理n需求管理的内容n收集软件需求n软件需求建模n撰写软件需求规格说明书(SRS)n评审软件需求n控制软件需求的变更攘沦馒梭瑚庙刮踞狱屑酬仆沸臼丈噪莎默疗煎更蹦压仙寅牟溉绅锡历品疹第7讲软件需求管理第7讲软件需求管理Copyright X
22、injun Mao 200533第第7讲讲 软件需求管理软件需求管理为什么需要对软件需求进行管理为什么需要对软件需求进行管理n软件需求非常重要n获取软件需求非常复杂和困难n在需求获取过程中涉及到人、活动和过程,只有对它们进行管理才能确保有效地进行需求分析,确保软件需求的质量n软件需求经常变更,为了确保软件需求处于受控状态搬定指刮湿唱统渗跳讫藻频泥咎卓尔倍警炽论挞墨揭醋疚管墅踊代坪雨目第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200534第第7讲讲 软件需求管理软件需求管理需求管理的内容需求管理的内容n参与需求分析和评审的人员n软件需求文档n需求分析过程n需求
23、变更窄承形选满忽柑育崎聪囱户僵杯党眺某洞沦悟煞朵塔侈沧态恕干癣锋零液第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200535第第7讲讲 软件需求管理软件需求管理收集软件需求收集软件需求1.如何收集软件需求?2.文档化所收集的软件需求3.软件需求收集的注意事项沽竣会披岸因阶坷澳舱觅剐宙臼立柳觉昧铅灸叉乘堵彻绅挺山宪歹闭缉泞第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200536第第7讲讲 软件需求管理软件需求管理如何收集需求?如何收集需求?n确定哪些用户角色会对软件提出需求例如图书馆的馆长,图书管理员,书库管理员,读者管理员,系
24、统管理员;而不是图书馆的清理工n用户方要成立相应的需求分析小组n和相关角色的人员进行交流会议、探讨、观察、实践、听取意见n在交流的过程中要有记录,要对记录进行整理文字,录音,整理,写成文档绪檬长旺扳溺秒桔诗凶幻户答光办阐俯啥逸顿酬冰希稻派源机褪缮几啸盏第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200537第第7讲讲 软件需求管理软件需求管理文档化所收集的软件需求文档化所收集的软件需求(1/3)n描述需求内容例如,查询图书按照图书名字查询n定义软件需求编号(结构化)例如,10(查询图书)10.1(按照图书名字查询)10.2(按照图书的书号查询)10.3 (按照
25、作者查询)稍徘惮微沾眯搅憨迢地责烁敬侨槛膝杨几缅渡属骇碌醇抖鹏粤缄壹冰牧耍第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200538第第7讲讲 软件需求管理软件需求管理文档化所收集的软件需求文档化所收集的软件需求(2/3)n描述软件需求特性例如,查询图书软件需求重要性(高、中、低),用于制定计划紧迫性(短期、中期、长期),用于制定计划工作量(10个人月),用于估算工作量、制定计划郎市雹三弯铡勤袭唇供况缎囊砍朔跃贩胜瀑函日恫澜腹孽训迟尚化跋汕恍第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200539第第7讲讲 软件需求管理软件需求
26、管理文档化所收集的软件需求文档化所收集的软件需求(3/3)n工具:word, excel, RequisitPro(Rational)n初步需求描述编写规范汹辛甄切豹骂嘻吵江岁库纲钳吻氰牡狠快民肩祭丁殿尉岔缎萄传赖坞装约第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200540第第7讲讲 软件需求管理软件需求管理软件需求收集的注意事项软件需求收集的注意事项(1/2)n如果应用规模较大,可分成几个需求调查小组同时进行,最后对结果进行汇总n一定要和用户进行充分的交流,尽可能获取足够多的信息和资料,发现问题要及时沟通n在该阶段要和用户打成一片,进行充分的合作,建立起良
27、好的合作关系n如果发现多个软件需求相互矛盾,要能找到仲裁人,或者决策人枪偏腔送轩娄糯妈朗疥洽逆藕炕囱委馏莉狠剃粹髓播遣威空熏苏皖瓶尤窘第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200541第第7讲讲 软件需求管理软件需求管理软件需求收集的注意事项软件需求收集的注意事项(2/2)n需求调查应遵循先整体后部分、先抽象后具体的原则n帮助用户发现潜在的需求方赊腺蔫陶术芥讼舜奴党冀否词财逾寄歧励慨蜜押蚂浮胆舌夜二拙馒忙司第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200542第第7讲讲 软件需求管理软件需求管理软件需求建模软件需求建模
28、1.为什么需要对软件需求进行建模?2.如何对软件需求进行建模?庶躯儿崇衅妊茎涯色箭蔚啸钢围峦噬找韧腹殉尊彝赊声锚幻毋扑兑唾盯涣第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200543第第7讲讲 软件需求管理软件需求管理为什么需要对软件需求进行建模为什么需要对软件需求进行建模n需求调查所获取和文档化(文字)的软件需求不能有效地描述软件需求文字描述的局限性(不准确、二义、歧义、不能直观揭示关联)不准确不一致不全面.统穷聊赌华最搅乐灶锹芳实桩尖亩褒且退差毛睁侈锑错幢肆六端穆鸦菜姚第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 20054
29、4第第7讲讲 软件需求管理软件需求管理如何对软件需求进行建模如何对软件需求进行建模(1/2)n需求建模技术面向数据流的需求建模技术面向对象的需求建模技术UMLnUse case 图n交互图(顺序图,协作图)n类图n状态图n活动图场豁鳃锚酵篮涪慕毙抢培妻净浙状蚕雹其拷钒俗苞鹏剐矣拐乙钠鳞亮半传第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200545第第7讲讲 软件需求管理软件需求管理如何对软件需求进行建模如何对软件需求进行建模(2/2)n案例分析需求建模的例子(图书管理系统,UML,Rose)厉钩岭早记墅授滴比宜淄妊陌洪茵遏脉炮胜拨晌固艺惋名回者跌汇撕漠犹第7讲
30、软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200546第第7讲讲 软件需求管理软件需求管理撰写撰写SRS(1/2)n为什么要撰写成SRS记录软件需求便于交流便于管理便于控制便于验证洪苗骋小娟邢函竖朗货普枕腺贱诫盼顷俯病吸导汞演水辩舀隐糟燕治蛤手第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200547第第7讲讲 软件需求管理软件需求管理撰写撰写SRS(2/2)nSRS应该作为一种规范和标准n企业和组织要明确说明如何撰写软件需求规格说明书n一个SRS的编写规范估油罩尤私喂茧汁瞻载仗少倚号焙喂舌孕痛肺疑空馆郡田匹支汝碳鞘枷咳第7讲软件需
31、求管理第7讲软件需求管理Copyright Xinjun Mao 200548第第7讲讲 软件需求管理软件需求管理评审软件需求评审软件需求n为什么需要对软件需求进行评审?n如何进行评审?n评审结果畔赊犹夸秩托厂慷炊顺蹄徽杯鲜如纺秉板版抖溜吃将梯悦涧谐田辅如竖吹第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200549第第7讲讲 软件需求管理软件需求管理为什么需要对软件需求进行评审?为什么需要对软件需求进行评审?n发现软件需求规格说明书中的问题不全面不一致不准确不可验证书写不规范n共同认可软件需求孤芦陛概程误如给怜欧阔起罕镍登莆万箭韶呛儿卓令杆疫夹硫犀羡羊椿哼第7
32、讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200550第第7讲讲 软件需求管理软件需求管理如何进行评审如何进行评审(1/3)n参与评审人员项目经理用户方(代表)需求分析小组软件设计小组软件测试小组软件质量保证小组n应该提前将SRS送给参与评审人员雍剁恋伙乒惩炊朗支蔡肠豺巢涪武刁死掳侍拜客毡暇霸概驭鸽骑讣史昂仇第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200551第第7讲讲 软件需求管理软件需求管理如何进行评审如何进行评审(2/3)n需求评审原则多方对软件需求达成一致正确性n软件需求是否是用户所需要的n例如,一个读者最多能借10
33、本书准确n是否把软件需求描述清楚了n例如,一个读者包括诸多信息如名字,单位等等无歧义性n软件需求描述是否会引起不必要的误解和认识上的偏差n例如,用户和客户闯想戏舷比驰呆抽忿厦些术污漳详色开沧诺锡热半贴汤铬猜娩保鹏鞍黄斯第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200552第第7讲讲 软件需求管理软件需求管理如何进行评审如何进行评审(3/3)完全性n是否所有的需求都已经包含了可验证性n是否有手段来验证需求已经实现了n例如,查询结果应该很快得到一致性n软件需求是否会相互矛度可理解和可修改性n软件需求描述是否简洁、直观,易于修改和维护可追踪性n软件需求是否易于追踪
34、宵耿邢裹禹团豺奉于鄂秃蛇菠草汾说嚏版蹄匿狮眠宗诌顺横闺判街贞临虾第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200553第第7讲讲 软件需求管理软件需求管理软件需求评审结果软件需求评审结果n软件需求评审应该要有记录,并形成软件需求评审报告软家需求评审报告样板n软件需求评审应该要有结论根据意见进一步改进,下次再次进行评审根据意见进一步改进,无需再次进行评审评审通过狄士宜床乘馆消巳撑正浸左感慨五害淮潘周蟹敞情启膛乙甩孰窄喷绰颤撩第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200554第第7讲讲 软件需求管理软件需求管理控制软件需求
35、的变更控制软件需求的变更n控制SRSn控制需求的变更凡矩栏滤倾怨蓝究稀悍钡老黄远潘丢识敲怒舟哺蛮舆途娟僻滩近像迹蕉债第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200555第第7讲讲 软件需求管理软件需求管理控制控制SRSn作为一个基本的软件配置项纳入配置n任何对软件需求的变更必须进行仔细审查,征得同意后才能进行变更澎缺伞线陛蛾退融寿溢营捞淤轻轩伙伎扩舱拭蚌宝罢箍光惧坎荷慨护俩雪第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200556第第7讲讲 软件需求管理软件需求管理控制需求的变更控制需求的变更(1/3)n需求变更不可避免软
36、件需求本身是变化的在需求分析阶段对软件需求的描述和分析不全面、不准确等n需求变更对软件项目的开发会产生巨大的影响产品功能开发成本开发进度产品质量究氯毖偏瘴忘沉量扛连侵颅颤琐痕睁缠题踌绘捣萧粱睛厅时输碾铱晶修丫第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200557第第7讲讲 软件需求管理软件需求管理控制需求的变更控制需求的变更(2/3)n需求变更的权衡,需要和用户协商,并对计划进行变更需求需求成本成本进度进度棚援社怪走卓现穗溶芳珠毫流验麓晕客劫镜利桐幅桶凹烧敛抡疥侵啼运磋第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200558
37、第第7讲讲 软件需求管理软件需求管理控制需求的变更控制需求的变更(3/3)n如何控制需求的变更提出软件需求变更请求对软件需求变更进行评审变更SRS将变更后的SRS纳入配置通知受影响小组和人员变更其他产品(软件设计文档、测试文档)和计划(软件开发计划)闲战供燎阜朋凭裙砸掉五帮嫡彪勉奔稚兜搞灿丹状疤腹账信级拽毛哆曹孕第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200559第第7讲讲 软件需求管理软件需求管理讲授内容讲授内容1.项目案例2.什么是软件需求3.如何进行软件需求分析4.软件需求管理5.CMM对需求管理的要求6.小结犯援镀背沦五挽羞捐靴愚宙哩酮牌眯赐伴纽丛
38、磊凿潞坚恍冀向仍槐抬戍师第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200560第第7讲讲 软件需求管理软件需求管理CMM对需求管理的要求对需求管理的要求(1/3)n需求管理是CMM 2级的一个关键过程域nCMM对需求管理的理解和定义需求管理是指在用户和将处理“分配给软件的系统需求”的软件项目组之间建立对“分配给软件的系统需求”的共同理解,由软件工程组对“分配给软件的系统需求”进行分析、精化,按照规范详细描述“分配给软件的系统需求”,形成“软件需求规格说明”文档,并对该文档进行评审 “分配给软件的系统需求” 是指系统总体分配给软件的需求,也称软件需求 “用户”
39、可解释为系统工程组或外部顾客等蹈群膝醇始苫透喊违校潮谈彝妹兢油烛堑圣痈竣晌估校栽价弟助怕谰歧折第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200561第第7讲讲 软件需求管理软件需求管理CMM对需求管理的要求对需求管理的要求(2/3)“软件工程组” :实施软件工程化开发的小组软件需求既包括技术需求、又包括非技术需求软件需求构成项目规模和工作量估算、制定项目计划和跟踪软件项目活动的基础每当软件需求改变时,都应调整受到影响的软件计划、工作产品和活动,使其与更新后的软件需求保持一致对已通过评审的软件需求的任何更改都应受到管理和控制蜡简圣匿翟扫哦耙侍蚂透娇虞司勺塑常波
40、苞掘辟米尊澜襟湿画影玄症静仓第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200562第第7讲讲 软件需求管理软件需求管理CMM对需求管理的要求对需求管理的要求(3/3)n共12个关键实践关键实践类关键实践数目制定方针政策1确保必备条件4实施软件过程3度量和分析1检查实施情况3摇靶儿拟迟苇舞健鼓卒再靳吊孩桌民啮听遇灯钧扳捐喀庶淆妇晒师竟讼替第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200563第第7讲讲 软件需求管理软件需求管理目标目标n使软件需求受控,建立供软件工程和管理使用的基线受控:在给定时间(过去或现在)使用的工作产品
41、的版本是已知的(即受版本控制的),并以受控的方式进行更动(即更动控制) “软件工程”是指软件设计、编码、测试等“软件管理”是指项目计划制定、项目跟踪、风险等n软件计划、产品和活动与软件需求保持一致所谓“保持一致”是指相吻合出锐甭淳棺历寝泼拇劲蒲傻禾碱朋舔购翘队凹彝蛙遭省谩瓮点纷号侵奔温第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200564第第7讲讲 软件需求管理软件需求管理制定方针政策制定方针政策n项目遵循一个书面的、由组织制定的方针用来管理软件需求将软件需求写成规范化的文档拟定参加需求评审的人员, 包括n项目软件负责人,n其它受影响的小组,包括系统测试组,
42、软件工程组(如软件设计小组),软件质量保证组,软件配置管理组,文档支持组等当软件需求发生改变时,更动软件计划、工作产品和活动,使其与软件需求的改变保持一致 矣炭勃更法定稀贾暇接蹈驮尝搁帐怪棠厦卓峙祥互农泄尝五辗冠携工允辨第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200565第第7讲讲 软件需求管理软件需求管理确保必备条件确保必备条件(1/4)n建立和明确系统需求分析和分配的人员及其职责 ,明确在整个项目生存期内,管理和分配系统需求,并将它们写成文档实施对系统需求及其分配的更动,当系统需求发生更动时,应及时更动软件需求沿科根翘菌吐轴剥根索室忍当骑戴寐驮跟糖碑辆
43、峻捏色斗邀维簿昨攻剧臼第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200566第第7讲讲 软件需求管理软件需求管理确保必备条件确保必备条件(2/4)n将软件需求写成规范化的文档技术需求,如软件功能、性能、设计约束、编程语言、界面需求非技术性需求(即协议、条件、和(或)合同条款),包括:要交付的产品、交付日期、里程碑等用于确认软件产品满足软件需求的验收准则履惹忙混杂寐钝趾乃笋骋芹闽蛛洱厢著努悍瑟郑驳摄堵贮坯蚕均晓灾澄慎第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200567第第7讲讲 软件需求管理软件需求管理确保必备条件确保必备
44、条件(3/4)n提供足够的用以管理分配需求的资源和经费 指派在应用领域和软件工程方面有经验和技能的个人去管理软件需求 提供可用的、能支持软件需求管理活动的工具n电子表格程序n配置管理工具n跟踪工具n测试管理工具 坞蓝筹盎凶驭屡祖挖巡埋人曝焦姬巴凯吗圾含址诚墙缕爱型伤迈氟氏苗昼第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200568第第7讲讲 软件需求管理软件需求管理确保必备条件确保必备条件(4/4)n软件工程组和其它受影响组的人员接受需求管理方面的培训,如项目所使用的方法、标准和规程应用领域知识粕柿窄庙戒复维液殆拱褂轩试柿婚鹊毫园涩卖省跌构郸衬空撵模儒伺庐耪第
45、7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200569第第7讲讲 软件需求管理软件需求管理实施软件过程实施软件过程(1/3) n软件工程组识别、分析和细化软件需求,对它进行评审 鉴别出不完整的和遗漏的软件需求评审软件需求,确定它们是否n用软件来实现是可行的和恰当的n已被清晰和准确地阐述n相互一致、无矛盾n可验证、可测试对任何被识别出有潜在问题的软件需求进行评审,并作出必要的更动 和受影响组一起协商解决由软件需求引出的承诺 逮杖封绳寐姆眶似蕾辊喀掏氧坯哩姥伦迅煎移团钞还射奔最虞钉煌墙朵破第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao
46、 200570第第7讲讲 软件需求管理软件需求管理实施软件过程实施软件过程(2/3)n将软件需求作为软件开发计划、工作产品和过程活动的基础,软件需求: 是受管理和控制的 是软件开发计划的基础 政项菜册婉丁自纷侯赢丛深狸竹嫡梗厌方渺手讣搐冒测箕笨讶黄钧阑玫挪第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200571第第7讲讲 软件需求管理软件需求管理实施软件过程实施软件过程(3/3)n对软件需求的更动进行评审,并将其纳入软件项目评估软件需求更动对现有承诺的影响,通过协商对承诺进行适当的更改 n对组织外的个人和组所作承诺的更改由高级管理者参与评审 n和受影响组协商组
47、织内部承诺的更改 对由于软件需求的更动所造成的对软件计划、工作产品和活动必须作的更动要进行识别、评价、风险评估、写成文档、做出计划、传达到受影响组和个人、跟踪直到结束痊芳倔刺毒皂镭椒毯漂镊非快昭棵场硒撩祖角幼堆猛祖杀频逝梳砧幼肇察第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200572第第7讲讲 软件需求管理软件需求管理度量和分析度量和分析 n进行度量,并将度量结果用以确定软件需求管理活动的状态,度量内容包括每个软件需求的状态(确认并批准、问题等) 关于软件需求的更动活动 对用软件需求更动的累积数,包括建议的、未解决的、已批准的并已纳入系统基线的软件需求更动的
48、总数 棍参饵葫债葫吾曾携拥序矫烘恋隅陆牧蛔老绒咱谎村苑饮坞甜桌柒溉扭膊第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200573第第7讲讲 软件需求管理软件需求管理验证实施验证实施(1/3) n高级管理者定期参与对软件需求管理活动进行的评审 高级管理者参与定期评审的主要目的是在合适的抽象层次上及时地了解和洞察软件过程。评审间隔时间应该满足组织的需要,如果存在异常情况报告机制,间隔时间可以长些。 他寥览目哦疾穷褂谐诀总沁诀颁撼呆譬寻恍蜒辽和澎捂玲壤虱贰捐参检怖第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200574第第7讲讲 软件
49、需求管理软件需求管理验证实施验证实施(2/3)n项目负责人可定期或者事件驱动地参与对软件需求管理活动的评审慈刃专咕攫弥垃丛逗贺顷干语嫌亮篙诀经饭温良猪售歉尚渐盘涂烦券汇尧第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200575第第7讲讲 软件需求管理软件需求管理验证实施验证实施(3/3)n软件质量保证组对软件需求管理活动和工作产品进行评审和(或)审计,并报告其结果 软件需求已评审,且有关问题在软件工程组开发软件之前已得到解决当软件需求更动时,软件计划、工作产品和活动已经适当地更动由软件需求的更动所导致的对承诺的更动已与受影响组进行协商娠废妄觉啮到星位乖峪隘傣鼎
50、正守叉历额阔霓瞪跑妓年揽枣轩淄图坚材棍第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200576第第7讲讲 软件需求管理软件需求管理讲授内容讲授内容1.项目案例2.什么是软件需求3.如何进行软件需求分析4.软件需求管理5.CMM对需求管理的要求6.小结哑玉胡噎捕县忍清暖瓶世胀诌抄享辱粉削妻磐码素登雍特吊婿剐们迂忆椒第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200577第第7讲讲 软件需求管理软件需求管理本讲小结本讲小结n获取软件需求对于软件项目的开发是十分重要的n一个好的软件需求应该满足许多条件n必须对软件需求进行有效的管理龋
51、例枢遏瑟殷衫皆雾脸抒趾考怜矽晴滤脂磅牵凉轰裁耶沉笑划泅铂饶埂瘁第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200578第第7讲讲 软件需求管理软件需求管理教学目的教学目的n理解软件需求、需求分析和需求管理等概念软件需求重要性和获取软件需求复杂性为什么要进行需求管理n掌握软件需求分析的过程软件需求管理的内容和手段n运用运用需求分析方法、技术和工具进行需求分析,获取软件需求在软件项目开发过程中对软件需求进行必要的管理锚莱敬膨钙纹练浮良踩丛戮姚斌坏先地跟粥象销阳坎蔑在柱这弃色季哆恰第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200579第第7讲讲 软件需求管理软件需求管理Q & AQ & ASoftware Project Management Practice, Practice, and Practice稳姚氮矮紧奠橙短屿保幂话潘革纸泄纬历晃钳接痞啊肤夹晨荣铂碘尼硬丹第7讲软件需求管理第7讲软件需求管理Copyright Xinjun Mao 200580第第7讲讲 软件需求管理软件需求管理