03-第三章-软件需求分析-软件工程教案-海南大学(共15章).pptx

上传人:赵** 文档编号:14846929 上传时间:2022-05-08 格式:PPTX 页数:178 大小:730.64KB
返回 下载 相关 举报
03-第三章-软件需求分析-软件工程教案-海南大学(共15章).pptx_第1页
第1页 / 共178页
03-第三章-软件需求分析-软件工程教案-海南大学(共15章).pptx_第2页
第2页 / 共178页
点击查看更多>>
资源描述

《03-第三章-软件需求分析-软件工程教案-海南大学(共15章).pptx》由会员分享,可在线阅读,更多相关《03-第三章-软件需求分析-软件工程教案-海南大学(共15章).pptx(178页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第三章 软件需求分析 在软件的整个生命周期中,首先是软件计划期,接在软件的整个生命周期中,首先是软件计划期,接着是软件开发期,软件需求分析是软件开发的第一个阶着是软件开发期,软件需求分析是软件开发的第一个阶段,也是关系到软件开发成功与否的关键一步。本章的段,也是关系到软件开发成功与否的关键一步。本章的学习是基于已完成软件计划的基础上进行的,软件计划学习是基于已完成软件计划的基础上进行的,软件计划安排到第十二章讲。安排到第十二章讲。 3.1 需求分析的任务与步骤需求分析的任务与步骤 3.2 需求获取的常用方法需求获取的常用方法 3.3 分析建模分析建模 3.4 软件需求说明软件需求说明 3.5

2、结构化分析方法结构化分析方法 3.6 面向对象分析方法面向对象分析方法第三章 软件需求分析 软件在需求分析和设计阶段占用软件在需求分析和设计阶段占用的工作量达到总工作量的的工作量达到总工作量的40405050,说明软件开发前期的活动多么重要。说明软件开发前期的活动多么重要。当然这也包括分阶段开发原型的开销。当然这也包括分阶段开发原型的开销。大家熟悉的编码工作只占全部工作量大家熟悉的编码工作只占全部工作量的的10102020,而软件测试和调试的,而软件测试和调试的工作量占到总工作量的工作量占到总工作量的30304040,甚至甚至50%50%。3.1 需求分析的任务与步骤需求分析的任务与步骤 3.

3、1 .1需求分析的任务需求分析的任务需求分析的任务就是准确地回答需求分析的任务就是准确地回答“系系统必须做什么统必须做什么?”这个问题,是通过系这个问题,是通过系统分析员与用户一起商定,清晰、准确、统分析员与用户一起商定,清晰、准确、具体地描述软件产品必须具有的功能、具体地描述软件产品必须具有的功能、性能、运行规格等要求。软件需求分析性能、运行规格等要求。软件需求分析阶段的目的是澄清用户的要求,并把双阶段的目的是澄清用户的要求,并把双方共同的理解明确地表达成一份书面文方共同的理解明确地表达成一份书面文档档软件需求规格说明书。软件需求规格说明书。3.1 需求分析的任务与步骤需求分析的任务与步骤

4、需求分析的任务就是借助于当前系统的需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型。逻辑模型导出目标系统的逻辑模型。主要有主要有:1、建立分析模型、建立分析模型数据、功能和行为模型数据、功能和行为模型2、编写需求说明书。、编写需求说明书。 其实现模型如下图所示:其实现模型如下图所示:系统实现模型系统实现模型目标系统目标系统当前系统当前系统物理模型物理模型逻辑模型逻辑模型逻辑模型逻辑模型物理模型物理模型模型化模型化抽象化抽象化实例化实例化具体化具体化理理解解需需求求表表达达需需求求导导出出做做什么什么怎怎么么做做1.分析建模导出目标系统逻辑模型的例子:导出目标系统逻辑模型的例子:

5、 找出当前系统的物理模型找出当前系统的物理模型学学生生张张秘书秘书王王会计会计李李出纳出纳赵赵保管保管学学生生学生购买教材的物理模型学生购买教材的物理模型购购书书申请申请购购书书证明证明购书购书发票发票领书单领书单书书导出目标系统逻辑模型的例子 把当前系统的物理模型转换为逻辑模型把当前系统的物理模型转换为逻辑模型学学生生审查有审查有效性效性开开发票发票开开领书单领书单发书发书学学生生购书单购书单有效有效购书单购书单领书单领书单书书发票发票学生购买教材的逻辑模型学生购买教材的逻辑模型导出目标系统逻辑模型的例子 把旧系统的逻辑模型转换为目标系统逻辑模型把旧系统的逻辑模型转换为目标系统逻辑模型学学生

6、生审查并审查并开发票开发票开开领书单领书单发书发书学学生生购书单购书单发票发票领书单领书单书书计算机售书系统的逻辑模型计算机售书系统的逻辑模型导出目标系统逻辑模型的例子 改进(优化)目改进(优化)目标系统逻辑模型标系统逻辑模型学学生生审查并审查并开发票开发票开开领书单领书单学学生生购书单购书单发票发票领书单领书单改进了的计算机售书系统模型改进了的计算机售书系统模型无效书单无效书单分析阶段中常用的模型(逻辑模型)分析阶段中常用的模型(逻辑模型)Warnier图图3.1 需求分析的任务与步骤需求分析的任务与步骤主要包括描述主要包括描述目标系统概貌、功能要求、性能要求、运行目标系统概貌、功能要求、性

7、能要求、运行要求和将来可能提出的要求。数据流图、用要求和将来可能提出的要求。数据流图、用IPO图或其他工具简要描述的系统主要算法图或其他工具简要描述的系统主要算法都是该份文挡的重要组成部分。此外,该份都是该份文挡的重要组成部分。此外,该份文档还应包括用户需求与系统功能之间的关文档还应包括用户需求与系统功能之间的关系、设计约束等等文字描述。系、设计约束等等文字描述。 软件需求规格说明是需求分析阶段的最终软件需求规格说明是需求分析阶段的最终成果成果。3.1 需求分析的任务与步骤需求分析的任务与步骤准确、完整和规范的软件需求是软件开发成功的关键!准确、完整和规范的软件需求是软件开发成功的关键!需求分

8、析的任务需求分析的任务建立分析模型建立分析模型 描述软件需求的一组模型描述软件需求的一组模型 精确记录用于对原始问题和目标系统的描述精确记录用于对原始问题和目标系统的描述 帮助分析人员发现用户需求中的不一致性,排除帮助分析人员发现用户需求中的不一致性,排除不合理的部分,挖掘潜在的用户需求不合理的部分,挖掘潜在的用户需求编写需求说明应做到编写需求说明应做到 准确性和一致性准确性和一致性 清晰性和没有二义性清晰性和没有二义性 直观、易读和易于修改直观、易读和易于修改案例分析 一个具有n部电梯的电梯系统要安装在一座m层的大楼上。电梯和控制机构已造好。每个电梯的内部机构也已给定。问题涉及电梯在楼层间移

9、动的逻辑: (1)每座电梯有一套按钮,每层一个。按钮按下时使钮灯变亮,并使电梯达到相应的楼层。当电梯到达相应的楼层时按钮灯熄灭。案例分析 (2)除了底层和顶层外,每层都有两个按除了底层和顶层外,每层都有两个按钮,一个按钮请求电梯上升,另一个按钮请钮,一个按钮请求电梯上升,另一个按钮请求电梯下降。这些按钮在按下时按钮灯亮。求电梯下降。这些按钮在按下时按钮灯亮。电梯到达指定楼层后按钮灯熄灭,然后要么电梯到达指定楼层后按钮灯熄灭,然后要么朝期望的方向移动,要么请求等待。在后一朝期望的方向移动,要么请求等待。在后一种情况下,如果一个楼层上的两个请求按钮种情况下,如果一个楼层上的两个请求按钮都按下,则只

10、取消其中一个按钮。决定先服都按下,则只取消其中一个按钮。决定先服务哪一层的算法应当使两个请求的等待时间务哪一层的算法应当使两个请求的等待时间最小。最小。案例分析 (3)当一个电梯没有服务请求时,应当停留在)当一个电梯没有服务请求时,应当停留在最终的目的地,关上电梯门,并等待后面的请最终的目的地,关上电梯门,并等待后面的请求。求。 (4)楼层上所有电梯请求必须最终得到服务,楼层上所有电梯请求必须最终得到服务,并且所以楼层具有相同的优先权。并且所以楼层具有相同的优先权。 (5)电梯内所有楼层的请求必须最终得到服务,电梯内所有楼层的请求必须最终得到服务,各层按电梯移动方向先后得到服务。各层按电梯移动

11、方向先后得到服务。 (6)每个电梯有一个紧急按钮。按下该按钮时,每个电梯有一个紧急按钮。按下该按钮时,将使一个报警信号发送到现场管理人员,然后将使一个报警信号发送到现场管理人员,然后强制电梯强制电梯“停止服务停止服务”。每一个电梯有一个取。每一个电梯有一个取消其消其“停止服务停止服务”状态的机制。状态的机制。电梯电梯状态转换图举例状态转换图举例在一楼在一楼上升上升停滞停滞下降下降回到一楼回到一楼回一楼回一楼想要到想要到达楼层达楼层想要到想要到达楼层达楼层电梯行程电梯行程开始开始向上向上向上向上向下向下案例分析 需求分析的步骤1.需求获取 目的:清楚地理解所要解决的问题;完整地获取用户需求2.需

12、求提炼 任务:分析建模 3.需求描述 结果:软件需求说明书4.需求验证 改善需求说明的完整性,确保他可作为软件设计和系统验收的依据。3.2 需求获取的常用方法 联合分析小组联合分析小组 用户代表、领域专家和系统分析员用户代表、领域专家和系统分析员 客户访谈客户访谈 充分准备,寻找共同语言充分准备,寻找共同语言 循循序渐进、逐步逼近循循序渐进、逐步逼近 问题分析与确认问题分析与确认 多个来回多个来回调研问卷调研问卷 部分的名称、人员数量和结构部分的名称、人员数量和结构 部分发展或变化简单介绍部分发展或变化简单介绍 部分的主要任务部分的主要任务 业务处理流程业务处理流程 业务处理过程中涉及哪些专业

13、领域的知识业务处理过程中涉及哪些专业领域的知识 工作需要的审批流程是什么?工作需要的审批流程是什么? 主要算法描述主要算法描述 哪些业务需要实时处理?哪些业务需要实时处理? 哪些业务需要交互操作?哪些业务需要交互操作? 部门各岗位的职责部门各岗位的职责 部门接受哪些部门或外界的信息?信息的内容和格部门接受哪些部门或外界的信息?信息的内容和格式是什么?式是什么? 部门产生哪些信息?部门产生哪些信息? 部门产生的信息送到哪些其他部门?格式要求是什么?部门产生的信息送到哪些其他部门?格式要求是什么? 对信息的输入和输出方式有要求吗?输入输出设备对信息的输入和输出方式有要求吗?输入输出设备是什么?是什

14、么? 数据要求实时备份吗?备份的设备是什么?时间策略?数据要求实时备份吗?备份的设备是什么?时间策略? 业务处理有高峰期吗?高峰时间是什么?时间策略?业务处理有高峰期吗?高峰时间是什么?时间策略? 现有的哪些设备要继续使用?现有的哪些设备要继续使用? 对产品的运行环境有要求吗?对产品的运行环境有要求吗? 对界面风格和操作方式有要求吗?对界面风格和操作方式有要求吗? 在系统运行过程中允许停机吗?在系统运行过程中允许停机吗? 操作方式要根据操作环境和使用人员素质分类吗?操作方式要根据操作环境和使用人员素质分类吗? 需要的操作权限有哪些?需要的操作权限有哪些? 需要记录系统操作运行日志吗?需要记录系

15、统操作运行日志吗? 用户有能力进行系统维护吗?用户有能力进行系统维护吗? 需要分布式处理吗?需要分布式处理吗? 需要什么方式的用户操作培训。需要什么方式的用户操作培训。 需要制作联机帮助吗需要制作联机帮助吗?案例 用户提出某种需求: 水的质量信息必须立即能够显示出来。 分析员更准确的描述: 水的质量记录必须在接到请求信号的5秒内显示出来。需求获取的三大挑战问题空间的理解问题空间的理解人与人之间的通信人与人之间的通信需求的不断变化需求的不断变化编编号号提出问题提出问题1您在您在哪个部门工作?哪个部门工作?2出版业务流程是什么?出版业务流程是什么?3您您每日都处理那些文件、数据、报表?每日都处理那

16、些文件、数据、报表?4工作中手工处理特别麻烦的事情是什么?工作中手工处理特别麻烦的事情是什么?5工作中手工处理什么问题解决不了?影响效工作中手工处理什么问题解决不了?影响效率的问题有哪些?率的问题有哪些?6您认为提高工作效率,节省工作时间,减轻您认为提高工作效率,节省工作时间,减轻工作强度可采取哪些办法?工作强度可采取哪些办法?编编号号提出问题提出问题7您的部门需要成本核算和统计的内容有哪些?您的部门需要成本核算和统计的内容有哪些?8您的部门采用计算机管理工作情况如何?您的部门采用计算机管理工作情况如何?9如何改进业务流程使之更合理?如何改进业务流程使之更合理?10哪些问题是目前传统手工方法根

17、本无法解决哪些问题是目前传统手工方法根本无法解决的?的?11出版社计算机管理信息系统需要解决什么问出版社计算机管理信息系统需要解决什么问题?题? 3.3 分析建模分析建模 所谓所谓,就是为了理解事物而对事,就是为了理解事物而对事物做出的一种抽象,是对事物的一种物做出的一种抽象,是对事物的一种无歧义的书面描述。简单地说,无歧义的书面描述。简单地说,。 经过软件的需求分析建立起来的模经过软件的需求分析建立起来的模型可以称之为型可以称之为或者或者。3.3 分析建模分析建模需求分析模型:需求分析模型:数据字典数据字典数据模型数据模型功能模型功能模型行为模型行为模型功能模型功能模型功能模型可以用数据流图

18、功能模型可以用数据流图(DFD)描述,所以又描述,所以又称为称为。 下面是数据流图的基本形式:下面是数据流图的基本形式:3变换变换4变换变换1变换变换2变换变换外部外部实体实体外部外部实体实体外部外部实体实体外部外部实体实体数据文件数据文件输入数据输入数据中间数据中间数据输出数据输出数据学学生生1审查审查开发票开发票2开领书开领书单单学学生生购书单购书单发票发票领书单领书单计算机售书系统的数据流图计算机售书系统的数据流图无效书单无效书单各班各班学生用书表学生用书表教材存量表教材存量表数据模型数据模型 包含有3种相关的信息:(1)数据对象 数据对象是几乎所有必须被软件理解的的表示。它只封装数据,

19、不包含作用于对象的操作。(2)属性 属性定义了数据对象的性质。(3)关系 数据对象彼此之间是有关联的,也称为关系。数据模型数据模型 数据模型常常用数据模型常常用“实体实体-关系图关系图(ERD)” 来描述。来描述。 ERD包含包含3种基本元素,即实体、属性种基本元素,即实体、属性和关系。和关系。 通常,用通常,用表示即表示即,用,用表示实体的表示实体的,用,用连接相关实体表示连接相关实体表示。 下图是一个简化的教学管理下图是一个简化的教学管理ERD:性别性别职称职称姓名姓名教工号教工号姓名姓名性别性别系系学号学号年级年级课程号课程号 课程名课程名学时学时学分学分课程课程教师教师学生学生教教学学

20、行为模型行为模型 行为模型常用行为模型常用()来描述,)来描述,它又称为它又称为。 状态图中的基本元素有状态图中的基本元素有、和和等。等。 可以理解为在任一个时刻,可以理解为在任一个时刻,系统处于有限可能的状态中的一个状态,当某一系统处于有限可能的状态中的一个状态,当某一个激励(条件)到达时,它激发系统从一个状态个激励(条件)到达时,它激发系统从一个状态转换到另一个新状态。转换到另一个新状态。 下面是电话系统的状态图:下面是电话系统的状态图:闲置闲置拨号音拨号音do:响拨号音响拨号音超时超时do:响蜂鸣音响蜂鸣音存储的信息存储的信息do:播放信息播放信息接通中接通中do:试试接通接通振铃振铃d

21、o:振铃振铃拨号拨号通话通话断线断线忙音忙音do:响忙音响忙音挂断电话挂断电话挂断电话挂断电话拿起话筒拿起话筒超时超时无效号码无效号码有效号码有效号码超时超时数字数字数字数字占线占线已已接通接通受话人受话人回话回话受话人挂断受话人挂断电话电话信信息息播播完完数据字典数据字典(Data Dictionary)用于描述软件系统用于描述软件系统中使用或者产生的每一个数据元素,是系统中使用或者产生的每一个数据元素,是系统数据信息定义的集合。数据信息定义的集合。 数据字典的数据字典的,就是对软件中的每个数据,就是对软件中的每个数据规定一个定义条目,以规定一个定义条目,以。 软件中的数据,可分为三种情况:

22、软件中的数据,可分为三种情况:只含一个数据的只含一个数据的(或数据元素或数据元素); 由多个相关数据项组成的由多个相关数据项组成的;。数据流数据流“发票发票”的字典条目的字典条目数据流名:发票数据流名:发票别别 名:购书发票名:购书发票组组 成:成: 学号姓名书号单价数量学号姓名书号单价数量总价书费合计总价书费合计备备 注:注:数据字典的例子数据字典的例子3.3 分析建分析建模模 下面介绍两种需求模型:结构化分析模型和下面介绍两种需求模型:结构化分析模型和面向对象分析模型面向对象分析模型 分析模型描述工具分析模型描述工具DFDDFD、DDDD和和PSPEC PSPEC CFDCFD、CSPEC

23、CSPEC和和STD STD E-RE-R图图 用例图用例图对象对象- -关系图:类、对象、构建等图关系图:类、对象、构建等图对象对象- -行为图行为图 :状态、时序、协作、活动等图状态、时序、协作、活动等图结构化分析模型数据对数据对 加工加工象说明象说明 说明说明 控制说明控制说明E-R图图 DFD图图STD图图DD数据模型数据模型功能模型功能模型行为模型行为模型面向对象分析模型属性、操作、协作者属性、操作、协作者类对象类对象 对象对象-关关模型模型 系模型系模型对象对象-行为模型行为模型使用使用实例实例功能模型功能模型行为模型行为模型数据模型数据模型(静态)(静态)(静态)(静态)(动态)

24、(动态)分析模型描述工具分析模型描述工具 结构化分析工具结构化分析工具 DFD、DD和和PSPEC(加工说明)加工说明)基本基本组成组成 CFD、CSPEC (控制说明)和控制说明)和STD 扩扩展展 E-R图图 扩展(复杂数据结构可以使用)扩展(复杂数据结构可以使用) 面向对象分析工具面向对象分析工具 用例图,类对象图用例图,类对象图 对象对象-关系图关系图 对象对象-行为图行为图1. 数据流图(数据流图(DFD)飞机票预订系统数据流图1. 数据流图(数据流图(DFD) 数据流图数据流图他以图形的方式反映系统的他以图形的方式反映系统的数据流程数据流程由四种基本元素组成,代表符号和名称:由四种

25、基本元素组成,代表符号和名称:加工名加工名编号编号加工名加工名编号编号文件名文件名文件名文件名数据流数据流 加工、加工、处理或变换处理或变换数据文件或数据库数据文件或数据库数据原点数据原点或终点或终点文件名文件名实实体体名名顾客顾客出版社出版社验证验证订单订单汇总汇总订单订单订单出版社 订单图书目录文件图书目录文件顾客档案顾客档案待处理订单文件待处理订单文件正确订单一批订单出版社档案文件出版社档案文件订货存根文件订货存根文件DFD图的图的例子例子1. 数据流图(数据流图(DFD) 描述系统逻辑模型 信息在系统中的流动和处理 用途 交流信息的工具 结构化分析和设计的工具 一家工厂的采购部每天需要

26、一张订货报一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通次要供应者。零件入库或出库称为事务,通过放在仓库中的过放在仓库中的CRTCRT终端把事务报告结订货系终端把事务报告结订货系统。当某种零件的库存数量少于库存量临界统。当某种零件的库存数量少于库存量临界值时就应该再次订

27、货。值时就应该再次订货。 案例由文字描述画出数据流图由文字描述画出数据流图由文字描述画出数据流图由文字描述画出数据流图采购员订货订货系统系统事务订货报表订货系统数据流程图仓库仓库保管员保管员由系统调查画出数据流图由系统调查画出数据流图会计处理原始数据账簿、报表账簿、报表会计信息系统数据流程图领书单 进书通知 购书单 缺书单 DFD练习售书系统学生教材购销系统书 库保 管员领书单 进书通知 进书通知 购书单缺书单 DFD练习练习售售书系统书系统 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 2. 数据字典(数据字典(DD)定义:定义: 数据词典数据词典是描述数据信息的是描述数据信息

28、的集合,它对数据流图中的各个元素按集合,它对数据流图中的各个元素按规定格式进行详细的描述和确切的解规定格式进行详细的描述和确切的解释释,是数据流图的补充工具。是数据流图的补充工具。 数据流图与数据字典构成了系统逻数据流图与数据字典构成了系统逻辑模型的主体。辑模型的主体。2. 数据字典数据字典(DD) 数据字典的数据字典的,就是对软件中的每,就是对软件中的每个数据规定一个定义条目,以个数据规定一个定义条目,以。 软件中的数据,可分为三种情况:软件中的数据,可分为三种情况:由多个相关数据项组成的由多个相关数据项组成的;只含一个数据的只含一个数据的( (或数据元素或数据元素) )。DFD中所有数据元

29、素的定义集合数据流数据流例:发票例:发票数据文件数据文件例:各班学生用书表例:各班学生用书表学生购书数量数据项学生购书数量数据项例:数量例:数量三种数据字典分别表达如下:三种数据字典分别表达如下:学学生生1审查审查开发票开发票2开领书开领书单单学学生生购书单购书单发票发票领书单领书单计算机售书系统的数据流图:计算机售书系统的数据流图:无效书单无效书单各班各班学生用书表学生用书表教材存量表教材存量表数据流数据流“发票发票”的字典条目的字典条目数据流名:发票数据流名:发票别别 名:购书发票名:购书发票组组 成:成: 学号姓名书号单价数量学号姓名书号单价数量总价书费合计总价书费合计备备 注:注:数据

30、字典数据字典数据流数据流数据文件数据文件“各班学生用书表各班学生用书表”的字典条的字典条目目文件名:各班学生用书表文件名:各班学生用书表别别 名:名:组组 成:成: 系编号专业和班编号年级系编号专业和班编号年级书号书号组组 织:织: 按系、专业和班编号从小到大排列按系、专业和班编号从小到大排列备备 注:注:数据字典数据字典数据文件数据文件数据项数据项“数量数量”的字典条目的字典条目数据项名:数量数据项名:数量别别 名:购书量名:购书量取取 值:正整数值:正整数备备 注:注:数据字典数据字典数据项数据项一般的一般的“数据流数据流”字典条目应包含以下内字典条目应包含以下内容:容:数据流名:数据流名

31、:别名(编号):别名(编号):描述:描述:组成(定义):组成(定义):来源与去处:来源与去处:频率、数据量、取值范围等:频率、数据量、取值范围等:备备 注:注:数据字典数据字典数据流应包含的内容数据流应包含的内容数据字典数据字典数据文件应包含的内容数据文件应包含的内容一般的一般的“数据文件数据文件”字典条目应包含以下内容:字典条目应包含以下内容:数据文件名:数据文件名:关键码:关键码:描述:描述:组成(定义):组成(定义):存储方式:存储方式:存储频率、数据量、取值范围等:存储频率、数据量、取值范围等:(如安全要求等)(如安全要求等)备备 注:注:数据字典数据字典数据项应包含的内容数据项应包含

32、的内容一般的一般的“数据项数据项”字典条目应包含以下内容:字典条目应包含以下内容:数据项名:数据项名:别名:别名:描述:描述:数据类型:数据类型:长度(精度):长度(精度):取值范围、缺省值等:取值范围、缺省值等:(如计量单位等)(如计量单位等)备备 注:注:还可以采用类似公式定义式,还可以采用类似公式定义式,(似(似P41P41例例3.63.6)例如:例如:航班信息文件航班信息文件 航空公司名称航班号航空公司名称航班号起点终点日期起点终点日期 起飞时间降落时间起飞时间降落时间 航空公司名称航空公司名称22字母字母44 航班号航班号33十进制数字十进制数字33 字母字母“A”“Z”A”“Z”十

33、进制数字十进制数字“0”“9”0”“9”起点终点起点终点11汉字汉字1010 起飞时间降落时间时分起飞时间降落时间时分 时时“00”“23”00”“23” 分分“00”“59”00”“59” 日期年月日日期年月日 年年20002000200120012002200220042004 月月“01”“12”01”“12” 日日“01”“31”01”“31”名称别名类型长度备注姓名XM字符8存款日期CKRQ日期金额JE数字8,2身份证号SFZH字符16类别LB字符2取款日期QKRQ日期利息LX数字8,2利息税LXS数字8,2数据字典实现数据字典的途径实现数据字典的途径目前实现数据字典有三种途径:目前

34、实现数据字典有三种途径: 全人工过程全人工过程 利用数据字典处理程序的全自动化过程利用数据字典处理程序的全自动化过程 用正文编辑程序报告生成程序等已有的用正文编辑程序报告生成程序等已有的实用程序帮助人工过程的混合过程。实用程序帮助人工过程的混合过程。3. 3. 加工说明加工说明加工说明(加工说明(PSPECPSPEC)u说明说明DFDDFD中的每个加工,加工逻辑中的每个加工,加工逻辑说明描述实现加工的策略,是加工说明描述实现加工的策略,是加工说明的主体。说明的主体。u在需求分析阶段,策略仅需要指出在需求分析阶段,策略仅需要指出“做什么做什么”,而不管,而不管“怎么做怎么做”!3. 3. 加工说

35、明加工说明加工说明(加工说明(PSPECPSPEC)的描述工具有:的描述工具有:结构化语言结构化语言判定表或判定树判定表或判定树层次方框图层次方框图WarnierWarnier图图IPOIPO图图 等等等等(1)结构化语言)结构化语言 自然语言加上结构化的形自然语言加上结构化的形式,就是结构化语言。借用结构式,就是结构化语言。借用结构化语言的控制结构描述加工化语言的控制结构描述加工。结构化语言的特点:结构化语言的特点: 无确定语法无确定语法 可分层、嵌套可分层、嵌套加工名加工名: :核实订票处理核实订票处理 编号编号: 3.2: 3.2激活条件激活条件: :收到取订票信息收到取订票信息处理逻辑

36、处理逻辑:1:1读订票旅客信息文件读订票旅客信息文件 2 2搜索此文件中是否有与输入信息搜索此文件中是否有与输入信息 中姓名及身份证号相符的项中姓名及身份证号相符的项 IFIF 有有 THENTHEN 判断余项是否与文件中信判断余项是否与文件中信 息相符息相符 IFIF 是是 THENTHEN 输出已订票信息输出已订票信息 ELSEELSE 输出未订票信息输出未订票信息 ELSEELSE 输出未订票信息输出未订票信息执行频率执行频率: : 实时实时例:用结构化语言描述加工例:用结构化语言描述加工(2 2)判定表或判定树)判定表或判定树判定表采用表格的形式描述加工逻辑,判定表采用表格的形式描述加

37、工逻辑,他适合于描述包含复杂判断的加工处他适合于描述包含复杂判断的加工处理。理。判定树采用树形图的形式描述加工逻判定树采用树形图的形式描述加工逻辑,他同样适合于描述包含复杂判断辑,他同样适合于描述包含复杂判断的加工处理。他是判定表的图形表示的加工处理。他是判定表的图形表示。 一般情况下,两者选用其一。一般情况下,两者选用其一。判定(决策)树实例判定(决策)树实例 判定树描述有多个行为需要选择的过程。判定树描述有多个行为需要选择的过程。判定判定树由一组表示条件的节点,和树由一组表示条件的节点,和无标记边组成。无标记边组成。判定树示意图判定树示意图 逻辑功能名逻辑功能名 条件条件1 1 条件条件2

38、 2 条件条件1.21.2 条件条件1.11.1 行为行为1 1 行为行为2 2 条件条件2.12.1 条件条件2.22.2 行为行为3 3 行为行为4 4 条件条件2.2.22.2.2 条件条件2.2.12.2.1 行为行为5 5判定树实例判定树实例豪华型豪华型 选择包装箱选择包装箱 中速车中速车 高速车高速车豪华型豪华型标准型标准型标准型标准型 使用使用1 1号包装箱号包装箱 使用使用2 2号包装箱号包装箱 使用使用3 3号包装箱号包装箱 使用使用4 4号包装箱号包装箱判定(决策)树实例判定(决策)树实例判定树还有另一种形式判定树还有另一种形式:“T”:“T”表示表示“真真”,条件成立;,

39、条件成立;“F”F”表示表示“假假”,条件,条件不成立。不成立。判定树的另一种形式判定树的另一种形式 决策树形式简单,易于掌握和使用,并适合决策树形式简单,易于掌握和使用,并适合于与用户讨论。于与用户讨论。豪华型豪华型 中速车中速车T标准型标准型 使用使用1 1号包装箱号包装箱 使用使用2 2号包装箱号包装箱 使用使用4 4号包装箱号包装箱 使用使用3 3号包装箱号包装箱TTFFF判定(决策)表实例判定(决策)表实例判定表判定表 (1)(1)豪华型豪华型中速车中速车T T 使用使用1 1号包装箱号包装箱 使用使用2 2号包装箱号包装箱 使用使用3 3号包装箱号包装箱 使用使用4 4号包装箱号包

40、装箱T TT TF FF FF FF FT T判定(决策)表实例判定(决策)表实例判定表(判定表(2 2) 层次方框图用树形结构的一系列多层次的矩形框描绘层次方框图用树形结构的一系列多层次的矩形框描绘数据的层次结构。树形结构的顶层是一个单独的矩形框,数据的层次结构。树形结构的顶层是一个单独的矩形框,它代表完整的数据结构,下面的各层矩形框代表这个数据它代表完整的数据结构,下面的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。素(不能再分割的元素)。 例如,描绘一例如,描绘一家计算机公司全家计算机公司

41、全部产品的数据结部产品的数据结构可以用图构可以用图2.15中的层次方框图中的层次方框图表示。表示。层次方框图的一个例子层次方框图的一个例子(3)层次方框图)层次方框图(4 4)WarnierWarnier图图 法国计算机科学家法国计算机科学家WarnierWarnier提出了表示信提出了表示信息层次结构的另外一种图形工具。和层次方框息层次结构的另外一种图形工具。和层次方框图类似,图类似,WarnierWarnier图也用树形结构描绘信息,但图也用树形结构描绘信息,但是这种图形工具比层次方框图提供了更丰富的是这种图形工具比层次方框图提供了更丰富的描绘手段。描绘手段。 用用WarnierWarni

42、er图可以表明信息的逻辑组织,也图可以表明信息的逻辑组织,也就是说,它可以指出一类信息或一个信息量是就是说,它可以指出一类信息或一个信息量是重复出现的,也可以表示特定信息在某一类信重复出现的,也可以表示特定信息在某一类信息中是有条件地出现的。因为重复和条件约束息中是有条件地出现的。因为重复和条件约束是说明软件处理过程的基础,所以很容易把是说明软件处理过程的基础,所以很容易把WarnierWarnier图转变成软件设计的工具。图转变成软件设计的工具。 (4 4)WarnierWarnier图图 下图是用下图是用WarnierWarnier图描绘一类软件产品图描绘一类软件产品的例子,它说明了这种图

43、形工具的用法。的例子,它说明了这种图形工具的用法。Warnier图的一个例子IPO(Input-Process-Output Chatr)图图 IPO图是输入处理输出图的简称,它是美国图是输入处理输出图的简称,它是美国IBM公司发展完善起来的一种图形工具,能够方便地描绘输公司发展完善起来的一种图形工具,能够方便地描绘输入数据、对数据的处理和输出数据之间的关系。入数据、对数据的处理和输出数据之间的关系。 用IPO图描绘主文件更新功能右图是一个右图是一个主文件更新主文件更新的例子,通的例子,通过这个例子过这个例子不难了解不难了解IPO图的用图的用法。法。 建议使用一种改进的建议使用一种改进的IPO

44、IPO图(也称为图(也称为IPOIPO表),表),这种图中包含某些附加信息,在软件设计过程中这种图中包含某些附加信息,在软件设计过程中将比原始的将比原始的IPOIPO图更有用。如下图所示,改进的图更有用。如下图所示,改进的IPOIPO图中包含的附加信息,主要有系统名称,图图中包含的附加信息,主要有系统名称,图的作者,完成本图的日期,本图描述的模块的名的作者,完成本图的日期,本图描述的模块的名字,模块在层次图中的编号,调用本模块的模块字,模块在层次图中的编号,调用本模块的模块清单,本模块调用的模块的清单,注释,以及本清单,本模块调用的模块的清单,注释,以及本模块使用的局部数据元素等。在需求分析阶

45、段可模块使用的局部数据元素等。在需求分析阶段可以使用以使用IPOIPO图简略地描述数据流图中各个处理的图简略地描述数据流图中各个处理的基本算法(着重说明处理功能而不是具体实现功基本算法(着重说明处理功能而不是具体实现功能的算法)。当然,在需求分析阶段,能的算法)。当然,在需求分析阶段,IPOIPO表中表中的许多附加信息暂时还不具备。但是,在软件设的许多附加信息暂时还不具备。但是,在软件设计阶段可以进一步补充、修正这些表,继续作为计阶段可以进一步补充、修正这些表,继续作为设计阶段的文档。这正是在需求分析阶段用设计阶段的文档。这正是在需求分析阶段用IPOIPO表作为描述基本算法的工具的重要优点。表

46、作为描述基本算法的工具的重要优点。改进的改进的IPO图的形式图的形式改进的改进的IPO图的例子图的例子财务管理系统财务管理系统2.1客房帐目管理客房帐目管理2.1.1客 人 入 住客 人 入 住登 记 查 询登 记 查 询处理处理2.1.1.1.1退房登记退房登记查询处理查询处理2.1.1.1.2客房结算处理客房结算处理 2.1.1.2客房帐目客房帐目查询查询2.1.1.1客人客房结客人客房结算算2.1.1.2.1客房日结算客房日结算2.1.1.2.2改进的改进的IPO图的例子图的例子系统:财务管理系统财务管理系统 作者:XXX模块:客房帐目管理客房帐目管理 日期:2006/03/15编号:2

47、.1.1注释:被调用:财务管被调用:财务管理系统理系统调用:客房结算管理有效性检调用:客房结算管理有效性检验、客人入住信息查询处理、验、客人入住信息查询处理、客人退房信息查询处理客人退房信息查询处理输入:系统当前时间、客人入住信息、客人退房信输入:系统当前时间、客人入住信息、客人退房信息、客人入住登记查询请求、。退房登记查询请求。息、客人入住登记查询请求、。退房登记查询请求。输出:非法信息、客人入住登记查询结果、退房登输出:非法信息、客人入住登记查询结果、退房登记查询结果、客人住宿结算表、客房日结算表记查询结果、客人住宿结算表、客房日结算表局部数据元素:4. CFD和和CSPEC适合实时系统的

48、分析与DFD和PSPEC类似和DFD与PSPEC配合使用表示控制流和控制加工 控制流图与控制说明通常与DFD配合使用描述模型。CFD和DFD的关系 数据条件数据条件加工激活信号加工激活信号控制输出控制输出输入数据输入数据 加工模型加工模型PSPEC 控制模型控制模型CSPEC输出数据输出数据 CFD 控制输入控制输入 DFD (1)CFD的符号组成与表示控制信息或事件控制信息或事件引用控制说明引用控制说明(2)CFD的建立 对于那些由事件驱动而不是数据对于那些由事件驱动而不是数据驱动,产生的是控制信息而不是数驱动,产生的是控制信息而不是数据值,以及处理信息时必须依赖于据值,以及处理信息时必须依

49、赖于时间的应用,只建立数据流模型是时间的应用,只建立数据流模型是不够的,还需要使用控制流图来建不够的,还需要使用控制流图来建模,才能清楚地描述系统。模,才能清楚地描述系统。下面看课本下面看课本P46P46例例3.103.10DFD和CFD例子-DFD信号半分钟数据光电管采集计数传送工控机处理实时数据显示班数据处理半小时数据班数据DFD和CFD例子-CFD翻屏人工驱动信息时钟半小时半分钟某型号累加物品经过信号半分钟数据光电管采集计数传送工控机处理实时数据显示班数据处理半小时数据班数据(3)控制说明 当某个事件发生时,会出现什么事情呢?这时就需要看控制说明了。 控制说明用于指明会激活哪些加工,它主

50、要用于描述:当事件或控制信息被感知时软件如何行动;作为事件发生的结果,那些加工将被激活。 例3.11 课后自己看( P47)5.5.状态转换图(状态转换图(STDSTD) 描述软件状态变迁描述软件状态变迁 符号表示符号表示矩形矩形-系统状态系统状态箭头箭头-状态转变方向状态转变方向规则表达式规则表达式-事件事件/触发行为触发行为状状 态态1状 态2事件事件/触发行为触发行为STD例子20秒到/翻屏生成最新数据/翻屏半小时到/工控处理半分钟到/传送空闲/采集物品经过/计数采集PLC计数传送工控处理实时翻屏STD例子请求验证帐户主屏do:显示主屏幕do:要求密码帐户有效do:验证密码输入密码密码正

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 其他报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁