《第三章需求分析1》由会员分享,可在线阅读,更多相关《第三章需求分析1(56页珍藏版)》请在金锄头文库上搜索。
1、第一部分第一部分传统的软件工程方法传统的软件工程方法第二章第二章 系统分析系统分析 第三章第三章 需求分析需求分析 第四章第四章 软件设计软件设计 第五章第五章 软件测试软件测试 第三章 需求分析&31 需求分析&32 需求获取的内容&33 需求分析的步骤&34 分析建模&35 数据流图&36 数据字典&37 需求验证&38 需求工程研究新进展&39需求规格说明书&310 本章重点31 需求分析需求分析任任 务:务:清楚的理解用户要解决的问题,完整准确的获取用户的需求,并用需求规格说明书 规范的形式准确地表达用户的需求。 需求规格说明书。成成 果:果:实实 施施 人人:系统分析员311 需求分
2、析面临的挑战需求分析面临的挑战(1):):问题空间理解问题空间理解(2):):人与人之间的通信人与人之间的通信(3):):需求的不断变化需求的不断变化312 需求分析对人员要求需求分析对人员要求2)一定的软硬件系统开发经验。1)概括能力、分析能力和社交能力。3)能理解用户提出的要求。4)善于在用户和软件开发机构之间进行良好的通讯。 313 需求分析的几个阶段需求分析的几个阶段F问题分析问题分析F问题评估和方案综合问题评估和方案综合F建模建模F规约规约F复审复审系统分析员的主要系统分析员的主要焦点焦点是是 “ “做做什么(什么(whatwhat)”,不是不是“怎样做怎样做(howhow)”32
3、需求获取的内容需求获取的内容&用户需求分类:用户需求分类:(1)(1)(1)(1)功能性需求功能性需求功能性需求功能性需求: : : : 定义了系统做什么定义了系统做什么定义了系统做什么定义了系统做什么 (2)(2)(2)(2)非功能性需求非功能性需求非功能性需求非功能性需求: : : :定义了系统工作时的特性定义了系统工作时的特性定义了系统工作时的特性定义了系统工作时的特性&用户需求内容:用户需求内容:(1) (1) 功能功能(2) (2) 性能性能(3) (3) 环境环境(4) (4) 界面界面(5) (5) 用户或人的因素用户或人的因素(6) (6) 文档文档 (7) (7) 数据数据(
4、8) (8) 资源资源(9) (9) 安全保密安全保密(10) (10) 成本消耗与开发进度成本消耗与开发进度(11)(11)质量保证质量保证32 需求获取的内容需求获取的内容1(2)性能需求)性能需求(软件开发的技术性指标软件开发的技术性指标)(1)功能需求:)功能需求:F 系统做什么?系统做什么?F 系统系统何时何时做什么?做什么?F 系统何时及如何修改或升级?系统何时及如何修改或升级?F存储容量限制存储容量限制F执行速度、相应时间执行速度、相应时间F吞吐量吞吐量32 需求获取的内容需求获取的内容2(4)界面需求:)界面需求:(3)环境需求)环境需求 :F硬件设备:机型、外设、接口、硬件设
5、备:机型、外设、接口、 地点、分布、温度、地点、分布、温度、 湿度、磁场干扰等湿度、磁场干扰等F软件:软件: 操作系统、网络、数据库操作系统、网络、数据库F有来自其它系统的输入吗?有来自其它系统的输入吗?F到自其它系统的输出吗?到自其它系统的输出吗?F对数据格式有规定吗?对数据格式有规定吗?F对数据存储介质有规定吗?对数据存储介质有规定吗?F 系统做什么?系统做什么?F用户类型?用户类型?F各种用户熟练程度?需受何种训练?各种用户熟练程度?需受何种训练?F用户理解、使用系统的难度?用户理解、使用系统的难度?F用户错误操作系统的可能性?用户错误操作系统的可能性?32 需求获取的内容需求获取的内容
6、3(6)文档需求:)文档需求: (5)用户或人的因素:)用户或人的因素:F需哪些文档?需哪些文档?F文档针对哪些读者?文档针对哪些读者?F输入、输出数据的格式?输入、输出数据的格式?F接收、发送数据的频率?接收、发送数据的频率?F数据的准确性和精度?数据的准确性和精度?F数据流量?数据流量?F数据需保持的时间?数据需保持的时间?32 需求获取的内容需求获取的内容4(8)资源需求)资源需求:(7)数据需求)数据需求 :F软件运行时所需的数据、软件。内存空软件运行时所需的数据、软件。内存空间等资源。间等资源。F软件开发、维护所需的人力、支撑软件、软件开发、维护所需的人力、支撑软件、开发设备等。开发
7、设备等。32 需求获取的内容需求获取的内容5(10)软件材料成本消耗与软件开发进度要求)软件材料成本消耗与软件开发进度要求(9)安全保密要求:)安全保密要求:F需对访问系统或系统信息加以控制吗?需对访问系统或系统信息加以控制吗?F如何隔离用户之间的数据?如何隔离用户之间的数据?F用户程序如何与其它程序和操作系统隔离用户程序如何与其它程序和操作系统隔离?F系统备份要求?系统备份要求?F开发有规定的时间表吗?开发有规定的时间表吗?F软硬件投资有无限制?软硬件投资有无限制?32 需求获取的内容需求获取的内容6(11)质量保证:)质量保证:F系统的可靠性要求?系统的可靠性要求?F系统必须监测和隔离错误
8、吗?系统必须监测和隔离错误吗?F规定系统平均出错时间?规定系统平均出错时间? F出错后,重启系统允许的时间?出错后,重启系统允许的时间?F系统变化如何反映到设计中?系统变化如何反映到设计中?F维护是否包括对系统的改进?维护是否包括对系统的改进?F系统的可移植性?系统的可移植性? 34 分析建摸分析建摸q结构化分析(传统建模方法)结构化分析(传统建模方法)q面向对象分析面向对象分析数据数据字典字典数据数据流图流图E-RE-R图图状态状态- -迁图迁图加加工工规规约约控制规约控制规约数数据据对对象象描描 述述341 分析模型的结构分析模型的结构&数据字典数据字典( (DD)DD):模型核心(中心库
9、)&E-RE-R图图( (ERD)ERD):&数据流图数据流图( (DFD)DFD) FF指明数据在系统中移动时如何被变换;FF描述对数据流进行变换的功能; DFD中每个功能的描述包含在加工规约 (小说明)。&状态变迁图状态变迁图( (STD)STD) 指明作为外部事件的结果,系统将如何 动作。342 分析模型的元素分析模型的元素 E-R图是数据建模的基础教师学生课程职称性别姓名职工号学教姓名性别学号系年级成绩课程号课名学时学分教学ER图学分3.4.3 数据建模数据建模 基于基于计算机计算机的系统的系统输入信息输入信息信息流模型信息流模型输出信息输出信息外部实体外部实体外部实体外部实体外部实体
10、外部实体输入信息输入信息外部实体外部实体外部实体外部实体输出信息输出信息输出信息输出信息3.4.4 功能建模和信息流功能建模和信息流3.5 数据流图数据流图Data Flow Diagram,DFD,是描绘系统逻辑模描绘系统逻辑模型的优秀工具,型的优秀工具,用图形符号方式描述系统里面数据的流动方向及处理情况 。数据输入到系统后,经过一些数据输入到系统后,经过一些列的加工处理,最后输出新的数据列的加工处理,最后输出新的数据。基本构成:基本构成:数据数据流流,加工加工,文件文件,源点源点与与终点终点。加工加工1数据流1加工加工2加工加工3数据流2数据流3数据流4数据流5数据流6251 基本图形符号
11、基本图形符号符号符号说明说明或数据的源点/终点或变换数据的处理或数据存储数据流251 基本图形符号基本图形符号TAB*CTAB*CTAB+CTAB+CTABC+TABC+A与B变换为CA或B变换为CA与B不同变换为CA变换为B与CA变换B,C,BCA变换B或C252 数据流图举例数据流图举例 1问题描述:问题描述:某工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件,应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过存放在库房的CRT终端把事务报告给定货系统。当零件库存量少
12、于库存量临界值,决定再次订货。252 数据流图举例数据流图举例 11)源点源点/终点:终点:系统之外的实体(人,物,系统)问题分析:问题分析:源点源点/终点终点,处理处理,数据存储数据存储,数据数据流流2)处理处理:3)数据存储数据存储:源点:源点:仓库管理员仓库管理员终点终点:采购员采购员需要报表产生报表产生报表处理日常事务事务处理事务处理订货信息订货信息库存清单库存清单4)数据流数据流:订货报表订货报表:零件编号、名称、数量事务事务:零件编号、事务类型、数量252 数据流图举例数据流图举例 1Step1:顶层顶层数据流图数据流图系统级系统级仓库仓库管理员管理员订货订货系统系统采购员采购员一
13、般采用自顶向下逐步细化的分层一般采用自顶向下逐步细化的分层绘制方法绘制方法构成构成:基本系统模型:基本系统模型源点源点终点终点事务事务订货报表订货报表252 数据流图举例数据流图举例 1Step2:进一步分解进一步分解功能级功能级仓库仓库管理员管理员采购员采购员D1 库存清单库存清单事务事务D2 订货信息订货信息订货报表订货报表1处理处理事务事务2订货订货系统系统库存清单库存清单订货信息订货信息订货信息订货信息252 数据流图举例数据流图举例 1Step3:进一步分解进一步分解功能级功能级仓库仓库管理员管理员采购员采购员D1 库存清单库存清单事务事务D2 订货信息订货信息订货报表订货报表1.1
14、接收接收事务事务2订货订货系统系统库存清单库存清单订货信息订货信息订订货货信信息息1.2更新更新库存库存1.3处理处理订货订货事务事务库存库存信息信息1)现实环境中传递的一些表格、单据的名字。2)现实环境中传递的一组数据名称。车间调度生产报表统计表全厂统计日报表月报表录取分类考生成绩分类后学生成绩253 数据流命名规则数据流命名规则3)不要将控制流作为数据流。4)不要使用“数据”、 “信息”等缺乏具体内容的名字 ;不要使用环境中的实物名称。录取分类取下一个考生成绩5)如果命名时遇见困难,很可能对数据流图分解不当造成。253 数据流命名规则数据流命名规则1)顶层的处理可以使用软件项目的名称。2)
15、名字最好由一个谓语动词加上一个宾语构成。如“计算手续费”,“检查合法性”等。5)如果命名时遇见困难,很可能是分解不当造成,应考虑重新分解。3)名字应该反映整个处理的功能,而不能是其中的一部分,否则应该将其分解为多个处理。4)不要使用意义空洞的名字。如“计算” “处理”254 处理处理 命名原则命名原则&分层数据流图中,数据存储一般局限在某一层或某几层&命名方法与数据流相似255 数据存储数据存储 命名原则命名原则S S2 21 13 32.22.22.12.12.32.33.13.13.23.2 顶层顶层0 0层层1 1层层( (基本系统模型基本系统模型) )( (系统的子功能系统的子功能)
16、)256 DFD的层次分解的层次分解(1) 父图与子图的平衡 模型细化时必须保持数据流的连续性,即每个细化部分的输入和输出必须保持不变(父图和子图输入数据和输出数据应一致)。257 画分层画分层DFD指导原则指导原则A1 14 4父图和子图的平衡2 23 3BFEGCDC3.13.1父图和子图的平衡ED3.33.33.23.2购书单购书单教材购教材购销系统销系统教材购销系统的顶层DFD学生学生领书单领书单缺书单缺书单进书通知进书通知书库保书库保管员管员购书单购书单缺书单缺书单销售销售教材教材采购采购教材教材1 12 2第二层DFD(层) 教材购销系统教材存量表教材存量表学学生生F1F1缺书登记
17、表缺书登记表F2F2书书库库保保管管员员进书通知进书通知教材入教材入库信息库信息领书单领书单 按书号按书号汇总缺书汇总缺书2.12.12.32.3第三层DFD (1层) 采购子系统(2.0) 待购教材表待购教材表D5D5教材一览表教材一览表D6D6书书库库保保管管员员进书通知进书通知教材存量表教材存量表D1D12.22.2按出版社按出版社统计缺书统计缺书修改教材库修改教材库存和待购量存和待购量D2D2缺书登记表缺书登记表缺缺书书单单教材入库信息教材入库信息购书单购书单缺书缺书单单销售销售采购采购1 12 2第二层DFD (层) 教材购销系统教材存量表教材存量表学学生生D1D1缺书登记表缺书登记
18、表D2D2书书库库保保管管员员进书通知进书通知领书单领书单教材入教材入库信息库信息1.21.2第三层DFD (1层) 销售子系统(2.0)无效无效书单书单教材存量表教材存量表D1D1开发票开发票D2D2缺书登记表缺书登记表学学生生各班学生用书表各班学生用书表D3D3售书登记表售书登记表D4D41.11.1 审查审查有效性有效性1.31.3 登记并登记并开领书单开领书单学学生生1.51.5补售补售教材教材1.41.4登记登记缺书缺书购书单购书单发票发票领书领书 单单 有效有效购书单购书单教材入库信息教材入库信息父图与子图平衡的特例领领书书单单1.31.3发票发票1.3.31.3.31.3.21.
19、3.2教材教材1.3.11.3.1学生学生领领书书单单父图父图子图子图发票学生教材发票学生教材&(2) 区分局部文件和局部外部项.1.1.2.2.3.31 1父图父图子图子图257 画分层画分层DFD指导原则指导原则购书单购书单缺书缺书单单销售销售教材教材采购采购教材教材1 12 2第二层DFD(层) 教材购销系统教材存量表教材存量表学学生生D1D1缺书登记表缺书登记表D2D2书书库库保保管管员员进书通知进书通知教材入教材入库信息库信息领书单领书单 按书号按书号汇总缺书汇总缺书2.12.12.32.3第三层DFD (1层) 采购子系统(2.0)待购教材表待购教材表D5D5教材一览表教材一览表D
20、6D6书书库库保保管管员员进书通知进书通知教材入库信息教材入库信息教材存量表教材存量表D1D12.22.2按出版社按出版社统计缺书统计缺书修改教材库修改教材库存和待购量存和待购量D2D2缺书登记表缺书登记表缺缺书书单单(3) 遵守加工的编号原则子图图号为分解的父图中的加工号,同级子图在最后数字以序号区别。257 画分层画分层DFD指导原则指导原则S S2 21 13 32.22.22.12.12.32.33.13.13.23.2 顶层顶层(不编号)(不编号)0 0层层1 1层层(4) 分解的深度与层次C 按功能情况定,一般设深度为3-5C 如超过5最好分解画,否则容易出错 257 画分层画分层
21、DFD指导原则指导原则图书馆管理系统功能:& 购入新书& 读者借书& 读者还书& 图书注销& 查询统计258 实例实例购入新书:_新书编卡片(包括:分类目录号、 流水号(唯一)、书名、 作者、内容摘要、价 格、购书日期等信息)_写入图书目录文件读者借书: 填借书单(包括:读者号、欲借图 书分类目录号) 检查读者号有效性,无效,拒借 读者号有效,检查借书是否超数? 已达5本,拒绝借; 未超,可借,登记图书分类目录 号、读者号、借阅日期等,写回 借书文件中。读者还书:根据图书流水号,从借书文件中读出与该书相关的借阅记录,查明借书日期,还书日期,求借书时间,再重写回借书文件中,超过期限罚款。图书注销
22、:_ 从借阅图书文件中删除相关记录_ 丢失图书时从图书文件中删除相关记录查询统计:& 查询某读者情况& 查询某图书借阅情况& 统计图书借阅情况图图书书管管理理人人员员图书管图书管理系统理系统系统时钟系统时钟读者读者图书管理要求图书管理要求查询要求查询要求统计表统计表图书情况图书情况读者情况读者情况罚款单罚款单当前日期当前日期顶层数据流图检检 查查有效性有效性图书管图书管理要理要求求查询查询要求要求无效输入无效输入1 1处理处理查询查询3 3处理处理要求要求2 2有效查有效查询要求询要求有效图书有效图书管理要求管理要求当前日期当前日期罚款单罚款单统计表统计表图书情况图书情况读读者者情情况况0 0
23、层数据流图层数据流图要求类要求类型处型处理理有效图书有效图书管理要求管理要求当前当前日期日期无效输入无效输入2.12.1新书入库新书入库2.22.2借借入库单入库单罚款单罚款单一层数据流图一层数据流图 ( (a)a)借书借书2.32.3注销图书注销图书2.52.5借书借书2.42.4目目录录文文件件借书单借书单书书单单注销单注销单查询类查询类别处理别处理有效有效查询查询要求要求3.13.1读者查询读者查询3.23.2统统查询读查询读者情况者情况统计表统计表一层数据流图一层数据流图 ( (b)b)图书查询图书查询借借书书文文件件要要查询图查询图书情况书情况3.33.3图书统计图书统计3.43.4计计求求读者文件读者文件目目录录文文件件读者情况读者情况图书情况图书情况