软件工程3ppt课件

上传人:沈*** 文档编号:179079216 上传时间:2022-12-30 格式:PPT 页数:44 大小:811.02KB
收藏 版权申诉 举报 下载
软件工程3ppt课件_第1页
第1页 / 共44页
软件工程3ppt课件_第2页
第2页 / 共44页
软件工程3ppt课件_第3页
第3页 / 共44页
资源描述:

《软件工程3ppt课件》由会员分享,可在线阅读,更多相关《软件工程3ppt课件(44页珍藏版)》请在装配图网上搜索。

1、第第3 3章章 结构化分析结构化分析 面向数据流的需求分析方法面向数据流的需求分析方法 3.1 3.1 需求分析概述需求分析概述 3.2 3.2 需求建模需求建模l l需求分析是发现、求精、建模、规格说明和复审的过程。需求分析是发现、求精、建模、规格说明和复审的过程。l l需求分析的任务(过程):需求分析的任务(过程):与用户沟通的途径:与用户沟通的途径:访谈(参考人工操作过程)、参考类似系统、快速原型技术访谈(参考人工操作过程)、参考类似系统、快速原型技术 需求分类:需求分类:功能需求功能需求(系统必须提供的服务系统必须提供的服务);性能需求性能需求(系统必须满足的约束系统必须满足的约束);

2、可靠性和可用性需求可靠性和可用性需求(定量地指定系统的可靠性;量化用户可以使用系定量地指定系统的可靠性;量化用户可以使用系 统的程度统的程度);出错处理需求出错处理需求(系统对环境错误应该如何响应系统对环境错误应该如何响应);接口需求接口需求(系统与其它环境通信的格式系统与其它环境通信的格式);设计约束设计约束(设计或实现系统时应遵守的限制条件设计或实现系统时应遵守的限制条件);逆向需求逆向需求(说明软件系统不应该做什么说明软件系统不应该做什么)1 1准确了解用户情况和需要解决的问题:准确了解用户情况和需要解决的问题:l l需求分析的任务(过程):需求分析的任务(过程):2 2对需求反复求精和

3、细化:对需求反复求精和细化:得出对目标系统完整、准确和具体的要求得出对目标系统完整、准确和具体的要求4 4编制需求规格说明书编制需求规格说明书5 5进行需求分析的评审进行需求分析的评审3 3需求建模:需求建模:对上述获得的需求做出抽象、即进行无歧义的书面描述。对上述获得的需求做出抽象、即进行无歧义的书面描述。l l模型模型是为了理解事物而对事物做出的一种抽象,是对事物的一是为了理解事物而对事物做出的一种抽象,是对事物的一 种无歧义的书面描述;通常,模型由一组图形符号和组织这些种无歧义的书面描述;通常,模型由一组图形符号和组织这些 符号的规则组成。符号的规则组成。3.2.1 3.2.1 结构化分

4、析技术结构化分析技术 3.2.2 3.2.2 分析模型和规格说明分析模型和规格说明3.2.3 3.2.3 实体关系图实体关系图3.2.4 3.2.4 数据流图(数据流图(DFDDFD)例例1 1:功能模型:功能模型-机票预订机票预订3.2.5 3.2.5 状态转换图状态转换图 例例2 2:行为模型:行为模型-电话系统状态图电话系统状态图3.2.6 3.2.6 数据字典数据字典 结构化分析模型的结构结构化分析模型的结构 1.1.数据字典(分析模型的核心):数据字典(分析模型的核心):描述软件使用或产生的所描述软件使用或产生的所 有数据对象。围绕着这个核心有三种不同的图。有数据对象。围绕着这个核心

5、有三种不同的图。2.2.实体一关系图(数据模型):实体一关系图(数据模型):描述数据对象及之间的关系描述数据对象及之间的关系3.3.数据流图(功能模型):数据流图(功能模型):(1 1)指出当数据在软件系统中移动时怎样被变换;)指出当数据在软件系统中移动时怎样被变换;(2 2)描绘处理数据流的)描绘处理数据流的功能功能和和子功能子功能。l l结构化分析模型的组成内容:结构化分析模型的组成内容:4.4.状态转换图(行为模型):状态转换图(行为模型):指明了作为外部事件结果的系指明了作为外部事件结果的系 统行为。状态转换图描绘了系统的各种行为模式统行为。状态转换图描绘了系统的各种行为模式(称为称为

6、“状状 态态”)和在不同状态间转换的方式。和在不同状态间转换的方式。l l软件需求规格说明的框架软件需求规格说明的框架 l l实体关系图实体关系图描述数据对象、数据对象之间的联系,描述数据对象、数据对象之间的联系,是数据库设计的工具之一。是数据库设计的工具之一。l l实体关系图包含三种相互关联的信息:实体关系图包含三种相互关联的信息:例:例:“教学管理信息系统教学管理信息系统”中的教师、学生、课程等都是数据对象中的教师、学生、课程等都是数据对象(2 2)数据对象的属性:)数据对象的属性:定义了数据对象的性质定义了数据对象的性质 例:例:学生的属性:学号、姓名、性别、出生时间、所在系学生的属性:

7、学号、姓名、性别、出生时间、所在系(1 1)数据对象(实体):)数据对象(实体):软件必须理解的信息软件必须理解的信息(3 3)数据对象之间的相互关系:)数据对象之间的相互关系:数据对象间相互联系的方式数据对象间相互联系的方式 一对一联系(一对一联系(1 1:1 1):):部门与经理部门与经理 一对多联系(一对多联系(1 1:N N):):教师与课程教师与课程 多对多联系(多对多联系(M M:N N):):学生与课程学生与课程l l实体关系图(实体关系图(E ER R图)中的图形符号:图)中的图形符号:(图(图3.23.2)(1 1)矩形框:表示数据对象(实体)矩形框:表示数据对象(实体)(2

8、 2)圆角矩形框或椭圆框:表示属性)圆角矩形框或椭圆框:表示属性 (3 3)菱形框:表示关系)菱形框:表示关系 (4 4)无向边)无向边例例:某工厂:某工厂库存管理库存管理的的E-RE-R模型模型 l l实体之间的联系:实体之间的联系:一个仓库可存放多种零件,一种零件可存放在多个仓库中:一个仓库可存放多种零件,一种零件可存放在多个仓库中:仓库和零件具有仓库和零件具有多对多多对多联系联系 一个仓库有多个职工当管理员,一个职工只能在一个仓库工作:一个仓库有多个职工当管理员,一个职工只能在一个仓库工作:仓库与职工之间是仓库与职工之间是一对多一对多联系联系 库存量仓库职工零件库存工作nm1n库存量仓库

9、职工零件库存工作nm1n仓库号职工号电话号零件号面积姓名年龄职称规格描述名称单价完整的实体完整的实体-联系图联系图 l l数据流图(数据流图(Data Flow Diagram,DFD)是一种用于功能建模的图形化技术,它描述系统中的信是一种用于功能建模的图形化技术,它描述系统中的信 息流或数据从输入移动到输出的过程中所经受的变换。息流或数据从输入移动到输出的过程中所经受的变换。l l功能建模的基本思想:功能建模的基本思想:按照软件内部数据传递、变换关系,自顶向下按照软件内部数据传递、变换关系,自顶向下逐层分解逐层分解 软件的功能软件的功能,建立软件系统的逻辑模型。,建立软件系统的逻辑模型。1.

10、1.数据流图中的基本符号数据流图中的基本符号(图(图3.33.3)处理处理(系统的功能或子功能)(系统的功能或子功能)外部实体外部实体(输入数据的(输入数据的源点源点或输出数据的终或输出数据的终点点)数据流数据流(系统中的动态数据)(系统中的动态数据)数据存储数据存储(系统中的静态数据)(系统中的静态数据)例:一张简单的数据流图:例:一张简单的数据流图:数据流数据流X X从源点从源点S S流出被加工流出被加工P1P1变换成数据流变换成数据流Y Y,加工,加工 P1P1执行时要访问数据存储执行时要访问数据存储F F;数据流;数据流Y Y又被加工又被加工P2P2变换变换 成数据流成数据流Z Z。例

11、:例:储户到银行取款的数据流图储户到银行取款的数据流图 储户储户检验检验取款单取款单储户储户存折存折登记登记2.1清单清单取款取款信息信息存折存折账卡账卡检验出问题检验出问题付款付款2.2付款付款信息信息检验检验1帐户信息帐户信息帐户帐户更新更新存折存折更新更新 2.2.数据流图的画法步骤:数据流图的画法步骤:自外向内,自顶向下,逐层细化,逐步求精自外向内,自顶向下,逐层细化,逐步求精 画顶层数据流图画顶层数据流图:包括系统的包括系统的输入数据流输入数据流和和输出数据流输出数据流、系统的、系统的源点源点 和和终点终点、一个处理一个处理(代表系统)。(代表系统)。画分层数据流图画分层数据流图:按

12、功能按功能将一个处理逐步细化成若干处理将一个处理逐步细化成若干处理;最低层;最低层 数据流图中的处理称为数据流图中的处理称为“原子处理原子处理”,表示独立的功能。,表示独立的功能。l l顶层顶层DFDDFD表示系统的范围,以及它和外界的数据交换关系。表示系统的范围,以及它和外界的数据交换关系。l l画数据流图的注意事项:画数据流图的注意事项:每个处理至少有一个输入数据流和一个输出数据流。每个处理至少有一个输入数据流和一个输出数据流。数据流图的细化过程中,要保持信息的连续性数据流图的细化过程中,要保持信息的连续性 当把一个处理分解为一系列处理时,分解前和分解后当把一个处理分解为一系列处理时,分解

13、前和分解后 的输入的输入/输出数据流必须相同输出数据流必须相同 图中每个元素都要命名。图中每个元素都要命名。给加工合理编号。给加工合理编号。画分层数据流图的过程画分层数据流图的过程 l l数据流图的绘制步骤数据流图的绘制步骤(1 1)顶层)顶层DFDDFD:确定整个系统的确定整个系统的输入数据流输入数据流及其及其源点源点、输出数据流输出数据流及其及其 终点终点;把整个系统作为;把整个系统作为一个处理一个处理(加工)。(加工)。(2 2)一层)一层DFDDFD:确定系统的主要处理功能,按此将确定系统的主要处理功能,按此将整个系统整个系统(顶层(顶层DFDDFD中中 的处理)的处理)分解成若干个处

14、理分解成若干个处理(加工),确定每个处理的(加工),确定每个处理的 输入与输出数据流以及与这些处理有关的输入与输出数据流以及与这些处理有关的数据存储数据存储。(3 3)根据自顶向下,)根据自顶向下,逐层分解逐层分解的原则,对的原则,对上层图中全部或部上层图中全部或部 分处理进行分解分处理进行分解。(4 4)重复步骤()重复步骤(3 3),直到逐层分解结束。),直到逐层分解结束。例:图书预订系统例:图书预订系统的功能为:的功能为:顾客将图书订单交由系统处理,系统首先依据图书顾客将图书订单交由系统处理,系统首先依据图书 目录对订单进行检查并对合格订单进行处理,处理过程目录对订单进行检查并对合格订单

15、进行处理,处理过程 中根据顾客情况和订单数目将订单分为优先订单与常规中根据顾客情况和订单数目将订单分为优先订单与常规 订单两种,随时处理优先订单,定期处理常规订单。最订单两种,随时处理优先订单,定期处理常规订单。最 后系统根据所处理的订单汇总,并按出版社要求发给出后系统根据所处理的订单汇总,并按出版社要求发给出 版社。版社。画出图书预订系统的各层数据流图。画出图书预订系统的各层数据流图。顶层顶层DFDDFD:一层一层DFDDFD:二层二层DFDDFD:数据字典是为了描述在结构化分析过程中定义的对象的数据字典是为了描述在结构化分析过程中定义的对象的 内容,而使用的一种半形式化的工具。内容,而使用

16、的一种半形式化的工具。数据字典是所有与系统相关的数据元素的有组织的列表,数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格的定义,从而并且包含了对这些数据元素的精确、严格的定义,从而 使得用户和系统分析员双方对输入、输出、存储的成分使得用户和系统分析员双方对输入、输出、存储的成分 甚至中间计算结果有共同的理解。甚至中间计算结果有共同的理解。(1)(1)数据字典的作用:数据字典的作用:用于描述结构化分析过程中定义的对象。用于描述结构化分析过程中定义的对象。确保开发人员使用统一的数据定义。确保开发人员使用统一的数据定义。数据字典中定义的内容是系统设计、系统实施与

17、维护的数据字典中定义的内容是系统设计、系统实施与维护的 重要依据。重要依据。(2)(2)数据字典的内容:数据字典的内容:l l包括以下元素的定义:包括以下元素的定义:数据流数据流及及数据项、数据存储、数据项、数据存储、处理处理(3)(3)数据字典的定义包括以下内容:数据字典的定义包括以下内容:一般信息(名字、别名、描述)一般信息(名字、别名、描述)定义或内容描述(数据类型、长度、结构)定义或内容描述(数据类型、长度、结构)使用地点与方式(输入使用地点与方式(输入/输出输出/本地本地/外部等)外部等)控制信息(来源、用户、修改权、使用权)控制信息(来源、用户、修改权、使用权)其它信息(父结构、从

18、属结构、其它信息(父结构、从属结构、物理位置物理位置文件、数据库)文件、数据库)例:定货管理系统的部分数据字典:例:定货管理系统的部分数据字典:(4)(4)数据字典中数据元素的描述:数据字典中数据元素的描述:l l 数据流或数据存储由数据项组成,组成方式有以下数据流或数据存储由数据项组成,组成方式有以下 四种类型:四种类型:顺序顺序:符号符号+ll作用:作用:以确定次序连接两个或多个分量以确定次序连接两个或多个分量 例:例:取款单帐号取款单帐号+户名户名+密码密码+储蓄类型储蓄类型+收支记录收支记录选择:选择:符号符号 和和 ll作用:作用:从两个或多个可能的元素中选择一个从两个或多个可能的元

19、素中选择一个(即从即从 方括弧内列出的若干个分量中选择一个,用方括弧内列出的若干个分量中选择一个,用“”号分开供选择的分量号分开供选择的分量)例:例:储蓄类型储蓄类型112 233可选可选:符号符号()ll作用:作用:圆括号中的分量可有可无圆括号中的分量可有可无 例:例:运动员运动员=(队名)(队名)+号码号码+姓名姓名+1 1 项目名项目名 3 3重复:重复:符号符号m m n n或或 ll作用:作用:将指定分量重复若干次将指定分量重复若干次(即,重复花括弧内的分量即,重复花括弧内的分量)例:例:发票记录发票记录1 1 货名货名+数量数量+单价单价+总价总价 5 5 例:例:收支记录收支记录

20、=1 1 日期日期+摘要摘要+存取金额存取金额+余额余额+操作员操作员+备注备注 n nmn例例1 1:某种程序设计语言规定,用户说明的标识符是长度某种程序设计语言规定,用户说明的标识符是长度 不超过不超过8 8个字符的字符串,第一个字符必须是字母,个字符的字符串,第一个字符必须是字母,其它字符既可以是字母也可以是数字。标识符命名其它字符既可以是字母也可以是数字。标识符命名 规则可定义如下:规则可定义如下:标识符标识符 =字母字符字母字符 +字母数字串字母数字串字母数字串字母数字串 =0 0 字母或数字字母或数字 7 7字母或数字字母或数字 =字母字符字母字符数字字符数字字符 例例2 2:数据

21、流数据流 “发票发票”由由“编号编号”和和1 1至至5 5个个“发票行发票行”组成,组成,而每个而每个“发票行发票行”又由又由“货名货名”、“数量数量”、“单价单价”和和“总价总价”组成,则数据词典中的组成,则数据词典中的发票发票”条目是:条目是:也可将也可将发票发票”条目表示如下:条目表示如下:发票发票 =编号编号+货名货名 +数量数量 +单价单价 +总价总价 1 15 5或或 发票发票 =编号编号+1 1 货名货名 +数量数量 +单价单价 +总价总价 5 5发票发票 =编号编号+1 1 发票行发票行 5 5发票行发票行 =货名货名 +数量数量 +单价单价 十十 总价总价在开发大型软件系统的

22、过程中,数据字典的规模和在开发大型软件系统的过程中,数据字典的规模和 复杂程度都迅速增加,通常需要使用复杂程度都迅速增加,通常需要使用CASE工具来创工具来创 建和维护数据字典建和维护数据字典计算机辅助软件工程通常称为计算机辅助软件工程通常称为CASE(Computer Aided Software Engineering),是指为软件开发提供的一组,是指为软件开发提供的一组 自动化的、集成的软件工具自动化的、集成的软件工具 1 1行为模型:行为模型:描述系统的描述系统的状态状态如何响应外部如何响应外部事件事件进行推移进行推移(1 1)状态)状态指任何可以被观察到的指任何可以被观察到的系统行为

23、系统行为;一个状态代表系统;一个状态代表系统 的一种行为模式的一种行为模式。l l状态规定了系统对事件的响应方式。系统对事件的响应,既状态规定了系统对事件的响应方式。系统对事件的响应,既 可以是做一个可以是做一个(或一系列或一系列)动作,也可以是仅仅改变系统本身动作,也可以是仅仅改变系统本身 的状态。的状态。(2 2)事件)事件表示在某个特定时刻发生的事情,它是对引起系统从一表示在某个特定时刻发生的事情,它是对引起系统从一 个状态转换到另一个状态的外界事件的抽象。个状态转换到另一个状态的外界事件的抽象。l l事件是引起系统状态转换的事件是引起系统状态转换的控制信息控制信息。例如,例如,内部时钟

24、指明某个内部时钟指明某个规定的时间已经到达规定的时间已经到达、鼠标点击鼠标点击 等都是事件等都是事件2.2.状态转换图的画法:状态转换图的画法:l l 一个一个状态状态代表系统的一种行为模式代表系统的一种行为模式 l l 事件事件是引起系统状态转换的控制信息是引起系统状态转换的控制信息 例、操作系统中一个进程的状态转换图例、操作系统中一个进程的状态转换图运行运行发生中断发生中断中断处理完毕中断处理完毕用完用完CPU分到分到CPU等待等待就绪就绪完成完成结束结束 l l复杂系统状态转换图的画法:复杂系统状态转换图的画法:先分层表示,再合并。先分层表示,再合并。例:例:复印机工作流程分三种情况,用

25、状态转换图描述:复印机工作流程分三种情况,用状态转换图描述:闲置状态闲置状态 复印状态复印状态 闲置状态闲置状态 闲置状态闲置状态 复印状态复印状态 装纸状态装纸状态 闲置状态闲置状态 复印状态复印状态 闲置状态闲置状态 闲置状态闲置状态 复印状态复印状态 诊断状态诊断状态 闲置状态闲置状态 复印状态复印状态 闲置状态闲置状态复印完成复印完成复印命令复印命令复印命令复印命令缺纸缺纸纸满纸满复印完成复印完成继续复印继续复印复印命令复印命令出错出错故障排除故障排除复印完成复印完成继续复印继续复印异常情况二异常情况二之状态转换图:之状态转换图:开机开机复印复印 复印完成复印完成 故障排除故障排除出错

26、出错 闲置闲置复印复印诊断诊断开机开机复印完成复印完成出错出错 故障排除故障排除缺纸缺纸纸满纸满 复印复印 闲置闲置复印复印诊断诊断装纸装纸完整完整的状态转换图:的状态转换图:开机开机复印复印 复印完成复印完成复印复印闲置闲置正常情况正常情况状态转换图:状态转换图:开机开机复印复印 复印完成复印完成缺纸缺纸 纸满纸满闲置闲置装装纸纸复印复印异常情况一异常情况一之状态转换图:之状态转换图:例:使用例:使用DFDDFD表示定货管理系统的功能表示定货管理系统的功能 一家工厂的一家工厂的采购部采购部每天需要一张每天需要一张定货报表定货报表,报表按,报表按零件编号排序、列出所有需要再次定货的零件。对于需

27、零件编号排序、列出所有需要再次定货的零件。对于需要订货的零件列出其零件编号、零件名称、定货数量、要订货的零件列出其零件编号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库目前价格、主要供应者、次要供应者。零件入库或出库称为称为事务事务,通过放在仓库中的终端把事务报告给,通过放在仓库中的终端把事务报告给定货系定货系统统。当某种零件的库存量少于临界值时就应该再次定货。当某种零件的库存量少于临界值时就应该再次定货。第一步第一步 顶层数据流图(基本系统模型):顶层数据流图(基本系统模型):源点:仓库管理员源点:仓库管理员 终点:采购员终点:采购员 处理:定货系统处理:定货系统 数

28、据流:事务数据流:事务(从仓库管理员到系统从仓库管理员到系统););定货报表定货报表(从系统到采购员从系统到采购员)第二步第二步 一层数据流图一层数据流图(功能级数据流图功能级数据流图):将顶层数据流图中的处理(定货系统)进行功能分解将顶层数据流图中的处理(定货系统)进行功能分解 处理事务处理事务和和产生报表产生报表两部分;两部分;考虑与处理有关的数据存储考虑与处理有关的数据存储 库存清单库存清单和和定货信息定货信息;第三步第三步 二层数据流图二层数据流图:将一层数据流图中的将一层数据流图中的事务处理事务处理进一步分解为进一步分解为 接收事务接收事务,更新库存清单更新库存清单、处理定货处理定货

29、三部分。三部分。1 1结构化方法:结构化方法:根据软件生存周期形成了一整套的结构化方法系列(结构根据软件生存周期形成了一整套的结构化方法系列(结构 化分析、结构化设计和结构化实现)化分析、结构化设计和结构化实现)l l结构化方法总的结构化方法总的指导思想:指导思想:自顶向下、逐步求精自顶向下、逐步求精 l l结构化方法的结构化方法的基本原则:基本原则:抽象和功能分解抽象和功能分解(分而治之分而治之)。l l结构化方法结构化方法围绕实现处理功能的围绕实现处理功能的“过程过程”来构造软件系统来构造软件系统,特别适合能够预先指定开发需求的系统特别适合能够预先指定开发需求的系统 2 2结构化分析实质上是一种创建模型的活动结构化分析实质上是一种创建模型的活动:通过需求分析而建立的分析模型必须达到下述的三个通过需求分析而建立的分析模型必须达到下述的三个 基本目标:基本目标:(1)(1)描述用户的需求;描述用户的需求;(2)(2)奠定软件设计的基础;奠定软件设计的基础;(3)(3)定义一组需求,一旦开发出软件产品之后,就可以定义一组需求,一旦开发出软件产品之后,就可以 用这组需求作为软件测试的依据,并作为验收的标用这组需求作为软件测试的依据,并作为验收的标 准来验收该产品。准来验收该产品。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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