软件工程复习大纲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第一章软件工程概述软件:软件的概念严格说来,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件的特点(分类、发展)软件是一种具有抽象特性的逻辑实体软件的生产、开发无明显的制造过程,容易复制软件的使用、运行期间无机械磨损……(8)软件危机(1)软件开发的进度和开发成本估计不准,用户不满意;(2)软件质量不可靠;(3)软件维护困难;(4)软件不容易使用和管理,缺乏文档资料;(5)软件的开发跟不上硬件的发展和用户要求的日益增长;(6)缺乏高素质的软件开发人员。2产生软件危机的原因:(1)软件本身的问题(2)软件人员本身的问题(3)软件生命期中的管理问题解决软件危机的办法:(1)开发新型的计算机系统,使用新的监督与控制机制;(2)总结和吸取前人的经验和教训,使用成熟的开发方法;(3)消除错误思想和观念,探索新的方法;(4)使用良好的开发工具和环境,提高开发效率;(5)进行严格的组织和管理,采取有效的监督。软件危机的含义:在软件开发和维护过程中所产生的一系列严重问题的现象,统称为软件危机。3软件工程:概念:是采用工程的概念、原理、技术和方法来开发、维护软件,是开发与维护软件的规范化系统方法,它将完善的工程原理应用于经济地生产既可靠、又能在实际机器上有效运行的软件。其核心内容就是“以工程化的方式组织软件的开发”,涉及软件计划、开发和维护各个阶段。软件工程的基本目标软件工程的七条原理用分阶段的生命周期计划严格管理坚持进行阶段评审实行严格的产品控制采用现代程序设计技术结果应能清楚地审查开发小组的人员应少而精承认不断改进软件工程实践的必要性4三种软件开发模型(瀑布、渐增、快速原型化)的优缺点机适用范围。软件生命周期的经典模型——瀑布模型计划:问题定义可行性研究开发:需求分析设计编码测试运行维护注意:各个阶段产生的文档资料的名称。(13份)各个阶段结束标志(文档的内容)软件生命周期的定义软件工程的产生5问题定义要解决的问题是什么?可行性研究可行性分析对于上一阶段确定的问题有行得通的解决方法吗?(可行性分析的目的)进一步分析和澄清问题定义探索若干种可能的解法Operationalfeasibility,操作可行性系统的操作方式在这个用户组织内行得通?Technicalfeasibility,技术可行性使用现有的技术能实现这个系统吗?Economicfeasibility,经济可行性这个系统的经济效益能超过它的开发成本吗?对以后的行动方针提出建议6例如,修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,五年共可节省12500元。但是,不能简单地把5000元和12500元相比较,因为前者是现在投资的钱,后者是若干年以后节省的钱。假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,如表所示。年将来值现在值累计现在值125001.122232.142232.14225001.251992.984225.12325001.401779.456004.57425001.571588.807593.37525001.761418.579011.94ni)1(7(1)货币的时间价值(2)投资回收期通常用投资回收期衡量一项开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初投资所需要的时间。显然,投资回收期越短就能越快获得利润,因此这项工程也就越值得投资。例如,修改库存清单系统两年以后可以节省4225.12元,比最初的投资(5000元)还少774.88元,第三年以后将再节省1779.45元。774.88/1779.45=0.44,因此,投资回收期是2.44年。投资回收期仅仅是一项经济指标;为了衡量一项开发工程的价值,还应该考虑其他经济指标。8(3)纯收入衡量工程价值的另一项经济指标是工程的纯收入,也就是在整个生命周期之内系统的累计经济效益(折合成现在值)与投资之差。这相当于比较投资开发一个软件系统和把钱存在银行中(或贷给其他企业)这两种方案的优劣。如果纯收入为零,则工程的预期效益和在银行存款一样,但是开发一个系统要冒风险,因此从经济观点看这项工程可能是不值得投资的。如果纯收入小于零,那么这项工程显然不值得投资。例如,上述修改库存清单系统,工程的纯收入预计是9011.94-5000=4011.94(元)9需求分析所谓软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。具体任务确定对系统的综合要求分析系统的数据要求需求分析的本质就是对数据和加工进行分析。导出系统的逻辑模型通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型修正系统开发计划开发原型系统(可选)调查组织概况组织的业务活动存在问题、约束条件未来要求10需求获取技术访谈与会议书面调查法观察用户工作流程用户和开发人员共同组成联合小组数据流图(DFD)数据流图描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。主要包括四种基本成分:数据源点/终点数据流加工数据存储/文件基本系统模型系统输入1输入2输出1输出211机票预定系统帐单订票单机票下图是一个飞机机票预定系统的基本系统模型12旅行社预定机票机票准备旅客记帐订票单机票航班目录费用帐单记帐文件航班下图是机票预定系统的DFD13DFD图各成分的作用和注意事项:数据流由一组数据项组成数据流可以从加工流向加工;从源点流向加工;从加工流向终点;从加工流向文件或从文件流向加工两个加工之间可以有几股数据流,这些数据流之间没有任何联系,DFD也不表明它们的流动次序数据流命名的原则:现实环境中,传递的一些表格、单据的名字可直接作为数据流的名字。把现实环境中传递的一组数据中最重要的那个数据作为数据流的名字。不要把控制流作为数据流。在数据流命名时,不要仅使用“数据”、“信息”等缺乏实际具体含义的词汇作为数据流的名字。14加工是对数据进行处理的单元。在分层DFD中,要对加工进行编号,以便于管理。加工也要选取适当的名字,以提高DFD的易读性。加工命名原则是:顶层的加工名可以是软件项目的名字通常先为数据流命名,然后再为与之相关联的加工命名。加工的名字最好是由一个谓语动词加上一个宾语组成,也可把宾语和谓语颠倒书写应该避免仅使用“加工”、“处理”这样空洞笼统的动词做加工名。名字应该反映整个加工的功能,而不是它的一部分功能通常名字中仅包括一个动词如果在为某个加工命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解15文件文件是用来暂时存储数据的。在分层DFD中,文件一般都局部于某一层或某几层。源点和终点是软件系统之外的实体,可以是人、物或其他软件系统。源点和终点是为了帮助理解系统接口界面而引入的,在DFD中不需要进一步描述它们。分层图的编号原则是:(1)顶层图编号为0,顶层图只有一张,它的加工就是整个系统;(2)顶层图的子图称为第一层数据流图,其中的各个加工按自然数顺序1,2,3,…进行编号,第一层数据流图也只有一张;(3)在第一层以下的各分层图中,每个加工的编号应该是其所在的父图的编号加小数点,再加该图的局部加工编号构成。每个加工编号中所含小数点的个数加1,就是该图所在的层次数;16几点说明:一个加工并不一定是一个程序。一个数据存储也不等同于一个文件数据存储和数据流都是数据,仅仅所处的状态不同通常在数据流图中忽略出错处理,也不包括诸如打开或关闭文件之类的内务处理。数据流的基本要点是描绘“做什么”而不考虑“怎么做”。有时数据的源点和终点相同,如果只用一个符号代表数据的源点和终点,则至少将有两个箭头和这个符号相连(一个进一个出),可能其中一条箭头线相当长,这将降低数据流图的清晰度。另一种表示方法是再重复画一个同样的符号表示数据的终点。有时数据存储也需要重复,以增加数据流图的清晰度。17假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。分析:第一步可以从问题描述中提取数据流图的四种成分首先考虑数据的源点和终点接下来考虑加工最后,考虑数据流和数据存储注意,并不是所有数据存储和数据流都能直接从问题描述中提取出来18定货系统仓库管理员采购员事务定货报表仓库管理员1处理事务2产生报表采购员库存清单库存清单事务定货报表定货信息定货信息定货信息191.1接收事务1.2更新库存清单2产生报表1.3处理定货仓库管理员采购员库存清单事务事务库存信息库存清单定货信息定货信息定货报表定货信息20数据字典(DD)数据字典是关于数据的信息的集合,也就是对数据流图中包含的系统元素的定义的集合。有了DFD和DD,才算是完整地描述了一个系统。数据流图和数据字典是需求规格说明书的主要组成部分。数据流条目数据流条目是定义数据流的。定义的方式一般是列出该数据流的各组成数据项。在定义数据流时,通常借助于一些简单的符号。存折={户名+所号+帐号+开户日+性质+(印密)+1{存取行}50}0000000099999999户名=2{字母}24所号=“001”…“999”帐号=“00000001”…“99999999”开户日=年+月+日性质=“1”..“6”印密=“0”21存取行=日期+(摘要)+支出+存入+余额+操作+复核日期=年+月+日年=“0001”..“9999”月=“01”..“12”日=“01”..“31”摘要=1{字母}4支出=金额金额=“0000000.01”..“9999999.99”操作=“00001”..“99999”…………22数据文件条目文件条目是定义文件的,一般只需列出文件的组成数据项,以及文件的组织方式存折={户名+所号+帐号+开户日+性质+(印密)+1{存取行}50}0000000099999999组织:按帐号次序从小至大排列加工条目(小说明)小说明集中描述一个加工“做什么”,即加工逻辑,也包括其它一些与加工有关的信息,如执行条件、优先级、执行频率、出错处理等。目前用于写小说明的工具有结构化英语、判定表和判定树。23下面是商店业务处理系统中“检查发货单”的例子IFtheinvoiceexceeds$500THENIFtheaccounthasanyinvoicemorethan60daysoverdueTHENtheconfirmationpendingresolutionofthedebtELSEissueconfirmationandinvoiceENDIFELSEIFtheaccounthasanyinvoicemorethan60daysoverdueTHENissueconfirmation,invoiceandwritemessageoncreditactionreportELSEissueconfirmationandinvoiceENDIFENDIF241234条件发货单金额$500$500≤$500≤$500赊欠情况60天≤60天60天≤60天操作不发出批准书√发出批准书√√√发出发货单√√√发出赊欠报告√25检查发货单金额$500金额?$500欠款60天——不发出批准书欠款?60天——发出批准书、发货单欠款60天——发出批准书、发货单及赊欠报告欠款?60天——发出批准书、发货单26从工程管理的角度看,软件设计可分为概要设

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功