《2.软件工程方法.ppt》由会员分享,可在线阅读,更多相关《2.软件工程方法.ppt(58页珍藏版)》请在优知文库上搜索。
1、2023-3-102w结构化分析、设计和程序设计结构化分析、设计和程序设计n基于数据流图的结构化分析基于数据流图的结构化分析n基于数据流分析的结构化设计方法基于数据流分析的结构化设计方法n详细设计详细设计w面向对象的方法面向对象的方法n面向对象的概念面向对象的概念n面向对象的分析,设计和编码面向对象的分析,设计和编码2023-3-104w结构化分析方法就是面向数据流自顶向下逐步求结构化分析方法就是面向数据流自顶向下逐步求精进行需求分析的方法精进行需求分析的方法w数据流图描绘系统的数据流图描绘系统的逻辑模型逻辑模型,图中无具体的物,图中无具体的物理元素,只是描绘理元素,只是描绘信息在系统中流动和
2、处理信息在系统中流动和处理的情的情况况w数据流图可以作为数据流图可以作为n计算机人员与客户之间的通信工具计算机人员与客户之间的通信工具n软件设计的出发点软件设计的出发点System = data + function2023-3-105inputData storagefunctionData flowoutput2023-3-1062023-3-107w数据流与程序流程图中用箭头表示的控制流有本质不同数据流与程序流程图中用箭头表示的控制流有本质不同w在数据流图中应描绘所有可能的数据流向,而不应该描在数据流图中应描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件绘出现某个数据流的条件w处
3、理并不一定是一个程序,可以代表一系列程序、单个处理并不一定是一个程序,可以代表一系列程序、单个程序或者程序的一个模块,甚至人工处理过程程序或者程序的一个模块,甚至人工处理过程w一个数据存储也并不一定是一个文件,它可以表示一个一个数据存储也并不一定是一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等文件、文件的一部分、数据库的元素或记录的一部分等等等w通常在数据流图中忽略出错处理,也不包括如打开文件、通常在数据流图中忽略出错处理,也不包括如打开文件、关闭文件之类的内务处理关闭文件之类的内务处理w数据流图的要点是描绘数据流图的要点是描绘“做什么做什么”,而不是,而不是“怎么做
4、怎么做”2023-3-108w重复元素的画法重复元素的画法有时数据的源点和终点相同有时数据的源点和终点相同数据存储有时也要重复数据存储有时也要重复为了表示方便,代表同一事物的同样符号在图中为了表示方便,代表同一事物的同样符号在图中出现在出现在n个地方,则在这个符号的一个角上画个地方,则在这个符号的一个角上画n-1条条短斜线做标记短斜线做标记2023-3-109w命名命名n为数据流(或数据存储)命名为数据流(或数据存储)命名名字应代表整个数据流(或数据存储)的内容,而不是仅仅名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分反映它的某些成分不要使用空洞的、缺乏具体含义的名字(如
5、不要使用空洞的、缺乏具体含义的名字(如“数据数据”、“信信息息”、“输入输入”之类)之类)如果在为某个数据流(或数据存储)起名字时遇到了困难,如果在为某个数据流(或数据存储)起名字时遇到了困难,则可能是因为数据流图分解不恰当造成的,应该试试重新分则可能是因为数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难解,看是否能克服这个困难2023-3-1010n为处理命名为处理命名通常先为数据流命名,然后再为与之相关联的处理命名通常先为数据流命名,然后再为与之相关联的处理命名名字应该反映整个处理的功能,而不是一部分名字应该反映整个处理的功能,而不是一部分名字最好由一个具体的及物动词,再加
6、上一个具体的宾语构名字最好由一个具体的及物动词,再加上一个具体的宾语构成成通常名字中仅包括一个动词,如果必须用两个动词才能描述通常名字中仅包括一个动词,如果必须用两个动词才能描述清楚,可能分成两个处理更恰当清楚,可能分成两个处理更恰当如果再为某个处理命名时遇到困难,则可能是发现了分解不如果再为某个处理命名时遇到困难,则可能是发现了分解不当的迹象,应该重新分解当的迹象,应该重新分解n数据源点数据源点/终点是目标系统的外围环境,采用它们在终点是目标系统的外围环境,采用它们在问题域中习惯使用的名字(如问题域中习惯使用的名字(如“采购员采购员”,“仓库管仓库管理员理员”等)等)2023-3-1011n
7、为了表达数据处理过程的数据加工情况,需要采用层次为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统和容易理解整个系统2023-3-1012n在多层数据流图中,顶层流图仅包含一个加工,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据数据,输出流是系统所输出数据n底层流图是指其加工不需再做
8、分解的数据流图,底层流图是指其加工不需再做分解的数据流图,它处在最底层它处在最底层n中间层流图则表示对其上层父图的细化。它的每中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。一加工可能继续细化,形成子图。2023-3-1013w商店业务处理系统商店业务处理系统2023-3-1014n这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能实现的功能n数据流图绘制步骤数据流图绘制步骤首先确定系统的输入和输出首先确定系统的输入和输出根据商店业务,画出顶层数据流图,以反映最主要业务处理流根据商店业务,画出顶
9、层数据流图,以反映最主要业务处理流程程经过分析,商店业务处理的主要功能应当有销售、采购、会计经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。三大项。主要数据流输入的源点和输出终点是顾客和供应商。然后从输入端开始,根据商店业务工作流程,画出数据流流经然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图的各加工框,逐步画到输出端,得到第一层数据流图2023-3-1015 2023-3-1016w对销售进行细化:对销售进行细化:n客户提出要求,根据商品名册编辑订单客户提出要求,根据商品名册编辑
10、订单判断数据库中是否有该客户,如果没有要进行登记。判断数据库中是否有该客户,如果没有要进行登记。n根据商品库存进行订单检查根据商品库存进行订单检查如果有货,则下订单如果有货,则下订单如果无货,产生暂存订单,通知采购部门订货,当货品到达后,采如果无货,产生暂存订单,通知采购部门订货,当货品到达后,采购部门发到货通知,此时,与暂存订单相对比,如果有货了,则下购部门发到货通知,此时,与暂存订单相对比,如果有货了,则下订单订单n给会计部门发收款单,会计部门将据此开收据,同时,修改库给会计部门发收款单,会计部门将据此开收据,同时,修改库存存n将发货票和收据返回给客户将发货票和收据返回给客户n编写销售历史
11、编写销售历史w经理可以查询库存经理可以查询库存2023-3-10172023-3-10182023-3-1019w数据流图上所有图形符号只限于前述四种基本图数据流图上所有图形符号只限于前述四种基本图形元素形元素w数据流图的主图必须包括前述四种基本元素,缺数据流图的主图必须包括前述四种基本元素,缺一不可一不可w数据流图的主图上的数据流必须封闭在外部实体数据流图的主图上的数据流必须封闭在外部实体之间之间w每个加工至少有一个输入数据流和一个输出数据每个加工至少有一个输入数据流和一个输出数据流流w在数据流图中,需按层给加工框编号。编号表明在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层
12、的亲子关系该加工所处层次及上下层的亲子关系2023-3-1020w规定任何一个数据流子图必须与它上一层的一个规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡一致。此即父图与子图的平衡w可以在数据流图中加入物质流,帮助用户理解数可以在数据流图中加入物质流,帮助用户理解数据流图据流图w图上每个元素都必须有名字图上每个元素都必须有名字w数据流图中不可夹带控制流数据流图中不可夹带控制流w初画时可以忽略琐碎的细节,以集中精力于主要初画时可以忽略琐碎的细节,以集中精力于主要数据流数据流2023-3-10
13、22w基本思想:基本思想:DFD System HierarchywData Flow 的分类的分类n 变换流变换流(Transform Flow):Internal representationInformationTransform flowOutgoingflowIncomingflowExternal representationTime事实上所事实上所有信息流有信息流都可归结都可归结为变换流为变换流2023-3-1023n 事务流事务流(Transaction Flow) TTransactionrequest Action paths T = Call one of the sev
14、eral subroutines depending on the type of the incoming transaction request.当信息流具有明显当信息流具有明显的的“发射中心发射中心”时,时,可归结为事务流。可归结为事务流。2023-3-1024w2、分析设计、分析设计w 变换分析变换分析w例:汽车数字仪表板的设计,功能:例:汽车数字仪表板的设计,功能: 通过模通过模 - 数转换实现传感器和微处理机接口;数转换实现传感器和微处理机接口; 在发光二极管面板上显示数据;在发光二极管面板上显示数据; 指示每小时英里数指示每小时英里数(mph),行驶的里程,每加仑油行行驶的里程,
15、每加仑油行驶的英里数驶的英里数(mpg)等等;等等; 指示加速或减速;指示加速或减速; 如果车速超过如果车速超过55mph ,则发出警告铃声。则发出警告铃声。2023-3-1025第一步:第一步:DFD的分界,先的分界,先分出分出I、P、O三块三块燃料流燃料流 传感器信号传感器信号SPS旋转信号旋转信号读读旋转旋转信号信号收集收集和求和求平均平均确定确定加加/ /减减速速转换转换成成转转/ /分分计算计算里程里程计算计算mph,超超速值速值产生产生加加/ /减减速显示速显示计算计算燃料燃料消耗消耗计算计算gph读和读和校核校核产生产生mpg显示显示产生产生mph显示显示发出发出铃声铃声产生产生
16、里程里程显示显示SPS SPS箭头指示箭头指示燃烧流燃烧流上箭头上箭头水平线水平线下箭头下箭头rpmrpmgphmphmpgmph超速值超速值英里英里显示显示铃声铃声mph显示显示mpg显示显示2023-3-1026一般问题的一级分解方法:数字仪表板数字仪表板控制控制数据转换数据转换控制控制驱动仪表板驱动仪表板接收传感器接收传感器信号信号MPIO2023-3-1027w第二步:映射第二步:映射ADCBMICBDA:每个处理直接对应一:每个处理直接对应一个下层模块。个下层模块。P:由边界向回溯,将每:由边界向回溯,将每个遇到的处理器映成相个遇到的处理器映成相应的层模块。应的层模块。I:由边界向外推,方法:由边界向外推,方法与与 类似类似OI2023-3-1028例: 数字仪表板数字仪表板控制控制数据转换数据转换控制控制驱动仪表板驱动仪表板接收传感器接收传感器信号信号计算计算gph读燃料流读燃料流转换成转换成rpm收集收集sps读旋转信号读旋转信号确定确定加加/ /减速减速计算计算mph计算计算mpg计算计算里程里程加加/ /减速减速显示显示显示显示mpg显示显示mph显示显示里程里程发出