《第3讲求分析基础》由会员分享,可在线阅读,更多相关《第3讲求分析基础(36页珍藏版)》请在金锄头文库上搜索。
1、第第3讲讲 需求分析基础需求分析基础毛新军毛新军 教授教授计算机科学与技术系计算机科学与技术系602教研室教研室 0731-(45)73649软件工程导论软件工程导论 之之用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件十疚秽儿办邀赁陈釜渝狡暗避术猖赁赐甜丽籽庆析若案盯炼怀呛诞吝昂英第3讲求分析基础第3讲求分析基础序言序言(1/2)n开发软件系统前,须了解用户的期望和要求软件需求需求分析过程n需求分析的重要性软件开发的基础和前提最终目标软件系统验收的标准避免或者尽早剔除早期的错误许闰拼醋搓兹称杨羞桶圾围悸僻朱缆杭陡陵镁诽瞄摇呈锤蓑轴朋痹拼嗓染第3
2、讲求分析基础第3讲求分析基础Copyright Xinjun Mao2需求分析基础需求分析基础序言序言(2/2)n需求分析的复杂性和面临的困难片面, 不完全模糊, 不准确不一致, 歧义需求复杂和庞大n因此必须使用系统的方法、借助于一系列行之有效的技术和工具进行软件需求分析聚缝关浚啡组痢附滑珍丛雷位铬富水冶婪泻赣亦艘啼沥礁孕臭疙岗柄课絮第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao3需求分析基础需求分析基础本讲内容本讲内容1.需求分析的任务和过程2.需求获取技术3.需求分析和描述技术4.软件需求规格说明书及其评审宛趾赛谩郧咽殷谣野泣颈丙重按父杜谊像委谅析轻茶绽威创燥胖稀
3、饥只相第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao4需求分析基础需求分析基础需求分析的任务和过程需求分析的任务和过程(1/2)n什么是用户需求待开发软件系统的功能、性能、设计约束和其它要求n用户需求例子图书馆管理系统功能需求:办理读者借书证, 性能需求:查询操作延迟时间不超过1秒钟, 设计约束:前台运行在windows OS下,其它要求:开发时间6个月, 核譬尝汇痛杆敲源舌露碟陇沟茬胰课钓临否哄唐勉醛浊畅净姓沤仔羊赵丫第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao5需求分析基础需求分析基础需求分析的任务和过程需求分析的任务和过程(2/2)n
4、需求分析的任务通过对应用问题及其环境的理解和分析,准确、一致和完全地刻划用户需求,形成软件需求规格说明书( SRS: Software Requirement Specification )n需求分析过程获取和理解用户需求描述和分析用户需求对用户需求进行评审绣监战半伶溺妈喇馆疏鲍手楷蛇芭席暖吁谓藐匙咬标训粹冉萤衡茶混肆悉第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao6需求分析基础需求分析基础需求分析过程示意图需求分析过程示意图需求获取需求获取技术技术建模、抽象、建模、抽象、多视点、问题多视点、问题分解、原型分解、原型需求评需求评审原则审原则置妇已岿凋送嘿馁磺沤瓮禾映癣
5、搬村享脆茄节监叮离潦光暮形晃存类拭仗第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao7需求分析基础需求分析基础步骤步骤1:获取和理解用户需求阶段获取和理解用户需求阶段n 任务获取并理解用户需求, 清除用户需求的不一致性, 模糊性和歧义性,帮助用户发现潜在的需求n 原则 和用户进行交流和合作 将对原始问题理解与软件开发经验结合, 发现.晰怂民瓣缠专挤勃纹辖讹战袍起赤整外禾待漳隋夫某恶丝怨禽击芭泽槐似第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao8需求分析基础需求分析基础步骤步骤2:描述和分析用户需求阶段描述和分析用户需求阶段n 任务对用户需求进行
6、建模,生成SRS和初步用户手册 SRS : 用户需求(功能, 行为, 性能等)用户手册:如何操作和使用目标软件,界面描述和使用初步构想,目的n 原则 确保SRS的完整性、一致性和准确性 鼓励用户参与SRS以及用户手册的制定 尽可能做到SRS结构清晰,措辞准确和简洁祝聚字族缕墒搔狭裸堕梧咯览龄波聪膘游言萤江胁梆畸亲乐蚌删晒篙痘棠第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao9需求分析基础需求分析基础步骤步骤3:对用户需求进行评审对用户需求进行评审n 任务多方人员一起对SRS进行复核和评审,以确保用户手册和SRS全面、准确、一致地反映用户需求n 原则支持各方(用户,需求分
7、析人员、设计人员)共同参与评审工作画匡肪啮学鳞页痴餐滴室颅墩炎蕉榨辽郁了虾承旺垄了掇轻兜涕屎售明瀑第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao10需求分析基础需求分析基础本讲内容本讲内容1.需求分析的任务和过程2.需求获取技术3.需求分析和描述技术4.软件需求规格说明书及其评审灯肥汲促损蜡涎石磁泪煞哟太贡习习窄效玄迭毗敖兄汁刃茅聂瞩凝统著醒第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao11需求分析基础需求分析基础需求获取技术需求获取技术哺高特浆荷递关凯旦苹殊圣饿骑壶摆断拐窘立赌学屠树琴搀居崖前碾毙揖第3讲求分析基础第3讲求分析基础Copyr
8、ight Xinjun Mao12需求分析基础需求分析基础访谈和会议访谈和会议酪骆斤巷试醇易碱管哼噎管婶殖休诌囊实银晴卸疙勒摹亦徘撼粱伙乘邑雹第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao13需求分析基础需求分析基础 观察用户工作流程或者实践观察用户工作流程或者实践扑慰诈志毙演陨辅葵浆痴览趁眨循佣反果媳抽谭剧诫抉娶蝉忽浴采怪跌明第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao14需求分析基础需求分析基础用户和开发人员共同组成联合小组用户和开发人员共同组成联合小组n加强联系n促进交流n增进合作熔裸犯坏又礼皋谆专理颤只环月昭汝问靛竭誓宛搬忙衅蛮僻倪
9、演砂砾进幻第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao15需求分析基础需求分析基础案例分析案例分析:图书馆管理系统图书馆管理系统(1/3)读者管理读者管理书库管理书库管理读者借阅管读者借阅管理理哲崇墓掷坤扯只隙裂札照邯认潮瑰彪妻婉枝页椎饰欺寺境捻凹琅俊叮逢赤第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao16需求分析基础需求分析基础用用户户项项目目负负责责人人需需求求分分析析人人员员设设计计员员案例分析案例分析:图书馆管理系统图书馆管理系统(2/3)1. 建立联合小组参与者: 用户、需求分析人员、设计人员。谆式砒好摄奏娱凝袖膝付喂沽名责暗谍没
10、帜惺寨毒笺觅帽柑抓妈钠渤两蚂第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao17需求分析基础需求分析基础案例分析案例分析:图书馆管理系统图书馆管理系统(3/3)2. 会议讨论明确问题、范围、环境等,逐步了解用户需求会议应有记录,整理形成文档3. 分成三小组读者管理、图书管理和读者借阅子系统4. 总结各方成果形成结论性的SRS岁砌环比月处蔡盅殷缅日龚匿卧价棕寺纫地挤奠欺杖帅琳街墟樊盼乐梦椿第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao18需求分析基础需求分析基础本讲内容本讲内容1.需求分析的任务和过程2.需求获取技术3.需求分析和描述技术4.软件
11、需求规格说明书及其评审鞠裤焉抗品穷鬃旦扁磋簧轩吠宗锋芜嘶菏饼浮定自堵跌浇烹韭谤耸琶洛筹第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao19需求分析基础需求分析基础需求描述和分析技术需求描述和分析技术1.问题分解2.抽象3.建模4.多视点5.快速原型螟典俱播陋浅炼享溅俭符豢豢钨埋剖鞍扯溉栖盒己戊乃输逼莱梢身粒账芹第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao20需求分析基础需求分析基础整个问题整个问题子问题子问题1 1子问题子问题3 3子问题子问题2 2问题分解问题分解n什么是问题分解将大问题分解为小问题,通过小问题解决来实现大问题的解决 问题分
12、解有助于降低解决问题的复杂度; 获取和分析问题本身所固有的整体-部分关系图书馆系统n读者管理n图书管理n借阅管理怒泛嫡泅绵舍散莆薪宙携表恼乔籽遂糟誊确缉喘枣弃盂蝴篙民信磁巫直赠第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao21需求分析基础需求分析基础问题抽象问题抽象(1/2)n什么是抽象?抽象有助于控制问题复杂度,抓住问题的本质,获取一般和特殊关系钻嚣祸幼醉揉辜拐他叮渐鸡岳糯面殆更捂幅搅耻奢宫淀党英磅萨匿柄窟锤第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao22需求分析基础需求分析基础问题抽象问题抽象(2/2)n读者抽象(提取成份)名字性别单位
13、类别照片Email电话n读者抽象(抛弃成份)身高年龄袜潞判挎软浙肋嘘蜂不勋跃绢柑阅秩牌灾鼠惠邪康瞩篷怨芜软累委鱼击逊第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao23需求分析基础需求分析基础需求建模需求建模(1/2)n什么是需求模型模型是对现实的简化,包含有广泛影响的要素,忽略不相关的次要因素 需求模型详细、准确地描述了用户对目标软件系统的功能、行为、性能、 设计约束等方面的要求n为什么需要建模建模可缩小和简化所用户需求的分析和描述,从多个视点、多个不同的抽象层次来描述用户需求,从而更好促进软件的开发蜒贰胃淳寥锣蹄酵悸妻燃秀坠邢自觉疆臼萄崔堤共炬豫腥励颈稍烫蓖淋捡第3
14、讲求分析基础第3讲求分析基础Copyright Xinjun Mao24需求分析基础需求分析基础需求建模需求建模(2/2)n注意需求建模不要涉及软件设计和实现细节n需求建模方法面向数据流的方法面向对象的方法仓街仅完乎寞曹靖鹃苏渡虐捻凸蜜感蹬搓坷迢售颂释莽搓催砧塑北惨断慧第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao25需求分析基础需求分析基础多视点分析多视点分析n什么是多视点分析从多个角度、不同层面上分析和描述用户需求n为什么需要多视点分析 人的认识具有片面性(瞎子摸象) 多视点可以帮助我们全面把握用户的需求恕班淖绚碴釉挺磨歼点脑泼涛偷徊捅溅限另埔乍劝噎狱省感阶喘赁证
15、衍误第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao26需求分析基础需求分析基础快速原型方法快速原型方法n传统软件开发存在的问题需求分析员与用户之间没有一种直观交流媒介用户需求不断变化 如何适应这样一种变化如何更为直观地评价用户需求n 什么是软件系统的原型对软件系统的主要功能和行为的直观描述(操作模式、过程和界面)n什么是快速原型方法通过构建用户需求的原型来分析和描述用户需求便糕火刃篡纤涨米氰呕椎宴蛰鸽岩私兼窗猿祟库垮修筏镀璃惩禹姨蛙身首第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao27需求分析基础需求分析基础快速原型方法示意图快速原型方法示意
16、图晕党焕势蹭蛹勋旨卤伤耻葛呀凰搂纷表锌毗皖庭懊琴族乃诽反募杭峻钡铡第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao28需求分析基础需求分析基础本讲内容本讲内容1.需求分析的任务和过程2.需求获取技术3.需求分析和描述技术4.软件需求规格说明书及其评审沤海架嗡另踏绅悍揭铡渝理佳卜社涎逮鸦晋卖隋泵锰嗜鲍恃基挫允屉且嗅第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao29需求分析基础需求分析基础软件需求规格说明书及其评审软件需求规格说明书及其评审1.软件需求规格说明书2.软件需求规格说明书评审背哲包阅播集踏捡臆芬彻拱婴旷惯集粤郊膜捆讣路塞瞅瘩争交情珠嘻恰
17、灯第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao30需求分析基础需求分析基础软件需求规格说明书软件需求规格说明书n需求规格说明书的内容功能与行为需求描述,例如,办理读者借书证,验证读者借书证号码是否存在性能需求描述,例如查询响应时间不超过1秒钟设计约束,例如运行在windows 2000操作系统下其他,要求在6个月内完成桶姑蹋巾腑茧玄碰昭夏兔熊椭界皇麓鼎盟湾订努坛朱贮革皑哥誓节拳讨抨第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao31需求分析基础需求分析基础软件需求规格说明书评审软件需求规格说明书评审n在将需求规格说明书递交给软件设计之前,必须
18、对它进行评审n评审要求用户、需求分析员和设计员共同参与诗涉莫返结奄邵戍嚷攀琅着揩传矗葵蛆鸟抖卢熟陀驭弯锗帕暴净刀脚拽纯第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao32需求分析基础需求分析基础需求评审的内容和标准需求评审的内容和标准n正确性n无歧义性n完全性n可验证性n一致性n可理解和可修改性n可追踪性剪般错文悠羡仕睦磕妒盲韵欠贴莹底糖耿保拳辕螺兼舍獭摆赃泄忠瘩愁庙第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao33需求分析基础需求分析基础本讲小结本讲小结1.需求分析的任务和过程2.需求获取技术3.需求描述和分析技术4.软件需求规格说明书以及评
19、审捍苑赶宦韦帕呛佛趣跪惭摔屈币澡报受惊信露梯因滴殊交功擒顽朋矢灵漫第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao34需求分析基础需求分析基础思考题思考题n你认为课堂上讲的这些需求分析技术是否有效和可行? 如不可行你认为应怎样进行需求分析?n如果你是一名软件项目经理,你如何组织和开展需求分析工作(包括人员组织、方法和技术的采用、结果等)n需求分析对软件开发的意义何在,有何作用?n请认真理解和领会各种需求分析技术,分析各种技术的特点以及在需求分析和描述中的作用?兹塌萤倍掐等薯垣焕粉凝茫盂迄偷销否裔箱蟹耿觅每炽籽肢秋芒洲不末穆第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao35需求分析基础需求分析基础Q & AQ & AAn Introduction to Software EngineeringPractice, Practice, and Practice砍饮斩志道涤醛犬热踏瞥觉邮坦戮趴澡徘饱践搏贷拨丧募辟硼卤邀诚赔翼第3讲求分析基础第3讲求分析基础Copyright Xinjun Mao36需求分析基础需求分析基础