第三章软件需求软件工程教案海南大学章_第1页
第三章软件需求软件工程教案海南大学章_第2页
第三章软件需求软件工程教案海南大学章_第3页
第三章软件需求软件工程教案海南大学章_第4页
第三章软件需求软件工程教案海南大学章_第5页
已阅读5页,还剩174页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程(第二版)

齐治昌、谭庆平、宁洪编著

高等教育出版社

主讲:陈明锐教授★省级精品课程★第三章软件需求分析在软件的整个生命周期中,首先是软件计划期,接着是软件开发期,软件需求分析是软件开发的第一个阶段,也是关系到软件开发成功与否的关键一步。本章的学习是基于已完成软件计划的基础上进行的,软件计划安排到第十二章讲。

3.1需求分析的任务与步骤3.2需求获取的常用方法3.3分析建模3.4软件需求说明3.5结构化分析方法3.6面向对象分析方法第三章软件需求分析软件在需求分析和设计阶段占用的工作量达到总工作量的40%~50%,说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量的10%~20%,而软件测试和调试的工作量占到总工作量的30%~40%,甚至≥50%。3.1需求分析的任务与步骤3.1.1需求分析的任务 需求分析的任务就是准确地回答“系统必须做什么?”这个问题,是通过系统分析员与用户一起商定,清晰、准确、具体地描述软件产品必须具有的功能、性能、运行规格等要求。软件需求分析阶段的目的是澄清用户的要求,并把双方共同的理解明确地表达成一份书面文档——软件需求规格说明书。3.1需求分析的任务与步骤

需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型。主要有两个任务:1、建立分析模型——数据、功能和行为模型2、编写需求说明书。

其实现模型如下图所示:系统实现模型目标系统当前系统物理模型逻辑模型逻辑模型物理模型模型化抽象化实例化具体化理解需求表达需求导出做什么怎么做1.分析建模导出目标系统逻辑模型的例子:

找出当前系统的物理模型学生张秘书王会计李出纳赵保管学生学生购买教材的物理模型购书申请购书证明购书发票领书单书导出目标系统逻辑模型的例子把当前系统的物理模型转换为逻辑模型学生审查有效性开发票开领书单发书学生购书单有效购书单领书单书发票学生购买教材的逻辑模型导出目标系统逻辑模型的例子把旧系统的逻辑模型转换为目标系统逻辑模型学生审查并开发票开领书单发书学生购书单发票领书单书计算机售书系统的逻辑模型导出目标系统逻辑模型的例子改进(优化)目标系统逻辑模型学生审查并开发票开领书单学生购书单发票领书单改进了的计算机售书系统模型无效书单分析阶段中常常用的模型((逻辑模型))数据流图(DFD)实体―联系图图(ERD)层次方框图、、IPO图、、Warnier图类图、实例图图、时序图状态图、协作作图、活动动图事件列表数据流定义数据元素定义义……3.1需求求分析的任务务与步骤2.编写软件件需求规格说说明:主要包括描述述目标系统概概貌、功能要要求、性能要要求、运行要要求和将来可可能提出的要要求。数据流流图、用IPO图或其他他工具简要描描述的系统主主要算法都是是该份文挡的的重要组成部部分。此外,,该份文档还还应包括用户户需求与系统统功能之间的的关系、设计计约束等等文文字描述。软件需求规格格说明是需求求分析阶段的的最终成果。。3.1需求求分析的任务务与步骤准确、完整和和规范的软件件需求是软件件开发成功的的关键!需求分析的任任务建立分析模型型描述软件需求求的一组模型型精确记录用于于对原始问题题和目标系统统的描述帮助分析人员员发现用户需需求中的不一一致性,排除除不合理的部部分,挖掘潜潜在的用户需需求编写需求说明明应做到准确性和一致致性清晰性和没有有二义性直观、易读和和易于修改案例分析一个具有n部部电梯的电梯梯系统要安装装在一座m层层的大楼上。。电梯和控制制机构已造好好。每个电梯梯的内部机构构也已给定。。问题涉及电电梯在楼层间间移动的逻辑辑:(1)每座电电梯有一套按按钮,每层一一个。按钮按按下时使钮灯灯变亮,并使使电梯达到相相应的楼层。。当电梯到达达相应的楼层层时按钮灯熄熄灭。案例分析(2)除了底底层和顶层外外,每层都有有两个按钮,,一个按钮请请求电梯上升升,另一个按按钮请求电梯梯下降。这些些按钮在按下下时按钮灯亮亮。电梯到达达指定楼层后后按钮灯熄灭灭,然后要么么朝期望的方方向移动,要要么请求等待待。在后一种种情况下,如如果一个楼层层上的两个请请求按钮都按按下,则只取取消其中一个个按钮。决定定先服务哪一一层的算法应应当使两个请请求的等待时时间最小。案例分析(3)当一个个电梯没有服服务请求时,,应当停留在在最终的目的的地,关上电电梯门,并等等待后面的请请求。(4)楼层上上所有电梯请请求必须最终终得到服务,,并且所以楼楼层具有相同同的优先权。。(5)电梯内内所有楼层的的请求必须最最终得到服务务,各层按电电梯移动方向向先后得到服服务。(6)每个电电梯有一个紧紧急按钮。按按下该按钮时时,将使一个个报警信号发发送到现场管管理人员,然然后强制电梯梯“停止服务务”。每一个个电梯有一个个取消其“停停止服务”状状态的机制。。电梯状态转换图举举例在一楼上升停滞下降回到一楼回一楼想要到达楼层想要到达楼层电梯行程开始向上向上向下案例分析需求分析的步步骤1.需求获取取目的:清楚地理解所所要解决的问问题;完整地地获取用户需需求2.需求提炼炼任务:分析建建模3.需求描述述结果:软件需需求说明书4.需求验证证改善需求说明明的完整性,,确保他可作作为软件设计计和系统验收收的依据。3.2需求求获取的常用用方法联合分析小组组用户代表、领领域专家和系系统分析员客户访谈充分准备,寻寻找共同语言言循循序渐进、、逐步逼近问题分析与确确认多个来回调研问卷部分的名称、、人员数量和和结构部分发展或变变化简单介绍绍部分的主要任任务业务处理流程程业务处理过程程中涉及哪些些专业领域的的知识工作需要的审审批流程是什什么?主要算法描述述哪些业务需要要实时处理??哪些业务需要要交互操作??部门各岗位的的职责部门接受哪些些部门或外界界的信息?信信息的内容和和格式是什么么?部门产生哪些些信息?部门产生的信信息送到哪些些其他部门??格式要求是是什么?对信息的输入入和输出方式式有要求吗??输入输出设设备是什么??数据要求实时时备份吗?备备份的设备是是什么?时间间策略?业务处理有高高峰期吗?高高峰时间是什什么?时间策策略?现有的哪些设设备要继续使使用?对产品的运行行环境有要求求吗?对界面风格和和操作方式有有要求吗?在系统运行过过程中允许停停机吗?操作方式要根根据操作环境境和使用人员员素质分类吗吗?需要的操作权权限有哪些??需要记录系统统操作运行日日志吗?用户有能力进进行系统维护护吗?需要分布式处处理吗?需要什么方式式的用户操作作培训。需要制作联机机帮助吗?案例用户提出某种种需求:水的质量信息息必须立即能能够显示出来来。分析员更准确确的描述:水的质量记录录必须在接到到请求信号的的5秒内显示示出来。需求获取的三三大挑战问题空间的理理解人与人之间的的通信需求的不断变变化某出版社系统统调查表编号提出问题1您在哪个部门工作?2出版业务流程是什么?3您每日都处理那些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?某出版社系统统调查表编号提出问题7您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根本无法解决的?11出版社计算机管理信息系统需要解决什么问题?需求获取的内内容1.用户需求求分类(1)功能性性需求:定义了系统做做什么(描述述系统必须支支持的功能和过程程)(2)非功能能性需求(技技术需求):定义了系统工工作时的特性性(描述操作环环境和性能目目标)2.两类需需求包括的内内容(1)功能能(2)性能能(3)环境境(4)界面面(5)用户户或人的因素素(6)文档档(7)数据据(8)资源源(9)安全全保密(10)软件件成本消耗与与开发进度(11)质量量保证(1)功功能需求系统做什么??系统何时做什什么?系统何时及如如何修改或升升级?(2)性性能需求软件开发的技技术性指标例如:存储容量限制制执行速度、相相应时间吞吐量(3)环环境需求硬件设备:机型、外设、、接口、地点、分布、、温度、湿度、磁场干干扰等软件:操作系统网络数据库(4)界界面需求有来自其它系系统的输入吗吗?到自其它系统统的输出吗??对数据格式有有规定吗?对数据存储介介质有规定吗吗?(5)用户户或人的因素素用户类型?各种用户熟练练程度?需受何种训练练?用户理解、使使用系统的难难度?用户错误操作作系统的可能能性?(6)文文档需求需哪些文档??文档针对哪些些读者?(7)数数据需求输入、输出数数据的格式??接收、发送数数据的频率??数据的准确性性和精度?数据流量?数据需保持的的时间?(8)资资源需求软件运行时所所需的数据、、软件。内存空间等资资源。软件开发、维维护所需的人人力、支撑软件、开开发设备等。。(9)安安全保密密要求需对访问系系统或系统统信息加以以控制吗?如何隔离用用户之间的的数据?用户程序如如何与其它它程序和操操作系统隔离??系统备份要要求?(10)软软件成本本消耗与开开发进度需需求开发有规定定的时间表表吗?软硬件投资资有无限制制?(11)质质量保证证系统的可靠靠性要求??系统必须监监测和隔离离错误吗??规定系统平平均出错时时间?出错后,重重启系统允允许的时间间?系统变化如如何反映到到设计中??维护是否包包括对系统统的改进??系统的可移移植性?3.3分分析建模模所谓模型,就是为了了理解事物物而对事物物做出的一一种抽象,,是对事物物的一种无无歧义的书书面描述。。简单地说说,模型就是某某一事物的的抽象表示示方式。经过软件的的需求分析析建立起来来的模型可可以称之为为分析模型或者需求模型。3.3分分析建模模需求分析模模型:数据字典数据模型功能模型行为模型功能模型功能模型可可以用数据据流图(DFD)描描述,所以以又称为数据流模型型。下面是数据据流图的基基本形式::3变换4变换1变换2变换外部实体外部实体外部实体外部实体数据文件输入数据中间数据输出数据学生1审查开发票2开领书单学生购书单发票领书单计算机售书书系统的数数据流图无效书单各班学生用用书表教材存量表表数据模型包含有3种种相关的信信息:(1)数据据对象数据对象是是几乎所有有必须被软软件理解的的复合信息的表示。它它只封装数数据,不包包含作用于于对象的操操作。(2)属性性属性定义了了数据对象象的性质。。(3)关系系数据对象彼彼此之间是是有关联的的,也称为为关系。数据模型数据模型常常常用“实实体-关系系图(ERD)”来来描述。。ERD包含含3种基本本元素,即即实体、属属性和关系系。通常,用矩形表示即数据对象,用圆角矩形或或椭圆形表示实体的的属性,用菱形连接相关实实体表示关系。下图是一个个简化的教教学管理ERD:性别职称姓名教工号姓名性别系学号年级课程号课程名学时学分课程教师学生教学行为模型行为模型常常用状态转换图图(简称状态图图)来描述,,它又称为为状态机模型型。状态图中的的基本元素素有事件、状态和行为等。系统的状态态机模型可以理解为为在任一个个时刻,系系统处于有有限可能的的状态中的的一个状态态,当某一一个激励((条件)到到达时,它它激发系统统从一个状状态转换到到另一个新新状态。下面是电话话系统的状状态图:闲置拨号音do:响拨拨号音超时do:响蜂蜂鸣音存储的信息息do:播放放信息接通中do:试接接通振铃do:振铃铃拨号通话断线忙音do:响响忙忙音音挂断断电电话话挂断断电电话话拿起起话话筒筒超时时无效效号号码码有效效号号码码超时时数字字数字字占线线已接接通通受话话人人回回话话受话话人人挂挂断断电电话话信息播完数据据字字典典数据据字字典典(DataDictionary)用用于于描描述述软软件件系系统统中中使使用用或或者者产产生生的的每每一一个个数数据据元元素素,,是是系系统统数数据据信信息息定定义义的的集集合合。。数据据字字典典的的作用用,就就是是对对软软件件中中的的每每个个数数据据规规定定一一个个定定义义条条目目,,以以保持持数数据据在在系系统统中中的的一一致致性性。软件件中中的的数数据据,,可可分分为为三三种种情情况况::①只只含含一一个个数数据据的的数据据项项(或或数数据据元元素素);;②由由多多个个相相关关数数据据项项组组成成的的数据据流流;③数据据文文件件或或数数据据库库。数据据流流““发发票票””的的字字典典条条目目数据流名:发票别名:购书发票组成:学号+姓名+{书号+单价+数量+总价}+书费合计备注:数据据字字典典的的例例子子3.3分分析析建建模模下面面介介绍绍两两种种需需求求模模型型::结结构构化化分分析析模模型型和和面面向向对对象象分分析析模模型型分析析模模型型描描述述工工具具DFD、、DD和和PSPECCFD、、CSPEC和和STDE-R图图用例例图图对象象-关关系系图图::类类、、对对象象、、构构建建等等图图对象象-行行为为图图::状态态、、时时序序、、协协作作、、活活动动等等图图结构构化化分分析析模模型型数据对加加工象说明说说明控制说明E-R图DFD图STD图DD数据模型功能模型行为模型面向对象分析析模型属性、操作、、协作者类/对象对对象象-关模型系系模型对象-行为模模型使用实例功能模型行为模型数据模型(静态)(静态)(动态)分析模型描述述工具结构化分析工工具DFD、DD和PSPEC(加工说说明)——基基本组成CFD、CSPEC((控制说明))和STD———扩展E-R图———扩展(复复杂数据结构构可以使用))面向对象分析析工具用例图,类对对象图对象-关系图图对象-行为图图1.数据据流图(DFD)飞机票预订系系统数据流图图1.数据据流图(DFD)数据流图———他以图形的的方式反映系系统的数据流流程由四种基本元元素组成,代代表符号和名名称:加工名编号加工名编号文件名文件名数据流加工、处理或变换数据文件或数数据库数据原点或终终点文件名实体名顾客出版社验证订单汇总订单订单出版社订单图书目录文件件顾客档案待处理订单文文件正确订单一批订单出版社档案文文件订货存根文件件DFD图的例例子1.数据据流图(DFD)描述系统逻辑辑模型信息在系统中中的流动和处处理用途交流信息的工工具结构化分析和和设计的工具具一家工厂的采采购部每天需需要一张订货货报表,报表表按零件编号号排序,表中中列出所有需需要再次订货货的零件。对对于每个需要要再次订货的的零件应该列列出下述数据据:零件编号号,零件名称称,定货数量量,目前价格格,主要供应应者,次要供供应者。零件件入库或出库库称为事务,,通过放在仓仓库中的CRT终端把事事务报告结订订货系统。当当某种零件的的库存数量少少于库存量临临界值时就应应该再次订货货。案例由文字描述画画出数据流图图由文字描述画画出数据流图图采购员订货系统事务订货报表订货系统数据据流程图仓库保管员由系统调调查画出出数据流流图会计处理原始数据账簿、报报表会计信息息系统数数据流程程图领书单进书通知知购书单缺书单DFD练练习—售书系统学生教材购销系统书库保管员领书单进进书通通知进书通知知购书单缺缺书单单DFD练练习—售书系统1销售2采购书库保管员学生F1教材存量量表F2缺书登记记表2.数数据字字典(DD)定义:数据词典典——是是描述数数据信息息的集合合,它对对数据流流图中的的各个元元素按规规定格式式进行详详细的描描述和确确切的解解释,是是数据流流图的补补充工具具。数据流图图与数据据字典构构成了系系统逻辑辑模型的的主体。。2.数数据字字典(DD)数据字典典的作用,就是对对软件中中的每个个数据规规定一个个定义条条目,以以保持数据据在系统统中的一一致性。软件中的的数据,,可分为为三种情情况:①由多个个相关数数据项组组成的数据流;②数据文件件或数据据库;③只含一一个数据据的数据项(或数据据元素)。DFD中中所有数数据元素素的定义义集合①数据流———例::发票②数据文件件——例例:各班班学生用用书表③学生购书书数量数数据项———例::数量三种数据据字典分分别表达达如下::学生1审查开发票2开领书单学生购书单发票领书单计算机售售书系统统的数据据流图::无效书单单各班学生生用书表表教材存量量表数据流““发票””的字典典条目数据流名:发票别名:购书发票组成:学号+姓名+{书号+单价+数量+总价}+书费合计备注:数据字典典——数数据流数据文件件“各班班学生用用书表””的字典典条目文件名:各班学生用书表别名:组成:{系编号+专业和班编号+年级+{书号}}组织:按系、专业和班编号从小到大排列备注:数据字典典——数数据文件件数据项““数量””的字典典条目数据项名:数量别名:购书量取值:正整数备注:数据字典典——数数据项一般的“数据流流”字典条目目应包含含以下内内容:数据流名:别名(编号):描述:组成(定义):来源与去处:频率、数据量、取值范围等:…备注:数据字典典——数数据流应应包含的的内容数据字典典——数数据文件件应包含含的内容容一般的“数据文文件”字典条目目应包含含以下内内容:数据文件名:关键码:描述:组成(定义):存储方式:存储频率、数据量、取值范围等:…(如安全要求等)备注:数据字典典——数数据项应应包含的的内容一般的“数据项项”字典条目目应包含含以下内内容:数据项名:别名:描述:数据类型:长度(精度):取值范围、缺省值等:…(如计量单位等)备注:还可以采采用类似似公式定定义式,,(似P41例3.6))例如:航班信息息文件={航空空公司名名称+航航班号+起点++终点++日期++起飞飞时间++降落时时间}航空公司司名称==2{字字母}4航班号==3{十十进制数数字}3字母=““A”……“Z””十进制数数字=““0”……“9””起点=终终点=1{汉字字}10起飞时间间=降落落时间==时+分分时=“00”……“23”分=“00”……“59”日期=年年+月++日年=[2000|2001||2002|2004]月=“01”……“12”日=“01”……“31”对数据项项的数据据描述还还可以采采用以下下的方式式:名称别名类型长度备注姓名XM字符8存款日期CKRQ日期金额JE数字8,2身份证号SFZH字符16类别LB字符2取款日期QKRQ日期利息LX数字8,2利息税LXS数字8,2数据字典典实现数据据字典的的途径目前实现现数据字字典有三三种途径径:全人工过过程利用数据据字典处处理程序序的全自自动化过过程用正文编编辑程序序报告生生成程序序等已有有的实用用程序帮帮助人工工过程的的混合过过程。3.加加工说说明加工说明明(PSPEC)说明DFD中的的每个加加工,加加工逻辑辑说明描描述实现现加工的的策略,,是加工工说明的的主体。。在需求分分析阶段段,策略略仅需要要指出“做什么么”,而而不管““怎么做做”!3.加加工说说明加工说明明(PSPEC)的描描述工具具有:结构化语语言判定表或或判定树树层次方框框图Warnier图IPO图图等等等(1)结结构化语语言自然语言言加上结结构化的的形式,,就是结结构化语语言。借借用结构构化语言言的控制制结构描描述加工工。结构化语语言的特特点:无确定语语法可分层、、嵌套加工名:核核实订票处处理编编号:3.2激活条件:收到取订订票信息处理逻辑:1读订票票旅客信息息文件2搜索此文文件中是否否有与输入入信息中姓名及身身份证号相相符的项IF有THEN判断余项是是否与文件件中信息相符IF是THEN输出已订票票信息ELSE输出未订票票信息ELSE输出未订票票信息执行频率:实时例:用结构构化语言描描述加工(2)判定定表或判定定树判定表采用用表格的形形式描述加加工逻辑,,他适合于于描述包含含复杂判断断的加工处处理。判定树采用用树形图的的形式描述述加工逻辑辑,他同样样适合于描描述包含复复杂判断的的加工处理理。他是判判定表的图图形表示。。一般情况下下,两者选选用其一。。判定(决策策)树实例例判定树描述述有多个行行为需要选选择的过程程。判定树由一组表表示条件的的节点,和和无标记边边组成。判定树示意意图逻辑功能名名条件1条件2条件1.2条件1.1行为1行为2条件2.1条件2.2行为3行为4行为5判定树实例豪华型选择包装箱中速车高速车豪华型标准型标准型使用1号包装箱使用2号包装箱使用3号包装箱使用4号包装箱判定(决策策)树实例例判定树还有有另一种形形式:“T”表示““真”,条条件成立;;“F”表表示“假””,条件不不成立。判定树的另另一种形式式决策树形式式简单,易易于掌握和和使用,并并适合于与与用户讨论论。豪华型

中速车T标准型

使用1号包装箱

使用2号包装箱

使用4号包装箱

使用3号包装箱TTFFF判定(决策策)表实例例判定表(1)豪华型中速车T

使用1号包装箱

使用2号包装箱

使用3号包装箱

使用4号包装箱TTFFFFT√√√√判定(决策策)表实例例判定表(2)层次方框图图用树形结结构的一系系列多层次次的矩形框框描绘数据据的层次结结构。树形形结构的顶顶层是一个个单独的矩矩形框,它它代表完整整的数据结结构,下面面的各层矩矩形框代表表这个数据据的子集,,最底层的的各个框代代表组成这这个数据的的实际数据据元素(不不能再分割割的元素))。例如,描绘绘一家计算算机公司全全部产品的的数据结构构可以用图图2.15中的层次方方框图表示示。层次方框图的一个例子(3)层次次方框图(4)Warnier图法国计算机机科学家Warnier提出出了表示信信息层次结结构的另外外一种图形形工具。和和层次方框框图类似,,Warnier图图也用树形形结构描绘绘信息,但但是这种图图形工具比比层次方框框图提供了了更丰富的的描绘手段段。用Warnier图图可以表明明信息的逻逻辑组织,,也就是说说,它可以以指出一类类信息或一一个信息量量是重复出出现的,也也可以表示示特定信息息在某一类类信息中是是有条件地地出现的。。因为重复复和条件约约束是说明明软件处理理过程的基基础,所以以很容易把把Warnier图图转变成软软件设计的的工具。(4)Warnier图下图是用Warnier图描描绘一类软软件产品的的例子,它它说明了这这种图形工工具的用法法。Warnier图的的一个例子子IPO(Input-Process-OutputChatr)图IPO图是是输入/处处理/输出出图的简称称,它是美美国IBM公司发展展完善起来来的一种图图形工具,,能够方便便地描绘输输入数据、、对数据的的处理和输输出数据之之间的关系系。用IPO图描绘主文件更新功能右图是一个个主文件更更新的例子子,通过这这个例子不不难了解IPO图的的用法。建议使用一一种改进的的IPO图图(也称为为IPO表表),这种种图中包含含某些附加加信息,在在软件设计计过程中将将比原始的的IPO图图更有用。。如下图所所示,改进进的IPO图中包含含的附加信信息,主要要有系统名名称,图的的作者,完完成本图的的日期,本本图描述的的模块的名名字,模块块在层次图图中的编号号,调用本本模块的模模块清单,,本模块调调用的模块块的清单,,注释,以以及本模块块使用的局局部数据元元素等。在在需求分析析阶段可以以使用IPO图简略略地描述数数据流图中中各个处理理的基本算算法(着重重说明处理理功能而不不是具体实实现功能的的算法)。。当然,在在需求分析析阶段,IPO表中中的许多附附加信息暂暂时还不具具备。但是是,在软件件设计阶段段可以进一一步补充、、修正这些些表,继续续作为设计计阶段的文文档。这正正是在需求求分析阶段段用IPO表作为描描述基本算算法的工具具的重要优优点。改进的IPO图的形式改进的IPO图的例子财务管理系系统2.1客房帐目管管理客人入住登登记查询处处理退房登记查查询处理客房结算处处理客房帐目查查询客人客房结结算客房日结算算改进的IPO图的例子系统:财务管理系系统作者:XXX模块:客房帐目管管理日期:2006/03/15编号:2.1.1注释:被调用:财财务管理系系统调用:客房房结算管理理有效性检检验、客人人入住信息息查询处理理、客人退退房信息查查询处理输入:系统统当前时间间、客人入入住信息、、客人退房房信息、客客人入住登登记查询请请求、。退退房登记查查询请求。。输出:非法法信息、客客人入住登登记查询结结果、退房房登记查询询结果、客客人住宿结结算表、客客房日结算算表局部数据元元素:4.CFD和CSPEC适合实时系系统的分析析与DFD和和PSPEC类似和DFD与与PSPEC配合使使用表示控制流流和控制加加工控制流图与与控制说明明通常与DFD配合合使用描述述模型。CFD和DFD的关关系数据条件加工激活信信号控制输出输入数据加工模型PSPEC控制模型CSPEC输出数据控制输入(1)CFD的符号号组成与表表示控制信息或或事件引用控制说说明(2)CFD的建立立对于那些由由事件驱动动而不是数数据驱动,,产生的是是控制信息息而不是数数据值,以以及处理信信息时必须须依赖于时时间的应用用,只建立立数据流模模型是不够够的,还需需要使用控控制流图来来建模,才才能清楚地地描述系统统。下面看课本本P46———例3.10DFD和CFD例子子---DFD信号半分钟数据光电管采集计数传送工控机处理实时数据显示班数据处理半小时数据班数据DFD和CFD例子子---CFD翻屏人工驱动信息时钟半小时半分钟某型号累加物品经过信号半分钟数据光电管采集计数传送工控机处理实时数据显示班数据处理半小时数据班数据(3)控制制说明当某个事件件发生时,,会出现什什么事情呢呢?这时就就需要看控控制说明了了。控制说明用用于指明会会激活哪些些加工,它它主要用于于描述:当事件或控控制信息被被感知时软软件如何行行动;作为事件发发生的结果果,那些加加工将被激激活。例3.11课后自自己看(P47))5.状态转转换图(STD)描述软件状状态变迁符号表示矩形---系统状态态箭头---状态转变变方向规则表达式式---事事件/触发发行为状态1状态2事件/触发行为STD例子子20秒到/翻屏生成最新数据/翻屏半小时到/工控处理半分钟到/传送空闲/采集物品经过/计数采集PLC计数传送工控处理实时翻屏STD例子子“自动柜员员机终端””状态转换换图请求验证帐帐户主屏do::显显示示主主屏屏幕幕do::要要求求密密码码帐户户有有效效do::验验证证密密码码输入入密密码码密码码正正确确处理理结结束束结束束do::打打印印帐帐单单do::验验证证帐帐户户do::显显示示无无效效帐帐户户帐户户无无效效密码码错错取款款额额无无效效do::要要求求取取款款额额do::检检验验取取款款额额取款款额额有有效效do::取取款款事事务务do::显显示示取取消消信信息息do::要要求求类类型型输入入类类型型输入入取取款款额额do::显显示示失失败败信信息息事务务失失败败等待待5秒秒钟钟取消消取消消取消消取消消E-R图图(1))有有三三个个相相互互关关联联的的部部分分构构成成::①实实体体————事物物、、事事件件、、角角色色、、机机构构等等②属属性性————名称称、、描描述述、、参参考考属属性性、、含含有有一一个个标标识识属属性性((关关键键字字))③关关系系————事物物、、事事件件、、角角色色、、机机构构等等用于于对对复复杂杂数数据据的的用用作作数数据据分分析析和和建建模模(2))组组成成符符号号::0::11::10::m1:mE-R图图例例子子电话机生产厂商经销商用户生产购买使用经销7.用用例例图图主要要用用于于面面向向对对象象分分析析用例例::系系统统和和外外部部((相相对对))角角色色的的交交互互符号号表表示示::系统名称系统用例名用例角色关联UseCase图图例例子子签定定保保险险单单销售售统统计计客户户统统计计客户户保险险销销售售员员保险险商商务务系系统统的的用用例例图图保险险商商务务系系统统UseCase图图例例子子用例例之之间间的的关关系系扩展展关关系系使用用关关系系组合合关关系系《扩展》签保险单签汽车购买契约《使用》《使用》签保险单签汽车保险单签房屋保险单定义义用用例例————1回答答问问题题——发现角角色色使用用系系统统主主要要功功能能的的人人是是谁谁??需要要借借助助于于系系统统完完成成日日常常工工作作的的人人是是谁谁??谁来来维维护护、、管管理理系系统统,,保保证证系系统统正正常常工工作作??系统控制的硬硬件设备有哪哪些?系统需要和哪哪些其它系统统接口?对系统产生的的结果感兴趣趣的人和事是是哪些?定义用例———2回答问题—发现用例角色需要从系系统中获得哪哪种功能?需需要角色做什什么?角色需要读取取、产生、删删除、修改或或存储系统中中的某种信息息吗?系统中发生的的事件需要通通知角色吗??角色需要通通知系统某件件事吗?这些些事件能干什什么?系统需要输入入/输出的是是什么信息??这些输入/输出信息从从哪儿来??到哪儿去??当前运行系统统(也许是一一些手工操作作而不是计算算机系统)的的主要问题??8.对象-关系图从E-R(实实体关系)图图演变而来描述对象间关关系学生书出版商购买来自1:10:m1:11:1对象关系图例例子储蓄系统对象象关系图(模模型)储户姓名地址帐户帐户号余额事务日期金额柜员号1+1+取款事务取款总行名称柜员柜员号储蓄所所号地址1+分行分行号验证帐号验证密码更新帐户1+1+1+存款事务存款1+1+终端终端号验证帐号验证密码打印帐单一般与特殊整体与部分注意:对象关系而非非实体关系对象关系图例例子9.对象象-行为图描述对象的动动态行为对象状态转换换图(就是5.状态态转换图)事件轨迹图((也称时序图、、顺序图)事件流图对象状态转换换图例子加纸纸用完故障修复打印故障打印完成接到打印命令就绪打印缺纸故障事件轨迹图例例子删除会议事件件轨迹图事件流图例子子[打印机忙]保存文件[打印机就绪]打印文件打印文件计算机打印队列打印服务器打印机3.4软软件需求说说明(SRS)按美国IEEE830-1998号标准和和国家标准GB856D-88,规格说明应应有如下内容容:软件需求规格格说明书模板板3.5结结构化分析方方法定义:使用DFD、DD、结构化语语言、判定表表和判定树等等工具,来建建立一种新的的、称为结构构化说明书的的目标文档。。基本步骤自顶向下,功功能分解分层DFD由后向前,定定义数据和加加工DD,PSPEC根据需要,分分析复杂数据据和动态模型型E-R图,CFD,CSPEC,STD编写SRS数据字典数据流图E-R图状态变迁图加工规约控制规约数据对象描述分析模型的结结构画画数据据流图的原则则找出数据的源源点与终点把软件系统看看成一个大的的加工,根据据外部实体的的输出数据流流和输入数据据流,划出系系统的输入和和输出图,即即顶层图根据系统的逻逻辑要求,从从外部实体的的输出数据流流出发,把顶顶层图中的加加工分解成若若干个子加工工,并用数据据流把这些加加工连接起来来,此时的系系统内部图称称为0层图进行检检查和和修改改按照上上述步步骤,,再从从各加加工出出发,,画出出所需需的子子图实例考务处处理系系统功功能(1)对考考生送送来的的报名名单进进行检检查;(2)对合合格的的报名名单编编好准准考证证号后后将准准考证证送给给考生生,并并将汇汇总后后的考考生名名单送送给阅阅卷站站;(3)对阅阅卷站站送来来的成成绩单单进行行检查查,并并根据据考试试中心心制定定的合合格标标准审审定合合格者者;(4)制作作考生生通知知单(含成成绩及及合格格/不不合格格标志志)送送给考考生;(5)按地地区进进行成成绩分分类统统计和和试题题难度度分析析,产产生统统计分分析表表。考务处处理系系统的的分层层DFD———顶层数数据流流图考生考务处理系系统考试中心阅卷站站不合格格报名名单报名单单准考证证考生通通知单单成绩清单合格标标准错误成成绩清单考生名名单统计分分析表表登记报名单单报名单单准考证证1统计成成绩2不合格格报名单单考生通通知单单成统计分分析表表0层数据流流图考生名名册绩清单合格标准考生名名单成绩清单错误一层数数据流流图(a)检查报名单单报名单单准考证证1.1编准考考证号号1.2不合格格报名单单考生名名册考生名名单合格报名单单登记考生1.3一层数数据流流图(b)检查成绩清清单2.1审定合格者者2.2考生名名册正确成绩清清单制作通知单单2.3分析统计成成绩2.4分析试题难难度2.5试题得得分清清单考生通知单单难度分析表表合格标准分类统计表表成绩清清单错误成绩绩清清单单经审审定定的的成绩绩清清单单DFD可可以以用用来来表表示示一一个个系系统统或或软软件件在在任任何何层层次次上上的的抽抽象象。。较大大型型软软件件系系统统DFD分分成成多多层层(子子图图、、父父图图概概念念),可可以以表表示示数数据据流流和和功功能能的的进进一一步步的的细细节节。。S2132.22.12.33.13.2顶层层(不不编编号号))0层层1层层确确定定数数据据定定义义与与加加工工策策略略最低低一一层层DFD图图包包含含了了系系统统的的全全部部数数据据和和加加工工,,从从哪哪里里开开始始分分析析呢呢??一般般应应该该从从数数据据的的终终点点开开始始,,因因为为终终点点的的数数据据代代表表系系统统的的书书橱橱,,其其要要求求是是明明确确的的。。从从这这里里沿沿着着DFD图图一一步步一一步步向向数数据据源源点点回回溯溯,,这这样样容容易易看看清清数数据据流流中中每每一一数数据据项项的的来来龙龙去去脉脉,,有有利利于于减减少少错错误误和和遗遗漏漏。。可后后看看书书P57-58确定定数数据据定定义义与与加加工工策策略略————例例名字字::定定货货报报表表别名名::定定货货信信息息描述述::每每天天一一次次送送给给采采购购员员的的需需要要定定货货的的零零件件表表组成成:{零零件件编编号号+零零件件名名称称+定定货货数数量量+目目前前价价格格+主主要要供供应应者者+次次要要供供应应者者}组织织::按按零零件件标标号号排排序序位置置::输输出出到到打打印印机机订货货系系统统案案例例分分析析((本本章章幻幻灯灯片片58、、59))的的数数据据定定义义,,从从重重点点开开始始,,即即订订货货报报表表::结构构化化分分析析的的整整个个流流程程画DFD定义义加加工工和和数数据据再修修改改产生生SRS复审审的的复复审审父图图和和子子图图不不平平衡衡未区区分分局局部部文文件件和和局局部部外外部部项项分解解的的速速度度太太快快不遵遵守守加加工工编编号号规规则则结构构化化分分析析方方法法实实践践为方方便便储储户户,,某某银银行行拟拟开开发发计计算算机机储储蓄蓄管管理理系系统统。。储储户户填填写写的的存存款款单单或或取取款款单单由由银银行行柜柜台台业业务务员员键键入入系系统统,,如如果果是是存存款款,,系系统统记记录录存存款款人人姓姓名名、、住住址址、、存存款款类类型型、、存存款款日日期期、、利利息息等等信信息息,,并并印印出出存存款款单单给给储储户户;;如如果果是是取取款款,,系系统统进进行行取取款款处处理理并并印印出出结结算算单单给给储储户户。。请请用用结结构构化化方方法法描描述述系系统统的的逻逻辑辑模模型型。。((对对系系统统的的功功能能需需求求))3.6面面向向对象分分析方法法用例图::视图功能模型型:模型型分析模型型:模型型类图:视视图对象模型型:模型型顺序图::视图状态图::视图活动图::视图动态模型型:模型型面向对象象分析模模型的构构成面向对象象分析的的目标就就是要建建立这些些图!!!!3.6面面向向对象分分析方法法20世纪纪80年年代以来来,出现现了几十十种面向向对象软软件开发发方法。。每一种种都有自自己的符符号体系系和开发发过程,,都支持持以下基基本活动动:•标识识类及对对象•描述述类及对对象之间间的关系系•定定义类的的属性和和操作在学习面面向对象象分析方方法之前前,先了了解一下下目前较较为流行行的几种种面向对对象系统统开发方方法:流行的几几种面向向对象系系统开发发方法Booch方法Coad-Yourdon方法Rumbaugh方法(简称OMT)(ObjectModelingTechnology)Jacobson(雅各布布森)方法(简称OOSE)由Rumbaugh、、Booch、、Jacobson提出的统统一建模模语言(UnifiedModelingLanguage简称称UML)目前流行行的OOA方法概述述①Booch方法Booch的OOA宏观开发发过程概概述:标识类和和对象标识类和和对象的的语义标识类和和对象间间的关系系进行精化化目前流行行的OOA方法概述述②Coad-Yourdon方法Coad-Yourdon的OOA过程概述述:使用“寻寻找什么么”标准准来标识识对象定义一般般/特殊殊结构定义整体体/部分分结构标识主题题(子系系统构件件的表示示)定义属性性定义服务务目前流行行的OOA方法概述述③Rumbaugh方法(简称OMT))Rumbaugh的OOA过程概述述:开发对问问题的范范围陈述述建造对象象模型开发动态态模型构造系统统的功能能模型目前流行行的OOA方法概述述④Jacobson方方法也称OOSE方方法。最最大特点点是强调调使用实例例(Use-Case),每一一个用例例就是一一个使用用系统的的方式,,用例的的执行将将引发执执行一系系列与行行为相关关的事务务。该方法将将用例贯贯穿于整整个开发发阶段,,并在用用例描述述中引入入了角色或参参与者(Actor)的概念念。角色色指使用用系统的的人以及及与系统统相互作作用的软软硬件环环境。该方法还还将对象象区分为为实体对象象(业务对对象)、、接口对象象(界面对对象)和和控制对象象。需求分析析阶段活活动:定定义潜在在的角色色、识别别问题域域中的对对象和关关系、基基于需求求规格说说明和角角色的需需要描述述用例。。目前流行行的OOA方法概述述不同面向向对象分分析方法法的相似似步骤::(1)使使用基本本需求作作为指南南选择类和对象;;(2)为对象标标识属性性和操作作;(3)定定义组织织类的结构构和层次次;(4)建造对象象-关系系模型的的;(5)建建造对象-行行为模型型。⑤统一的的OOA方法由Rumbaugh、、Booch、、Jacobson提出的统统一建模模语言:UML(UnifyModeingLanguage简称称UML)UML是是一种定定义良好好,易于于表达,,功能强强大且普普遍实用用的建模模语言。。在第七章章详细讲讲3.6面面向向对象分分析方法法面向对象象分析模模型的建建立从哪哪里入手手呢?一般来说说总是从从理解系系统的““使用实实例开始始”回顾面向对象象分析模模型的构构成(幻灯片片134)基本步骤骤定义系统统的用例例领域分析析,建立立类对象象模型建立对象象-关系系模型建立对象象-行为为模型功能模型型对象模型型动态模型型静态模型型定定义用例例静态建模———功能模型::用例和用例例图用例模型的基基本组成:用用例、角色和和系统用例图:取饮料顾客酒店系统投币退币找钱选择灯金额累计数各种饮料存量量屏幕系统维护员放置各种饮料料收钱系统数据维护护各种饮料存量量及单价设定发现角色通过回答下列列问题,可以以帮助建模者者发现角色::使用系统主要要功能的人是是谁?需要借助于系系统完成日常常工作的人是是谁?谁来维护、管管理系统,保保证系统正常常工作?系统控制的硬硬件设备有哪哪些?系统需要与哪哪些其它系统统交互?对系统产生的的结果感兴趣趣的人或事是是哪些?发现用例询问以下问题题角色需要从系系统中获得哪哪种功能?角角色需要做什什么?角色需要读取取、产生、删删除、修改或或存储系统中中的信息吗??系统中发生的的事件需要通通知角色吗??如果用系统的的新功能处理理角色的日常常工作是简化化了还是提高高了工作效率率?用例——案例例会议管理系统统用例图领领域分分析1、领域分析析的概念面向对象的系系统分析可以以发生在许多多不同的抽象象层次。在业业务或企业级级层次,可定定义模拟整个个业务的类、、对象、关系系和行为。在在业务域层次次,可定义描描述某特殊的的业务域的工工作的对象模模型和行为模模型;在应用用层次,建模模着重于特定定的用户需求求。Firesmith对软软件领域分析析的定义是::领域分析(DomainAnalysis)指特定应用领领域中公共需需求的标识、、分析和规约约,即发现或或创建那些可可广泛应用的的类,其目的的使它们在应应用域中多个个项目间能被被复用。领域分析的角角色是设计和和建造可复用用构件(类似似于制造环境境中工具制造造者的角色)),它们被很很多相似但不不一定是相同同的应用开发发的人所使用用。Lethbridge的的定义是:领域分析是软软件工程师了了解背景信息息的过程。为了理解问题题并在需求分分析和软件工工程过程的其其他阶段作出出合理的决策策,软件工程程师必须了解解使用该类软软件的一般性性商业和技术术领域中足够够的信息。2、领域分析析过程的活动动(1)定义将被调查查的领域分离感兴趣的的业务域、系系统类型或产产品范畴,抽抽取OO和非非OO的“项项”。OO项项包括:现存存OO应用的的类的规约、、设计和代码码,支持类((如GUI类类或数据库访访问类),和和领域相关的的构件库以及及测试案例。。非OO项包包括:政策、、规程、计划划、标准,非非OO应用文文档和构件。。(2)对从领领域中抽取出出来的项进行行分类并建立立分类层次。。(3)收集领领域中应用的的代表性样本本。(4)分析样样本中的每个个应用•标识候选的每每个可复用对对象。•指明对象被标标识为可复用用的理由。•定义对对象的适应性性。•估算在在领域中复用用这些对象的的应用的百分分率。•使用配配置管理技术术控制这些对对象。(5)为对象象开发分析模模型。3、领域分析析的价值领域分析除了了为软件复用用奠定基础外外,还为较低低抽象层次的的一般的面向向对象分析带带来如下好处处:•快速开发发。有助于集集中精力关注注最重要的问问题,更有效效地与相关人人员进行交流流,可以更快快的确定需求求。•优化系统统。了解领域域的细节有助助于保证所采采纳的解决方方案更有效地地解决用户的的问题。会少少犯错误,知知道应该遵循循那些规程和和标准。领域域分析给出一一个应用领域域的总体视图图,会引导出出更好的抽象象从而改进设设计。•有了领域域知识,就可可以洞察新兴兴趋势及进一一步开发的机机会,有助于于创建适应性性更强的系统统。•了解通用用性和特殊性性,有助于创创建出具有更更好的可重用用性和更宽的的销售市场的的软件。专家提出,没没有坚实的领领域分析,任任何重大的软软件项目都不不应该不进行行。对应用领领域的深入理理解能极大的的提高成功的的几率。许多多非常成功的的软件产品的的开发人员以以前都在业务务领域工作过过-段时间,,对实际需要要有着深切的的感受。一旦旦对对领领域域有有了了真真正正的的理理解解,,就就可可进进行行某某一一个个项项目目((或或产产品品))的的需需求求分分析析,,包包括括定定义义待待解解决决的的问问题题以以及及开开发发什什么么软软件件来来解解决决它它。。然然而而,,领领域域分分析析永永远远也也不不应应该该结结束束::开开发发人人员员有有责责任任在在开开发发过过程程中中不不断断增增进进他他们们的的理理解解,,后后续续版版本本的的系系统统扩扩充充通通常常需需要要对对子子领领域域进进行行进进一一步步的的领领域域分分析析。。类类对对象象建建模模((一一))静态态建建模模————对对象象模模型型::类类/对对象象模模型型确定定分分析析模模型型中中的的类类/对对象象考察察系系统统用用例例,,得得到到候候选选对对象象进一一步步考考察察候候选选对对象象,,确确定定正正式式对对象象确定定对对象象的的名名称称表表示示、、属属性性和和操操作作类和和对对象象的的图图形形表表示示无论论是是面面向向对对象象分分析析还还是是面面向向对对象象设设计计与与实实现现,,建建立立类类图图都都是是核核心心技技术术。。类类图图是是定定义义其其他他图图的的基基础础,,在在该该基基础础上上用用交交互互图图、、状状态态图图等等进进一一步步描描述述系系统统其其他他方方面面的的特特性性。。如何何识识别别对对象象??对对象

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论