软件工程课件 第4章 总体设计(XXXX0416)

PPT
  • 阅读 205 次
  • 下载 0 次
  • 页数 57 页
  • 大小 2.027 MB
  • 2023-07-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档22.00 元 加入VIP免费下载
此文档由【精品优选】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
软件工程课件 第4章 总体设计(XXXX0416)
可在后台配置第一页与第二页中间广告代码
软件工程课件 第4章 总体设计(XXXX0416)
可在后台配置第二页与第三页中间广告代码
软件工程课件 第4章 总体设计(XXXX0416)
可在后台配置第三页与第四页中间广告代码
软件工程课件 第4章 总体设计(XXXX0416)
软件工程课件 第4章 总体设计(XXXX0416)
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 57
  • 收藏
  • 违规举报
  • © 版权认领
下载文档22.00 元 加入VIP免费下载
文本内容

【文档说明】软件工程课件 第4章 总体设计(XXXX0416).pptx,共(57)页,2.027 MB,由精品优选上传

转载请保留链接:https://www.ichengzhen.cn/view-290968.html

以下为本文档部分文字说明:

第4章总体设计计算机与软件学院毕硕本LOADINGLOADINGDGIL第4章总体设计案例分析一设计原理结构程序设计启发规则面向数据流的设计方法教学单位教师介绍南京信息工程大学NANJINGUNIVERSITYOFINFORMATION

SCIENCE&TECHNOLOGYInstructor:BiShuoben(毕硕本)Email:bishuoben@163.comTel:025-58699833(H)SoftwareEngineering4.44.14.24.34.5第4章总体设计计算机与软件学院毕硕

本4.1案例分析一—招聘考试成绩管理系统数据库结构设计系统结构设计设计测试方案第4章总体设计计算机与软件学院毕硕本4.1案例分析一—招聘考试成绩管理系统5.1.1数据库结构设计管理员数据表帐号密码考场号地点最多人数准考证号、姓名、

性别、地区、出生年月、地址、专业、政治、英语、专业课、总分、名次、是否录用、录用单位。准考证号、姓名、性别、专业、录用单位、总分考场数据表考生数据表录用考生第4章总体设计计算机与软件学院毕硕本4.1案例分

析一—招聘考试成绩管理系统5.1.2系统结构设计一二三确定出各个模块及其关系。数据流图需进一步细化。用层次图或结构图来表示。第4章总体设计计算机与软件学院毕硕本招聘考试成绩管理系统HIPO图第4章总体设计计算机与软件学院毕硕本4.1案例分析一—招聘考试成绩管理系统5.1.3设计测试方案录用

模块主要测试考生准考证号的生成是否正确。进行各种测试条件的测试。分考生成绩输入、成绩查询、打印成绩单三个模块。主要测试考生成绩输入界面设计是否合理、输入后成绩总分的计算及排序是否正确。Text考前处理模块成绩信息模块测试输入界面是否正确

、合理;录用结果的输出与输入是否一致。第4章总体设计计算机与软件学院毕硕本4.2案例分析二—高校工资管理系统从完整的工资管理系统数据流图出发事务数据和人事数据沿两条输入通路进入系统输出数据沿着一条输出通路离开系统,数据流图中没有明显的事务中心。第4章总体设计计算机与软件学院毕硕本4.2案例分

析二—高校工资管理系统1、分析确定输入流和输出流的边界,以孤立出变换中心。第4章总体设计计算机与软件学院毕硕本4.2案例分析二—高校工资管理系统2、完成“第一级分解”。就是确定系统的总体控制结构。通常变换分析得到的系统

高层结构是一个“三叉”的控制结构。工资管理系统的第一层分解第4章总体设计计算机与软件学院毕硕本4.2案例分析二—高校工资管理系统3、完成“第二级分解”。就是把数据流图中的每个处理映射成软件结构中的一个适当模块。从

变换中心的边界开始沿着输入通路向外移动,把输入通路中每个处理映射成软件结构中“输入信息处理控制模块”控制下的一个低层模块。然后沿输出通路向外移动,把输出通路中每个处理映射成直接或间接接受“输出信息处理控制模块”控制的一个低层模块。最后把变换中心内的每个处理映射成受“变换中心控制模块”控制的一个

低层模块。变换分析的映射原则第4章总体设计计算机与软件学院毕硕本4.2案例分析二—高校工资管理系统第二级分解第4章总体设计计算机与软件学院毕硕本4.2案例分析二—高校工资管理系统4、对工资管理系统的初步设计结果进行优化。优化后的工资管理系统软件结构分解第4章总体设计计算机与软件学院毕

硕本4.3设计原理模块化就是把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能,把这些模块集成起来构成一个整体,可以完成指定的功能满足用户的需求。5.3.1模块化第4章总体设计计算机与软件学院毕硕本4.3设计

原理模块化和软件成本第4章总体设计计算机与软件学院毕硕本4.3设计原理抽象就是抽出事物的本质特性而暂时不考虑它们的细节。软件工程过程的每一步都是对软件解法的抽象层次的一次精化。5.3.2抽象第4章总体设计计算机与软件学院毕硕本

4.3设计原理达到了抽象的最低层可行性研究需求分析总体设计到详细设计写出源程序软件工程过程的每一步软件解法是使用在问题环境内熟悉的方式描述的抽象的程度也就随之减少了软件作为系统的一个完整部件第4章总体设计计算机与

软件学院毕硕本4.3设计原理模块化的概念,与抽象是紧密相关的。随着软件开发工程的进展,在软件结构每一层中的模块,表示了对软件抽象层次的一次精化。软件结构顶层的模块,控制了系统的主要功能并且影响全局;在软件结构底层的模块,完成对数据的一个具体处理。第4章总体设计计算机与软件学院毕硕本4

.3设计原理⚫把抽象是:“为了能集中精力解决主要问题而尽量推迟对问题细节的考虑。”抽象与求精是一对互补的概念。5.3.3逐步求精抽象使得设计者能够说明过程和数据,同时却忽略低层细节。求精则帮助设计者在设计过程中逐步揭示出低层细节。第4章总体设计计算机与软件学院毕硕本4.3设计原理5.3.4信息隐藏

和局部化局部化的概念和信息隐藏概念是密切相关的。所谓局部化是指把一些关系密切的软件元素物理地放得彼此靠近。信息隐藏原理指出:应该这样设计和确定模块,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。第4章总体设计计算机与软件学院毕硕本4.3设计原理模

块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果。开发具有独立功能而且和其他模块之间没有过多的相互作用的模块,就可以做到模块独立。⚫耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;⚫内聚衡量一个模块内部各个元素彼此结合的紧密程度。5.

3.5模块独立第4章总体设计计算机与软件学院毕硕本4.3设计原理•内聚:模块各元素执行相同的任务•内聚级别:偶然内聚逻辑内聚时间内聚过程内聚通信内聚顺序内聚功能内聚最差最好1.内聚第4章总体设计计算机与软件学院毕硕本

4.3设计原理•偶然内聚:为方便把不相干的元素组合在一起•严重的缺点:产品的可维护性退化;模块是不可复用的,增加软件成本。•解决途径:将模块分成更小的模块,每个小模块执行一个操作。低内聚第4章总体设计计算

机与软件学院毕硕本4.3设计原理•逻辑内聚:把逻辑上相似的功能结合到一个模块中。•缺点:会增加开关量、不易修改、不易理解、效率低等问题。•解决途径:尽量避免这种逻辑性内聚。低内聚第4章总体设计计算机与软件学院毕硕本4.3设计原理•时间内聚:某段时间执行的若干功能任务放在同一模

块中•例如:系统的初始化•问题:不同的功能混在一个模块中,有时共用部分编码,使局部功能的修改牵动全局。低内聚第4章总体设计计算机与软件学院毕硕本4.3设计原理•过程内聚:模块中的各功能元素相关,并且按特

定次序执行•例如:读写并更新数据记录中内聚enterdatacheckdatamanipulatedata第4章总体设计计算机与软件学院毕硕本4.3设计原理•通信内聚:模块中的成分需用同样数据•例如:1.某模块的

各成分都利用一符号表进行操作;2.从同一磁带上读取不相干的数据。•问题:可能破坏独立性。中内聚第4章总体设计计算机与软件学院毕硕本4.3设计原理•顺序内聚:模块的输出是下一模块的输入。模块的各成分利用相同的输入或产生相同的输出。•

功能内聚:为完成一个任务把所需的全部功能组合在一起。•原则:力争高内聚和识别低内聚,可以使得设计的软件具有较高的功能独立性。高内聚第4章总体设计计算机与软件学院毕硕本4.3设计原理计算多个地点的每日平均温度功能内聚初始化

,“求和”并打开文件偶然内聚关闭文件并打印平均温度偶然内聚创建新的温度记录功能内聚存储温度记录功能内聚读取地点、时间和温度功能内聚编辑地点、时间和温度字段逻辑内聚存储特定地点的温度功能内聚??内聚示例第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫耦合是度量系统中模块

之间的交互程度。⚫耦合从低到高依次为:非直接耦合(最好),数据耦合,标记耦合,控制耦合,外部耦合,公共耦合和内容耦合(最差)。2.耦合GreatdealofdependenceIndependentHighlycoupledLooselycoupledUncoupled☺第4章总体设计计算机

与软件学院毕硕本4.3设计原理⚫内容耦合contentcoupling⚫如果两个模块中的一个直接引用了另一个模块的内容,则它们之间是内容耦合。2.耦合例1:A访问C的内部数据或不通过正常入口而转入C的内部。……ABCDA:……………………gotoC1……………………C:………………

……C1:…………第4章总体设计计算机与软件学院毕硕本4.3设计原理2.耦合例2:部分代码重叠(常出现在汇编程序中)例3:一个模块有多个入口(功能)BAA:………………………………entry1:………………………………entry2:………………………………Theleastde

sirablemustbeavoided第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫公共耦合commoncoupling⚫如果两个模块都可以存取相同的全局数据,则它们之间是公共耦合。2.耦合Global:V1V2A:……………………A1=V1+V2……………………B:……………………V1

=B1……………………Global:V1V2A:……………………V1++……………………B:……………………V2=B1+V1……………………第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫公共耦合存在的问题:⚫

公共部分的改动将影响所有调用它的模块;⚫公共部分的数据存取无法控制;⚫复杂程度随耦合模块的个数增加而增加。⚫解决方法:⚫通过使用信息隐藏来避免公共耦合。2.耦合第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫外部耦合externalcoupling⚫当模块与软件的外部

环境联结在一起,并受到约束时就出现较高程度的耦合,则它们之间为外部耦合。2.耦合ANMLFEDCBOP第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫控制耦合controlcoupling⚫如果两个模块中的一个模块给另一个模块传递控制信息,则它们具有控制耦合。2.耦合AB

FlagF2F1Fn…………Flag特点:接口单一,但仍然影响被控模块的内部逻辑。第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫标记耦合stampcoupling⚫如果两个模块都要使用同一数据结构的一部分,不是采用全局公共数据区共享,而是通过模块结构传递数据

结构的一部分,则它们之间为标记耦合。⚫数据耦合datacoupling⚫被调用模块的输入与输出是简单的参数或者是数据结构(该数据结构中的所有元素为被调用的模块使用),则它们之间为数据耦合。⚫非直接耦合nodirectcoupling⚫两个模块之间没有联系,则它们之间为非直接耦合。2

.耦合☺Themostdesirable.第4章总体设计计算机与软件学院毕硕本4.3设计原理⚫实现低耦合,采取下列措施:⚫耦合方式⚫采用非直接耦合,不采用直接耦合。⚫传递信息类型⚫尽量使用数据耦合,少采用控制耦合,外部耦合和公共耦合限制使用。⚫耦合数量⚫模块间相互调用时,

传递参数最好只有一个。2.耦合第4章总体设计计算机与软件学院毕硕本4.4启发规则1.争取低耦合、高内聚⚫增加内聚、减少耦合2.模块规模适中⚫过大,分解不充分,不易理解;太小,则开销过大、接口复杂。3.适当控制模块结构参数

⚫深度=分层的层数。过大表示分工过细。⚫宽度=同一层上模块数的最大值。过大,表示系统复杂度大。第4章总体设计计算机与软件学院毕硕本4.4启发规则⚫软件结构第4章总体设计计算机与软件学院毕硕本4.4启发规则扇出=一个模块直接调用\控制的模块数。3fan-ou

t9AA的扇出AA的扇入扇入=直接调用该模块的模块数在不破坏独立性的前提下,fan-in大的比较好。第4章总体设计计算机与软件学院毕硕本4.4启发规则⚫尽可能减少高扇出结构,随着深度增大扇入⚫如果

一个模块的扇出数过大,就意味着该模块过分复杂,需要协调和控制过多的下属模块。应当适当增加中间层次的控制模块。⚫一般来说,顶层扇出高,中间扇出少,低层高扇入。第4章总体设计计算机与软件学院毕硕本4.4启发规则4.模

块的作用范围保持在该模块的控制范围内⚫控制域指该模块本身以及所有直接或间接从属于它的模块。⚫作用域是指该模块中一个判断所影响的所有其它模块;控制域MACBM的控制域为{M,A,B,C}M的作用域为{M,A

,C}作用域:M中的一个判定所影响的模块。第4章总体设计计算机与软件学院毕硕本4.4启发规则⚫例:A:…………if……thengotoB1……………………B:……………………B1:……………………作用域在控制域内A:

…………if……thengotoM1……………………M:……………………M1:gotoC1……………………作用域超出了控制域改进方法之一,可以把A中的if移到M中;改进方法之二,可以把C移到A下面。MACB第4章总体设计计算机与软件学院毕硕本4.4启发规则5.

降低接口的复杂程度⚫模块接口的复杂性是引起软件错误的一个主要原因。接口设计应该使得信息传递简单并且与模块的功能一致。6.单出口单入口,避免内容耦合⚫易于理解和维护。7.模块功能可预测⚫相同输入必产生相同输出。第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法面向数据流的

设计方法把数据流(信息流)映射成软件结构,数据流的类型决定了映射的方法。1.变换流信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。5.5.1模块独立第4章总体设计计算机与软件学院毕硕本4.5

面向数据流的设计方法变换流第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法2.事务流数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行。这类数据流称为事务流。第4章总体设计计算机与软件学院毕硕本4.5

面向数据流的设计方法事务流第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法变换分析是经过若干步骤把具有变换流特点的数据流图按预先确定的模式映射成软件结构。5.5.2变换分析找出变换中心及逻辑输入/出设计软件结构的顶层自顶向下,逐步细化,设计中下层模块设计步骤

第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法例:汽车数字仪表板的设计5.5.3变换流分析功能:①通过模-数转换实现传感器和微处理机接口;②在发光二极管面板上显示数据;③指示每小时英里数(mph),行驶的里程,每加仑油行驶的英

里数(mpg)等等;④指示加速或减速;⑤如果车速超过55mph,则发出警告铃声。第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法燃料流传感器信号SPS旋转信号读旋转信号收集和求平均确定加/减速转换成转/分计算里程计算mph,超速值产生加/减速

显示计算燃料消耗计算gph读和校核产生mpg显示产生mph显示发出铃声产生里程显示SPSSPS箭头指示燃烧流上箭头水平线下箭头rpmrpmgphmphmpgmph超速值英里显示铃声mph显示mpg显示第一步:DFD的分界,先分出I、P、O三块

第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法数字仪表板控制数据转换控制驱动仪表板接收传感器信号一级分解方法:MPIO第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法第二步:映射:由边界向回溯,将每个遇到的处理器映成

相应的层模块。I:每个处理直接对应一个下层模块。P:由边界向外推,方法与类似OIADCBMICBDA第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法第三步:优化——本着高内聚、低耦合的原则数字仪表板控制数据转换控制驱动仪表板接收传感器信号计算gph读燃料流转换成rpm收集sps读旋

转信号确定加/减速计算mph计算mpg计算里程加/减速显示显示mpg显示mph显示里程发出铃声发光二极管显示第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法5.5.4事务流分析……TTransactionrequest…Actionpaths……事务流(T

ransactionFlow)第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法⚫事务流分析是从事务流的DFD到程序结构图的转换确定事务流边界先从DFD中找出事务流、事务处理中心和事务路径。事务中心前是接收事务、事务中心后是事务路径。进行一级分析设计上层模块从DFD中导

出具有接收和发送分支的软件结构。细化该事务结构和每条动作路径的结构对于接收分支,采用变换流设计方法设计中下层;对于发送分支,在发送模块下设计每条事务路径的结构。设计步骤第4章总体设计计算机与软件学院毕硕本4.5面向数据流的设计方法IIISBAC………MIIISABC………事

务流事务中心事务处理

精品优选
精品优选
该用户很懒,什么也没有留下。
  • 文档 34925
  • 被下载 0
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?