您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 需求分析是系统设计的基础-关系到工程的成败与软件产品
需求分析是发现、求精、建模、规格说明和复审的过程;需求分析是系统设计的基础,关系到工程的成败和软件产品的质量。重要性需求获取困难,原因有三一是用户需求的动态性(不稳定性)二是需求的模糊性(不准确性)三是需求必须得到用户的确认,否则毫无意义第五章软件需求需求分析的任务准确地定义未来系统的目标,确定为了满足用户的需求系统必须做什么用需求规格说明书规范的形式准确地表达用户的需求。第五章软件需求软件需求分析的几个阶段•问题分析•问题评估和方案综合•建模•规约•复审系统分析员的主要焦点是“做什么(what)”,不是“怎样做(how)”需求获取需求获取的目的•清楚地理解所要解决的问题•完整地获取用户需求需求获取的内容1.用户需求分类(1)功能性需求:定义了系统做什么(描述系统必须支持的功能和过程)(2)非功能性需求(技术需求):定义了系统工作时的特性(描述操作环境和性能目标)两类需求包括的内容(1)功能(2)性能(3)环境(4)界面(5)用户或人的因素(6)文档(7)数据(8)资源(9)安全保密(10)软件成本消耗与开发进度(11)质量保证功能需求•系统做什么?•系统何时做什么?•系统何时及如何修改或升级?性能需求软件开发的技术性指标例如:•存储容量限制•执行速度、相应时间•吞吐量环境需求•硬件设备:机型、外设、接口、地点、分布、温度、湿度、磁场干扰等•软件:操作系统网络数据库界面需求•有来自其它系统的输入吗?•到自其它系统的输出吗?•对数据格式有规定吗?•对数据存储介质有规定吗?用户或人的因素•用户类型?•各种用户熟练程度?•需受何种训练?•用户理解、使用系统的难度?•用户错误操作系统的可能性?文档需求•需哪些文档?•文档针对哪些读者?数据需求•输入、输出数据的格式?•接收、发送数据的频率?•数据的准确性和精度?•数据流量?•数据需保持的时间?资源需求•软件运行时所需的数据、软件。内存空间等资源。•软件开发、维护所需的人力、支撑软件、开发设备等。安全保密要求•需对访问系统或系统信息加以控制吗?•如何隔离用户之间的数据?•用户程序如何与其它程序和操作系统隔离?•系统备份要求?软件成本消耗与开发进度需求•开发有规定的时间表吗?•软硬件投资有无限制?质量保证•系统的可靠性要求?•系统必须监测和隔离错误吗?•规定系统平均出错时间?•出错后,重启系统允许的时间?•系统变化如何反映到设计中?•维护是否包括对系统的改进?•系统的可移植性?需求分析的步骤当前系统目标系统物理模型逻辑模型逻辑模型物理模型模型化抽象化具体化实例化怎么做做什么当前系统目标系统需求定义逻辑模型和物理模型模型是对对象系统的形式化的特征抽象,概括性或近似地表示;构造模型的过程是一个抽象、分析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程逻辑模型物理模型(本质模型、概念模型)(实施模型、技术模型)现行系统目标系统描述重要的业务功能,无论系统是如何实施的。描述现实系统是如何在物理上实现的。描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。描述新系统是如何实施的(包括技术)。需求建模建模的原因:•在建模过程中了解系统•通过抽象降低复杂性•有助于回忆所有的细节•有助于开发小组间的交流•有助于与用户的交流•为系统的维护提供文档模型化或模型方法是通过抽象、概括和一般化,把研究的对象或问题转化为本质(关系或结构)相同的另一对象或问题,从而加以解决的方法。模型化方法要求所建立的模型能真实反映所研究对象的整体结构、关系或某一过程、某一局部、某一侧面的本质特征和变化规律。需求建模模型的类型•数学模型•描述模型•图形模型需求分析过程示意学生(1)通过对现实环境的调查,获得当前系统的物理模型学生购书申请购书单发票领书单书107张教务科206王会计室206李出纳员303赵教材科学生购买教材的物理模型需求分析过程示意(2)去掉具体模型中的非本质因素,抽象出当前系统的逻辑模型学生购买教材的逻辑模型学生学生购书申请购书单发票领书单书审查有效性开发票开领书单发书需求分析过程示意(3)分析当前系统与目标系统的差别,建立目标系统的逻辑模型计算机售书系统的逻辑模型学生学生购书单发票领书单审查并开发票开领书单无效书单分析阶段中常用的模型(逻辑模型)•数据流图(DFD)•实体―联系图(ERD)•类图•实例图•时序图•状态图•协作图•事件列表•数据流定义•数据元素定义•……客户保险销售人员签订一份保险单销售统计客户统计使用用例图举例状态图例:状态1Do:活动1状态2.…...事件1[条件1]/动作1结束事件初始事件空闲可视菜单左边按钮按下/显示弹出菜单左边按钮弹起/擦除弹出菜单光标移动/高亮菜单项弹出菜单动作接电话的顺序图:受话者交换机远程交换机受话者拿起话筒听通话声拨号码......铃响信号铃响铃响停止信号拿起话筒铃响停止10deabc{b-a1}{e-d5}{c-b10}路径合作图举例打印机忙保存打印文件队列计算机打印机空闲打印文件打印机打印服务器打印文件电梯状态图举例在一楼上升停滞下降回到一楼回一楼想要到达楼层想要到达楼层电梯行程开始向上向上向下§3.4分析建摸方法结构化分析(传统建模方法)面向对象分析§3.4.1结构化分析方法(StructuredAnalisys,SA)基于数据流技术的分析方法需求获取应遵循的三条基本原则:分解抽象投影分析模型的主要目标•描述用户需要•建立创建软件设计的基础•定义软件完成后可被确认的一组需求分析模型的结构数据字典数据流图E-R图状态变迁图加工规约控制规约数据对象描述分析模型的元素•数据字典(DD):模型核心(中心库)•E-R图(ERD):•数据流图(DFD)•指明数据在系统中移动时如何被变换;•描述对数据流进行变换的功能;DFD中每个功能的描述包含在加工规约(小说明)。•状态变迁图(STD)指明作为外部事件的结果,系统将如何动作。3.4.3数据建模E-R图是数据建模的基础将分析模型转换为软件设计数据字典数据流图E-R图状态变迁图加工规约控制规约数据对描述象数据设计体系结构设计接口设计过程设计分析模型设计模型将设计模型金字塔倒立的后果是什么?数据设计体系结构设计接口设计过程设计讨论要点SA方法建立功能模型的描述方法•DFD•DD•其他描述方法3.4.4功能建模和信息流基于计算机的系统输入信息信息流模型输出信息外部实体外部实体外部实体输入信息外部实体外部实体输出信息输出信息一.数据流图(DFD,DataFlowDiagram)描述逻辑模型的图形工具,表示数据在系统内的变化。实例考务处理系统功能(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层数据流和控制流举例(使用Ward和mellor符号)监控固件和操作接口每个固件状态动作警告机器人初始化控制操作命令部件状态缓冲器位置命令开始/停止处理机器人命令机器人命令文件操作设置处理活动记录机器人动作位串数据和控制模型的关系DFD加工规约加工模型DFD控制规约控制模型数据输出数据条件数据输入控制输入控制输出加工激活者二.数据字典(DD)DD是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解数据字典的作用DFD中的数据流、数据存储表示某个有组织的数据集合,它们要由SA的其他描述工具-需求字典(数据字典)来描述,包括:•词条描述•数据结构描述•加工逻辑说明DD中数据结构的描述方式定义式Warnier图巴科斯范式(BNF)F1:航班信息文件={航空公司名称+航班号+起点+终点+日期+起飞时间+降落时间}航空公司名称=2{字母}4航班号=3{十进制数字}3字母=“A”…“Z”十进制数字=“0”…“9”起点=终点=1{汉字}10起飞时间=降落时间=时+分时=“00”…“23”分=“00”…“59”日期=年+月+日年=[2000|2001|2002|2004]月=“01”…“12”日=“01”…“31”重复项:起点=终点=1{汉字}10航空公司名称=2{字母}4航班号=3{十进制数字}3组合项:日期=年+月+日起飞时间=降落时间=时+分选择项:年=[2000|2001|2002|2004]原数据项:字母=“A”…“Z”十进制数字=“0”…“9”时=“00”…“23”分=“00”…“59”月=“01”…“12”日=“01”…“31”定义式中使用的符操作符含义描述=定义为+与(顺序结构){...}重复(循环结构)〔..|..〕或(选择结构)〔..,..〕(...)任选m..n界域*...,*注释符限制重复次数举例:{35或53{}表示允许重复3-5次{}33或33{}表示恰好重复3次{}{}{}1表示至少出现1次表示允许重复0至任意次数据流条目给出DFD中某个数据流的定义,通常包括:•数据流标识•数据流来源•数据流去向•数据流的数据组成•流动属性描述:频率、数据量购书单发票领书单审查并开发票开领书单无效书单学生12各班学生用书表举例:学生教材存量表数据流条目说明举例数据流名:发票别名:无简述:学生购书时填写的项目来源:学生去向:加工1“审查并开发票”组成:(学号)+姓名+{书号+数量}数据流量:1000次/周高峰值:开学期间1000次/天数据存储条目(数据文件词条)对某个文件的定义,包括:•文件名•描述•数据结构•数据存储方式•关键码•存取频率和数据量•安全性要求数据存储条目说明举例文件名:库存记录别名:无简述:存放库存所有可供货物的信息组成:货物名称+编号+生产厂家+单价+库存量组织方式:索引文件,以货物编号为关键字查询要求:要求能够立即查询数据项条目(数据元素词条)不可再分解的数据单位,包括:•名称•描述•数据类型•长度(精度)•取值范围及缺省值•计量单位•相关数据元素及数据结构数据项条目说明举例数据项名:货物编号别名:G-No,G-num简述:本公司的所有货物的编号类型:字符串长度:10取值范围及含义:第1位:[J|G](进口/国产)第2∼4位:LB01..LB29(类别)第5∼7位:“A00”..“A99”(规格)第8∼10位:“001”..“999”(品名编号)F1:航班信息文件={航空公司名称+航班号+起点+终点+日期+起飞时间+降落时间}航空公司名称=2{字母}4航班号=3{十进制数字}3字母=“A”…“Z”十进制数字=“0”…“9”起点=终点=1{汉字}10起飞时间=降落时间=时+分时=“00”…“23”分=“00”…“59”日期=年+月+日年=“00”…“99”月=“01”…“12”日=“01”…“31”存折=户名+所号+帐号+开户日期+性质+(印密)+1{存取行}50户名=2{字母}24所号=“001”..“999”(注:储蓄所编码
本文标题:需求分析是系统设计的基础-关系到工程的成败与软件产品
链接地址:https://www.777doc.com/doc-4320063 .html