软件工程复习大纲_第1页
软件工程复习大纲_第2页
软件工程复习大纲_第3页
软件工程复习大纲_第4页
软件工程复习大纲_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章软件工程概述软件:软件的概念严格说来,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。软件的特点(分类、发展)软件是一种具有抽象特性的逻辑实体软件的生产、开发无明显的制造过程,容易复制软件的使用、运行期间无机械磨损……(8)软件危机(1)软件开发的进度和开发成本估计不准,用户不满意;(2)软件质量不可靠;(3)软件维护困难;(4)软件不容易使用和管理,缺乏文档资料;(5)软件的开发跟不上硬件的发展和用户要求的日益增长;(6)缺乏高素质的软件开发人员。产生软件件危机的的原因::(1)软软件本身身的问题题(2)软软件人员员本身的的问题(3)软软件生命命期中的的管理问问题解决软件件危机的的办法::(1)开开发新型型的计算算机系统统,使用用新的监监督与控控制机制制;(2)总总结和吸吸取前人人的经验验和教训训,使用用成熟的的开发方方法;(3)消消除错误误思想和和观念,,探索新新的方法法;(4)使使用良好好的开发发工具和和环境,,提高开开发效率率;(5)进进行严格格的组织织和管理理,采取取有效的的监督。。软件危机机的含义义:在软件开发和维护过程中所所产生的的一系列列严重问题题的现象,,统称为为软件危危机。软件工程程:概念:是采用工工程的概概念、原原理、技技术和方方法来开开发、维维护软件件,是开开发与维维护软件件的规范范化系统统方法,,它将完完善的工工程原理理应用于于经济地地生产既既可靠、、又能在在实际机机器上有有效运行行的软件件。其核心内内容就是是“以工工程化的的方式组组织软件件的开发发”,涉涉及软件件计划、、开发和和维护各各个阶段段。软件工程程的基本本目标软件工程程的七条条原理用分阶段段的生命命周期计计划严格格管理坚持进行行阶段评评审实行严格格的产品品控制采用现代代程序设设计技术术结果应能能清楚地地审查开发小组组的人员员应少而而精承认不断断改进软软件工程程实践的的必要性性三种软件件开发模模型(瀑布、、渐增、、快速原原型化))的优缺缺点机适适用范围围。软件生命命周期的的经典模模型———瀑布模型型计划:问题定义义可行性研研究开发:需求分析析设计编码测试运行维护注意:各个阶阶段产生生的文档档资料的的名称。。(13份)各个阶段段结束标标志(文文档的内内容)软件生命命周期的的定义软件工程程的产生生问题定义义要解决的的问题是是什么??可行性性研究可行性分分析对于上一一阶段确确定的问问题有行行得通的的解决方方法吗??(可行行性分析析的目的的)进一步分分析和澄澄清问题题定义探索若干干种可能能的解法法Operationalfeasibility,操作可行行性系统的操操作方式式在这个个用户组组织内行行得通??Technicalfeasibility,,技术可行行性使用现有有的技术术能实现现这个系系统吗??Economicfeasibility,经济可行行性这个系统统的经济济效益能能超过它它的开发发成本吗吗?对以后的的行动方方针提出出建议例如,修改一一个已有有的库存存清单系系统,使使它能在在每天送送给采购购员一份份定货报报表。修修改已有有的库存存清单程程序并且且编写产产生报表表的程序序,估计计共需5000元;系系统修改改后能及及时定货货将消除除零件短短缺问题题,估计计因此每每年可以以节省2500元,五五年共可可节省12500元。。但是,,不能简简单地把把5000元和和12500元元相比较较,因为为前者是是现在投投资的钱钱,后者者是若干干年以后后节省的的钱。假假定年利利率为12%,,利用上上面计算算货币现现在价值值的公式式可以算算出修改改库存清清单系统统后每年年预计节节省的钱钱的现在在价值,,如表所所示。年将来值现在值累计现在值125001.122232.142232.14225001.251992.984225.12325001.401779.456004.57425001.571588.807593.37525001.761418.579011.94(1)货货币的时时间价值值(2)投投资回收收期通常用投投资回收收期衡量量一项开开发工程程的价值值。所谓谓投资回回收期就就是使累累计的经经济效益益等于最最初投资资所需要要的时间间。显然然,投资资回收期期越短就就能越快快获得利利润,因因此这项项工程也也就越值值得投资资。例如,修改库库存清单单系统两两年以后后可以节节省4225..12元元,比最最初的投投资(5000元)还还少774.88元,,第三年年以后将将再节省省1779.45元。。774.88/1779..45==0.44,因因此,投投资回收收期是2.44年。投资回收收期仅仅仅是一项项经济指指标;为为了衡量量一项开开发工程程的价值值,还应应该考虑虑其他经经济指标标。(3)纯纯收入衡量工程程价值的的另一项项经济指指标是工工程的纯纯收入,,也就是是在整个个生命周周期之内内系统的的累计经经济效益益(折合合成现在在值)与与投资之之差。这这相当于于比较投投资开发发一个软软件系统统和把钱钱存在银银行中((或贷给给其他企企业)这这两种方方案的优优劣。如如果纯收收入为零零,则工工程的预预期效益益和在银银行存款款一样,,但是开开发一个个系统要要冒风险险,因此此从经济济观点看看这项工工程可能能是不值值得投资资的。如如果纯收收入小于于零,那那么这项项工程显显然不值值得投资资。例如,上述修修改库存存清单系系统,工工程的纯纯收入预预计是9011.94-5000==4011.94(元元)需求分析析所谓软件件需求是是指用户户对目标标软件系系统在功功能、行行为、性性能、设设计约束束等方面面的期望望。具体任务务确定对系系统的综综合要求求分析系统统的数据据要求需求分析析的本质质就是对对数据和和加工进进行分析析。导出系统统的逻辑辑模型通常用数数据流图图、数据据字典和和主要的的处理算算法描述述这个逻逻辑模型型修正系统统开发计计划开发原型型系统((可选选)调查组织概况况组织的业业务活动动存在问题题、约束束条件未来要求求需求获取取技术访谈与会会议书面调查查法观察用户户工作流流程用户和开开发人员员共同组组成联合合小组数据流图图(DFD))数据流图图描绘系系统的逻逻辑模型型,图中中没有任任何具体体的物理理元素,,只是描描绘信息息在系统统中流动动和处理理的情况况。主要包括括四种基基本成分分:数据源点点/终点点数据流加工数据存储储/文件件基本系统统模型

系统

输入1

输入2

输出1

输出2

机票预定系统

帐单

订票单

机票

下图是一一个飞机机机票预预定系统统的基本本系统模模型

旅行社

预定机票

机票准备

旅客

记帐

订票单

机票

航班目录

费用

帐单

记帐文件

航班

下图是机机票预定定系统的的DFDDFD图各成分分的作用用和注意意事项::数据流由由一一组数据据项组成成数据流可可以从加加工流向向加工;;从源点点流向加加工;从从加工流流向终点点;从加加工流向向文件或或从文件件流向加加工两个加工工之间可可以有几几股数据据流,这这些数据据流之间间没有任任何联系系,DFD也不表明明它们的的流动次次序数据流命命名的原原则:现实环境境中,传传递的一一些表格格、单据据的名字字可直接接作为数数据流的的名字。。把现实环环境中传传递的一一组数据据中最重重要的那那个数据据作为数数据流的的名字。。不要把控控制流作作为数据据流。在数据流流命名时时,不要要仅使用用“数据据”、““信息””等缺乏乏实际具具体含义义的词汇汇作为数数据流的的名字。。加工是是对数据据进行处处理的单单元。在分层DFD中,要对对加工进进行编号号,以便便于管理理。加工工也要选选取适当当的名字字,以提提高DFD的易读性性。加工命名名原则是是:顶层的加加工名可可以是软软件项目目的名字字通常先为为数据流流命名,,然后再再为与之之相关联联的加工工命名。。加工的名名字最好好是由一一个谓语语动词加加上一个个宾语组组成,也也可把宾宾语和谓谓语颠倒倒书写应该避免免仅使用用“加工工”、““处理””这样空空洞笼统统的动词词做加工工名。名字应该该反映整整个加工工的功能能,而不不是它的的一部分分功能通常名字字中仅包包括一个个动词如果在为为某个加加工命名名时遇到到困难,,则很可可能是发发现了分分解不当当的迹象象,应考考虑重新新分解文件文件是用用来暂时时存储数数据的。。在分层层DFD中,文件件一般都都局部于于某一层层或某几几层。源点和终终点是软件系系统之外外的实体体,可以以是人、、物或其其他软件件系统。。源点和和终点是是为了帮帮助理解解系统接接口界面面而引入入的,在在DFD中不需要要进一步步描述它它们。分层图的的编号原原则是::(1)顶层图编编号为0,顶层图图只有一一张,它它的加工工就是整整个系统统;(2)顶层图的的子图称称为第一一层数据据流图,,其中的的各个加加工按自自然数顺顺序1,2,3,…进行编号号,第一一层数据据流图也也只有一一张;(3)在第一层层以下的的各分层层图中,,每个加加工的编编号应该该是其所所在的父父图的编编号加小小数点,,再加该该图的局局部加工工编号构构成。每每个加工工编号中中所含小小数点的的个数加加1,就是该该图所在在的层次次数;几点说明明:一个加工工并不一一定是一一个程序序。一个个数据存存储也不不等同于于一个文文件数据存储储和数据据流都是是数据,,仅仅所所处的状状态不同同通常在数数据流图图中忽略略出错处处理,也也不包括括诸如打打开或关关闭文件件之类的的内务处处理。数数据流的的基本要要点是描描绘“做做什么””而不考考虑“怎怎么做””。有时数据据的源点点和终点点相同,,如果只只用一个个符号代代表数据据的源点点和终点点,则至至少将有有两个箭箭头和这这个符号号相连((一个进进一个出出),可可能其中中一条箭箭头线相相当长,,这将降降低数据据流图的的清晰度度。另一一种表示示方法是是再重复复画一个个同样的的符号表表示数据据的终点点。有时时数据存存储也需需要重复复,以增增加数据据流图的的清晰度度。假设一家家工厂的的采购部部每天需需要一张张定货报报表,报报表按零零件编号号排序,,表中列列出所有有需要再再次定货货的零件件。对于于每个需需要再次次定货的的零件应应该列出出下述数数据:零零件编号号、零件件名称、、定货数数量、目目前价格格、主要要供应者者、次要要供应者者。零件件入库或或出库称称为事务务,通过过放在仓仓库中的的CRT终端把事事务报告告给定货货系统。。当某种种零件的的库存数数量少于于库存量量临界值值时就应应该再次次定货。。分析:第一步可可以从问问题描述述中提取取数据流流图的四四种成分分首先考虑虑数据的的源点和和终点接下来考考虑加工工最后,考考虑数据据流和数数据存储储注意,并并不是所所有数据据存储和和数据流流都能直直接从问问题描述述中提取取出来

定货

系统

仓库

管理员

采购员

事务

定货报表

仓库

管理员

1处理事务

2产生报表

采购员

库存清单

库存清单

事务

定货报表

定货信息

定货信息

定货信息

1.1接收事务

1.2更新库存清单

2产生报表

1.3处理定货

仓库

管理员

采购员

库存清单

事务

事务

库存信息

库存清单

定货信息

定货信息

定货报表

定货信息

数据字典典(DD)数据字典典是关于于数据的的信息的的集合,,也就是是对数据据流图中中包含的的系统元元素的定定义的集集合。有了DFD和DD,才算是完完整地描描述了一一个系统统。数据据流图和和数据字字典是需需求规格格说明书书的主要要组成部部分。数据流条条目数据流条条目是定定义数据据流的。。定义的的方式一一般是列列出该数数据流的的各组成成数据项项。在定定义数据据流时,,通常借借助于一一些简单单的符号号。存折={{户名++所号++帐号++开户日日+性质质+(印印密)++1{存存取行}}50}}0000000099999999户名=2{字母母}24所号=““001”…““999”帐号=““00000001””…“99999999”开户日==年+月月+日性质=““1”...“6”印密=““0”存取行==日期++(摘要要)+支支出+存存入+余余额+操操作+复复核日期=年年+月++日年=“0001”...“9999””月=“01”...“12”日=“01”...“31”摘要=1{字母母}4支出=金金额金额=““0000000.01”...“9999999.99”操作=““00001””..““99999””……………数据文件件条目文件条目目是定义义文件的的,一般般只需列列出文件件的组成成数据项项,以及及文件的的组织方方式存折={{户名++所号++帐号++开户日日+性质质+(印印密)++1{存存取行}}50}}0000000099999999组织:按按帐号次次序从小小至大排排列加工条目目(小说说明)小说明集集中描述述一个加加工“做做什么””,即加加工逻辑辑,也包包括其它它一些与与加工有有关的信信息,如如执行条条件、优优先级、、执行频频率、出出错处理理等。目前用于于写小说说明的工工具有结结构化英英语、判判定表和和判定树树。下面是商商店业务务处理系系统中““检查发发货单””的例子子IFtheinvoiceexceeds$500THENIFtheaccounthasanyinvoicemorethan60daysoverdueTHENtheconfirmationpendingresolutionofthedebtELSEissueconfirmationandinvoiceENDIFELSEIFtheaccounthasanyinvoicemorethan60daysoverdueTHENissueconfirmation,,invoiceandwritemessageoncreditactionreportELSEissueconfirmationandinvoiceENDIFENDIF

1234条件发货单金额>$500>$500≤$500≤$500赊欠情况>60天≤60天>60天≤60天操作不发出批准书√

发出批准书

√√√发出发货单

√√√发出赊欠报告

检查发货单

金额>$500

金额?$500

欠款>60天——不发出批准书

欠款?60天——发出批准书、发货单

欠款>60天——发出批准书、发货单及赊欠报告

欠款?60天——发出批准书、发货单

从工程管管理的角角度看,,软件设设计可分分为概要要设计//总体设设计和详详细(detail))设计两大大步骤。。概要设设计是根根据需求求确定软软件和数数据的总总体框架架,详细细设计是是将其进进一步精精化成软软件的算算法表示示和数据据结构。。从技术角角度来看看,软件件设计可可分为数数据设计计、系统统结构设设计和过过程设计计。数据据设计把把分析阶阶段建立立的信息息描述转转换为实实现软件件所要求求的数据据结构,,侧重于于数据结结构的定定义;系系统结构构设计定定义软件件系统各各主要部部件、成成分之间间的关系系,过程程设计则则是把结结构成分分转换成成软件的的过程性性描述即即完成每每一部件件的过程程化描述述。概要设计计在进行软软件结构构设计时时应该遵遵循的最最重要的的原理是是模块独独立原理理。采用模块块化原理理的优点点:可以使软软件结构构清晰,,容易设设计、容容易阅读读和理解解、容易易测试和和调试。。提高软件件的可靠靠性。有有利于软软件开发发工程的的组织管管理。模块独立立性可用用两个定定量准则则来度量量:耦合合和内聚聚。耦合分七七级:非非直接耦耦合、数数据耦合合、特征征耦合//标记耦耦合、控控制耦合合、外部部耦合、、公共耦耦合、内内容耦合合。内聚分七七级:偶偶然内聚聚、逻辑辑内聚、、时间内内聚、过过程内聚聚、通信信内聚、、顺序内内聚、功功能内聚聚。内聚和耦耦合是相相互关联联的。软件概要要设计的的目标是是力求增增加模块块的内聚聚,尽量量减少模模块间的的耦合。。但增加加内聚比比减少耦耦合更重重要,二二者不能能兼顾的的情况下下,应当当把更多多的注意意力集中中到提高高模块的的内聚程程度上来来。系统结构构设计的的七条启启发式原原则改进软件件结构提提高模块块独立性性模块规模模应该适适中深度、宽宽度、扇扇出和扇扇入都应应适当模块的作作用范围围应在控控制范围围之内力争降低低模块接接口的复复杂程度度设计单入入口单出出口的模模块模块功能能应该可可以预测测概要设计计常用图图形工具具有:层层次图、、HIPO图、结构构图。变换流的的DFD是一个线线性结构构,由输输入、变变换和输输出三部部分组成成。数据沿输输入通路路到达一一个处理理,这个个处理根根据输入入数据的的类型在在若干个个动作序序列中选选出一个个来执行行。这类类数据流流称为事事务流。。概要设计计的步骤骤:分析DFD确定DFD的特点及及边界映射为软软件结构构细化后,,得到初初始结构构图获得最终终的软件件结构图图变换分析析事务分析析扇入深度宽度软件层次结构图扇出扇出

A

B

C

DEFEGH

IJKLM结构图参数举例:深度:5宽度:5A的扇出:3M的扇入:3变换型分分析举例例第一级分分解McMAMTMEC,eC,eu,wu,wMcMA1ME1CeruMA2ME2QPRepc,pru,wwMcMAMTMEC,eC,eu,wu,werQPRpc,pru,wGetCGetEWriteWWriteUecGetBBtoCcbReadDDtoEedReadAAtoBbaadbuwUtoVWriteVuvv下面以信信用卡报报账系统统为例某商店开开展信用用卡购物物业务。。建立了了两个账账目付款款账目和和用户总总账目。。前者记记录了每每位用户户每次付付款的日日期、金金额,由由用户的的账号、、日期和和交易金金额组成成。后者者记录了了用户存存款余额额。这两两个账目目都是按按用户的的账号进进行登录录的(见见图)。。店方每每隔一段段时间都都需要根根据上述述两个账账目产生生一个会会计报告告。包括括账号、、日期、、交易金金额、旧旧余额、、新余额额等内容容(见图图)。现现在要求求用Jackson方法设计计一个能能够产生生上述会会计报告告的程序序。顾客账号支付日期交易金额.........顾客账号存款余额......用户数据顾客账号支付日期交易金额旧存款余额新存款余额...店方数据店方总计付款账目目用户总账账目会计报告告Jackson开发方法法实现步步骤①画数据据结构图图这个系统统的两个个输入文文件是付付账账目目和用户户总账目目。输出出文件是是会计报报告。两两个输入入文件是是以用户户账号组组织记录录的。他他们的输输出数据据结构的的Jackson图表示如如图所示示。付账账目用户账号组付账记录存款余额用户总账号用户记录信用卡报报账系统统的输入入会计报告告中最后后一行店店方总计计中由两两项内容容组成即即交易额额总计和和点方余余额总计计。报告告其他部部分是顾顾客数据据。其输输出数据据结构的的Jackson图表示如如图所示示。会计报告顾客数据店方数据用户账号组*交易金额总计存款金额总计用户账号存款记录用户总支付存款余额新存款余额旧存款余额报告行*信用卡报账系统的输出处理付款账目和用户总账目并给出会计报告处理报告行*处理店方数据处理用户账号组*处理用户账号处理付款记录计算交易金额总计计算存款余额总计计算旧存款余额计算用户总支付计算新存款余额处理用户数据计算存款余额I1I2图4-47信用卡报账系统程序结构图③写出程程序的过过程性描描述首先列出出图4--47中中的循环环结构的的终止条条件I1和I2.I1:付款账目目文件结结束;I2:用户账号号组结束束。必要的可可执行操操作和辅辅助操作作说明。。打开文件件:open读取文件件数据::read向文件写写数据::write寻找数据据项:finds关闭文件件:close用Jackson伪代码写写出过程程性描述述:({{}内为为注释部部分),,处理付付款账目目和用户总账账目并给给出会计计报告seq。open会计报告告;open付款账目目;open用户总账账目;处理用户户数据iteruntil付款账目目文件结结束;处理用户户账号组组seq;read付款账目目;处理用户户账号{{write处理用户户账号行行};处理付款款记录iteruntil用户账号号组结束束;write报告行;;计算交易易金额总总计;read付款账目目;end付款记录录;计算用户户总支付付;计算存款款余额seq;处理旧存存款余额额{read用户总账账目finds存款余额额};计算新存存款余额额;{write总计行}}end计算存款款余额;;end处理用户户账号组组;end处理用户户数据;;处理店方方数据seq;计算交易易金额总总计;计算存款款余额总总计;write店方总计计行;end处理店方方数据;;close付款账目目;close用户总账账目;close会计报告告;end处理付款款账目和和用户总总账目并并给出会会计报告告。用Jackson方法得到到的程序序结构图图一般都都需要求求精和优优化。因因为这种种方法是是从输入入输出数数据结构构导出程程序结构构图,因因此有些些中间处处理过程程在结构构图中无无法反映映出来。。在求精精过程和和,不断断对数据据结构图图进行改改进和细细化,使使之完整整。详细设计计详细设计计阶段采采用自顶顶向下逐逐步求精精的方法法,把一一个模块块的功能能逐步分分解细化化为一系系列具体体的处理理步骤。。结构化程程序设计计技术是是详细设设计的逻逻辑基础础。结构化程程序设计计的三种种基本控控制结构构是顺序序、选择择、循环环。结构化程程序设计计目前一一个比较较流行的的定义是是:结构化程程序设计计是一种种设计程程序的技技术,它它采用自自顶向下下逐步求求精的设设计方法法和单入入口单出出口的控控制结构构。怎么判断断一个程程序是否否为结构构化的呢呢?如果果对流程程图中每每一构件件用“边边框”圈圈起来,,边界之之间不出出现交叉叉,则说说明所有有构件都都为单入入口单出出口,则则称此程程序为结结构化程程序。

begin

A

1

B

3

4

2

B

6

5

C

7

D

8

end

F

F

F

F

F

T

T

T

T

T

begin

A

1B3

4

2B6

5C

7D

end

F

FFF

T

T

T58F=0F=1F=0?

F

T

C

7

D

8

7

FTT程序流程程图、盒盒图、PAD图、判定定表、判判定树和和PDL语言等都都是完成成详细设设计的工工具,选选择合适适的工具具并且正正确地使使用它们们是十分分重要的的。注意:各种图图形的特特点,优优缺点,,适用范范围等,,各种图形形之间的的转换。PAD图应用举举例(N-S图→PAD图)abTxiFfx2Tx4F=1=2=3ix5gdo-whiledeDo-untilhx3cDo-untilx6jaUntilx6bx1fx4Untilx5ighjUntilx3ede=1=2=3x2对应的PAD图程序流程程图的优优点是::直观、、易学、、历史长长、使用用广泛。。缺点是::诱使程程序员过过早地考考虑控制制流,容容易忽略略整体结结构;控控制流绘绘制时容容易乱转转移,破破坏结构构;不容容易表示示数据结结构;不不适于大大型程序序的设计计仅适于于小规模模程序的的设计;;例如:前前面讲到到的折扣扣率例题题购货时间4~6、10、12

1~3、7~9、11

购货数量〈1010~20〉20〈1010~20〉20折扣率5%10%20%10%20%30%读入购货月份T和购货量WTin{4-6,10,12}折扣率=5%W<10W>20W<10W>20折扣率=10%折扣率=20%折扣率=20%折扣率=30%结束TFTFTFTFTF购货时间T与购货量WTTin{4-6,10,12}FTW<10FTW<10F折扣率为5%TW>20F折扣率为10%TW>20F折扣率为20%折扣率为10%折扣率为30%折扣率为20%折扣率问问题的N-S图编码所谓编码码就是把把软件设设计的结结果翻译译成计算算机可以以“理解解”的形形式—用用某种程程序设计计语言书书写的程程序。按照软件件工程的的方法论论,编码码是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论