《软件工程需求》PPT课件.ppt

上传人:sh****n 文档编号:12760311 上传时间:2020-05-22 格式:PPT 页数:60 大小:497.50KB
返回 下载 相关 举报
《软件工程需求》PPT课件.ppt_第1页
第1页 / 共60页
《软件工程需求》PPT课件.ppt_第2页
第2页 / 共60页
《软件工程需求》PPT课件.ppt_第3页
第3页 / 共60页
点击查看更多>>
资源描述
1,第2章软件需求工程,2.1软件需求的基本概念2.2需求工程过程2.3软件需求获取技术2.4需求分析与建模2.5案例分析,2,2.1软件需求的基本概念,这一节讨论如下问题:1)需求概述2)在系统环境下定义软件3)软件需求的任务4)功能需求与非功能需求,3,软件需求作为软件生命周期的第一个阶段,其重要性越来越突出,到20世纪80年代中期,逐步形成了软件工程的子领域需求工程。90年代后,需求工程成为软件界研究的重点之一。从1993年起,每两年举办一次需求工程国际研讨会(ISRE),1994年起,每两年举办一次需求工程国际会议(ICRE)。一些关于需求工程的工作小组相继成立,使需求工程的研究得到了迅速进展。,1)需求概述,4,对系统应该提供的服务和所受到的约束进行理解、分析、建立文档、检验的过程需求工程,(1).什么是软件需求工程?(2).软件需求工程的任务是什么?(3).需求工程过程(4).软件需求分析方法,5,什么是需求工程?,教学管理系统:,描述:开发一个教学管理系统,目的要减少手工操作、减少教学干事往主楼来回的跑、减少学生办任何事情都要到教学办公室。同时,还要方便教师上网登成绩、发通知、同学的注册信息的完整性、有效性。,6,软件需求的重要性,软件需求无疑是当前软件工程中的关键问题,没有需求就没有软件。,美国于1995年开始对全国范围内的8000个软件项目进行跟踪调查。,分析失败的原因发现,与需求过程相关的原因占了45%,而其中缺乏最终用户的参与以及不完整的需求又是两大首要原因,各占13%和12%。,未完成,完成未实施,完成,7,第二章软件需求工程2.1软件需求的基本概念,可行性研究的任务,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。,可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。,8,第二章软件需求工程2.1软件需求的基本概念,可行性的四个主要研究方面:技术可行性研究:当前技术是否可行经济可行性研究:系统产生的效益是否超过成本操作可行性研究:系统在用户中是可操作的吗,法律可行性研究:技术、经济、操作可行性都符合法律规范,可行性研究的任务,9,第二章软件需求工程2.1软件需求的基本概念,了解用户的要求和现实环境,从技术、经济和操作和法律等方面研究并论证软件系统的可行性。,可行性研究任务,虽然可行性研究阶段已经粗略了解用户的需求,甚至还提出了一些可行的方案,但是这些分析的太多细节被忽略。因此为了彻底的了解用户“系统到底要做什么”,必须进行系统的“需求分析”。,可行性研究内容(1).经济可行性研究(2).技术可行性研究(3).操作可行性研究(4).法律可行性研究(5).其它问题的研究,10,第二章软件需求工程2.1软件需求的基本概念,软件需求的困难,软件需求是软件工程中最复杂的过程之一:(1)应用领域的广泛性,它的实施无疑与各个应用行业的特征密切相关。(2)非功能性需求建模技术的缺乏,及其与功能性需求有着错综复杂的联系,大大增加了需求工程的复杂性。(3)沟通上的困难,由于系统分析员、需求分析员等各方面人员有不同的着眼点和不同的知识背景,给需求工程的实施增加了人为的难度。,11,2).在系统环境下定义软件,系统工程关注系统环境下的各个元素系统元素包括:实事、原理、规则、连接逻辑、计划和方法系统工程是分层次的:,全局领域视图,商业领域视图,金融领域视图,教育领域视图,xxxx领域视图,.,实事元素视图,原则元素视图,规则元素视图,逻辑元素视图,.,详细视图,详细视图,详细视图,详细视图,.,12,产品工程层次,业务过程工程层次,在系统工程环境下的软件工程分为:业务过程-使业务能有效地使用信息体系产品过程-根据确定的能力映射的工作产品,信息全局视图,业务域视图,软件视图,业务域视图,硬件视图,.,信息系统视图,信息系统视图,功能视图,数据视图,详细视图,详细视图,详细视图,详细视图,.,完整产品视图,.,.,.,行为视图,系统需求分析,软件设计实现,13,信息全局视图,业务域视图,业务域视图,.,信息系统视图,信息系统视图,详细视图,详细视图,.,.,1.全局视图定义具有独立整体业务领域的目标和信息规程,3.信息系统视图建立特定信息系统的基本需求,并映射到软件体系结构和程序构件,4.详细视图构造内部数据结构及相应的技术实现并集成,2.业务域视图在全局视图中,选定具体业务领域的信息实体、功能和交互形式,业务过程工程层次,14,例如,教育领域,大学管理业务,大学教务信息系统,学科设置,课程设置,教师设置,学生设置,.,例如,制造企业领域,工厂生产业务,仓库管理信息系统,成品管理,原料管理,设备管理,仪器管理,.,例如,政务领域,政府业务,市政管理信息系统,商业网点,广告管理,煤气管网,污水管网,.,业务过程工程层次举例,15,软件视图,硬件视图,功能视图,数据视图,详细视图,详细视图,.,完整产品视图,.,行为视图,产品过程工程层次说明,1.完整产品视图信息和控制需求产品功能和行为产品性能设计接口约束,2.分配整体产品需求到硬件工程、软件工程、人力工程和数据工程,3.对指定的软件,进行行为、功能和数据的建模分析,4.对确定的部分,进行体系结构设计、接口设计和构件设计,16,产品过程工程层次举例,例如,控制功能产品-CLSS,条码阅读器,流速脉冲器,分流器,PC机,软件,软件数据建模,软件行为建模,软件功能建模,输入功能构件,输出功能构件,控制功能构件,操作界面构件,例如,监测功能产品-海下声纳监测,脉冲发生器,PC机,软件数据建模,软件行为建模,软件功能建模,采集声波功能构件,控制脉冲输出构件,延时计算功能构件,操作界面构件,声波采集器,软件,17,系统分析方法-系统建模,系统模型模板,用户界面处理,输入处理,处理和控制功能,输出处理,维护和测试,18,系统模型例子-CLSS系统,传送带分类系统,请求,询问,分流命令,格式化报告数据,带速指示器,诊断数据,条形码,分类站操作,条形码阅读,传送带,分类站,中央主机,分类站操作,系统语境图:systemcontextDiagram(SCD),19,系统模型例子-CLSS系统精化,数据库存取子系统,分流命令,脉冲触点输入,条形码,分类站操作,条形码阅读子系统,传感器数据获得子系统,分流控制站,中央通信驱动,诊断子系统,分流控制子系统,报告格式化子系统,条形码解码子系统,通信状态,条码阅读器状态,传感器状态,分流状态,分流控制状态,格式化报告数据,条形码数据,带速,操作请求,询问报告,显示,部件号,分类报告,报告请求,箱位置,CLSS报告,分类记录,key,BCD状态,条形码获得请求,系统流图(SystemFlowDiagram),20,顶层系统流图,SFD的结构表示,当系统流图用一张图表示不下的时候,采用结构SFD方式,B,A,A的系统流图,C,B的系统流图,C的系统流图,21,功能需求与非功能需求,功能需求是对系统应提供的服务、功能以及系统在特定条件下的行为描述。例如:图书管理系统,要求以下功能:(1)数据维护,录入、修改、更新等(2)基本业务功能,读者借、还书籍,预留操作、书籍编目、入库,更新等。(3)数据库管理:对书籍借、还及读者信息进行统一管理(4)信息查询:实现专用、通用、条件等各种信息查询功能。,22,非功能需求指不之接与系统功能相关的一类需求.主要反映对系统的约束,与系统的总体特性有关。如可靠性、反应时间、存储空间等,非功能需求,产品需求,机构需求,外部需求,交互需求,实现需求,标准需求,互操作需求,道得需求,法规需求,可靠性需求,可用性需求,效率需求,存储需求,可移植性需求,安全性需求,非功能需求类型,23,需求分析是一种软件工程活动,该活动定义功能、数据和行为的规约、和其他系统的接口约束。,2.2需求工程过程,需求工程的基本活动,需求获取,需求分析与建模,需求规格说明,需求有效性验证,初步需求说明,系统分析模型,需求规格说明书,确认需求文档,需求工程过程,24,2.3软件需求获取技术,常用需求获取技术面谈法:面谈前要拟定提纲、谈后认真分析、掌握人际交流的技能。问卷调查法:多项选择问题、分段评分、对回答问题排序。会议讨论:会上确定双方确认原型法:对交流有问题或核心问题作原型面向用例的方法:对一组动作序列的描述,25,确定需求开发过程编写项目目标和范围文档将用户群分类并归纳各自特点选择各类用户的产品代表建立起典型用户的核心队伍让用户代表确定使用实例召开应用程序开发联系会议分析用户工作流程确定质量属性和其它非功能属性通过检查当前系统的问题报告来进一步完善需求跨项目重用需求,需求获取的过程举例,某出版社系统调查表,需求获取调查举例:,某出版社系统调查表,28,软件需求是系统工程与软件设计之间的桥接,软件需求分析的原则1)问题信息域必须被表示和理解2)软件完成的的功能必须被定义3)软件的行为必须被表示(行为是事件作用后的结果)4)信息、功能和行为必须分开建模5)分析过程应该从粗略到详细,需求分析:需求分析解决项目做什么,界定项目范围.不关心如何做,2.4需求分析与建模,常用的分析方法论有功能分析法结构化分析法(SA)信息建模法面向对象分析法(OOA)主要介绍SA和OOA,29,需求分析规约(P214),软件需求规格说明:软件需求分析任务的提交产品,需求规格说明:(参考样例)1.引言1.1编写目的1.2项目背景1.3定义1.4参考资料2.任务概述2.1目标2.2运行环境2.3条件与限制3.数据描述3.1数据字典(或数据库描述)3.2数据采集,4.功能需求4.1功能划分4.2功能描述5.性能描述5.1数据精确度5.2时间特性5.3适应性6.运行需求6.1用户界面6.2硬件接口6.3软件接口6.4故障处理7.其它需求,30,方法示意图,包括三大部分:1)数据建模2)功能建模3)行为建模,结构化分析方法,数据字典,实体-关系图,数据流图功能层次图,状态变迁图,数据对象描述,加工规约,控制规约,需求建模,SA方法的基本思想分解抽象,SA需求分析的步骤,当前系统,目标系统,物理模型,逻辑模型,逻辑模型,物理模型,模型化,抽象化,改进,建立,怎么做,做什么,当前系统,目标系统,需求定义,32,数据建模,使用工具:实体关系图,实体数据对象A,实体数据对象B,关系,表示:一对多表示:一对一表示:一个或没有,数据流图(DFD)作用:描述逻辑模型的图形工具,表示数据在系统内的流动和处理(功能细节)情况的表示图。DFD既提供了功能建模的机制,也提供了信息流建模机制。,功能建模,功能建模和信息流使用工具:数据流图(DataFlowDiagram,DFD)数据字典(DataDictionary,DD)判定树/判定表结构化语言,三个重要属性:流向(从加工出发或流向加工)数据组成数据流名字,DFD图各成分的作用和命名DFD图是软件工程师可以同时开发信息域和功能域的模型,因此正确使用DFD中的各元素是保证系统设计的根本,创建DFD图指南:第0层的DFD图应将软件/系统描述为一个整体处理项,在图的边上画出外部实体。应仔细的在第0层标记外部实体对系统的输入和输出数据流通过隔离要表示在下一层的候选加工,数据对象和存储而开始精划过程,精划过程按分层给加工编号,保正父图与子图加工编号的对应关系。所有的箭头和处理使用有意义的名称标记当从一个级到下一级时要维护“信息流的连续性”,即一个子图必需对应父图的一个加工,两者的输入和输出数据流必需一致,实现父图与子图的平衡。一次精化一个处理,存在一种使DFD过份复杂的自然趋势。,DFD命名方法和注意事项用名词或名词词组不要使用意义空洞的名词尽量使用现实系统已有名字,当命名出现困难,考虑是否数据流划分不恰当。不要把控制流作为数据流顶层的加工名就是软件项目的名字分层数据流图中,数据存储一般局限在某一层或某几层命名方法与数据流相似,DFD画图注意事项的说明1)模型一致性规则:(模型描述语法正确)*数据流:加工加工数据流数据流源加工潭*流入、流出存储文件的数据流可无名称;加工名、文件名表达要清楚、规范。,DFD的层次分解,DFD可以用来表示一个系统或软件在任何层次上的抽象。较大型软件系统DFD图可以分成多个层(父图、子图概念),可以表示数据流和功能的进一步的细节。在分层使用DFD图描述中,重要的一点父图与子图的平衡,即子图必需是父图中的一项处理加工项,编号应有顺序层次结构的上一层是下一层的抽象,下一层是上一层的求精,(1)先画出顶层DFD。(2)自顶向下画出各层DFD分解原则:分解后的软件成分有相对独立功能一次分解不要加入细节过多由外向里画DFD,怎样画DFD,38,使用工具1:数据流模型图(dataflowdiagramDFD),外部实体,外部实体,外部实体,外部实体,变换1,变换3,变换2,变换4,数据存储,输入数据,中间数据,中间数据,中间数据,输入数据,输出数据,输出数据,输入,输出,例子:P237,变换加工说明:输入:输出:加工:,S,2,1,3,2.3,3.1,3.2,顶层,0层,1层,(基本系统模型),(系统的子功能),DFD的层次分解图示,2.2,2.1,A,1,4,父图和子图的平衡示图,2,3,B,F,E,G,C,D,C,3.1,E,D,3.3,3.2,父图,子图,按功能情况定,一般设深度为3-5层如超过5层最好画分解图,否则不容易对系统进行分析,使设计方案出现错误,分解的深度与层次,41,数据流模型图可以添加控制流CFD(P230),变换3,变换2,变换4,数据存储,状态,信号,命令,命令,输出数据,记录,数据存储,条件,信号,信号,某设备执行动作,42,功能建模,总功能,一层功能1,一层功能2,一层功能3,二层功能1,二层功能2,三层功能1,三层功能2,三层功能3,三层功能2,三层功能1,水平分解,垂直分解,使用工具2:功能层次图,43,行为建模,使用工具:状态变迁图(statetransitiondiagramSTD),系统状态2,事件,行为,系统状态1,事件,行为,系统状态3,事件,行为,例子:P233,44,名称:别名:何处使用/如何使用:内容描述:补充信息:,数据字典,作用:用以表示数据项和控制项的特性,例子:P241,数据字典内容和形式:,45,结构化分析建模步骤,对问题陈述做语法分析:1)区分所有动词和名词2)动词作为“变换处理”3)名词作为外部实体、控制对象和数据存储4)画DFD5)对“变换”做进一步的陈述精化6)重复做1)到4)步7)适当加入控制线,画CFD8)用状态变迁图协助分析控制事件,以及系统状态,画STD9)可以写必要的规约变换加工小说明10)对所有系统的加工数据、产生数据,以及控制事件和转换状态定义数据字典,既明确做出解释。,分析问题陈述,划分问题为较小的部分,可采用功能层次图,再采用语境图描述总功能,46,例:家庭安全系统产品描述,家庭安全系统的市场正以每年40%的比率增长,希望进入该市场,试图建造基于微处理器的家庭安全系统。该系统将保护和/或识别一系列不希望的“情况”发生,如:非法入室、火灾、水灾或其它。该产品暂时称为SafeHome,将使用合适的传感器来监测每种情况,可由房主编程,并且当情况被监测到时,自动地给监控机构拨打电话。,2.5案例分析,47,例:家庭安全系统问题陈述,SafeHome软件使得房主能够在安装时配置安全系统、监控所有和安全系统连接的传感器以及通过包含在SafeHome控制面板中的键盘和功能与房主交互。在安装过程中,SafeHome控制面板被用于编程和配置系统,每个传感器被赋予一个编号和类型,主人密码被编程以启动和关闭系统,而且当传感器事件发生时,输入电话号码自动拨号,当传感器事件被识别时,软件激活附属于系统上可发声的警报,在一定的时间延时后,软件拨打监控系统服务的电话号码并提供位置信息,报告被监测到的事件性质,电话号码将每隔20秒重拨一次,直至电话接通。所有和SafeHome的交互,由用户交互子系统管理,该子系统读入通过键盘和功能建提供的输入,在LCD显示屏上显示提示消息和系统状态。键盘交互采用下面的形式:,48,例2:家庭安全系统控制面板(P206),SAFEHOME,01,报警检查火情,离开驻留紧急旁路准备未就绪,装备电源,关闭离开驻留,最大测试旁路,立即编码警声,准备就绪,1,2,3,4,5,6,7,8,9,*,0,#,惊慌,49,SafeHome的语境图,从问题陈述,分析SafeHome系统的语境,控制面板,传感器,SafeHome系统,控制面板显示,警告,电话线,用户命令和数据,传感器状态,显示信息,警告类型,电话号,50,从问题陈述中列出所有的动词,用以分析数据处理,所有的动词:使得配置监控连接用于编程配置系统赋予启动关闭系统输入拨号识别激活提供重拨一次管理读入,进一步分析动词句子,用以发现“变换加工”:1.用户配置系统2.系统监控所有连接的传感器3.用户使用控制面板4.控制面板编程配置系统5.传感器赋予编号和类型6.密码被编程用以启动或关闭系统7.软件激活警报器8.软件拨打电话9.电话内容提供发生情况的位置10.系统管理用户交互子系统11.用户交互子系统读入键盘功能12.用户交互子系统显示提示信息和系统状态在LCD上,合并相同概念的处理,或者是一个加工手段。如:1、3、4是相同概念的处理,5是9的手段,并构成8的具体操作,同样,11和12也是10的具体操作。最终得到第一层的DFD,51,SafeHome第一层DFD,控制面板,传感器,处理用户输入,控制面板显示,警告,电话线,用户命令和数据,传感器状态,显示信息,警告类型,电话号信号,配置系统,监控传感器,处理口令,激活或失效系统,显示信息和状态,传感器信息,配置信息,正确的ID信息,配置数据,配置数据,配置请求,启动停止,口令,激活/失效信息,52,监控传感器的精化DFD,评定输出,配置信息,显示格式化,产生警告信号,读传感器,拨打电话,传感器状态,传感器ID类型,位置,传感器信息,警告类型,警告数据,电话号,配置数据,电话号信号,传感器ID类型,位置,53,SafeHome第一层CFD,控制面板,传感器,处理用户输入,控制面板显示,警告,电话线,配置系统,监控传感器,处理口令,激活或失效系统,显示信息和状态,配置信息,闪烁标志,启动/停止,开关,传感器事件,警告信号,警告状态,超时,54,状态变迁图,读用户输入状态,启动/停止开关,引发监控系统,监控系统状态,传感器事件动作状态,显示用户反馈状态,传感器事件,引发监控系统,传感器事件,引发显示信息和状态,传感器事件,引发监控系统,传感器事件,引发显示信息和状态,闪烁标志,引发显示信息和状态,显示动作状态,引发用户交互,超时,引发用户交互,红线表示,漏掉的系统正常返回,55,实例2:配送中心管理信息系统的顶层DFD,问题陈述:配送中心管理信息系统的功能是从供货商处获得货物清单,配送中心由采购部给供货商定单,供货商按定单制成送货单表,将货物送到配送中心的库房,库房按入库单入库,进行库存管理。配送中心通过财务部门按采购部给的定单,商品价目表,库房给的入库单,供货商的发票给供货商付款。财务要监管库房出库情况.库房给出缺货单表给采购部门和配送部门,销售部门给出门店的销售信息,采购部门按供货商给的商品价目表,库房给出缺货单表,制定单给供货商.配送管理部门按库房的商品编码表建立的定货单信息,按定单填出库单到库房出货,由配送管理部门编制”路单”,分别给门店送货.其中:(1).库房管理要完成货物的入库,出库,在库管理.入库要进行入库单的检查,入库单的保存,分配入库货物的货位号,修改在库的库存商品信息.(2).对于配送管理,要按定货单表,出货单表制定送货计划,按门店位置制定配送路线,制作配送路单表。送货人员要给回路单执行情况实现路单执行情况的跟踪。(3)其他部分暂时不考滤。按问题陈述设计对应多层DFD图.,送货单,配送中心管理信息系统,实例2:配送中心管理信息系统的顶层DFD,供应商,路单,门店销售信息,连锁门店,订单,发票,订货单,货物清单,库存管理,财务管理,1,配送中心管理信息系统的零层DFD,订货单表,供应商,D1,发票,送货单,出库单、入库单,订货单表,D3,门店,商品编码,2,商品价格表,D4,订单表,D5,采购管理,4,销售管理,5,配送管理,3,路单,门店销售信息,缺货单表,D2,订单,商品价格记录,订单正确,销售预测信息,缺货单,缺货单,货物清单,定货单,入库,1.1,库存管理子系统的DFD(第一层),订货单表,供应商,D1,送货单,出货单表,D3,门店,出库单,库存表,D2,在库,1.2,出库,1.3,入库单号,库存记录,缺货单表,D2,制作路单,3.2,配送管理子系统的DFD(第一层),订货单表,D1,路单记录,门店信息表,D2,门店,路单表,D3,路单执行情况跟踪,3.4,确定配送路线,3.3,配送计划,门店信息,出货单表,D4,制定配送计划,3.1,门店信息,路单,配送计划,路单,分配货位号,1.1.2,入库子系统的DFD(第二层),货位文件,DS2,订单文件,DS1,入库单,库存商品文件,DS4,修改库存商品信息,1.1.4,记录入库单,1.1.3,货位信息,合格商品,检验送货单,1.1.1,入库单文件,DS3,货位号,货位号,新库存信息,旧库存信息,合格商品,送货单,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!