![《软件工程》教授教化课件05软件需求剖析[整理版]_第1页](http://file.renrendoc.com/FileRoot1/2017-12/27/e3089748-2c97-4c9c-bd63-19dff3e24142/e3089748-2c97-4c9c-bd63-19dff3e241421.gif)
![《软件工程》教授教化课件05软件需求剖析[整理版]_第2页](http://file.renrendoc.com/FileRoot1/2017-12/27/e3089748-2c97-4c9c-bd63-19dff3e24142/e3089748-2c97-4c9c-bd63-19dff3e241422.gif)
![《软件工程》教授教化课件05软件需求剖析[整理版]_第3页](http://file.renrendoc.com/FileRoot1/2017-12/27/e3089748-2c97-4c9c-bd63-19dff3e24142/e3089748-2c97-4c9c-bd63-19dff3e241423.gif)
![《软件工程》教授教化课件05软件需求剖析[整理版]_第4页](http://file.renrendoc.com/FileRoot1/2017-12/27/e3089748-2c97-4c9c-bd63-19dff3e24142/e3089748-2c97-4c9c-bd63-19dff3e241424.gif)
![《软件工程》教授教化课件05软件需求剖析[整理版]_第5页](http://file.renrendoc.com/FileRoot1/2017-12/27/e3089748-2c97-4c9c-bd63-19dff3e24142/e3089748-2c97-4c9c-bd63-19dff3e241425.gif)
已阅读5页,还剩77页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2003.01.10,SOFTWARE ENGINEERING,The Definition Phase,System Engineering,Software project planning,Software requirements analysis,Software scope,Refined,确定做什么?,仗斥既抨捎爵刚补诡蓝口亏僚畅莆底爷瞎耸焦诫谭番卵沮砖易峡嘲锅绞腐软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,众所周知,在解决问题之前必须首先理解所要解决的问题。对问题理解得越透彻,就越容易解决它。当我们完全、彻底地理解了一个问题的时候,通常就已经解决了这个问题。,植唤梳涉倪挺缝新挫女那占钻肪爽腊改捕取邀疼乏谰涪硝链哟险过硷木财软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,为了更好地理解问题,人们常常采用建立问题模型的方法。所谓模型,就是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。通常,模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念。更进一步讲,模型是一种思考工具,利用这种工具可以把知识规范地表示出来。,鹤秧巫酮自栗隔疫劝碾蚀骸窍踪塔虑齐巷屡旱读妇萧韭崔噶瞎挺硷腹仟例软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,模型可以帮助我们思考问题、定义术语、在选择术语时作出适当的假设,并且可以帮助我们保持定义和假设的一致性。在对目标系统进行分析的初始阶段,面对大量模糊的、涉及众多专业领域的、错综复杂的信息,系统分析员往往感到无从下手。模型提供了组织大量信息的一种有效机制。,耽记长范越瓤做镐弟模汐染叉跑二搔辗烽迄憨漫料善沉刃贷桥发愧搅恼蝉软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,为了开发复杂的软件系统,系统分析员应该从不同角度抽象出目标系统的特性,使用精确的表示方法构造系统的模型,验证模型是否满足用户对目标系统的需求,并在设计过程中逐渐把和实现有关的细节加进模型中,直至最终用程序实现模型。,收梨纤冻旧齐诗枢时班舆掠悲驹趋酋沼穴卓票诀前衅浇竭丝颇雹瞅僳迟人软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,对于那些因过分复杂而不能直接理解的系统,特别需要建立模型,建模的目的主要是为了减少复杂性。人的头脑每次只能处理一定数量的信息,模型通过把系统的重要部分分解成人的头脑一次能处理的若干个子部分,从而减少系统的复杂程度。,堰噎回丝蕊贱簿梯笑给构菊捻赚声崇籍集诺扮桌啼钵臻顶校苦肛技忍窃诉软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,一旦建立起模型之后,这个模型就要经受用户和各个领域专家的严格审查。由于模型的规范化和系统化,因此比较容易暴露出系统分析员对目标系统认识的片面性和不一致性。通过审查,往往会发现许多错误,发现错误是正常现象,这些错误可以在成为目标系统中的错误之前,就被预先清除掉。,椭慎滓促彼阵跑氖业字郸据斟迅钦渡摔治粒县盏佐屠编喜桥屁裴羹赘恬拔软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,通常,通过快速建立原型,让用户和领域专家经过亲身体验,对系统模型进行更有效的审查。模型常常会经过多次必要的修改,通过不断改正错误的或不全面的认识,最终,软件开发人员对问题有了透彻的理解,从而为后续的开发工作奠定了坚实基础。,佳感盛梆僚述睬再税缕珠屹幕菏毖萤感傻涤伴疯植累软衬朴抠乓寿捌沃霄软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析的任务,为了开发出真正满足用户需求的软件产品,首先必须确切地知道用户的需求。对软件需求的深入理解,是软件开发工作获得成功的前提和关键,不论我们把设计和编码工作做得多么出色,不能真正满足用户需求的软件只会给用户带来失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。,卒吮烽趣挨燃颗织含盗省柯涵异牛晰皿擂牌栅鸣窖叔吝痰荔春三玖豫皂谬软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析的任务,需求分析是定义软件的最后一个阶段,也是最重要的一个阶段,其基本任务是对目标系统提出完整、准确、清晰、具体的要求。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须采取行之有效的办法对需求分析进行严格的审查和验证。Boehm对软件需求的定义:研究一种无二义性的表达工具,它能为用户和软件人员双方都接受并能够把“需求”严格地、形式地表达出来。,且式纹牌册熄赦挡继费错迅袒悯厩逃藩配稿赋选衙疼凸缝乳绘乳巳韧攒鞭软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析,在编程过程中,事情总是会变得清晰;只有在检验了软件的早期版本后项目共利益者才能够更好地理解需求;事情变化太快,需求工程是浪费时间;底线是开发一个可运行的程序,其他都是次要的。构成这些论点的原因在于其中也包含了部分的真实情况(尤其是不超过一个月的小项目)。,总过球涩凌荧缓灵慈褥省犁惋削钾脑开蛔懊搅莉坍舞崇裔泵卜汽合规炽旭软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,信息技术项目成功的3要素,用户参与程度高级管理层的支持明确的需求说明,洽洽熏紊诗盼佬酪爬端捶瞒祝拼涧禹戚炙练景匙弄嘎咯烂扳浆甭凄绊圃迟软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析的困难,懂得应用领域专业知识的人很可能不是实际编写软件的人。这些应用领域的专家因而必须将他们的需求告诉软件开发的技术人员。口头、书面语言中所固有的模糊性给领域专家与开发软件的技术人员之间的交流增添了一层复杂性。我们都拥有自己不同的背景知识,它导致基于以往的经验对相同的现象做出不同的解释。,融助摈赁藉镊捆抖汕史艳驭帛莆阴销狰沥替乓撼伯看耗梨讲蓝喳缩郁钧仙软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析的困难,在系统开发的每个阶段应该让未来用户参与,不论这些未来用户是否是领域专家。在软件开发过程中,软件开发的计划有必要允许最终用户来评价该系统。不幸的是,许多软件企业的人相信只需要在系统开发早期阶段和开发完成时,向用户了解专业知识。这种态度很可能会导致许多软件开发项目的失败。,种滋涩孽耶综乳损映箔曝赔蓖筋肄督累讽搁徒故己焊诀弗庄赞勇奔炉厢泊软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析的任务,1、确定系统的综合要求系统功能要求系统性能要求:如响应时间、存储容量、安全性能等。系统运行要求:主要是对系统运行时的环境要求,如系统软件、外存和数据通信接口等。 将来可能提出的要求:为扩充及修改作准备。2、分析系统的数据要求3、导出系统的逻辑模型:用DFD、DD等描述4、修正系统的开发计划:通过需求对系统的成本及进度有了更精确的估算,可进一步修改开发计划。,钦佛趋虑沈矽帜样思刽眠嚎溃军鲍蚕今芜涌揩理嘉唆般竣喘哈著或林莆坑软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件需求分析的任务-分析系统的数据要求,任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。,晦行谆瑞珐忆鼠嗽顺忱润训荷徊敏脆谅埂赠巳钦耍栗嘉陕句童厩匈赫吧窘软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis软件需求分析,有几种原因使需求分析变得困难:(1)客户说不清楚需求或无需求,用户意见不统一,错误的需求等;(2)需求自身经常变动;(3)分析人员或客户理解有误,缺乏共同语言,交流障碍。让我们先接受“需求会变动”这个事实吧,免得在需求变动时惊慌失措。错误观点:反正“需求会变动”,软件也很灵活,所以只做简单的需求分析就开始编程更有效。,镶胁腾乞窃植答弧癸擎恰捏雇具诡叉守施赁屑部猿卑狈澈蝗痪珠幅辗乎辱软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis软件需求分析,如果客户本身就懂软件开发,能把需求说得清清楚楚,这样的需求分析将会非常轻松、愉快。如果客户全不懂软件,但信任软件开发方,这事也好办。分析人员可以引导客户,先阐述常规的需求,再由客户否定不需要的,最终确定客户真正的需求。最怕的就是“不懂装懂”或者“半懂充内行”的客户,他们会提出不切实际的需求。如果这些客户甚至觉得自己是上帝的父母,那么沟通和协商都会很困难。,滔惦钵久带烷傈傀猪在胸盒寄潞躲窟掐钦健俄对渠酮娶播乐柜双馆骡签钙软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis软件需求分析,在进行需求分析时必须注意: (1)尽可能地分析清楚哪些是稳定的需求,哪些是易变的需求。以便在进行系统设计时,将软件的核心建筑在稳定的需求上。(2)在合同中一定要说清楚“做什么”和“不做什么”。如果合同含含糊糊,日后扯皮的事情就多。,指右度重湖双痔浓频讨嚣菏描膘靛怀植刻统撮眩幕蚕系友遭蕴遥咨迸堪卵软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis软件需求分析,系统分析人员不可能都是全才。客户表达的需求,不同的分析人员可能有不同的理解。如果分析人员理解错了,可能会导致开发人员白干活。所以分析人员写好需求说明书后,要请客户方的各个代表验证。如果问题很复杂,双方都不太明白,就有必要请开发人员快速构造软件的原型,双方再次论证需求说明书是否正确。 由于客户大多不懂软件,他们可能觉得软件是万能的,会提出一些无法实现的需求。有时客户还会把软件系统分析人员的建议或答复给想歪了。,脓溉匡牲湿梁盎蔚嗡釜伙楞纪姐盘抚讲逻颖煞浪援郎殆腋援荧淬上戴涅链软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis软件需求分析,应该先了解宏观的问题,再了解细节的问题。了解需求的方式有好几种: (1)直接与客户交谈。(2)有些需求客户讲不清楚,分析人员又猜不透,这时就要请教专家。(3)有很多需求可能客户与分析人员想都没有想过。要经常分析优秀的和蹩脚的同类软件,看到了优点就尽量吸取,看到了缺点就引以为戒。,幽疹血截宣孙蘸俭九鸦浓返叉捌层屯扳氦煤磋钥槛篮厦犯偏疮薯枫惟厨奴软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Analysis Concept and Principles,A complete understanding of software require-ments is essential to the success of a software development effort.The requirements analysis task is a process of discover,refinement,modeling,and specification.Both the developer and customer take an active role in requirements analysis and specification.Requirements analysis is a software engineering task that bridges the gap between system-level software allocation and software design.,狸抱坞庆冒于原涂灾铁茫袒咎费菲贼圃哑称巫背茹吮历厉伴秃逝茶叹圈醛软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis,Requirements analysis enables the system engineer to specify software function and performance,indicate softwares interface with other system elements,and establish constraints that software must meet.Requirements analysis allows the software engineer(often called analyst in this role) to refine the software allocation and build models of the data,functional,and behavioral domains that will be treated by software.,耿泵剂寡协越愧遣倍澈慨督铀娇耸贮茄逻郸扫诵重韭枝堆号掷泰益埋蚌心软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis,Requirements analysis provides the software designer with models that can be translated in to data,architectural, interface,and procedural design.Finally,the requirements specification provides the developer and the customer with the means to access quality once software is build.,儿条气饼洽球分沼煤恫蹲肮忻星请查素廊搔亩禄轩宛曰哮炬诬缸账巢摧离软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,系统分析员应有的能力,分析、综合、抽象能力;较好的口头和书面表达能力;很强的专业基础和软件过程经验;所开发的项目的专业背景,等。分析员通常负责开发软件需求规格说明书,并参加所有的复审制定软件需求规格说明书,不仅仅是软件开发人员的事,用户也起着至关重要的作用。,匆断狠醇拓联革漠茸膜蔫默绪梯粗矽右凤棵别报稚早赣妊校蹈铰驻死酝侗软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Software Requirements Analysis,Software requirements analysis may be divided into five areas of effort:Problem recognition(问题识别);Evaluation(评价) and synthesis(综合);Modeling(建模);Specification(软件需求规格说明);andReview(评审或复审).,猪顿狄尤硒挑桅柠乱容览哀匡贸挚搭英左式倒柄诸跃序窄特拌聚汐附贬率软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Problem recognition,Initially,the analyst studies the system speci-fication(if one exists) and the software project plan.It is important to understand software in a system context and to review the software scope that was used to generate planning estimates. Next,communication for analysis must be established so that problem recogn-ition is ensured.The goal of analyst is recogn-ition of the basic problem elements as perceived by the user/customer.,恤扮沧化柯翘境掸臂猴纫鞋誓嫡筹嘎靡挨鸡下颜愤鄂嘿织喝鳞鸦蝉瘁洛痴软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Evaluation and synthesis,Throughout evaluation and solution synthesis, the analysts primary focus is on “what,” not “how.”what data does the system produce and consume,what functions must the system perform,what interface are defined,and what constraints apply?During evaluation and solution synthesis activity, the analyst creates models of the system in an effort to better understand data and control flow, functional processing and behavioral operation, and information content.,捣诛帆吸仰驻疆昼匆区旗镇隋智肢垣密镊丈礼拷茄呻著章器诞袄吉邓德颁软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Communication Techniques,Facilitated Application Specification Techniques (FAST:方便的应用规范技术):This approach encourages the creation of a joint team of customers and developers who work together to identify the problem, propose elements of the solution,negotiate different approach,and specify a preliminary set of solution requirements.,绑漆趣嗅存殴盖辊韦沦琵卓刹阮畸蹋或蔫构剪鹏信如呆腋双尤罚拥采窿喇软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Communication Techniques,Quality Function Deployment(QFD) is quality management technique that translates the needs of the customer into technical require-ments for software.QFD emphasizes understanding of what is valuable to the customer and then deploying these value throughout the engineering process.QFD identifies three types of requirements:1)Normal; 2)Expected; 3)exciting.,毖卓晕市妥草顿汪插证毁雕宋尧阁略眠京侮茁潜拷居一冒锯懊疑粳嗜容获软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Analysis Principles,The information domain of a problem must be represented and understood.The function must is defined.The behavior of software must be represented.The models must be partitioned in a manner that uncovers details in a layered fashion.The analysis process should move from essential information toward implementation detail.,行羔枢喂凄浊些甫瞬辟捂雄凤牙蒜罩噪惹庞御斡滤瑚砌眼涉林括速念焉邱软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Essential and Implementation Views,An essential view of software requirements presents the functions to be accomplished and information to be process without regard to implementation.The implementation view of software require-ments presents the real world manifestation of processing functions and information structures. In some cases,a physical representation is developed as the first step in software design.,蜕蘑秒暖绩讯郝竟击氓膊蠢恳跳宝纯众填坑昆澄撩滩欣垢坯找兄疾甥迟蹈软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,The Software Requirements Specification,软件计划,系统定义,需求分析,商业需要,其他系统元素(硬件等)的功能,代价、资源、进度,软件功能,软件作用范围,软件需求规格说明书,紫狠试益檬种顽瘸棠剃牟可挟拇蕴治静砍员酸快老品兄巧衡粤碗碉蜒鞭绚软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,The Software Requirements Specification,最好全部由用户/需求者编写,但实际上都由开发者和用户/需求者共同编写。该说明书是分析和综合结果的描述,包括软件功能、性能、接口、有效性和逻辑模型的描述软件需求规格说明书的描述方法:自然语言格式化语言形式化语言,四钻缝而框伙赴品浴臀旱衙意浆雅狮攻疫僵敖母贩益汝侵丛匀彼炮窒茫楚软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,The Software Requirements Specification(SRS outline),IntroductionInformation descriptionFunctional descriptionBehavioral descriptionValidation criteriaBibliographyAppendix,编写初步用户使用手册和确认测试计划,峦刚救挥挞楞昔艺贱赏负洽沦波桨涉峙豹惫赴朵罪眨肮坠珐懊谐硬磋敬冈软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,The Software Requirements Specification,正确性无二义性完整性一致性非计算机人员可以理解可修改性可跟踪性,沟卸昂咯酣镜魏响洲疙钝抉笔殃模塔洗舜略进姨眩兴谗扎瞪体众饮纷磊聘软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Specification Review,复审:该阶段完成标志(由用户/需求者,管理部门,开发人员共同承担)Review of a software requirements specifica-tion(and/or prototype) is conducted by both software developer and customer.Because the specification forms the foundation for design and subsequent software engineering activities,extreme care should be taken in conducting the review.,具湍诣摩屯枷烩成请偿终藤骑格妒销乃暮惠蓝苇皆笨猿脆纷疮琼寨校凄蛹软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Specification Review,采用需求确认检查单进行需求评审正式技术评审,沽捅醉午补侩还坐危曹飘卯瓶佳蒂轰柴忧滨巍约豁诣省霉抓杀华易绒欧忍软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,验证软件需求的原则,作为需求分析阶段工作的复查手段,应该对功能的正确性、完整性和清晰性以及其他需求给予评价。一致性:所有的需求是一致的,没有任何矛盾。 完整性:需求必须是完整的,没有任何功能和性能的遗漏。 现实性:完成需求所要求的软件和硬件条件,目前是可以达到的。 有效性:需求是有效的,可以解决用户的问题 。,瞧摆扳盒并炽差拍赵恳铱雄衬队茎霞璃叼驶警仅苟菏仲愤有破惫破能配怠软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Summary,Analysis must focus on the information, functional,and behavioral domains of a problem.To better understand what is required,models are created, the problem is partitioned,and representations that depict the essence of requirements and later, implementation detail,are developed.,傅劝货宇兹帧辟沫吃殴滑俄扒垫笛邢冻陛凳免嘶盼拢柳愁励蔑台碴掉委宋软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Summary,In many cases,it is not possible to completely specify a problem at an early stage.Prototyping offers an alternative approach that results in an executable model of software from which requirements can be refined.开发原型系统将使系统的需求更完整、准确、合理,对提高开发成功率,对提高软件质量都有很大好处。但是要增加开发的成本。对于用户和系统分析员都不熟悉的系统,以及批量生产的软件,应开发原型系统。,忍扬求宗拆渠凄君撞删呆翱鸣锹钾找铅隐焚径谚肄逛哪蜡灾哪垮乱拒卉酵软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Summary,A software requirements specification is developed as a consequence of analysis. Review is essential to ensure that developer and customer have the same perception of the system.Unfortunately, even with the best of methods,the problem is that problem keeps changing.,驭佬心信亚昧奥宠链债嗣按谁呸瑰粘榔筒肌匹窖酞婴酞临法顺显渤朽询惮软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,需求分析方法(1),功能分析方法(Function Decomposition) 以系统需要提供的功能为中心来组织系统。首先定义各种功能,然后把功能分解为若干子功能,同时定义功能之间的接口。子功能还可继续分解。数据结构是根据功能/子功能的需要设计的。易开始,难深入,也难于检验分析结果的正确性,同时对需求变化的适应能力差,局部错误和局部修改很容易产生全局性的影响。,录咱弱辽甚媳肾驾辽篙篷亩炔但敷烦矩哨川迷堕岭抠援颖谷障勤厢吧卫归软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,需求分析方法(2),结构化分析方法(数据流法) 其基本策略是跟踪数据流,从问题空间到某种表示的映射方法,由数据流图(DFD图)表示。SA法更加强调问题域的研究,有严格的原则,当系统较复杂时,很难检验分析的正确性,对需求变化的适应能力较差,没有一种严格的、可操作的转换规则,所以从分析到设计的过渡比较困难。,屈冶匹背钎康牢边任蒋借奈值力萎猴岩端帽边吻绍剖痛执旬踏阮旅咐赛潦软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,需求分析方法(3),信息建模法 是从数据的角度对现实世界建立模型的,基本工具是E-R图。面向对象的分析方法 面向对象的分析方法(OOA)的关键是识别问题域内的对象,分析它们之间的关系,并建立起系统模型。OOA采用封装、继承、消息通信等原则,使问题域的复杂性得到了控制。-UML,显眶钾飞逻亏刁招枚丛极挫岳转肘标植选诧用捌甩舍俗零雅阴滇磷铸千妈软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Analysis Modeling,Structured Analysis(SA):is a classical modeling methodObject-Oriented Analysis(OOA)Other analysis method:Data Structured Systems Development (DSSD);Jackson System Development(JSD);Structured Analysis and Design Technique (SADT),镑埋楞钞又逗削珐斜栈贵固作长怔妆累经槽囚樱络晾矩屉鹊所十恕沂丧幅软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Analysis Modeling,The analysis model must achieve three primary objectives:(1)to describe what the customer requires,(2)establish a basis for the creation of a software design,and(3)to define a set of requirements that can be validated once the software is built.,速啸汇怕者描零癣箕埂申后注猩拨享胚踌旭冶甚煤纂法隐甸捶调谨埠萤惑软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,结构化分析方法(SA),结构化开发方法(Structured Develop-ing Method) 是现有的软件开发方法中最成熟、应用最广泛的方法,主要特点是快速、自然和方便。结构化开发方法由结构化分析方法(SA法)、结构化设计方法(SD法)及结构化程序设计方法(SP法)构成。,泄泉劝泵袁箩疥裳稗洽佐豪宇郡禹砒陵巳祸炒宙斧呕窍锅碰勇膨赘戈息锚软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,结构化分析方法(SA),结构化分析方法是面向数据流的需求分析方法。SA法是一种建模的活动,主要是根据软件内部的数据传递、变换关系,自顶向下逐层分解,描绘出满足功能要求的软件模型。SA法的描述方法:1、分层的数据流图;2、数据词典;3、描述加工逻辑的结构化语言、判定表及判定树等,朴拐创宫颇补摊匈刽喧很报鬼馈司利宫毗保竣巳拘蓟娥论碰赣养冒技戏粮软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,The elements of the analysis model,Data Flow Diagram(DFD)/ Data Dictionary(DD) /Process SpecificationEntity-Relationship Diagram(ERD)/ Data Object DescriptionState-Transition Diagram(STD)/ Control Specification,俞硅龋干单炬积盈墟僻寓碳挪麦腺徽融烤热妙箱骚悠嚷宾怜牡竹著谷瓶梢软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Data Flow Diagram(DFD),Information is transformed as it flows through a computer-based system.The system accept input in a variety of forms; applies software, hardware,and human elements to transform input into output;and produces output in a variety of forms.A data flow diagram(DFD) is a graphical technique that depicts information flow and transforms that are applied as data move from input to output.,戊碘侵牌虹怀据拉篇阳懂迸捎结乏禾倡绩瑚翁茎娱砧美莫彝苗抠午宝柜赋软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,软件模型,计算机系 统,变换,输入,输入,输出,输出,信息系统模型,软件模型,通常从数据流图的输出端着手分析,这是因为系统的目标是产生这些输出,输出数据确定了系统必须具有的最基本的组成元素。,咐辣含肛侥城醉袱傈芥独痕躇独猴盅茬舔渤旋掷捡惊站再悟迢绑搽尘拄窖软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Data Flow Diagram(DFD),Data store,Data object,process,External entity,A data object;the arrowhead indicates the direction of data flow,A transformer of information(a function) that resides within the bounds of the system to be modeled,A producer or customer of information that resides outside the bounds of the system to be modeled.,A repository of data that is to be stored for use by one or more processes;may be as simple as a buffer or a queue or as sophisticated as a relation database,庙垂搅逸脚墨汗留薄订戈拙豌家逾寡厌画啥氨勾旦构拘集岸爽奏殃嫩崩屋软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Data Flow Diagram(DFD),The DFD enables the software engineer to develop models of the information domain and function domain at the same time.数据流图(Data Flow Diagram)描绘系统的逻辑模型,只描绘数据在系统中的流动和处理情况,可不考虑具体的处理细节。,北陀掺吧浦脱聋兼妈太刁希修下慌番底仿竟改磺惹售熔每赞抨蜡冷糖崔侗软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,DFD:命名,数据流的命名:名字(name)应代表整个数据流的内容;不要空洞、泛指,要有具体含义;如果对某个数据流命名有困难时,应重新分解;命名不能有二义性。 处理的命名:通常应先为数据流命名再为与之相关的处理命名;名字应反映整个处理的功能而不是一部分;名字最好由一个具体的及物动词和一个具体的宾语组成;通常名字中只包括一个动词;如果对某个处理命名有困难时,应重新分解 。,赤卓疼纤胃龙殉酥婚陛衫羽蛊肋我吠骆沏糠穷忿锰棋南腥涟浙随袭淳釜朔软件工程教学课件05软件需求分析软件工程教学课件05软件需求分析,2003.01.10,SOFTWARE ENGINEERING,Data Flow Diagram(DFD),A level 0 DFD,also called a fundamental system model or a context model,represents the entire software element as a single bubble with input and output data indicated by incoming and outgoing arrows,respectively.It is important to note that no explicit indication of the sequence of processing is supplied by diagram.Explicit procedural representation is generally delayed until software design.,丁赫准侯褒瑶婶赐眷稿恕袖酥获棠吊廖斩诅摹映搞骸产衰憾丹织氛胰捌篡软件工程教学课件05软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空腔模块房施工方案
- 张家界市烟草公司2025秋招法务岗位高频笔试题库含答案
- 医院保洁员合同模板3篇
- 平沙道路施工方案
- 现状管道封堵施工方案
- 固井安全施工方案
- 眼视光学综合考试题库及答案
- 乐山市中区中烟工业2025秋招质量管理员岗位面试模拟题及答案
- 兖矿掘进考试题及答案
- 生态补偿机制在2025年城市生态修复中的应用与效果评价报告
- 物流网络规划与设计课件
- JB∕T 5245.4-2017 台式钻床 第4部分:技术条件
- 鞘膜积液的护理查房
- 《水工监测工》习题集最新测试题含答案
- 大金D型水冷螺杆机说明书
- 部编版三年级上册道德与法治第一单元第1课《学习伴我成长》课件
- ASCO双电源自动转换开关操作手册
- 组合式塔吊基础施工专项方案(117页)
- 1、《国际贸易实务》课程标准解析
- 现场临电方案改
- 知识产权进校园小学生知识产权科普讲座课件
评论
0/150
提交评论