1、7/8/20241第三章第三章 软件需求分析软件需求分析 在软件整个生命周期中,首先是软件计划期,接着在软件整个生命周期中,首先是软件计划期,接着是软件开发期,软件需求分析是软件开发第一个阶段,是软件开发期,软件需求分析是软件开发第一个阶段,也是关系到软件开发成功是否关键一步。本章学习是基也是关系到软件开发成功是否关键一步。本章学习是基于已完成软件计划基础上进行,软件计划安排到第十二于已完成软件计划基础上进行,软件计划安排到第十二章讲。章讲。3.1 需求分析任务与步骤需求分析任务与步骤 3.2 需求获取惯用方法需求获取惯用方法 3.3 分析建模分析建模 3.4 软件需求说明软件需求说明 3.5
2、 结构化分析方法结构化分析方法 3.6 面向对象分析方法面向对象分析方法第1页7/8/20242第三章第三章 软件需求分析软件需求分析 软件在需求分析和设计阶段占用软件在需求分析和设计阶段占用工作量到达总工作量工作量到达总工作量40405050,说,说明软件开发前期活动多么主要。当然明软件开发前期活动多么主要。当然这也包含分阶段开发原型开销。大家这也包含分阶段开发原型开销。大家熟悉编码工作只占全部工作量熟悉编码工作只占全部工作量10102020,而软件测试和调试工作量占到,而软件测试和调试工作量占到总工作量总工作量30304040,甚至甚至50%50%。第2页7/8/202433.1 需求分析
3、任务与步骤需求分析任务与步骤 3.1.1需求分析任务需求分析任务需求分析任务就是准确地回答需求分析任务就是准确地回答“系统必系统必须做什么须做什么?”这个问题,是经过系统分析员这个问题,是经过系统分析员与用户一起约定,清楚、准确、详细地描与用户一起约定,清楚、准确、详细地描述软件产品必须含有功效、性能、运行规述软件产品必须含有功效、性能、运行规格等要求。软件需求分析阶段目标是澄清格等要求。软件需求分析阶段目标是澄清用户要求,并把双方共同了解明确地表示用户要求,并把双方共同了解明确地表示成一份书面文档成一份书面文档软件需求规格说明书。软件需求规格说明书。第3页7/8/202443.1 需求分析任
4、务与步骤需求分析任务与步骤 需求分析任务就是借助于当前系统逻辑模需求分析任务就是借助于当前系统逻辑模型导出目标系统逻辑模型。型导出目标系统逻辑模型。主要有主要有两个任务两个任务:1、建立分析模型、建立分析模型数据、功效和行为模型数据、功效和行为模型2、编写需求说明书。、编写需求说明书。其实现模型以下列图所表示其实现模型以下列图所表示:第4页7/8/20245系统实现模型系统实现模型目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型逻辑模型逻辑模型物理模型物理模型模型化模型化抽象化抽象化实例化实例化详细化详细化理理解解需需求求表表达达需需求求导导出出做什么做什么怎怎么么做做第5页7
5、/8/202461.分析建模分析建模导出目标系统逻辑模型例子:导出目标系统逻辑模型例子:找出当前系统物理模型找出当前系统物理模型学学生生张张秘书秘书王王会计会计李李出纳出纳赵赵保管保管学学生生学生购置教材物理模型学生购置教材物理模型购书购书申请申请购书购书证实证实购书发票购书发票领书单领书单书书第6页7/8/20247导出目标系统逻辑模型例子导出目标系统逻辑模型例子把当前系统物理模型转换为逻辑模型把当前系统物理模型转换为逻辑模型学学生生审查有审查有效性效性开开发票发票开开领书单领书单发书发书学学生生购书单购书单有效有效购书单购书单领书单领书单书书发票发票学生购置教材逻辑模型学生购置教材逻辑模型
6、第7页7/8/20248导出目标系统逻辑模型例子导出目标系统逻辑模型例子把旧系统逻辑模型转换为目标系统逻辑模型把旧系统逻辑模型转换为目标系统逻辑模型学学生生审查并审查并开发票开发票开开领书单领书单发书发书学学生生购书单购书单发票发票领书单领书单书书计算机售书系统逻辑模型计算机售书系统逻辑模型第8页7/8/20249导出目标系统逻辑模型例子导出目标系统逻辑模型例子改进(优化)目标系统逻辑模型改进(优化)目标系统逻辑模型学学生生审查并审查并开发票开发票开开领书单领书单学学生生购书单购书单发票发票领书单领书单改进了计算机售书系统模型改进了计算机售书系统模型无效书单无效书单第9页7/8/202410分
7、析阶段中惯用模型(逻辑模型)分析阶段中惯用模型(逻辑模型)数据流图(数据流图(DFD)实体实体联络图(联络图(ERD)层次方框图、层次方框图、IPO图、图、Warnier图图类图、实例图、时序图类图、实例图、时序图状态图、协作图、状态图、协作图、活动图活动图事件列表事件列表数据流定义数据流定义数据元素定义数据元素定义 第10页7/8/2024113.1 需求分析任务与步骤需求分析任务与步骤 2.编写软件需求规格说明编写软件需求规格说明:主要包含描述目标系统概貌、功效要求、主要包含描述目标系统概貌、功效要求、性能要求、运行要求和未来可能提出要求。性能要求、运行要求和未来可能提出要求。数据流图、用
8、数据流图、用IPO图或其它工具简明描述系图或其它工具简明描述系统主要算法都是该份文挡主要组成部分。另统主要算法都是该份文挡主要组成部分。另外,该份文档还应包含用户需求与系统功效外,该份文档还应包含用户需求与系统功效之间关系、设计约束等等文字描述。之间关系、设计约束等等文字描述。软件需求规格说明是需求分析阶段最终软件需求规格说明是需求分析阶段最终结果。结果。第11页7/8/2024123.1 需求分析任务与步骤需求分析任务与步骤准确、完整和规范软件需求是软件开发成功关键!准确、完整和规范软件需求是软件开发成功关键!需求分析任务建立分析模型建立分析模型 描述软件需求一组模型描述软件需求一组模型准确
9、统计用于对原始问题和目标系统描述准确统计用于对原始问题和目标系统描述帮助分析人员发觉用户需求中不一致性,排除不帮助分析人员发觉用户需求中不一致性,排除不合理部分,挖掘潜在用户需求合理部分,挖掘潜在用户需求编写需求说明应做到编写需求说明应做到准确性和一致性准确性和一致性清楚性和没有二义性清楚性和没有二义性直观、易读和易于修改直观、易读和易于修改第12页7/8/202413案例分析案例分析一个含有一个含有n部电梯电梯系统要安装在一座部电梯电梯系统要安装在一座m层大楼上。电梯和控制机构已造好。每层大楼上。电梯和控制机构已造好。每个电梯内部机构也已给定。问题包括电个电梯内部机构也已给定。问题包括电梯在
10、楼层间移动逻辑:梯在楼层间移动逻辑:(1)每座电梯有一套按钮,每层一个。)每座电梯有一套按钮,每层一个。按钮按下时使钮灯变亮,并使电梯抵达按钮按下时使钮灯变亮,并使电梯抵达对应楼层。当电梯抵达对应楼层时按钮对应楼层。当电梯抵达对应楼层时按钮灯熄灭灯熄灭。第13页7/8/202414(2)除了底层和顶层外,每层都有两个按钮,)除了底层和顶层外,每层都有两个按钮,一个按钮请求电梯上升,另一个按钮请求电一个按钮请求电梯上升,另一个按钮请求电梯下降。这些按钮在按下时按钮灯亮。电梯梯下降。这些按钮在按下时按钮灯亮。电梯抵达指定楼层后按钮灯熄灭,然后要么朝期抵达指定楼层后按钮灯熄灭,然后要么朝期望方向移动
11、,要么请求等候。在后一个情况望方向移动,要么请求等候。在后一个情况下,假如一个楼层上两个请求按钮都按下,下,假如一个楼层上两个请求按钮都按下,则只取消其中一个按钮。决定先服务哪一层则只取消其中一个按钮。决定先服务哪一层算法应该使两个请求等候时间最小。算法应该使两个请求等候时间最小。案例分析案例分析第14页7/8/202415(3)当一个电梯没有服务请求时,应该停留)当一个电梯没有服务请求时,应该停留在最终目标地,关上电梯门,并等候后面请求。在最终目标地,关上电梯门,并等候后面请求。(4)楼层上全部电梯请求必须最终得到服务,)楼层上全部电梯请求必须最终得到服务,而且所以楼层含有相同优先权。而且所
12、以楼层含有相同优先权。(5)电梯内全部楼层请求必须最终得到服务,)电梯内全部楼层请求必须最终得到服务,各层按电梯移动方向先后得到服务。各层按电梯移动方向先后得到服务。(6)每个电梯有一个紧急按钮。按下该按钮)每个电梯有一个紧急按钮。按下该按钮时,将使一个报警信号发送到现场管理人员,时,将使一个报警信号发送到现场管理人员,然后强制电梯然后强制电梯“停顿服务停顿服务”。每一个电梯有一。每一个电梯有一个取消其个取消其“停顿服务停顿服务”状态机制。状态机制。案例分析案例分析第15页电梯电梯状态转换图举例状态转换图举例在一楼在一楼上升上升停滞停滞下降下降回到一楼回到一楼回一楼回一楼想要到想要到达楼层达楼
13、层想要到想要到达楼层达楼层电梯行程电梯行程开始开始向上向上向上向上向下向下第16页7/8/202417需求分析步骤需求分析步骤1.需求获取 目标:清楚地了解所要处理问题;完整地获取用户需求2.需求提炼 任务:分析建模 3.需求描述 结果:软件需求说明书4.需求验证 改进需求说明完整性,确保他可作为软件设计和系统验收依据。第17页7/8/2024183.2 需求获取惯用方法联合分析小组联合分析小组用户代表、领域教授和系统分析员用户代表、领域教授和系统分析员客户访谈客户访谈充分准备,寻找共同语言充分准备,寻找共同语言循循序渐进、逐步迫近循循序渐进、逐步迫近采取情景分析技术采取情景分析技术 (比如制
14、订一个减肥计划软件)(比如制订一个减肥计划软件)采取简易规格说明技术(用户主动参加,不要区分采取简易规格说明技术(用户主动参加,不要区分“我我们和他们们和他们”,开会讨论且增删需求项目),开会讨论且增删需求项目)问题分析与确认问题分析与确认多个往返多个往返(采取软件原型)(采取软件原型)第18页7/8/202419调研问卷调研问卷部分名称、人员数量和结构部分名称、人员数量和结构部分发展或改变简单介绍部分发展或改变简单介绍部分主要任务部分主要任务业务处理流程业务处理流程业务处理过程中包括哪些专业领域知识业务处理过程中包括哪些专业领域知识工作需要审批流程是什么?工作需要审批流程是什么?主要算法描述
15、主要算法描述哪些业务需要实时处理?哪些业务需要实时处理?哪些业务需要交互操作?哪些业务需要交互操作?第19页7/8/202420部门各岗位职责部门各岗位职责部门接收哪些部门或外界信息?信息内容和格式部门接收哪些部门或外界信息?信息内容和格式是什么?是什么?部门产生哪些信息?部门产生哪些信息?部门产生信息送到哪些其它部门?格式要求是什部门产生信息送到哪些其它部门?格式要求是什么?么?对信息输入和输出方式有要求吗?输入输出设备对信息输入和输出方式有要求吗?输入输出设备是什么?是什么?数据要求实时备份吗?备份设备是什么?时间策数据要求实时备份吗?备份设备是什么?时间策略?略?业务处理有高峰期吗?高峰
16、时间是什么?时间策业务处理有高峰期吗?高峰时间是什么?时间策略?略?现有哪些设备要继续使用?现有哪些设备要继续使用?调研问卷调研问卷第20页7/8/202421对产品运行环境有要求吗?对产品运行环境有要求吗?对界面格调和操作方式有要求吗?对界面格调和操作方式有要求吗?在系统运行过程中允许停机吗?在系统运行过程中允许停机吗?操作方式要依据操作环境和使用人员素质分操作方式要依据操作环境和使用人员素质分类吗?类吗?需要操作权限有哪些?需要操作权限有哪些?需要统计系统操作运行日志吗?需要统计系统操作运行日志吗?用户有能力进行系统维护吗?用户有能力进行系统维护吗?需要分布式处理吗?需要分布式处理吗?需要
17、什么方式用户操作培训。需要什么方式用户操作培训。需要制作联机帮助吗?需要制作联机帮助吗?调研问卷调研问卷第21页7/8/202422案例案例用户提出某种需求:用户提出某种需求:水质量信息必须马上能够显示出来。水质量信息必须马上能够显示出来。分析员更准确描述:分析员更准确描述:水质量统计必须在接到请求信号水质量统计必须在接到请求信号5秒内显秒内显示出来。示出来。第22页7/8/202423需求获取三大挑战需求获取三大挑战问题空间了解问题空间了解人与人之间通信人与人之间通信需求不停改变需求不停改变第23页7/8/202424某出版社系统调查表某出版社系统调查表编号编号提出问题提出问题1您在哪个部门
18、工作?您在哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您每日都处理那些文件、数据、报表?您每日都处理那些文件、数据、报表?4工作中手工处理尤其麻烦事情是什么?5工作中手工处理什么问题处理不了?影响效率问题有哪些?6您认为提升工作效率,节约工作时间,减轻工作强度可采取哪些方法?第24页7/8/202425某出版社系统调查表某出版社系统调查表编号编号提出问题提出问题7您部门需要成本核实和统计内容有哪些?8您部门采取计算机管理工作情况怎样?9怎样改进业务流程使之更合理?10哪些问题是当前传统手工方法根本无法处理?11出版社计算机管理信息系统需要处理什么问题?第25页7/8/202426
19、需求获取内容需求获取内容1.1.用户需求分类用户需求分类 (1)(1)功效性需求功效性需求:定义了系统做什么(描述系统必须支持定义了系统做什么(描述系统必须支持 功效和过程)功效和过程)(2)(2)非功效性需求(技术需求)非功效性需求(技术需求):定义了系统工作时特征定义了系统工作时特征 (描述操作环境和性能目标)(描述操作环境和性能目标)第26页7/8/2024272.2.两类需求包含内容两类需求包含内容(1)(1)(1)(1)功效功效功效功效(2)(2)(2)(2)性能性能性能性能(3)(3)(3)(3)环境环境环境环境(4)(4)(4)(4)界面界面界面界面(5)(5)(5)(5)用户或
20、人原因用户或人原因用户或人原因用户或人原因(6)(6)(6)(6)文档文档文档文档 (7)(7)(7)(7)数据数据数据数据(8)(8)(8)(8)资源资源资源资源(9)(9)(9)(9)安全保密安全保密安全保密安全保密(10)(10)(10)(10)软件成本消耗与开发进度软件成本消耗与开发进度软件成本消耗与开发进度软件成本消耗与开发进度(11)(11)(11)(11)质量确保质量确保质量确保质量确保第27页7/8/202428(1)(1)功效需求功效需求 系统做什么?系统做什么?系统何时做什么?系统何时做什么?系统何时及怎样修改或升级?系统何时及怎样修改或升级?第28页7/8/202429(
21、2)(2)性能需求性能需求软件开发技术性指标软件开发技术性指标比如:比如:存放容量限制存放容量限制 执行速度、对应时间执行速度、对应时间 吞吐量吞吐量第29页7/8/202430(3)(3)环境需求环境需求硬件设备硬件设备:机型、外设、接口、机型、外设、接口、地点、分布、温度、地点、分布、温度、湿度、磁场干扰等湿度、磁场干扰等软件:软件:操作系统操作系统 网络网络 数据库数据库第30页7/8/202431(4)(4)界面需求界面需求 有来自其它系统输入吗?有来自其它系统输入吗?到自其它系统输出吗?到自其它系统输出吗?对数据格式有要求吗?对数据格式有要求吗?对数据存放介质有要求吗?对数据存放介质
22、有要求吗?第31页7/8/202432(5)(5)用户或人原因用户或人原因 用户类型?用户类型?各种用户熟练程度?各种用户熟练程度?需受何种训练?需受何种训练?用户了解、使用系统难度?用户了解、使用系统难度?用户错误操作系统可能性?用户错误操作系统可能性?第32页7/8/202433(6)(6)文档需求文档需求 需哪些文档?需哪些文档?文档针对哪些读者文档针对哪些读者?第33页7/8/202434(7)(7)数据需求数据需求 输入、输出数据格式?输入、输出数据格式?接收、发送数据频率?接收、发送数据频率?数据准确性和精度?数据准确性和精度?数据流量?数据流量?数据需保持时间?数据需保持时间?第
23、34页7/8/202435(8)(8)资源需求资源需求 软件运行时所需数据、软件。软件运行时所需数据、软件。内存空间等资源。内存空间等资源。软件开发、维护所需人力、软件开发、维护所需人力、支撑软件、开发设备等。支撑软件、开发设备等。第35页7/8/202436(9)(9)安全保密要求安全保密要求 需对访问系统或系统信息加以控需对访问系统或系统信息加以控 制吗?制吗?怎样隔离用户之间数据?怎样隔离用户之间数据?用户程序怎样与其它程序和操作用户程序怎样与其它程序和操作 系统隔离?系统隔离?系统备份要求?系统备份要求?第36页7/8/202437(10)(10)软件成本消耗与开发进度需求软件成本消耗
24、与开发进度需求开发有要求时间表吗?开发有要求时间表吗?软硬件投资有没有限制软硬件投资有没有限制?第37页7/8/202438(11)(11)质量确保质量确保 系统可靠性要求?系统可靠性要求?系统必须监测和隔离错误吗?系统必须监测和隔离错误吗?要求系统平均犯错时间?要求系统平均犯错时间?犯错后,重启系统允许时间?犯错后,重启系统允许时间?系统改变怎样反应到设计中?系统改变怎样反应到设计中?维护是否包含对系统改进?维护是否包含对系统改进?系统可移植性?系统可移植性?第38页7/8/2024393.3 分析建模分析建模所谓所谓模型模型,就是为了了解事物而对事,就是为了了解事物而对事物做出一个抽象,是
25、对事物一个无歧物做出一个抽象,是对事物一个无歧义书面描述。简单地说,义书面描述。简单地说,模型就是某模型就是某一事物抽象表示方式一事物抽象表示方式。经过软件需求分析建立起来模型能经过软件需求分析建立起来模型能够称之为够称之为分析模型分析模型或者或者需求模型需求模型。第39页7/8/2024403.3 分析建模分析建模需求分析模型:需求分析模型:数据字典数据字典数据模型数据模型功效模型功效模型行为模型行为模型第40页7/8/202441功效模型功效模型 功效模型能够用数据流图功效模型能够用数据流图(DFD)描述,所描述,所以又称为以又称为数据流模型数据流模型。下面是数据流图基本形式:下面是数据流
26、图基本形式:3变换变换4变换变换1变换变换2变换变换外部外部实体实体外部外部实体实体外部外部实体实体外部外部实体实体数据文件数据文件输入数据输入数据中间数据中间数据输出数据输出数据第41页7/8/202442学学生生1审查审查开发票开发票2开领书开领书单单学学生生购书单购书单发票发票领书单领书单计算机售书系统数据流图计算机售书系统数据流图无效书单无效书单各班学生用书表各班学生用书表教材存量表教材存量表功效模型功效模型-案例一案例一第42页7/8/202443 假定一家工厂采购部天天需要一张订货假定一家工厂采购部天天需要一张订货报表,报表按零件编号排序,表中列出全报表,报表按零件编号排序,表中列
27、出全部需要再次订货零件。部需要再次订货零件。对于每个需要再次订货零件应该勒出以对于每个需要再次订货零件应该勒出以下数据:零件编号、名称、订货数量、当下数据:零件编号、名称、订货数量、当前价格、主要供给者、次要供给者。前价格、主要供给者、次要供给者。零件入库或出库称为事务,经过放在仓零件入库或出库称为事务,经过放在仓库中库中CRT终端把事务汇报给订货系统。当终端把事务汇报给订货系统。当某种零件库存量少于库存量临界值时就应某种零件库存量少于库存量临界值时就应该再次订货。该再次订货。功效模型功效模型-案例二案例二第43页7/8/202444 数据流图含有四种成份:源点和终点、数据流图含有四种成份:源
28、点和终点、处理、数据存放、数据流。处理、数据存放、数据流。首先考虑数据源点和终点。首先考虑数据源点和终点。从上面叙述从上面叙述可知:采购员是数据终点,而仓库管理员可知:采购员是数据终点,而仓库管理员是数据源点。是数据源点。然后考虑处理。然后考虑处理。必须有一个用于产生报必须有一个用于产生报表处理;事务后果是改变库存量,而任何表处理;事务后果是改变库存量,而任何改变数据操作都是处理,所以对事物加工改变数据操作都是处理,所以对事物加工是另一个处理。是另一个处理。功效模型功效模型-案例二案例二第44页7/8/202445 最终,考虑数据流和数据存放。最终,考虑数据流和数据存放。系统把订系统把订货报表
29、送给采购部,订货报表是一个数据流;货报表送给采购部,订货报表是一个数据流;事物需要从仓库送到系统中,显然事物是另事物需要从仓库送到系统中,显然事物是另一个数据流。一个数据流。产生报表和处理事务这两个处理在时间上产生报表和处理事务这两个处理在时间上显著不匹配显著不匹配-每当发生一个事务时要马上处每当发生一个事务时要马上处理它,而天天只产生一个订货报表。所以,理它,而天天只产生一个订货报表。所以,订货报表数据应该有一个数据存放。订货报表数据应该有一个数据存放。另外,还有一些隐含数据:另外,还有一些隐含数据:零件库存量、零件库存量、库存临界值等。库存临界值等。功效模型功效模型-案例二案例二第45页7
30、/8/202446功效模型功效模型-案例二案例二源点源点/终点终点处理处理数据流数据流数据存放采购员采购员产生报表产生报表订货报表订货报表订货信息订货信息仓库管理员仓库管理员处理事务处理事务 零件编号零件编号 (见订货报表)(见订货报表)零件名称零件名称库存清单库存清单 订货数量订货数量 零件编号零件编号当前价格 库存量库存量主要供给者 库存量临界值库存量临界值次要供给者事务事务 零件编号零件编号 事务类型事务类型 数量数量第46页7/8/202447功效模型功效模型-案例二案例二第47页7/8/202448功效模型功效模型-案例二案例二第48页7/8/202449功效模型功效模型-案例二案例
31、二第49页7/8/202450数据模型数据模型 包含有包含有3 3种相关信息:种相关信息:(1 1)数据对象数据对象 数据对象是几乎全部必须被软件了解数据对象是几乎全部必须被软件了解复复合信息合信息表示。它只封装数据,不包含作用于表示。它只封装数据,不包含作用于对象操作。对象操作。(2 2)属性属性 属性定义了数据对象性质。属性定义了数据对象性质。(3 3)关系关系 数据对象彼此之间是相关联,也称为关系数据对象彼此之间是相关联,也称为关系。第50页7/8/202451数据模型数据模型数据模型经常用“实体-关系图(ERD)”来描述。ERD包含3种基本元素,即实体、属性和关系。通常,用矩形表示即数
32、据对象,用圆角矩形或椭圆形表示实体属性,用菱形连接相关实体表示关系。下列图是一个简化教学管理ERD:第51页7/8/202452性别性别职称职称姓名姓名教工号教工号姓名姓名性别性别系系学号学号年级年级课程号课程号 课程名课程名课时课时学分学分课程课程教师教师学生学生教教学学数据模型数据模型-案例案例简化教学管理简化教学管理ERD第52页7/8/202453行为模型行为模型及案例及案例行为模型惯用行为模型惯用状态转换图状态转换图(简称状态图简称状态图)来描)来描述,它又称为述,它又称为状态机模型状态机模型。状态图中基本元素有状态图中基本元素有事件事件、状态状态和和行为行为等。等。系统状态机模型系
33、统状态机模型能够了解为在任一个时刻,系能够了解为在任一个时刻,系统处于有限可能状态中一个状态,当统处于有限可能状态中一个状态,当某一个激某一个激励(条件)励(条件)抵达时,它激发系统从一个状态抵达时,它激发系统从一个状态转转换换到另一个新状态。到另一个新状态。下面是电话系统状态图:下面是电话系统状态图:第53页7/8/202454闲置闲置拨号音拨号音do:响拨号音响拨号音超时超时do:响蜂鸣音响蜂鸣音存放信息存放信息do:播放信息播放信息接通中接通中do:试接通试接通振铃振铃do:振铃振铃拨号拨号通话通话断线断线忙音忙音do:响忙音响忙音挂断电话挂断电话挂断电话挂断电话拿起话筒拿起话筒超时超时
34、无效号码无效号码有效号码有效号码超时超时数字数字数字数字占线占线已接通已接通受话人回话受话人回话受话人挂断电话受话人挂断电话信信息息播播完完第54页7/8/202455数据字典数据字典 数据字典数据字典(Data Dictionary)用于描述软件用于描述软件系统中使用或者产生每一个数据元素,是系系统中使用或者产生每一个数据元素,是系统数据信息定义集合。统数据信息定义集合。数据字典数据字典作用作用,就是对软件中每个数据,就是对软件中每个数据要求一个定义条目,以要求一个定义条目,以保持数据在系统中一保持数据在系统中一致性致性。软件中数据,可分为三种情况:软件中数据,可分为三种情况:只含一个数据只
35、含一个数据数据项数据项(或数据元素或数据元素);由多个相关数据项组成由多个相关数据项组成数据流数据流;数据文件或数据库数据文件或数据库。第55页7/8/202456数据流数据流“发票发票”字典条目字典条目数据流名:发票数据流名:发票别别 名:购书发票名:购书发票组成:学号姓名书号单价数量总价书费累计备备 注:注:数据字典数据字典-案例案例第56页7/8/2024573.3 分析建模分析建模下面介绍两种需求模型:下面介绍两种需求模型:结构化分析模型结构化分析模型和和面向对象分析模型面向对象分析模型分析模型描述工具分析模型描述工具DFDDFD、DDDD和和PSPEC PSPEC CFDCFD、CS
36、PECCSPEC和和STD STD E-RE-R图图 用例图用例图对象对象-关系图:类、对象、构建等图关系图:类、对象、构建等图对象对象-行为图行为图 :状态、时序、协作、活动等图状态、时序、协作、活动等图第57页7/8/202458结构化分析模型结构化分析模型数据对数据对 加工加工象说明象说明 说明说明 控制说明控制说明(STD图图)E-R图图 DFD图图CFD图图DD数据模型数据模型功效模型功效模型行为模型行为模型第58页7/8/202459面向对象分析模型面向对象分析模型属性、操作、协作者属性、操作、协作者类对象类对象 对象对象-关关模型模型 系模型系模型对象对象-行为模型行为模型使用使
37、用实例实例功效模型功效模型行为模型行为模型数据模型数据模型(静态)(静态)(静态)(静态)(动态)(动态)第59页7/8/202460分析模型描述工具分析模型描述工具结构化分析工具结构化分析工具DFD、DD和和PSPEC(加工说明)(加工说明)基基本组成本组成 CFD、CSPEC(控制说明)和(控制说明)和STD 扩展扩展E-R图图 扩展(复杂数据结构能够使用)扩展(复杂数据结构能够使用)面向对象分析工具面向对象分析工具用例图,类对象图用例图,类对象图对象对象-关系图关系图对象对象-行为图行为图第60页7/8/2024611.数据流图(数据流图(DFD)举例:举例:飞机票预订系统数据流图飞机票
38、预订系统数据流图:第61页7/8/2024621.数据流图(数据流图(DFD)描述系统逻辑模型描述系统逻辑模型信息在系统中流动和处理信息在系统中流动和处理用途用途交流信息工具交流信息工具结构化分析和设计工具结构化分析和设计工具第62页7/8/2024631.数据流图(数据流图(DFD)数据流图数据流图以图形方式反应系统以图形方式反应系统 数据流程数据流程 由由四种四种基本元素组成,代表符号和名称:基本元素组成,代表符号和名称:加工名加工名编号编号加工名加工名编号编号文件名文件名文件名文件名数据流数据流 加工、加工、处理或变换处理或变换数据文件或数据库数据文件或数据库数据原点数据原点或终点或终点
39、文件名文件名实实体体名名第63页7/8/202464用户用户出版社出版社验证验证订单订单汇总汇总订单订单订单出版社订单图书目录文件图书目录文件用户档案用户档案待处理订单文件待处理订单文件正确订单一批订单出版社档案文件出版社档案文件订货存根文件订货存根文件DFD图例子图例子第64页7/8/202465 画数据流图标准画数据流图标准找出数据源点与终点找出数据源点与终点把软件系统看成一个大加工,依据外部实体输出数把软件系统看成一个大加工,依据外部实体输出数据流和输入数据流,划出系统输入和输出图,即据流和输入数据流,划出系统输入和输出图,即顶顶层图层图(也称第一层数据流图)(也称第一层数据流图)依据系
40、统逻辑要求,从外部实体输出数据流出发,依据系统逻辑要求,从外部实体输出数据流出发,把顶层图中加工分解成若干个子加工,并用数据流把顶层图中加工分解成若干个子加工,并用数据流把这些加工连接起来,此时系统内部图称为把这些加工连接起来,此时系统内部图称为第二层第二层图图进行检验和修改进行检验和修改按照上述步骤,再从各加工出发,画出所需按照上述步骤,再从各加工出发,画出所需若干层若干层子图子图(第三层、第四层(第三层、第四层.)第65页7/8/202466 一家工厂采购部天天需要一张订货报表,一家工厂采购部天天需要一张订货报表,报表按零件编号排序,表中列出全部需要再次报表按零件编号排序,表中列出全部需要
41、再次订货零件。对于每个需要再次订货零件应该列订货零件。对于每个需要再次订货零件应该列出下述数据:零件编号,零件名称,定货数量,出下述数据:零件编号,零件名称,定货数量,当前价格,主要供给者,次要供给者。零件入当前价格,主要供给者,次要供给者。零件入库或出库称为库或出库称为事务事务,经过放在仓库中,经过放在仓库中CRTCRT终端把终端把事务汇报结订货系统。当某种零件库存数量少事务汇报结订货系统。当某种零件库存数量少于库存量临界值时就应该再次订货。于库存量临界值时就应该再次订货。由文字描述画出数据流图由文字描述画出数据流图(案例)(案例)第66页7/8/202467采购员采购员订货订货系统系统事务
42、事务订货报表订货报表订货系统数据订货系统数据顶层顶层流程图流程图仓库仓库保管员保管员由文字描述画出数据流图由文字描述画出数据流图(案例)(案例)第67页7/8/202468会计会计处理处理原始原始数据数据账簿、报表账簿、报表会计信息系统数据会计信息系统数据顶层顶层流程图流程图会计信息系统会计信息系统数据流图数据流图(案例)(案例)第68页7/8/202469 DFDDFD能够用来表示一个系统或软件能够用来表示一个系统或软件在任何层次上抽象。在任何层次上抽象。较大型软件系统较大型软件系统DFDDFD分成多层分成多层(子图、子图、父图概念父图概念),),能够表示数据流和功效深能够表示数据流和功效深
43、入细节。入细节。数据流图数据流图分层结构分层结构第69页7/8/202470S S2 21 13 32.22.22.12.12.32.33.13.13.23.2顶层顶层(1(1层层)(不编号)(不编号)2 2层层3 3层层第70页7/8/202471领书单领书单 进书通知进书通知 购书单购书单 缺书单缺书单 DFD练习练习售书系统售书系统学学生生教材教材购销购销系统系统书书 库库保保 管管员员教材购销系统教材购销系统-顶层数据流图顶层数据流图第71页7/8/202472领书单领书单 进书通知进书通知 进书通知进书通知 购书单缺书单购书单缺书单 1销销售售 2采采购购书库书库保管保管员员学学生生
44、F1教材存量表教材存量表 F2缺书记录表缺书记录表 DFD练习练习售书系统售书系统教材购销系统教材购销系统-第二层数据流图第二层数据流图第72页7/8/202473DFD练习练习售书系统售书系统第73页7/8/202474DFD练习练习售书系统售书系统教材购销系统第三层教材购销系统第三层DFD-采购子系统采购子系统第74页7/8/202475实例实例 考务处理系统功效考务处理系统功效 (1)(1)对考生送来报名单进行检验对考生送来报名单进行检验;(2)(2)对合格报名单编好准考证号后将准考证送给考生,对合格报名单编好准考证号后将准考证送给考生,并将汇总后考生名单送给阅卷站并将汇总后考生名单送给
45、阅卷站;(3)(3)对阅卷站送来成绩单进行检验,并依据考试中心制对阅卷站送来成绩单进行检验,并依据考试中心制订合格标准审定合格者订合格标准审定合格者;(4)(4)制作考生通知单制作考生通知单(含成绩及合格含成绩及合格/不合格标志不合格标志)送给送给考生考生;(5)(5)按地域进行成绩分类统计和试题难度分析,产生统按地域进行成绩分类统计和试题难度分析,产生统计分析表。计分析表。第75页7/8/202476考务处理系统分层考务处理系统分层DFDDFD顶层数据流图顶层数据流图考考生生考务考务处理系统处理系统考考试试中中心心阅卷站阅卷站不合格报名单不合格报名单报名单报名单准考证准考证考生通知单考生通知
46、单成成绩绩清清单单合格标准合格标准错误错误成绩成绩清单清单考考生生名名单单统计分析表统计分析表第76页7/8/202477登记登记报名单报名单报名单报名单准考证准考证1 1统计统计成绩成绩2 2不合格不合格报名单报名单考生通知单考生通知单成成统计分析表统计分析表考务处理系统考务处理系统-2层层数据流数据流图图考生名册考生名册绩绩清清单单合合格格标标准准考考生生名名单单成成绩绩清清单单错错误误第77页7/8/202478考务处理系统考务处理系统-3 3层数据流图层数据流图 (a)(a)检验检验报名单报名单报名单报名单准考证准考证1.11.1编准考编准考证号证号1.21.2不合格不合格报名单报名单
47、考生名册考生名册考生名单考生名单合格合格报名单报名单登记登记考生考生1.31.3第78页7/8/202479考务处理系统考务处理系统-3 3层数据流图层数据流图(b)(b)检验检验成绩清单成绩清单2.12.1审定审定合格者合格者2.22.2考生名册考生名册正确正确成绩清单成绩清单制作制作通知单通知单2.32.3分析分析统计成绩统计成绩2.42.4分析分析试题难度试题难度2.52.5试题得分清单试题得分清单考生考生通知单通知单难度难度分析表分析表合格合格标准标准分类分类统计表统计表成绩清单成绩清单错误错误成绩清单成绩清单经审定经审定成绩清单成绩清单第79页7/8/202480 数据流数据流 是数
48、据在系统内传输路径,是数据在系统内传输路径,由一组成固定数据项组成。除了与数据存由一组成固定数据项组成。除了与数据存放放(文件文件)之间数据流不用命名外,其余数之间数据流不用命名外,其余数据流都应该用名词或名词短语命名。数据据流都应该用名词或名词短语命名。数据流能够从加工流向加工,也能够从加工流流能够从加工流向加工,也能够从加工流向文件或从文件流向加工,也能够从源点向文件或从文件流向加工,也能够从源点流向加工或从加工流向终点。流向加工或从加工流向终点。数据流图数据流图总结总结第80页7/8/202481 加工加工 也称为数据处理,它对数也称为数据处理,它对数据流进行一些操作或变换。每个加工据流
49、进行一些操作或变换。每个加工也要有名字,通常是动词短语,简明也要有名字,通常是动词短语,简明地描述完成什么加工。在分层数据流地描述完成什么加工。在分层数据流图中,加工还应有编号。图中,加工还应有编号。数据流图数据流图总结总结第81页7/8/202482 数据存放数据存放 指暂时保留数据,它指暂时保留数据,它能够是数据库文件或任何形式数据组能够是数据库文件或任何形式数据组织。流向数据存放数据流可了解为写织。流向数据存放数据流可了解为写入文件,或查询文件,从数据存放流入文件,或查询文件,从数据存放流出数据可了解为从文件读数据或得到出数据可了解为从文件读数据或得到查询结果。查询结果。数据流图数据流图总结总结第82页7/8/202483 数据源点和终点数据源点和终点 是软件系统外是软件系统外部环境中实体部环境中实体(包含人员、组织或其它包含人员、组织或其它软件系统软件系统),统称为外部实体。普通只,统称为外部实体。普通只出现在数据流图顶层图中。出现在数据流图顶层图中。数据流图数据流图总结总结第83页7/8/202484数据流图数据流图辅助符号辅助符号第84页