2.软件工程方法.ppt
《2.软件工程方法.ppt》由会员分享,可在线阅读,更多相关《2.软件工程方法.ppt(58页珍藏版)》请在课桌文档上搜索。
1、第2讲 软件工程方法,2023/3/10,2,内容提要,结构化分析、设计和程序设计基于数据流图的结构化分析基于数据流分析的结构化设计方法详细设计面向对象的方法面向对象的概念面向对象的分析,设计和编码,1.结构化分析,2023/3/10,4,1.1 结构化分析与数据流图,结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法数据流图描绘系统的逻辑模型,图中无具体的物理元素,只是描绘信息在系统中流动和处理的情况数据流图可以作为计算机人员与客户之间的通信工具软件设计的出发点,System=data+function,2023/3/10,5,1.2 数据流图符号/1,2023/3/10,6,1
2、.2 数据流图符号/2,2023/3/10,7,1.3 数据流图画法/1,数据流与程序流程图中用箭头表示的控制流有本质不同在数据流图中应描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件处理并不一定是一个程序,可以代表一系列程序、单个程序或者程序的一个模块,甚至人工处理过程一个数据存储也并不一定是一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等等通常在数据流图中忽略出错处理,也不包括如打开文件、关闭文件之类的内务处理数据流图的要点是描绘“做什么”,而不是“怎么做”,2023/3/10,8,1.3 数据流图画法/2,重复元素的画法有时数据的源点和终点相同数据存储有时
3、也要重复为了表示方便,代表同一事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画n-1条短斜线做标记,2023/3/10,9,1.3 数据流图画法/3,命名为数据流(或数据存储)命名名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)如果在为某个数据流(或数据存储)起名字时遇到了困难,则可能是因为数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难,2023/3/10,10,1.3 数据流图画法/4,为处理命名通常先为数据流命名,然后再为与之相关联的处理命名名字应该反映整个处理的功能,
4、而不是一部分名字最好由一个具体的及物动词,再加上一个具体的宾语构成通常名字中仅包括一个动词,如果必须用两个动词才能描述清楚,可能分成两个处理更恰当如果再为某个处理命名时遇到困难,则可能是发现了分解不当的迹象,应该重新分解数据源点/终点是目标系统的外围环境,采用它们在问题域中习惯使用的名字(如“采购员”,“仓库管理员”等),2023/3/10,11,1.4 层次数据流图/1,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,2023/3/10,12,1.4 层次数据流图/2,在多层数
5、据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,2023/3/10,13,1.5 数据流图例子/1,商店业务处理系统,2023/3/10,14,1.5 数据流图例子/2,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能数据流图绘制步骤首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流程经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点
6、和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,2023/3/10,15,1.5 数据流图例子/3,第一层数据流图,2023/3/10,16,1.5 数据流图例子/4,对销售进行细化:客户提出要求,根据商品名册编辑订单判断数据库中是否有该客户,如果没有要进行登记。根据商品库存进行订单检查如果有货,则下订单如果无货,产生暂存订单,通知采购部门订货,当货品到达后,采购部门发到货通知,此时,与暂存订单相对比,如果有货了,则下订单给会计部门发收款单,会计部门将据此开收据,同时,修改库存将发货票和收据返回给客户编写销售历史经
7、理可以查询库存,2023/3/10,17,1.5 数据流图例子/5,加细每一个加工框 销售细化,2023/3/10,18,1.5 数据流图例子/6,采购细化,2023/3/10,19,1.6 数据流图原则/1,数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系,2023/3/10,20,1.6 数据流图原则/2,规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数
8、据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流,2.结构化设计,2023/3/10,22,基本思想:DFD System HierarchyData Flow 的分类 变换流(Transform Flow):,事实上所有信息流都可归结为变换流,2.1 数据流分类/1,2023/3/10,23,事务流(Transaction Flow),T=Call one of the several subroutines depending on the type of th
9、e incoming transaction request.当信息流具有明显的“发射中心”时,可归结为事务流。,2.1 数据流分类/2,2023/3/10,24,2、分析设计 变换分析例:汽车数字仪表板的设计,功能:通过模-数转换实现传感器和微处理机接口;在发光二极管面板上显示数据;指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等;指示加速或减速;如果车速超过55mph,则发出警告铃声。,2.2 面向数据流的设计方法/1,2023/3/10,25,第一步:DFD的分界,先分出I、P、O三块,2.2 面向数据流的设计方法/2,2023/3/10,26,一般问题的一级分
10、解方法:,2.2 面向数据流的设计方法/3,2023/3/10,27,第二步:映射,2.2 面向数据流的设计方法/4,2023/3/10,28,例:,2.2 面向数据流的设计方法/5,2023/3/10,29,第三步:修改 本着高内聚、低耦合的原则。例:精化后的数字仪表板系统的软件结构。注:每个模块应附一简要说明描述 进出该模块的信息(接口描述);模块内部的信息;过程陈述,包括主要判定点及任务等;对约束和特殊特点的简短讨论。,2.2 面向数据流的设计方法/6,2023/3/10,30,事务分析,2.2 面向数据流的设计方法/7,2023/3/10,31,3、SD的总体过程:,优化的前题是:“G
11、et it to work,then make it fast.”,2.3 结构化设计过程,3.结构化编码,2023/3/10,33,3.1 结构化编码,结构程序设计的特点:自顶向下逐步求精;具有单入、单出的控制结构(取消GOTO语句)工具程序流程图(Program Flow Chart)盒图(Box Diagram)PAD(Problem Analysis Diagram),2023/3/10,34,本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好。系统有明确的边界定义,且系统结构依赖于系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 方法

链接地址:https://www.desk33.com/p-236012.html