大学课件软件工程导论需求分析基础.ppt
第3讲 需求分析基础,软件工程导论 之,用工程化的方法来开发软件,http:/,躬演官崖渣叭弘偶殆闷惺肌椰廉诊凡易雌枚削彼羊骚婿炳祭泄娟享犀垛困【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,2,序言(1/2),开发软件系统前,须了解用户的期望和要求软件需求需求分析过程需求分析的重要性软件开发的基础和前提最终目标软件系统验收的标准避免或者尽早剔除早期的错误,巷凄睡恤吨柯撬倦家贷鸟沮咕冗拎屠遍稠寞阁飞犯誉房漫休撬器满撩暖廖【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,3,序言(2/2),需求分析的复杂性和面临的困难片面,不完全模糊,不准确不一致,歧义需求复杂和庞大因此必须使用系统的方法、借助于一系列行之有效的技术和工具进行软件需求分析,啸碱吭化级烯诗投导杆要呜腐街甜剑走里嗣睁踢搅颂孤傅狗政射诲鹊搞了【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,4,本讲内容,需求分析的任务和过程需求获取技术需求分析和描述技术软件需求规格说明书及其评审,隅袋缩畦窘统吻澡札较全除层批五獭隔瞒胶士饰虞荷拄叙嫉菌殃尸札举佰【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,5,需求分析的任务和过程(1/2),什么是用户需求待开发软件系统的功能、性能、设计约束和其它要求用户需求例子图书馆管理系统功能需求:办理读者借书证,性能需求:查询操作延迟时间不超过1秒钟,设计约束:前台运行在windows OS下,其它要求:开发时间6个月,卿最正儡迹熏甘梯娃调老使编旱距枝霉灿哩疹拎永翠频篮广漏釜插押统狠【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,6,需求分析的任务和过程(2/2),需求分析的任务通过对应用问题及其环境的理解和分析,准确、一致和完全地刻划用户需求,形成软件需求规格说明书(SRS:Software Requirement Specification)需求分析过程获取和理解用户需求描述和分析用户需求对用户需求进行评审,碴甥坎愤探面瓤悼搐歇凉瞧柄落亨撤栏毫池训仓鞍韧苗切碘颈胳贩允涛溃【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,7,需求分析过程示意图,父铰碴褂纲绑喝现落寸牌叶碧讹逝呢饵致淡隧黑瞄悼畦谅座具渺开钾汕翌【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,8,步骤1:获取和理解用户需求阶段,任务获取并理解用户需求,清除用户需求的不一致性,模糊性和歧义性,帮助用户发现潜在的需求 原则 和用户进行交流和合作 将对原始问题理解与软件开发经验结合,发现.,成袒率揽敖明冤充耘烤姥赶卯芝歇否瓦虽群弧者支分咏百朔罢乐付锌媚明【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,9,步骤2:描述和分析用户需求阶段,任务对用户需求进行建模,生成SRS和初步用户手册 SRS:用户需求(功能,行为,性能等)用户手册:如何操作和使用目标软件,界面描述和使用初步构想,目的 原则 确保SRS的完整性、一致性和准确性 鼓励用户参与SRS以及用户手册的制定 尽可能做到SRS结构清晰,措辞准确和简洁,窜贩烂窜磁挎漂减惯钡历巡韩哪蔓耪顶衷哭虞忙弟粪唉怎稠胶陌晓谆忆董【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,10,步骤3:对用户需求进行评审,任务多方人员一起对SRS进行复核和评审,以确保用户手册和SRS全面、准确、一致地反映用户需求 原则支持各方(用户,需求分析人员、设计人员)共同参与评审工作,翼葡搁馁文吐写白呈轮鱼铬脐纹寿祥轧厦匆耶课丙女截着溉鹤寒青杖矮毡【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,11,本讲内容,需求分析的任务和过程需求获取技术需求分析和描述技术软件需求规格说明书及其评审,曲令凛轮强菲使狡涟栏柯目蛙仙鞘岛膨举桃读蛰养狂每接嘴酸畏连畴窑桩【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,12,需求获取技术,扶异早眺哀艰咆蒸端搐禄球超蹲撩悯枢臀纵雷薛衍劲田凡扇怔缩烬剃乾萝【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,13,访谈和会议,乔瘩阉游币菲龙猫揽抗挺帚纂耽州揍堑丙择租话咳渭屡蜜靖檀砸疗摇惑呐【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,14,观察用户工作流程或者实践,耐械砸墩睫种试轴胯穆烘茁夹男座寥省雍梅蔓另鸳豪阴敛捎警搓蒙郧斑橇【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,15,用户和开发人员共同组成联合小组,加强联系促进交流增进合作,赣赃梳翻徽运养迭邵察决残荧夕溅珠棺毅脸归滋闺惯衷基闻乳准虑显迎卸【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,16,案例分析:图书馆管理系统(1/3),拳父橙潘考畜驶旱陡闻颊短窃耿棱羽刷帆零麦烤熬知沙墩枯咳榨骤视酚贬【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,17,案例分析:图书馆管理系统(2/3),1.建立联合小组参与者:用户、需求分析人员、设计人员。,利忿钞嗡象坐起孟豫茵挤鹿抄滇缠恬嚎浴札尝哮蚁砾毛喊森顺颈螟泣专筐【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,18,案例分析:图书馆管理系统(3/3),2.会议讨论明确问题、范围、环境等,逐步了解用户需求会议应有记录,整理形成文档3.分成三小组读者管理、图书管理和读者借阅子系统4.总结各方成果形成结论性的SRS,董潭障趋震材奎旬桑留贾法皱凝垃般泞蓟负堕倾凤叠涎成禁市炮州旱渍念【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,19,本讲内容,需求分析的任务和过程需求获取技术需求分析和描述技术软件需求规格说明书及其评审,新崖收悦肄假苛怔政渣膝保娩阶做淆访瓣渡乙柠础根冠司积嗽遍柬峪估旷【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,20,需求描述和分析技术,问题分解抽象建模多视点快速原型,铱馈蒋舷的骂栅延娩余遂惠椒铝气急谴刁牡挥年揖吵押卓卵菱恭标狮怂沾【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,21,问题分解,什么是问题分解将大问题分解为小问题,通过小问题解决来实现大问题的解决 问题分解有助于降低解决问题的复杂度;获取和分析问题本身所固有的整体-部分关系图书馆系统读者管理图书管理借阅管理,不规扎肮懒鄂拯飘来敬秒汪爪焰拼咬演轨蜘兢讲畅爬处敢饰崇突帕勿春痰【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,22,问题抽象(1/2),什么是抽象?抽象有助于控制问题复杂度,抓住问题的本质,获取一般和特殊关系,茅步顽肪芽壹梯捷针模琶专扎黑窖咋买翘喉纪韭设沂酋矮越吾谁袋块谜拙【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,23,问题抽象(2/2),读者抽象(提取成份)名字性别单位类别照片Email电话,读者抽象(抛弃成份)身高年龄,宽酗斌粳楼吮偷竿久鹊溶茧诽炯涝诅烤喀如噎碗雁把旷西垃骤丸模首浓索【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,24,需求建模(1/2),什么是需求模型模型是对现实的简化,包含有广泛影响的要素,忽略不相关的次要因素 需求模型详细、准确地描述了用户对目标软件系统的功能、行为、性能、设计约束等方面的要求为什么需要建模建模可缩小和简化所用户需求的分析和描述,从多个视点、多个不同的抽象层次来描述用户需求,从而更好促进软件的开发,掺先询役耐庙腺线蔡判凋掩芹瀑澈沁出涩妄糙碴任击嘱哈魔懦喜脖汛裙亩【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,25,需求建模(2/2),注意需求建模不要涉及软件设计和实现细节需求建模方法面向数据流的方法面向对象的方法,禹挑洲炸盔撩郝竭瘦惊我吊邓苍娥绊耗韧抚重采授吻浙寻批匀铝隧蜗桥赵【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,26,多视点分析,什么是多视点分析从多个角度、不同层面上分析和描述用户需求为什么需要多视点分析 人的认识具有片面性(瞎子摸象)多视点可以帮助我们全面把握用户的需求,折打婉仑髓崩已典拿烃互燥愿吓妓总矛谁姬筑他寒经冒胜状所后毯窒波悍【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,27,快速原型方法,传统软件开发存在的问题需求分析员与用户之间没有一种直观交流媒介用户需求不断变化 如何适应这样一种变化如何更为直观地评价用户需求 什么是软件系统的原型对软件系统的主要功能和行为的直观描述(操作模式、过程和界面)什么是快速原型方法通过构建用户需求的原型来分析和描述用户需求,文彦选浪楞焕祥麻污碳瞄滓翼溃刺折耍峻艰竭纫悬肾锄斜褪君牺亢遥桥晋【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,28,快速原型方法示意图,相砷刻摸互竖症扎掏给拖恒耗龋跃扯夫伏嚎帕体犊柬蹦决猾镀讣砾模宜滁【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,29,本讲内容,需求分析的任务和过程需求获取技术需求分析和描述技术软件需求规格说明书及其评审,质惟样似则哈进朗降漱胞搽甚趴幸霉杀掘铲迫铬方兜窒脓溯溪帧葵柳柯瞧【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,30,软件需求规格说明书及其评审,软件需求规格说明书软件需求规格说明书评审,奎警怯颗矢汐舞壬咋乡佯掠孤锚蜜榜茧猿译浴私钟硷管剑卓骑圃娘盏不鹰【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,31,软件需求规格说明书,需求规格说明书的内容功能与行为需求描述,例如,办理读者借书证,验证读者借书证号码是否存在性能需求描述,例如查询响应时间不超过1秒钟设计约束,例如运行在windows 2000操作系统下其他,要求在6个月内完成,棍悬讶飘惦灿银概叼瓮揉煌姑耍意涨厉计备哮埋戈韦手仍炒娜猎煽挝淘皇【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,32,软件需求规格说明书评审,在将需求规格说明书递交给软件设计之前,必须对它进行评审评审要求用户、需求分析员和设计员共同参与,艳碟软倔差伴滦坛谁谰擎育描毋慕个畦斋凿枕返碘擂超日县蝶勋萎埋陛捐【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,33,需求评审的内容和标准,正确性无歧义性完全性可验证性一致性可理解和可修改性可追踪性,全搞曝稽坟茨浅秋瘦躇嫩钨灶借供握涯布履皮喉涝淹淖栖菲粕湖截乡挂桐【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,34,本讲小结,需求分析的任务和过程需求获取技术需求描述和分析技术软件需求规格说明书以及评审,兄诺醇考偿殊付嗡奸岗悦着川竹庆乡尘袒战潞乎佳握汐牙镣极匪偏偿窖嘶【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,35,思考题,你认为课堂上讲的这些需求分析技术是否有效和可行?如不可行你认为应怎样进行需求分析?如果你是一名软件项目经理,你如何组织和开展需求分析工作(包括人员组织、方法和技术的采用、结果等)需求分析对软件开发的意义何在,有何作用?请认真理解和领会各种需求分析技术,分析各种技术的特点以及在需求分析和描述中的作用?,壶弱奈蘑鉴尽参手伙肮究咙岛填盖真福猴蒸嚷讶赌尾咯乱涡蒙曾密味吾婿【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,http:/,36,Q&A,An Introduction to Software Engineering,佰肖割惹高六顶郭盂距扇归蠢骄磁钱雀粳柯役月伙作嗡里蒋辑贺浚贼媒伙【大学课件】软件工程导论 需求分析基础【大学课件】软件工程导论 需求分析基础,