软件工程复习大纲34197.pptx
《软件工程复习大纲34197.pptx》由会员分享,可在线阅读,更多相关《软件工程复习大纲34197.pptx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1第一章第一章 软件工程概述软件工程概述软件软件软件软件:n n软件的概念软件的概念 严格说来,软件是计算机系统中与硬件相互依存严格说来,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整的另一部分,它是包括程序、数据及其相关文档的完整集合。集合。n n软件的特点(分类、发展)软件的特点(分类、发展)软件是一种具有抽象特性的逻辑实体软件是一种具有抽象特性的逻辑实体 软件的生产、开发无明显的制造过程,容易复制软件的生产、开发无明显的制造过程,容易复制 软件的使用、运行期间无机械磨损软件的使用、运行期间无机械磨损(8 8)n n软件危机软件危机 (1 1)软件开发
2、的进度和开发成本估计不准,用户不满意;)软件开发的进度和开发成本估计不准,用户不满意;(2 2)软件质量不可靠;)软件质量不可靠;(3 3)软件维护困难;)软件维护困难;(4 4)软件不容易使用和管理,缺乏文档资料;)软件不容易使用和管理,缺乏文档资料;(5 5)软件的开发跟不上硬件的发展和用户要求的日益增长;)软件的开发跟不上硬件的发展和用户要求的日益增长;(6 6)缺乏高素质的软件开发人员。)缺乏高素质的软件开发人员。2 2n n产生软件危机的原因:产生软件危机的原因:(1 1)软件本身的问题)软件本身的问题 (2 2)软件人员本身的问题)软件人员本身的问题 (3 3)软件生命期中的管理问
3、题)软件生命期中的管理问题n n解决软件危机的办法:解决软件危机的办法:(1 1)开发新型的计算机系统,使用新的监督与控制机制;)开发新型的计算机系统,使用新的监督与控制机制;(2 2)总结和吸取前人的经验和教训,使用成熟的开发方法;)总结和吸取前人的经验和教训,使用成熟的开发方法;(3 3)消除错误思想和观念,探索新的方法;)消除错误思想和观念,探索新的方法;(4 4)使用良好的开发工具和环境,提高开发效率;)使用良好的开发工具和环境,提高开发效率;(5 5)进行严格的组织和管理,采取有效的监督。)进行严格的组织和管理,采取有效的监督。n n软件危机的含义:软件危机的含义:在软件在软件开发开
4、发和和维护维护过程中所产生的一系列过程中所产生的一系列严重问题严重问题的的现象,统称为软件危机。现象,统称为软件危机。3 3软件工程:软件工程:软件工程:软件工程:n n概念:概念:是采用工程的概念、原理、技术和方法来开发、维护软是采用工程的概念、原理、技术和方法来开发、维护软件,是开发与维护软件的规范化系统方法,它将完善的工程件,是开发与维护软件的规范化系统方法,它将完善的工程原理应用于经济地生产既可靠、又能在实际机器上有效运行原理应用于经济地生产既可靠、又能在实际机器上有效运行的软件。的软件。n n其核心内容就是其核心内容就是“以工程化的方式组织软件的开发以工程化的方式组织软件的开发”,涉
5、及,涉及软件计划、开发和维护各个阶段。软件计划、开发和维护各个阶段。n n软件工程的基本目标软件工程的基本目标n n软件工程的七条原理软件工程的七条原理 n n用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理 n n坚持进行阶段评审坚持进行阶段评审 n n实行严格的产品控制实行严格的产品控制 n n采用现代程序设计技术采用现代程序设计技术 n n结果应能清楚地审查结果应能清楚地审查 n n开发小组的人员应少而精开发小组的人员应少而精 n n承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性4 4三种软件开发模型三种软件开发模型三种软件开发模型三种软件开发模型(瀑布、渐
6、增、快速原型化)的优缺点机(瀑布、渐增、快速原型化)的优缺点机适用范围。适用范围。软件生命周期的经典模型软件生命周期的经典模型瀑布模型瀑布模型瀑布模型瀑布模型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要解决的问题是
7、什么?可行性研究要解决的问题是什么?可行性研究n n可行性分析可行性分析n n对于上一阶段确定的问题有行得通的解决方法吗?对于上一阶段确定的问题有行得通的解决方法吗?(可行性分析的目的)(可行性分析的目的)n n进一步分析和澄清问题定义进一步分析和澄清问题定义 n n探索若干种可能的解法探索若干种可能的解法 n nOperational feasibilityOperational feasibility,操作可行性操作可行性n n系统的操作方式在这个用户组织内行得通?系统的操作方式在这个用户组织内行得通?n nTechnical feasibilityTechnical feasibilit
8、y,技术可行性技术可行性n n使用现有的技术能实现这个系统吗?使用现有的技术能实现这个系统吗?n nEconomic feasibilityEconomic feasibility,经济可行性经济可行性n n这个系统的经济效益能超过它的开发成本吗?这个系统的经济效益能超过它的开发成本吗?n n对以后的行动方针提出建议对以后的行动方针提出建议6 6 例例例例如如如如,修修改改一一个个已已有有的的库库存存清清单单系系统统,使使它它能能在在每每天天送送给给采采购购员员一一份份定定货货报报表表。修修改改已已有有的的库库存存清清单单程程序序并并且且编编写写产产生生报报表表的的程程序序,估估计计共共需需5
9、0005000元元;系系统统修修改改后后能能及及时时定定货货将将消消除除零零件件短短缺缺问问题题,估估计计因因此此每每年年可可以以节节省省25002500元元,五五年年共共可可节节省省1250012500元元。但但是是,不不能能简简单单地地把把50005000元元和和1250012500元元相相比比较较,因因为为前前者者是是现现在在投投资资的的钱钱,后后者者是是若若干干年年以以后后节节省省的的钱钱。假假定定年年利利率率为为1212,利利用用上上面面计计算算货货币币现现在在价价值值的的公公式式可可以以算算出出修修改改库库存存清清单单系系统统后后每每年年预预计计节省的钱的现在价值,如表所示。节省的
10、钱的现在价值,如表所示。年年将来值将来值现在值现在值累计现在值累计现在值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)投
11、资回收期)投资回收期 通常用投资回收期衡量一项开发工程的价值。通常用投资回收期衡量一项开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能投资所需要的时间。显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。越快获得利润,因此这项工程也就越值得投资。例如例如例如例如,修改库存清单系统两年以后可以节省,修改库存清单系统两年以后可以节省4225.124225.12元,比最初的投资元,比最初的投资(5000(5000元元)还少还少774.88774.88元,元,第三年以后将再节省第三年以后将再节省
12、1779.451779.45元。元。774.88/1779.45774.88/1779.450.440.44,因此,投资回收期是,因此,投资回收期是2.442.44年。年。投资回收期仅仅是一项经济指标;为了衡量投资回收期仅仅是一项经济指标;为了衡量一项开发工程的价值,还应该考虑其他经济指标。一项开发工程的价值,还应该考虑其他经济指标。8 8(3)(3)纯收入纯收入 衡量工程价值的另一项经济指标是工程的纯衡量工程价值的另一项经济指标是工程的纯收入,也就是在整个生命周期之内系统的累计经济收入,也就是在整个生命周期之内系统的累计经济效益效益(折合成现在值折合成现在值)与投资之差。这相当于比较投与投资
13、之差。这相当于比较投资开发一个软件系统和把钱存在银行中资开发一个软件系统和把钱存在银行中(或贷给其或贷给其他企业他企业)这两种方案的优劣。如果纯收入为零,则这两种方案的优劣。如果纯收入为零,则工程的预期效益和在银行存款一样,但是开发一个工程的预期效益和在银行存款一样,但是开发一个系统要冒风险,因此从经济观点看这项工程可能是系统要冒风险,因此从经济观点看这项工程可能是不值得投资的。如果纯收入小于零,那么这项工程不值得投资的。如果纯收入小于零,那么这项工程显然不值得投资。显然不值得投资。例如例如例如例如,上述修改库存清单系统,工程的纯收入,上述修改库存清单系统,工程的纯收入预计是预计是 9011.
14、94-5000 9011.94-50004011401194(94(元元)9 9n n需求分析需求分析 n n所谓软件需求是指用户对目标软件系统在功能、行为、所谓软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。性能、设计约束等方面的期望。n n具体任务具体任务 n n确定对系统的综合要求确定对系统的综合要求 n n分析系统的数据要求分析系统的数据要求n n需求分析的本质就是对数据和加工进行分析。需求分析的本质就是对数据和加工进行分析。n n导出系统的逻辑模型导出系统的逻辑模型 n n通常用数据流图、数据字典和主要的处理算法描通常用数据流图、数据字典和主要的处理算法描述这
15、个逻辑模型述这个逻辑模型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数据流图描绘系统的逻辑模型,图中没有任何具体数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描
16、绘信息在系统中流动和处理的的物理元素,只是描绘信息在系统中流动和处理的情况。情况。n n主要包括四种基本成分:主要包括四种基本成分:n n数据源点数据源点/终点终点n n数据流数据流n n加工加工n n数据存储数据存储/文件文件n n基本系统模型基本系统模型系统输入1输入2输出1输出21111 机票预定系统 帐单 订票单 机票 下图是一个飞机机票预定系统的基本系统模型 1212旅行社预定机票机票准备旅客记帐订票单机票航班目录费用帐单记帐文件航班下图是机票预定系统的DFD 1313DFDDFD图各成分的作用和注意事项:图各成分的作用和注意事项:n n数据流数据流 由一组数据项组成由一组数据项组成
17、n n数数据据流流可可以以从从加加工工流流向向加加工工;从从源源点点流流向向加加工工;从从加工流向终点;从加工流向文件或从文件流向加工加工流向终点;从加工流向文件或从文件流向加工n n两两个个加加工工之之间间可可以以有有几几股股数数据据流流,这这些些数数据据流流之之间间没有任何联系,没有任何联系,DFDDFD也不表明它们的流动次序也不表明它们的流动次序n n数据流命名的原则:数据流命名的原则:n n现现实实环环境境中中,传传递递的的一一些些表表格格、单单据据的的名名字字可可直直接接作为数据流的名字。作为数据流的名字。n n把把现现实实环环境境中中传传递递的的一一组组数数据据中中最最重重要要的的
18、那那个个数数据据作为数据流的名字。作为数据流的名字。n n不要把控制流作为数据流。不要把控制流作为数据流。n n在在数数据据流流命命名名时时,不不要要仅仅使使用用“数数据据”、“信信息息”等缺乏实际具体含义的词汇作为数据流的名字。等缺乏实际具体含义的词汇作为数据流的名字。1414n n加工加工 是对数据进行处理的单元。是对数据进行处理的单元。n n在在分分层层DFDDFD中中,要要对对加加工工进进行行编编号号,以以便便于于管管理理。加加工工也要选取适当的名字,以提高也要选取适当的名字,以提高DFDDFD的易读性。的易读性。n n加工命名原则是:加工命名原则是:n n顶层的加工名可以是软件项目的
19、名字顶层的加工名可以是软件项目的名字n n通通常常先先为为数数据据流流命命名名,然然后后再再为为与与之之相相关关联联的的加加工工命名。命名。n n加加工工的的名名字字最最好好是是由由一一个个谓谓语语动动词词加加上上一一个个宾宾语语组组成,也可把宾语和谓语颠倒书写成,也可把宾语和谓语颠倒书写n n应应该该避避免免仅仅使使用用“加加工工”、“处处理理”这这样样空空洞洞笼笼统统的动词做加工名。的动词做加工名。n n名名字字应应该该反反映映整整个个加加工工的的功功能能,而而不不是是它它的的一一部部分分功能功能n n通常名字中仅包括一个动词通常名字中仅包括一个动词n n如如果果在在为为某某个个加加工工命
20、命名名时时遇遇到到困困难难,则则很很可可能能是是发发现了分解不当的迹象,应考虑重新分解现了分解不当的迹象,应考虑重新分解1515n n文件文件n n文文件件是是用用来来暂暂时时存存储储数数据据的的。在在分分层层DFDDFD中中,文文件件一一般般都都局局部于某一层或某几层。部于某一层或某几层。n n源点和终点源点和终点n n是软件系统之外的实体,可以是人、物或其他软件系统。是软件系统之外的实体,可以是人、物或其他软件系统。源点和终点是为了帮助理解系统接口界面而引入的,在源点和终点是为了帮助理解系统接口界面而引入的,在DFDDFD中不需要进一步描述它们。中不需要进一步描述它们。n n分层图的编号原
21、则是:分层图的编号原则是:分层图的编号原则是:分层图的编号原则是:(1)(1)顶层图编号为顶层图编号为0 0,顶层图只有一张,它的加工就是整个系统;,顶层图只有一张,它的加工就是整个系统;(2)(2)顶顶层层图图的的子子图图称称为为第第一一层层数数据据流流图图,其其中中的的各各个个加加工工按按自自然数顺序然数顺序1 1,2 2,3 3,进行编号,第一层数据流图也只有一张;进行编号,第一层数据流图也只有一张;(3)(3)在在第第一一层层以以下下的的各各分分层层图图中中,每每个个加加工工的的编编号号应应该该是是其其所所在在的的父父图图的的编编号号加加小小数数点点,再再加加该该图图的的局局部部加加工
22、工编编号号构构成成。每每个加工编号中所含小数点的个数加个加工编号中所含小数点的个数加1 1,就是该图所在的层次数;,就是该图所在的层次数;1616几点说明:几点说明:n n一一个个加加工工并并不不一一定定是是一一个个程程序序。一一个个数数据据存存储储也也不不等同于一个文件等同于一个文件n n数据存储和数据流都是数据,仅仅所处的状态不同数据存储和数据流都是数据,仅仅所处的状态不同n n通通常常在在数数据据流流图图中中忽忽略略出出错错处处理理,也也不不包包括括诸诸如如打打开开或或关关闭闭文文件件之之类类的的内内务务处处理理。数数据据流流的的基基本本要要点点是描绘是描绘“做什么做什么”而不考虑而不考
23、虑“怎么做怎么做”。n n有有时时数数据据的的源源点点和和终终点点相相同同,如如果果只只用用一一个个符符号号代代表表数数据据的的源源点点和和终终点点,则则至至少少将将有有两两个个箭箭头头和和这这个个符符号号相相连连(一一个个进进一一个个出出),可可能能其其中中一一条条箭箭头头线线相相当当长长,这这将将降降低低数数据据流流图图的的清清晰晰度度。另另一一种种表表示示方方法法是是再再重重复复画画一一个个同同样样的的符符号号表表示示数数据据的的终终点点。有有时时数数据据存存储储也也需需要要重重复复,以以增增加加数数据据流流图图的的清清晰晰度。度。1717n n假设一家工厂的采购部每天需要一张定货报表,
24、报表按假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者、次号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中要供应者。零件入库或出库称为事务,通过放在仓库中的的CRTCRT终端把事务报告给定货系统。当某种零件的库存数终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。量少于库存量临界值时就
25、应该再次定货。分析:分析:n n第一步可以从问题描述中提取数据流图的四种成分第一步可以从问题描述中提取数据流图的四种成分n n首先考虑数据的源点和终点首先考虑数据的源点和终点n n接下来考虑加工接下来考虑加工n n最后,考虑数据流和数据存储最后,考虑数据流和数据存储n n注意,并不是所有数据存储和数据流都能直接从问题描注意,并不是所有数据存储和数据流都能直接从问题描述中提取出来述中提取出来1818定货系统 仓库管理员采购员事务定货报表 仓库管理员1处理事务2 产生报表采购员库存清单库存清单事务定货报表定货信息定货信息定货信息19191.1接收事务1.2更新库存清单2产生报表1.3处理定货仓库管
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 大纲 34197
限制150内