欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件工程复习大纲34197.pptx

    • 资源ID:90080706       资源大小:268.92KB        全文页数:60页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程复习大纲34197.pptx

    1 1第一章第一章 软件工程概述软件工程概述软件软件软件软件:n n软件的概念软件的概念 严格说来,软件是计算机系统中与硬件相互依存严格说来,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整的另一部分,它是包括程序、数据及其相关文档的完整集合。集合。n n软件的特点(分类、发展)软件的特点(分类、发展)软件是一种具有抽象特性的逻辑实体软件是一种具有抽象特性的逻辑实体 软件的生产、开发无明显的制造过程,容易复制软件的生产、开发无明显的制造过程,容易复制 软件的使用、运行期间无机械磨损软件的使用、运行期间无机械磨损(8 8)n n软件危机软件危机 (1 1)软件开发的进度和开发成本估计不准,用户不满意;)软件开发的进度和开发成本估计不准,用户不满意;(2 2)软件质量不可靠;)软件质量不可靠;(3 3)软件维护困难;)软件维护困难;(4 4)软件不容易使用和管理,缺乏文档资料;)软件不容易使用和管理,缺乏文档资料;(5 5)软件的开发跟不上硬件的发展和用户要求的日益增长;)软件的开发跟不上硬件的发展和用户要求的日益增长;(6 6)缺乏高素质的软件开发人员。)缺乏高素质的软件开发人员。2 2n n产生软件危机的原因:产生软件危机的原因:(1 1)软件本身的问题)软件本身的问题 (2 2)软件人员本身的问题)软件人员本身的问题 (3 3)软件生命期中的管理问题)软件生命期中的管理问题n n解决软件危机的办法:解决软件危机的办法:(1 1)开发新型的计算机系统,使用新的监督与控制机制;)开发新型的计算机系统,使用新的监督与控制机制;(2 2)总结和吸取前人的经验和教训,使用成熟的开发方法;)总结和吸取前人的经验和教训,使用成熟的开发方法;(3 3)消除错误思想和观念,探索新的方法;)消除错误思想和观念,探索新的方法;(4 4)使用良好的开发工具和环境,提高开发效率;)使用良好的开发工具和环境,提高开发效率;(5 5)进行严格的组织和管理,采取有效的监督。)进行严格的组织和管理,采取有效的监督。n n软件危机的含义:软件危机的含义:在软件在软件开发开发和和维护维护过程中所产生的一系列过程中所产生的一系列严重问题严重问题的的现象,统称为软件危机。现象,统称为软件危机。3 3软件工程:软件工程:软件工程:软件工程:n n概念:概念:是采用工程的概念、原理、技术和方法来开发、维护软是采用工程的概念、原理、技术和方法来开发、维护软件,是开发与维护软件的规范化系统方法,它将完善的工程件,是开发与维护软件的规范化系统方法,它将完善的工程原理应用于经济地生产既可靠、又能在实际机器上有效运行原理应用于经济地生产既可靠、又能在实际机器上有效运行的软件。的软件。n n其核心内容就是其核心内容就是“以工程化的方式组织软件的开发以工程化的方式组织软件的开发”,涉及,涉及软件计划、开发和维护各个阶段。软件计划、开发和维护各个阶段。n n软件工程的基本目标软件工程的基本目标n n软件工程的七条原理软件工程的七条原理 n n用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理 n n坚持进行阶段评审坚持进行阶段评审 n n实行严格的产品控制实行严格的产品控制 n n采用现代程序设计技术采用现代程序设计技术 n n结果应能清楚地审查结果应能清楚地审查 n n开发小组的人员应少而精开发小组的人员应少而精 n n承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性4 4三种软件开发模型三种软件开发模型三种软件开发模型三种软件开发模型(瀑布、渐增、快速原型化)的优缺点机(瀑布、渐增、快速原型化)的优缺点机适用范围。适用范围。软件生命周期的经典模型软件生命周期的经典模型瀑布模型瀑布模型瀑布模型瀑布模型n n计划:计划:n n问题定义问题定义n n可行性研究可行性研究n n开发:开发:n n需求分析需求分析n n设计设计n n编码编码n n测试测试n n运行运行n n维护维护注意注意:各个阶段产生的文档资料的名称。(:各个阶段产生的文档资料的名称。(1313份)份)各个阶段结束标志(文档的内容)各个阶段结束标志(文档的内容)软件生命周期的定义软件生命周期的定义 软件工程的产生软件工程的产生5 5n n问题定义问题定义n n要解决的问题是什么?可行性研究要解决的问题是什么?可行性研究n n可行性分析可行性分析n n对于上一阶段确定的问题有行得通的解决方法吗?对于上一阶段确定的问题有行得通的解决方法吗?(可行性分析的目的)(可行性分析的目的)n n进一步分析和澄清问题定义进一步分析和澄清问题定义 n n探索若干种可能的解法探索若干种可能的解法 n nOperational feasibilityOperational feasibility,操作可行性操作可行性n n系统的操作方式在这个用户组织内行得通?系统的操作方式在这个用户组织内行得通?n nTechnical feasibilityTechnical feasibility,技术可行性技术可行性n n使用现有的技术能实现这个系统吗?使用现有的技术能实现这个系统吗?n nEconomic feasibilityEconomic feasibility,经济可行性经济可行性n n这个系统的经济效益能超过它的开发成本吗?这个系统的经济效益能超过它的开发成本吗?n n对以后的行动方针提出建议对以后的行动方针提出建议6 6 例例例例如如如如,修修改改一一个个已已有有的的库库存存清清单单系系统统,使使它它能能在在每每天天送送给给采采购购员员一一份份定定货货报报表表。修修改改已已有有的的库库存存清清单单程程序序并并且且编编写写产产生生报报表表的的程程序序,估估计计共共需需50005000元元;系系统统修修改改后后能能及及时时定定货货将将消消除除零零件件短短缺缺问问题题,估估计计因因此此每每年年可可以以节节省省25002500元元,五五年年共共可可节节省省1250012500元元。但但是是,不不能能简简单单地地把把50005000元元和和1250012500元元相相比比较较,因因为为前前者者是是现现在在投投资资的的钱钱,后后者者是是若若干干年年以以后后节节省省的的钱钱。假假定定年年利利率率为为1212,利利用用上上面面计计算算货货币币现现在在价价值值的的公公式式可可以以算算出出修修改改库库存存清清单单系系统统后后每每年年预预计计节省的钱的现在价值,如表所示。节省的钱的现在价值,如表所示。年年将来值将来值现在值现在值累计现在值累计现在值1 1250025001.121.122232.142232.142232.142232.142 2250025001.251.251992.981992.984225.124225.123 3250025001.401.401779.451779.456004.576004.574 4250025001.571.571588.801588.807593.377593.375 5250025001.761.761418.571418.579011.949011.947 7(1 1)货币的时间价值)货币的时间价值(2 2)投资回收期)投资回收期 通常用投资回收期衡量一项开发工程的价值。通常用投资回收期衡量一项开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能投资所需要的时间。显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。越快获得利润,因此这项工程也就越值得投资。例如例如例如例如,修改库存清单系统两年以后可以节省,修改库存清单系统两年以后可以节省4225.124225.12元,比最初的投资元,比最初的投资(5000(5000元元)还少还少774.88774.88元,元,第三年以后将再节省第三年以后将再节省1779.451779.45元。元。774.88/1779.45774.88/1779.450.440.44,因此,投资回收期是,因此,投资回收期是2.442.44年。年。投资回收期仅仅是一项经济指标;为了衡量投资回收期仅仅是一项经济指标;为了衡量一项开发工程的价值,还应该考虑其他经济指标。一项开发工程的价值,还应该考虑其他经济指标。8 8(3)(3)纯收入纯收入 衡量工程价值的另一项经济指标是工程的纯衡量工程价值的另一项经济指标是工程的纯收入,也就是在整个生命周期之内系统的累计经济收入,也就是在整个生命周期之内系统的累计经济效益效益(折合成现在值折合成现在值)与投资之差。这相当于比较投与投资之差。这相当于比较投资开发一个软件系统和把钱存在银行中资开发一个软件系统和把钱存在银行中(或贷给其或贷给其他企业他企业)这两种方案的优劣。如果纯收入为零,则这两种方案的优劣。如果纯收入为零,则工程的预期效益和在银行存款一样,但是开发一个工程的预期效益和在银行存款一样,但是开发一个系统要冒风险,因此从经济观点看这项工程可能是系统要冒风险,因此从经济观点看这项工程可能是不值得投资的。如果纯收入小于零,那么这项工程不值得投资的。如果纯收入小于零,那么这项工程显然不值得投资。显然不值得投资。例如例如例如例如,上述修改库存清单系统,工程的纯收入,上述修改库存清单系统,工程的纯收入预计是预计是 9011.94-5000 9011.94-50004011401194(94(元元)9 9n n需求分析需求分析 n n所谓软件需求是指用户对目标软件系统在功能、行为、所谓软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。性能、设计约束等方面的期望。n n具体任务具体任务 n n确定对系统的综合要求确定对系统的综合要求 n n分析系统的数据要求分析系统的数据要求n n需求分析的本质就是对数据和加工进行分析。需求分析的本质就是对数据和加工进行分析。n n导出系统的逻辑模型导出系统的逻辑模型 n n通常用数据流图、数据字典和主要的处理算法描通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型述这个逻辑模型n n修正系统开发计划修正系统开发计划n n开发原型系统开发原型系统 (可选)(可选)n n调查调查 n n组织概况组织概况 n n组织的业务活动组织的业务活动 n n存在问题、约束条件存在问题、约束条件 n n未来要求未来要求1010n n需求获取技术需求获取技术 n n访谈与会议访谈与会议n n书面调查法书面调查法n n观察用户工作流程观察用户工作流程n n用户和开发人员共同组成联合小组用户和开发人员共同组成联合小组n n数据流图(数据流图(DFDDFD)n n数据流图描绘系统的逻辑模型,图中没有任何具体数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的的物理元素,只是描绘信息在系统中流动和处理的情况。情况。n n主要包括四种基本成分:主要包括四种基本成分:n n数据源点数据源点/终点终点n n数据流数据流n n加工加工n n数据存储数据存储/文件文件n n基本系统模型基本系统模型系统输入1输入2输出1输出21111 机票预定系统 帐单 订票单 机票 下图是一个飞机机票预定系统的基本系统模型 1212旅行社预定机票机票准备旅客记帐订票单机票航班目录费用帐单记帐文件航班下图是机票预定系统的DFD 1313DFDDFD图各成分的作用和注意事项:图各成分的作用和注意事项:n n数据流数据流 由一组数据项组成由一组数据项组成n n数数据据流流可可以以从从加加工工流流向向加加工工;从从源源点点流流向向加加工工;从从加工流向终点;从加工流向文件或从文件流向加工加工流向终点;从加工流向文件或从文件流向加工n n两两个个加加工工之之间间可可以以有有几几股股数数据据流流,这这些些数数据据流流之之间间没有任何联系,没有任何联系,DFDDFD也不表明它们的流动次序也不表明它们的流动次序n n数据流命名的原则:数据流命名的原则:n n现现实实环环境境中中,传传递递的的一一些些表表格格、单单据据的的名名字字可可直直接接作为数据流的名字。作为数据流的名字。n n把把现现实实环环境境中中传传递递的的一一组组数数据据中中最最重重要要的的那那个个数数据据作为数据流的名字。作为数据流的名字。n n不要把控制流作为数据流。不要把控制流作为数据流。n n在在数数据据流流命命名名时时,不不要要仅仅使使用用“数数据据”、“信信息息”等缺乏实际具体含义的词汇作为数据流的名字。等缺乏实际具体含义的词汇作为数据流的名字。1414n n加工加工 是对数据进行处理的单元。是对数据进行处理的单元。n n在在分分层层DFDDFD中中,要要对对加加工工进进行行编编号号,以以便便于于管管理理。加加工工也要选取适当的名字,以提高也要选取适当的名字,以提高DFDDFD的易读性。的易读性。n n加工命名原则是:加工命名原则是:n n顶层的加工名可以是软件项目的名字顶层的加工名可以是软件项目的名字n n通通常常先先为为数数据据流流命命名名,然然后后再再为为与与之之相相关关联联的的加加工工命名。命名。n n加加工工的的名名字字最最好好是是由由一一个个谓谓语语动动词词加加上上一一个个宾宾语语组组成,也可把宾语和谓语颠倒书写成,也可把宾语和谓语颠倒书写n n应应该该避避免免仅仅使使用用“加加工工”、“处处理理”这这样样空空洞洞笼笼统统的动词做加工名。的动词做加工名。n n名名字字应应该该反反映映整整个个加加工工的的功功能能,而而不不是是它它的的一一部部分分功能功能n n通常名字中仅包括一个动词通常名字中仅包括一个动词n n如如果果在在为为某某个个加加工工命命名名时时遇遇到到困困难难,则则很很可可能能是是发发现了分解不当的迹象,应考虑重新分解现了分解不当的迹象,应考虑重新分解1515n n文件文件n n文文件件是是用用来来暂暂时时存存储储数数据据的的。在在分分层层DFDDFD中中,文文件件一一般般都都局局部于某一层或某几层。部于某一层或某几层。n n源点和终点源点和终点n n是软件系统之外的实体,可以是人、物或其他软件系统。是软件系统之外的实体,可以是人、物或其他软件系统。源点和终点是为了帮助理解系统接口界面而引入的,在源点和终点是为了帮助理解系统接口界面而引入的,在DFDDFD中不需要进一步描述它们。中不需要进一步描述它们。n n分层图的编号原则是:分层图的编号原则是:分层图的编号原则是:分层图的编号原则是:(1)(1)顶层图编号为顶层图编号为0 0,顶层图只有一张,它的加工就是整个系统;,顶层图只有一张,它的加工就是整个系统;(2)(2)顶顶层层图图的的子子图图称称为为第第一一层层数数据据流流图图,其其中中的的各各个个加加工工按按自自然数顺序然数顺序1 1,2 2,3 3,进行编号,第一层数据流图也只有一张;进行编号,第一层数据流图也只有一张;(3)(3)在在第第一一层层以以下下的的各各分分层层图图中中,每每个个加加工工的的编编号号应应该该是是其其所所在在的的父父图图的的编编号号加加小小数数点点,再再加加该该图图的的局局部部加加工工编编号号构构成成。每每个加工编号中所含小数点的个数加个加工编号中所含小数点的个数加1 1,就是该图所在的层次数;,就是该图所在的层次数;1616几点说明:几点说明:n n一一个个加加工工并并不不一一定定是是一一个个程程序序。一一个个数数据据存存储储也也不不等同于一个文件等同于一个文件n n数据存储和数据流都是数据,仅仅所处的状态不同数据存储和数据流都是数据,仅仅所处的状态不同n n通通常常在在数数据据流流图图中中忽忽略略出出错错处处理理,也也不不包包括括诸诸如如打打开开或或关关闭闭文文件件之之类类的的内内务务处处理理。数数据据流流的的基基本本要要点点是描绘是描绘“做什么做什么”而不考虑而不考虑“怎么做怎么做”。n n有有时时数数据据的的源源点点和和终终点点相相同同,如如果果只只用用一一个个符符号号代代表表数数据据的的源源点点和和终终点点,则则至至少少将将有有两两个个箭箭头头和和这这个个符符号号相相连连(一一个个进进一一个个出出),可可能能其其中中一一条条箭箭头头线线相相当当长长,这这将将降降低低数数据据流流图图的的清清晰晰度度。另另一一种种表表示示方方法法是是再再重重复复画画一一个个同同样样的的符符号号表表示示数数据据的的终终点点。有有时时数数据据存存储储也也需需要要重重复复,以以增增加加数数据据流流图图的的清清晰晰度。度。1717n n假设一家工厂的采购部每天需要一张定货报表,报表按假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者、次号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中要供应者。零件入库或出库称为事务,通过放在仓库中的的CRTCRT终端把事务报告给定货系统。当某种零件的库存数终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。量少于库存量临界值时就应该再次定货。分析:分析:n n第一步可以从问题描述中提取数据流图的四种成分第一步可以从问题描述中提取数据流图的四种成分n n首先考虑数据的源点和终点首先考虑数据的源点和终点n n接下来考虑加工接下来考虑加工n n最后,考虑数据流和数据存储最后,考虑数据流和数据存储n n注意,并不是所有数据存储和数据流都能直接从问题描注意,并不是所有数据存储和数据流都能直接从问题描述中提取出来述中提取出来1818定货系统 仓库管理员采购员事务定货报表 仓库管理员1处理事务2 产生报表采购员库存清单库存清单事务定货报表定货信息定货信息定货信息19191.1接收事务1.2更新库存清单2产生报表1.3处理定货仓库管理员采购员库存清单事务事务库存信息库存清单定货信息定货信息定货报表定货信息2020数据字典数据字典 (DDDD)n n数据字典是关于数据的信息的集合,也就是对数据流数据字典是关于数据的信息的集合,也就是对数据流图中包含的系统元素的定义的集合。图中包含的系统元素的定义的集合。n n有了有了DFDDFD和和DDDD,才算是完整地描述了一个系统。数据流才算是完整地描述了一个系统。数据流图和数据字典是需求规格说明书的主要组成部分。图和数据字典是需求规格说明书的主要组成部分。n n数据流条目数据流条目 n n数据流条目是定义数据流的。定义的方式一般是列数据流条目是定义数据流的。定义的方式一般是列出该数据流的各组成数据项。在定义数据流时,通出该数据流的各组成数据项。在定义数据流时,通常借助于一些简单的符号。常借助于一些简单的符号。n n存存折折=户户名名+所所号号+帐帐号号+开开户户日日+性性质质+(印印密密)+1+1存取行存取行505000000000000000009999999999999999n n户名户名=2=2字母字母2424n n所号所号=“001”“999”=“001”“999”n n帐号帐号=“00000001”“99999999”=“00000001”“99999999”n n开户日开户日=年年+月月+日日n n性质性质=“1”.“6”=“1”.“6”n n印密印密=“0”=“0”2121n n存存取取行行=日日期期+(摘摘要要)+支支出出+存存入入+余余额额+操操作作+复核复核n n日期日期=年年+月月+日日n n年年=“0001”.“9999”=“0001”.“9999”n n月月=“01”.“12”=“01”.“12”n n日日=“01”.“31”=“01”.“31”n n摘要摘要=1=1字母字母44n n支出支出=金额金额n n金额金额=“0000000.01”.“9999999.99”=“0000000.01”.“9999999.99”n n操作操作=“00001”.“99999”=“00001”.“99999”n n 2222n n数据文件条目 n n文件条目是定义文件的,一般只需列出文件文件条目是定义文件的,一般只需列出文件的组成数据项,以及文件的组织方式的组成数据项,以及文件的组织方式 n n存存折折=户户名名+所所号号+帐帐号号+开开户户日日+性性质质+(印印密密)+1+1存取行存取行505000000000000000009999999999999999n n组织:按帐号次序从小至大排列组织:按帐号次序从小至大排列 n n加工条目(小说明)n n小说明集中描述一个加工小说明集中描述一个加工“做什么做什么”,即加,即加工逻辑,也包括其它一些与加工有关的信息,工逻辑,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理如执行条件、优先级、执行频率、出错处理等。等。n n目目前前用用于于写写小小说说明明的的工工具具有有结结构构化化英英语语、判判定表和判定树。定表和判定树。2323下面是商店业务处理系统中下面是商店业务处理系统中“检查发货单检查发货单”的例子的例子IF the invoice exceeds$500 THENIF the invoice exceeds$500 THENIF IF the the account account has has any any invoice invoice more more than than 60 60 days days overdue overdue THENTHENthe confirmation pending resolution of the debtthe confirmation pending resolution of the debtELSE issue confirmation and invoiceELSE issue confirmation and invoiceENDIFENDIFELSEELSEIF IF the the account account has has any any invoice invoice more more than than 60 60 days days overdue THENoverdue THENissue issue confirmation,confirmation,invoice invoice and and write write message message on on credit action reportcredit action reportELSE issue confirmation and invoiceELSE issue confirmation and invoiceENDIFENDIFENDIF ENDIF 24241234条件发货单金额$500$500$500$500赊欠情况60天60天60天60天操作不发出批准书发出批准书发出发货单发出赊欠报告2525检查发货单金额$500金额?$500欠款60天不发出批准书欠款?60 天发出批准书、发货单欠款60天发出批准书、发货单及赊欠报告欠款?60 天发出批准书、发货单2626n n从工程管理的角度看,软件设计可分为概要设从工程管理的角度看,软件设计可分为概要设计计/总体设计和详细(总体设计和详细(detaildetail)设计两大步骤。设计两大步骤。概要设计是根据需求确定软件和数据的总体框概要设计是根据需求确定软件和数据的总体框架,详细设计是将其进一步精化成软件的算法架,详细设计是将其进一步精化成软件的算法表示和数据结构。表示和数据结构。n n从技术角度来看,软件设计可分为数据设计、从技术角度来看,软件设计可分为数据设计、系统结构设计和过程设计。数据设计把分析阶系统结构设计和过程设计。数据设计把分析阶段建立的信息描述转换为实现软件所要求的数段建立的信息描述转换为实现软件所要求的数据结构,侧重于数据结构的定义;系统结构设据结构,侧重于数据结构的定义;系统结构设计定义软件系统各主要部件、成分之间的关系,计定义软件系统各主要部件、成分之间的关系,过程设计则是把结构成分转换成软件的过程性过程设计则是把结构成分转换成软件的过程性描述即完成每一部件的过程化描述。描述即完成每一部件的过程化描述。2727概要设计 n n在进行软件结构设计时应该遵循的最重要的原理是模块独立原理。n n采用模块化原理的优点:n n可可以以使使软软件件结结构构清清晰晰,容容易易设设计计、容容易易阅阅读读和理解、容易测试和调试。和理解、容易测试和调试。n n提提高高软软件件的的可可靠靠性性。有有利利于于软软件件开开发发工工程程的的组织管理。组织管理。2828n n模块独立性可用两个定量准则来度量:耦合和模块独立性可用两个定量准则来度量:耦合和内聚。内聚。n n耦合分七级:非直接耦合、数据耦合、特征耦耦合分七级:非直接耦合、数据耦合、特征耦合合/标记耦合、控制耦合、外部耦合、公共耦标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。合、内容耦合。n n内聚分七级:偶然内聚、逻辑内聚、时间内聚、内聚分七级:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。过程内聚、通信内聚、顺序内聚、功能内聚。n n内聚和耦合是相互关联的。内聚和耦合是相互关联的。n n软件概要设计的目标是力求增加模块的内聚,软件概要设计的目标是力求增加模块的内聚,尽量减少模块间的耦合。但增加内聚比减少耦尽量减少模块间的耦合。但增加内聚比减少耦合更重要,二者不能兼顾的情况下,应当把更合更重要,二者不能兼顾的情况下,应当把更多的注意力集中到提高模块的内聚程度上来。多的注意力集中到提高模块的内聚程度上来。2929n n系统结构设计的七条启发式原则n n改进软件结构提高模块独立性改进软件结构提高模块独立性n n模块规模应该适中模块规模应该适中n n深度、宽度、扇出和扇入都应适当深度、宽度、扇出和扇入都应适当n n模块的作用范围应在控制范围之内模块的作用范围应在控制范围之内n n力争降低模块接口的复杂程度力争降低模块接口的复杂程度n n设计单入口单出口的模块设计单入口单出口的模块n n模块功能应该可以预测模块功能应该可以预测 n n概要设计常用图形工具有:层次图、HIPO图、结构图。3030n n变换流的变换流的DFDDFD是一个线性结构,由输入、变换是一个线性结构,由输入、变换和输出三部分组成。和输出三部分组成。n n数据沿输入通路到达一个处理,这个处理根据数据沿输入通路到达一个处理,这个处理根据输入数据的类型在若干个动作序列中选出一个输入数据的类型在若干个动作序列中选出一个来执行。这类数据流称为事务流。来执行。这类数据流称为事务流。n n概要设计的步骤:概要设计的步骤:n n分析分析DFD DFD n n确定确定DFDDFD的特点及边界的特点及边界 n n映射为软件结构映射为软件结构 n n细化后,得到初始结构图细化后,得到初始结构图 n n获得最终的软件结构图获得最终的软件结构图 n n变换分析变换分析n n事务分析事务分析3131扇入深度宽度软件层次结构图扇出扇出ABCDEFEGHIJKLM结构图参数举例:深度:5宽度:5A的扇出:3M的扇入:33232变换型分析举例变换型分析举例3333第一级分解McMAMTMEC,eC,eu,wu,wMcMA1ME1CeruMA2ME2QPRep c,pru,ww3434McMAMTMEC,eC,eu,wu,werQPRp c,pru,wGet CGet EWrite WWrite UecGet BB to CcbRead DD to EedRead AA to BbaadbuwU to VWrite Vuvv3535下面以信用卡报账系统为例下面以信用卡报账系统为例 某商店开展信用卡购物业务。建立了两个某商店开展信用卡购物业务。建立了两个账目付款账目和用户总账目。前者记录了每位用账目付款账目和用户总账目。前者记录了每位用户每次付款的日期、金额,由用户的账号、日期户每次付款的日期、金额,由用户的账号、日期和交易金额组成。后者记录了用户存款余额。这和交易金额组成。后者记录了用户存款余额。这两个账目都是按用户的账号进行登录的两个账目都是按用户的账号进行登录的(见图见图)。店方每隔一段时间都需要根据上述两个账目产生店方每隔一段时间都需要根据上述两个账目产生一个会计报告。包括账号、日期、交易金额、旧一个会计报告。包括账号、日期、交易金额、旧余额、新余额等内容余额、新余额等内容(见图见图)。现在要求用。现在要求用JacksonJackson方法设计一个能够产生上述会计报告的方法设计一个能够产生上述会计报告的程序。程序。3636顾客顾客账号账号支付支付日期日期交易交易金额金额.顾客顾客账号账号存款存款余额余额.用户数据用户数据顾客顾客账号账号支付支付日期日期交易交易金额金额旧存款旧存款余额余额新存款新存款余额余额.店方数据店方数据店方总计店方总计付款账目用户总账目会计报告3737JacksonJackson开发方法实现步骤开发方法实现步骤画数据结构图画数据结构图 这个系统的两个输入文件是付账账目和用户这个系统的两个输入文件是付账账目和用户总账目。输出文件是会计报告。两个输入文件是以用总账目。输出文件是会计报告。两个输入文件是以用户账号组织记录的。他们的输出数据结构的户账号组织记录的。他们的输出数据结构的JacksonJackson图表示如图所示。图表示如图所示。付账账目用户账号组付账记录存款余额用户总账号用户记录 信用卡报账系统的输入3838 会计报告中最后一行店方总计中由两项内容会计报告中最后一行店方总计中由两项内容组成即交易额总计和点方余额总计。报告其他部组成即交易额总计和点方余额总计。报告其他部分是顾客数据。其输出数据结构的分是顾客数据。其输出数据结构的JacksonJackson图表示图表示如图所示。如图所示。会计报告顾客数据店方数据用户账号组*交易金额总计存款金额总计用户账号存款记录用户总支付存款余额新存款余额旧存款余额报告行*信用卡报账系统的输出3939处理付款账目和用户总账目并给出会计报告处理报告行*处理店方数据处理用户账号组*处理用户账号处理付款记录计算交易金额总计计算存款余额总计计算旧存款余额计算用户总支付计算新存款余额处理用户数据计算存款余额I1I2图4-47 信用卡报账系统程序结构图4040写出程序的过程性描述写出程序的过程性描述n n 首先列出图首先列出图4-474-47中的循环结构的终止条件中的循环结构的终止条件I1I1和和I2.I2.I1I1:付款账目文件结束;付款账目文件结束;I2 I2:用户账号组结束。用户账号组结束。n n 必要的可执行操作和辅助操作说明。必要的可执行操作和辅助操作说明。打开文件:打开文件:open open 读取文件数据:读取文件数据:read read 向文件写数据:向文件写数据:write write 寻找数据项:寻找数据项:findsfinds 关闭文件:关闭文件:closeclose4141n n用用JacksonJackson伪代码写出过程性描述伪代码写出过程性描述:(内为注释内为注释部分),处理付款账目和部分),处理付款账目和用户总账目并给出会计报用户总账目并给出会计报告告seqseq。openopen会计报告;会计报告;openopen付款账目;付款账目;openopen用户总账目;用户总账目;处理用户数据处理用户数据iter untiliter until付款账目文件结束;付款账目文件结束;处理用户账号组处理用户账号组seqseq;read read付款账目;付款账目;处理用户账号处理用户账号 writewrite处理用户账号行处理用户账号行;处理付款记录处理付款记录iteruntiliteruntil用户账号组结束;用户账号组结束;write write报告行;报告行;计算交易金额总计;计算交易金额总计;4242readread付款账目;付款账目;endend付款记录;付款记录;计算用户总支付;计算用户总支付;计算存款余额计算存款余额seqseq;处理旧存款余额处理旧存款余额 readread用户总账目用户总账目findsfinds存款余额存款余额;计算新存款余额;计算新存款余额;writewrite总计行总计行 endend计算存款余额;计算存款余额;endend处理用户账号组;处理用户账号组;endend处理用户数据;处理用户数据;处理店方数据处理店方数据seqseq;计算交易金额总计;计算交易金额总计;4343 计算存款余额总计;计算存款余额总计;write write店方总计行;店方总计行;end end处理店方数据;处理店方数据;close close付款账目;付款账目;close close用户总账目;用户总账目;close close会计报告;会计报告;end end处理付款账目和用户总账目并给出会计报告。处理付款账目和用户总账目并给出会计报告。用用JacksonJackson方法得到的程序结构图一般都需要求方法得到的程序结构图一般都需要求精和优化。因为这种方法是从输入输出数据结构导精和优化。因为这种方法是从输入输出数据结构导出程序结构图,因此有些中间处理过程在结构图中出程序结构图,因此有些中间处理过程在结构图中无法反映出来。在求精过程和,不断对数据结构图无法反映出来。在求精过程和,不断对数据结构图进行改进和细化,使之完整。进行改进和细化,使之完整。4444详细设计详细设计 n n详细设计阶段采用自顶向下逐步求精的方法,详细设计阶段采用自顶向下逐步求精的方法,把一个模块的功能逐步分解细化为一系列具体把一个模块的功能逐步分解细化为一系列具体的处理步骤。的处理步骤。n n结构化程序设计技术是详细设计的逻辑基础。结构化程序设计技术是详细设计的逻辑基础。n n结构化程序设计的三种基本控制结构是顺序、结构化程序设计的三种基本控制结构是顺序、选择、循环。选择、循环。n n结构化程序设计目前一个比较流行的定义是:结构化程序设计目前一个比较流行的定义是:n n结构化程序设计是一种设计程序的技术,它采用自结构化程序设计是一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制顶向下逐步求精的设计方法和单入口单出口的控制结构。结构。4545n n怎么判断一个程序是否为结构化的呢?如果对流程图中每一构件用“边框”圈起来,边界之间不出现交叉,则说明所有构件都为单入口单出口,则称此程序为结构化程序。4646begin A1B342B65C7D8endFFFFFTTTTT4747beginA1B342B65C7DendFFFF TTT58F=0F=1F=0?FTC7D87FTT4848n n程序流程图、盒图、PAD图、判定表、判定树和PDL语言等都是完成详细设计的工具,选择合适的工具并且正确地使用它们是十分重要的。n n注意注意:各种图形的特点,优缺点,适用范围等,各种图形之间的转换。4949PAD图应用举例(图应用举例(N-S图PAD图)a a b b T xi F T xi F f x2 f x2T x4 F =1 =2 =3T x4 F =1 =2 =3 i x5 g do-while d e i x5 g do-while d e Do-until h x3 cDo-until h x3 cDo-until x6Do-until x6j j5050aUntil x6bx1fx4Until x5ighjUntil x3ede=1=2=3x2对应的PAD图5151 程程序序流流程程图图的的优优点点是是:直直观观、易易学学、历历史史长长、使使用广泛。用广泛。缺点是:诱使程序员过早地考虑控制流,容易缺点是:诱使程序员过早地考虑控制流,容易忽略整体结构;控制流绘制时容易乱转移,破坏结忽略整体结构;控制流绘制时容易乱转移,破坏结构;不容易

    注意事项

    本文(软件工程复习大纲34197.pptx)为本站会员(jix****n11)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开