您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 软件开发过程与质量保证-3-需求工程2009(2)
SoftwareEngineering软件开发过程与质量保证第三章需求工程(2)场景互动根据用户的需求描述,我们进行软件实现,它能够提供给我们足够的信息吗?我们得到的用户的需求描述,完整吗?是否有含混的地方?(例子)怎样进行需求分析才能够将需求整理成正规的结构化的需求规约呢?需求分析的原则软件将被完成的功能必须被定义;软件的行为(作为外部事件的结果)必须被表示;问题的信息域必须被表示和理解;描述信息、功能和行为的模型必须被划分,使得可以以层次的方式揭示细节;分析过程应该从要素信息移向实现细节。一个真实的文档案例建模的类型功能模型•完成软件功能的定义;•从单个语境层模型(将被创造的软件名字)开始,经过一系列的迭代,越来越多的功能细节被提供,直至得到所有系统功能的完全描绘。行为模型•对软件的行为进行表示;•它创建了软件状态的表示,以致导致软件状态变化的事件的表示。数据模型•对问题的信息域进行表示;•描述了数据对象、描述数据对象的属性和将数据对象相互连接的关系。需求的建模分析方法面向功能分析•将软件需求当作一棵倒栽的功能树,每个节点都是一项具体的功能,自上而下,功能由粗到细。体现“自顶向下、逐步求精”的思想。面向对象分析•从系统基本功能入手,将功能对应到对象上,分析每个对象的属性、方法及隶属关系。并以对象为主线表示用户的所有需求。面向数据分析•面向元数据和中间数据分析,分析两类数据及其之间的关系。功能模型数据流图(DFD)数据模型实体—关系图(ERD)行为模型状态—迁移图(STD)数据字典(DD)一、结构化分析模型结构化分析模型分析模型中的要素数据流图(DFD)•描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能(子功能);实体—关系图(ERD)•描述数据对象及数据对象之间的关系;状态—迁移图(STD)•描述系统对外部事件如何响应,如何动作。数据字典(DD)•就是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。结构化的功能模型采用数据流图对系统的功能进行建模。数据流图(DataFlowDiagram,简称DFD)•是描述信息流和数据从输入移动到输出时被应用的变换的图形化技术。数据流的变换则用结构化英语、判定表与判定树来描述。数据流图是分层次的。•以分层的数据流图反映系统的层次结构的逐步分解。二、功能模型-数据流图描述银行取款过程的数据流图储户清单数据2.1验证有效性储户信息2.3取款处理2.4打印清单利息清单取款信息有效取款信息2.5计算清单取款处理信息2.2合法性验证合法取款信息或或或数据流图中的主要图形元素数据源点或终点(外部实体)数据加工(数据处理、数据变换、转换)数据存储文件数据流数据流与数据加工之间的关系数据流图的层次结构顶层流图•仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据中间层流图•表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。底层流图•是指其加工不需再做分解的数据流图,它处在最底层分层的数据流图示意图结构化分析方法功能建模举例—某企业销售管理系统功能描述如下:•(1)接受顾客的订单,检验订单,若库存有货,进行供货处理,即修改库存,给仓库开备货单,并且将订单留底;若库存量不足,将缺货订单登入缺货记录。•(2)根据缺货记录进行缺货统计,将缺货通知单发给采购部门,以便采购。•(3)根据采购部门发来的进货通知单处理进货,即修改库存,并从缺货记录中取出缺货订单进行供货处理。•(4)根据留底的订单进行销售统计,打印统计表给经理。•根据上述的功能描述,画出对应的数据流程图。数据流图绘制解析首先绘制顶层图•确定系统的输入和输出(系统的边界)•确定外部实体,说明输入数据从何而来,由谁来接收输出数据•描述被开发系统的范围以及它和周围环境的数据交换关系其次,绘制一层数据流图(主图)•绘制系统的核心处理过程(功能)之间的关系•根据需求陈述,分析出该系统的主要功能。•从输入端开始,根据企业销售工作流程(需求陈述),画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图(从左到右)最后,对每一个加工处理进行分解细化顾客检验订单1.1检验库存1.2缺货登记1.3订单有效订单缺货信息可供货单缺货记录库存记录供货处理细化修改库存并保存订单2.1库存记录订单记录开备货单2.2仓库可供货单登记过的订单备货单处理订单细化处理进货细化缺货统计细化和销售统计细化数据流图的基本原则自外向内,自顶向下,逐层细化,完善求精。步骤①先找出外部实现的输出数据流和输入数据流。②找出系统的数据源点与终点。③从外部实体的输入数据流(系统的源点)出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找出外部实体所需要的输出数据流(既系统的汇点),形成数据流的封闭。④进行检查和修改⑤再逐个分解细化处理过程,画出所需要的子图。练习1假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号、零件名称、订货数量、目前价格、主要供应者和次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。0订货系统仓库管理员采购部门事务订货报表(订货单)第一步顶层图1处理事务2处理订货库存清单事务订货报表仓库管理员采购部门库存临界值表第二步一层图(主图)第三步细化分层图库存清单订货报表采购部门库存临界值表事务具体事务仓库管理员1.1接收事务1.2更新库存2.1比较临界值2.2打印报表订货信息数据流程图的注意点DFD上所有图形符号只限于前述四种基本元素DFD主图必须包括前述四种基本元素,缺一不可DFD的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解图上每个元素都必须有名字,编号数据流图中不可夹带控制流初画时可以忽略琐碎细节,以集中精力于主要数据流一个处理逻辑,在下一层分解时不宜超过7个处理逻辑例题:房屋安全管理系统SafeHome软件使得房主能够在安装时配置安全系统、监控所有和安全系统连接的传感器以及通过包含在SafeHome控制面板中的键盘和功能键与房主交互。安装过程中,SafeHome控制面板被用于“编程”和配置系统,每个传感器被赋予一个编号和类型,主人密码被编程以启动和关闭系统,而且当传感器事件发生时输入电话号码拨号。当某种传感器事件被识别出时,软件激活附于系统上的可发声的报警,在一定的延迟时间(由房主在系统配置活动中指定)后,软件拨出监控服务的电话并提供关于位置的信息,报告被检测到的事件的性质,电话号码将每20秒重拨一次,直至电话被拨通。所有和SafeHome的交互由用户交互子系统管理,该子系统读入通过键盘和功能键提供的输入,在LCD显示屏上显示提示消息和系统状态。住宅安全系统顶层图(第0层图)控制面板传感器控制面板显示器报警器电话线用户命令和数据传感器状态显示信息警报类型电话号码音住宅安全系统控制面板传感器用户命令和数据监控传感器用户操作配置系统处理密码启动/停止系统显示信息和状态控制面板显示器报警器电话线配置信息密码配置请求启动/停止有效的ID信息配置数据配置数据A/D信息传感器信息传感器状态警报类型电话号码音住宅安全系统的第1层DFD图配置数据显示信息读取传感器与启动值进行比较显示信息格式化产生报警信号拨电话配置信息传感器状态传感器ID,类型配置数据传感器ID,类型、位置传感器信息警报类型报警数据电话号码电话号码音精化监视传感器加工的第2层DFD图二、数据建模及E-R图数据模型包括三种互相关联的信息数据对象•是需被目标系统所理解的复合信息的表示。它具有若干不同特征或属性的信息。描述对象的属性•定义了数据对象的特征描述对象间相互连接的关系。•各个数据对象的实例之间的关联。某管理信息系统中每名教师教授若干课程,每门课程可以由若干教师来教授,每个班级有若干学生,每名学生可以学习若干门课程,每门课程可以有若干学生学习,每名学生学完一门课程后得到一个成绩。教师具有的信息包括员工号、姓名、性别、住址;课程需要课程号、课程名、学分进行描述;学生具有的信息包括学号、姓名、性别、出生日期;班级的描述信息包括班号、人数。教师课程教授学习学生成绩mnnm班级有员工号姓名性别课程号课程名学分住址学号姓名性别出生日期班号人数n1E-R图数据对象数据对象可以是外部实体,事物,角色,行为或事件,组织单位,地点或结构。数据对象只封装了数据,没有包含作用于这些数据上的操作。属性为数据对象的实例命名;描述这个实例;建立对另一个数据对象的另一个实例的引用关系数据对象通过多种方式相互连接•如一个学生“张鹏”选修两门课程“软件工程”与“计算机网络”,学生与课程的实例通过“选修”关联起来。教师学生管带基数:一位教师基数:多位学生参与度:必须参与度:可选实例的关联有三种:一对一(1:1);一对多(1:m);多对多(n:m)。这种实例的关联称为“基数”。基数表明了“重复性”。如1位教师带学生班的30位同学,就是1:m的关系。实例关联有是“可选”还是“必须”之分。也有1位教师带0位同学的情形用“O”表示关系是可选的,用“│”表示关系必须出现1次。这表明了关系的“参与性”。练习学校由若干个系组成,每个系有若干名教师和学生,老师或者学生只能属于某一个特定院系;每个教师可以担任若干门课程,并参加多项科研项目;教师的工资由其职称决定,每位老师都拥有自己的工作证;每门课程可以由若干老师任教;每个学生可以同时选修多门课程。请设计教学管理的E-R模型,并根据自己的理解标示实体、联系及其属性。学校系老师学生工资课程科研项目拥有属于属于教授选修工作证参与拥有1n1n1nnmnm111nnm职称拥有决定11三、行为建模和状态迁移图行为建模给出需求分析方法的所有操作原则状态迁移图描述系统的状态如何相应外部的信号进行推移的一种图形表示圆圈“○”表示可得到的系统状态箭头“→”表示从一种状态向另一种状态的迁移(写上导致迁移的信号或事件的名称)例子:操作系统根据调度要求设置进程状态。当有多个申请占用CPU运行的进程时,CPU分配的进程的状态迁移。进程的状态包括就绪,运行,等待。当进程运行时遇到中断事件,则进程进入等待状态;当中断处理完毕后,进程处在就绪状态;就绪的进程分配给CPU处理时间后,处在运行状态;当该进程的CPU事件使用完毕之后,该进程进入就绪状态。生成的事件t1─中断事件t2─中断已处理t3─分配CPUt4─用完CPU时间状态迁移图的优点(因为一个系统的状态是有限的)状态之间的关系能够直观地捕捉到由于状态迁移图的单纯性,能够机械地分析许多情况,可很容易地建立分析工具进程的状态S1─运行S2─等待S3─就绪生成的事件t1─中断事件t2─中断已处理t3─分配CPUt4─用完CPU时间例子没人打电话时电话处于闲置状态;有人拿起听筒则进入拨号音状态,到达这个状态后,电话的行为是响起拨号音;这时如果拿起听筒的人改变主意不想打了,他把听筒放下(挂断),电话重又回到闲置状态;如果拿起听筒很长时间不拨号(超时),则进入超时状态;如果此人想打电话,开始拨数字,此时出现拨号音,电话处在拨号状态;当拨完电话号码之后,是有效的电话号码则电话试图接通对方,处在试接通状态;如果电话号码无效,则播放提示信息;如果拨号的时间过长(超时),则进入超时状态
本文标题:软件开发过程与质量保证-3-需求工程2009(2)
链接地址:https://www.777doc.com/doc-4961089 .html