软件工程完整ppt教程课件.ppt
《软件工程完整ppt教程课件.ppt》由会员分享,可在线阅读,更多相关《软件工程完整ppt教程课件.ppt(705页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软软件工程件工程(SoftwareEngineering)第第1章:章:软软件工程学概述件工程学概述1.1软件危机软件危机60年年代代中中期期以以前前:通通用用硬硬件件相相当当普普遍遍,软软件件却却是是为为某个具体的某个具体的应应用而用而编编写的。写的。60年代中到年代中到70年代中:年代中:软软件作坊。件作坊。软软件危机件危机:计计算机算机软软件的开件的开发发和和维护过维护过程程中所遇到的一系列中所遇到的一系列严严重重问题问题。(正常、不正常。(正常、不正常运行运行软软件都具有件都具有这这种种问题问题)1.1.1软件危机的介绍软件危机的介绍1)对对软软件件开开发发成成本本和和进进度度的的估估
2、计计常常常常很很不准确;不准确;2)用用户户对对完完成成的的软软件件系系统统不不满满意意的的现现象象经经常常发发生;生;3)软软件件产产品的品的质质量往往靠不住;量往往靠不住;软件危机的典型表现:软件危机的典型表现:4)软软件常常是不可件常常是不可维护维护的;的;5)软软件通常没有适当的文档件通常没有适当的文档资资料;料;6)软软件件成成本本在在计计算算机机系系统统总总成成本本中中所所占占的比例逐年上升;的比例逐年上升;7)软软件开件开发发生生产产率提高的速度跟不上率提高的速度跟不上计计算机算机应应用的用的发发展展趋势趋势。1.1.2产产生生软软件危机的原因件危机的原因1)软件本身特点造成;)
3、软件本身特点造成;2)软件开发与维护的方法不正确。)软件开发与维护的方法不正确。主要表现:主要表现:(a)忽视软件需求分析;)忽视软件需求分析;(b)认为软件开发就是写程序并使之运行;)认为软件开发就是写程序并使之运行;(c)轻视软件维护;)轻视软件维护;在在软软件开件开发发的不同的不同阶阶段段进进行修改需要付出的行修改需要付出的代价很不相同:代价很不相同:高高中中低低早期早期中期中期后期后期软件开发时期软件开发时期代价代价引入同一修改的代价随时间变化的趋势引入同一修改的代价随时间变化的趋势1)推推广广使使用用在在实实践践中中总总结结出出来来的的开开发发软软件件的的成成功功技技术术和和方方法法
4、,并并研研究究探探索索更更有效的技有效的技术术和方法;和方法;2)开)开发发和使用更好的和使用更好的软软件工具;件工具;3)良好的)良好的组织组织管理措施。管理措施。1.1.3解决软件危机的途径解决软件危机的途径为为了了解解决决软软件件危危机机产产生生的的问问题题,软软件件工工程程与与方方法法学学逐逐渐渐形形成成,然然后后出出现现了了两两个个相相互互相相承承又又各有各有侧侧重的学科:重的学科:1)软软件件工工程程学学:主主要要应应用用工工程程的的方方法法和和技技术术研研究究软软件件开开发发与与维维护护的的方方法法、工工具具和和管管理理的的一一门门交叉学科。交叉学科。2)程序程序设计设计方法学方
5、法学:主要:主要应应用数学的方法用数学的方法研究程序的性研究程序的性质质以及程序以及程序设计设计的理的理论论和方法的和方法的学科。学科。1.2软软件工程件工程1.2.1软软件工程的介件工程的介绍绍1968年年NATO会会议议:软软件件工工程程就就是是为为了了经经济济地地获获得得可可靠靠的的且且能能在在实实际际机机器器上上有有效效地地运运行行的的软软件件,而建立和使用完善的工程原理。而建立和使用完善的工程原理。1993年年IEEE:软软件件工工程程是是(1)把把系系统统的的、规规范范的的、可可度度量量的的途途径径应应用用于于软软件件开开发发、运运行行和和维维护护过程;(过程;(2)研究()研究(
6、1)中提到的途径。)中提到的途径。1.软软件工程关注于大型程序的构造;件工程关注于大型程序的构造;2.软软件工程的中心件工程的中心课题课题是控制复是控制复杂杂性;性;3.软软件件经经常常变变化;化;4.开开发软发软件的效率非常重要;件的效率非常重要;5.和和谐谐地合作是地合作是软软件开件开发发的关的关键键;6.软软件必件必须须有效地支持它的用有效地支持它的用户户;7.在在软软件工程件工程领领域中是由具有一种文化背景域中是由具有一种文化背景的人替具有另一种文化背景的人的人替具有另一种文化背景的人创创造造产产品。品。软件工程的本质特性:软件工程的本质特性:1.2.2软软件工程的基本原理件工程的基本
7、原理1.用分阶段的生命周期计划严格管理;用分阶段的生命周期计划严格管理;2.坚持进行阶段评审;坚持进行阶段评审;3.实行严格的产品控制;实行严格的产品控制;4.采用现代程序设计技术;采用现代程序设计技术;5.结果能清楚地审查;结果能清楚地审查;6.开发小组的人员应该少而精;开发小组的人员应该少而精;7.承认不断改进软件工程实践的必要性。承认不断改进软件工程实践的必要性。1.2.3软软件工程方法学件工程方法学通常把在通常把在软软件生命周期全件生命周期全过过程中使用的一整套程中使用的一整套技技术术方法的集合称方法的集合称为为方法学(方法学(Methodology),),也称也称为为范型(范型(Pa
8、radigm)。)。软软件工程方法学的件工程方法学的3要素:方法、工具和要素:方法、工具和过过程程1.传统传统方法学方法学也称也称为为生命周期方法学或生命周期方法学或结结构化范型。构化范型。结结构化方法(构化方法(StructureMethod)有:)有:1)结结构化构化设计设计方法(方法(SD););2)结结构化分析方法(构化分析方法(SA););3)结结构化分析与构化分析与设计设计技技术术(SADT)4)JACKSON方法方法5)WARNIER方法方法2.面向面向对对象方法学象方法学把数据和把数据和对对数据的操作数据的操作紧紧密密结结合起来的方法,合起来的方法,模模拟拟人人类认识类认识世界
9、解决世界解决问题问题的方法和的方法和过过程。程。面向面向对对象的方法象的方法=对对象(属性与服象(属性与服务务的封装)的封装)+分分类类+继继承承+通通过过消息的通消息的通讯讯1)适适用用于于实实时时事事物物处处理理系系统统的的有有限限状状态态机机方法(方法(FSM););2)适用于并)适用于并发软发软件系件系统统的的PETRI网方法;网方法;3)以数学概念和理)以数学概念和理论为论为基基础础的形式化方法,的形式化方法,如如 SDC公司的形式化开公司的形式化开发发方法方法FDM:(FormalDevelopmentMethodology)IBM公司的公司的维维也也纳纳开开发发方法方法VDM:(
10、ViennaDevelopmentMethod)3.其他开发方法其他开发方法 1.3软软件生命周期件生命周期软件生命周期软件生命周期:指软件从提出到最终被淘汰的这个存在期。指软件从提出到最终被淘汰的这个存在期。软软件生命周期件生命周期组组成:成:1)软软件定件定义义;A.问题问题定定义义B.可行性研究可行性研究C.需求需求分析分析2)软软件开件开发发;D.总总体体设计设计E.详细设计详细设计F.编码编码和和单单元元测试测试G.综综合合测试测试3)运行)运行维护维护。1.问题问题定定义义;2.可行性研究;可行性研究;3.需求分析;需求分析;4.总总体体设计设计(概要(概要设计设计););5.详细
11、设计详细设计;6.编码编码与与单单元元测试测试;7.综综合合测试测试;8.维护维护。软件生命周期各个阶段:软件生命周期各个阶段:1.4软软件件过过程程软软件件过过程程:为为了了获获得得高高质质量量软软件件所所需需要要完完成成的的一一系系列列任任务务的的框框架架,它它规规定定了了完完成成各各项项任任务务的的工工作步作步骤骤。软软件件过过程程(ISO9000):使使用用资资源源将将输输入入转转化化为为输输出的活出的活动动所构成的系所构成的系统统。输输入:如入:如软软件需求件需求输输出:如出:如软软件件产产品品1.4.1瀑布模型瀑布模型1.阶阶段段间间具具有有顺顺序序性性和和依赖性依赖性2.推迟实现
12、的观点推迟实现的观点3.质量保证的观点质量保证的观点优优点点:采采用用规规范范的的方方法法;严严格格规规定定每每个个阶阶段段提提交交的的文文档档;要要求求每每个个阶阶段段交交出出的的产产品品必必须须经经过过验验证。证。1.4.2快速原型模型快速原型模型优优点点:不:不带带反反馈环馈环,基本,基本上是上是线线性性顺顺序序进进行。行。1.4.3增量模型增量模型优优点点:能能较较短短时时间间内内提提交交可可完完成成部部分分工工作作的的产产品品;可可以以使使用用户有充裕的时间学习和适应新产品。户有充裕的时间学习和适应新产品。一种一种风险风险更大的增量模型:更大的增量模型:1.4.4螺旋模型螺旋模型可把
13、它看作在每可把它看作在每个个阶阶段之前都增加段之前都增加风险风险分析的快速原分析的快速原型模型。型模型。1.4.5喷喷泉模型泉模型 典型的面向对象软件典型的面向对象软件开发过程模型之一。开发过程模型之一。1.4.6Rational统统一一过过程程1.RUP软软件开件开发经验发经验(1)迭代式开)迭代式开发发(2)管理需求)管理需求(3)使用基于构件的体系)使用基于构件的体系结结构构(4)可)可视视化建模化建模(5)贯贯穿于开穿于开发过发过程的程的软软件件质质量量验证验证(6)控制)控制软软件件变变更更1.4.7敏捷敏捷过过程与极限程与极限编编程程1.敏捷敏捷过过程程具有高效、快速响具有高效、快
14、速响应变应变化的开化的开发过发过程。程。(1)个体和交互)个体和交互胜过过胜过过程和工具;程和工具;(2)可以工作的)可以工作的软软件件胜过胜过面面俱到的文档;面面俱到的文档;(3)客)客户户合作合作胜过胜过合同合同谈谈判;判;(4)响)响应变应变化化胜过胜过遵循遵循计计划。划。2.极限极限编编程程敏捷敏捷过过程中最著名的一种,指把好的开程中最著名的一种,指把好的开发发实实践运用到极致,多践运用到极致,多应应用于用于软软件需求模糊的件需求模糊的场场合。合。1.4.8微微软过软过程程1.微微软过软过程准程准则则2.微微软软软软件生命周期件生命周期(1)规规划划阶阶段段(2)设计阶设计阶段段(3)
15、开)开发阶发阶段段(4)稳稳定定阶阶段段(5)发发布布阶阶段段3.微微软过软过程模型程模型问问题题定定义义就就是是要要确确定定为为用用户户建建立立什什么么样样的的软软件件系系统统,软软件件叫叫什什么么样样的的名名称称等等等等。“问问题题”是是指指软软件最基本的件最基本的问题问题,如:,如:软软件的件的总总体目体目标标什么?什么?有什么用途?有什么用途?为为那些用那些用户设计户设计?1.5问题问题定定义阶义阶段段问问题题定定义义是是软软件件生生命命周周期期中中时时间间最最短短的的阶阶段段,一一般般都都比比较较简简单单,因因此此在在实实际际开开发发中中它它是是最最容容易被忽易被忽视视的一个的一个阶
16、阶段。段。这这一一阶阶段段工工作作主主要要由由系系统统分分析析员员来来完完成成,系系统统分分析析员员要要尽尽可可能能从从较较高高的的角角度度概概括括软软件件所所要要做的工作,而不用写明做的工作,而不用写明问题问题的的实现细节实现细节。第第2章:可行性研究章:可行性研究可可行行性性研研究究就就是是要要回回答答“所所定定义义的的问问题题有有可可行的解决行的解决办办法法吗吗?”。可可行行性性研研究究的的目目的的是是:用用最最小小的的代代价价在在尽尽可可能能短短的的时时间间内内确确定定问问题题是是否否有有解解,以以及及是是否否值值得去解。得去解。2.1可行性研究的任务可行性研究的任务可可行行性性研研究
17、究所所需需的的时时间间取取决决于于工工程程的的规规模模,所所需需要要的的成成本本要要占占工工程程总总成成本本的的5%10%。可行性研究的内容:可行性研究的内容:1)技技术术可行性可行性技技术术可行性要分析各种技可行性要分析各种技术术因素,例如:因素,例如:使用使用现现有的技有的技术术能否能否实现这实现这个系个系统统?是否有是否有胜胜任开任开发该项发该项目的熟目的熟练练技技术术人人员员?能能否否按按期期得得到到开开发发该该项项目目所所需需的的软软件件、硬硬件件资资源?源?2)经济经济可行性可行性对经济对经济合理性合理性进进行行评评价,所要考价,所要考虑虑的的问题问题是:是:这这个系个系统统的的经
18、济经济效益能否超效益能否超过过它的开它的开发发成本?成本?这这就就需需要要对对项项目目进进行行价价格格/利利益益分分析析,即即“投投入入/产产出出”分析。分析。由由于于利利益益分分析析取取决决于于软软件件系系统统的的特特点点,因因此此在在软软件件开开发发之之前前,很很难难对对新新系系统统产产生生的的效效益益作作出出精精确的定量描述,所以往往采用一些估算方法。确的定量描述,所以往往采用一些估算方法。3)操作可行性操作可行性操操作作可可行行性性评评价价系系统统运运行行后后会会引引起起的的各各方方面面变变化化,如如:对对组组织织机机构构管管理理模模式式、用用户户工工作作环环境等境等产产生的影响。生的
19、影响。4)社会可行性社会可行性社社会会可可行行性性主主要要讨讨论论法法律律方方面面和和使使用用方方面面的可行性。的可行性。例例如如,被被开开发发软软件件的的权权利利归归属属问问题题、软软件件所使用的技所使用的技术术是否会造成侵是否会造成侵权权等等问题问题。2.2可行性研究的步可行性研究的步骤骤1)复)复查查系系统规统规模和目模和目标标;2)研究目前正在使用的系)研究目前正在使用的系统统;3)导导出出新新系系统统的的高高层层逻逻辑辑模模型型(数数据流据流图图、数据字典);、数据字典);4)重新定)重新定义问题义问题;5)导导出和出和评评价供价供选择选择的解法(物理解决方案);的解法(物理解决方案
20、);6)推荐行)推荐行动动方案;方案;7)草)草拟拟开开发计发计划;划;8)书书写文档提交写文档提交审查审查。2.2可行性研究的步可行性研究的步骤骤2.3系系统统流程流程图图(描(描绘绘物理系物理系统统的工具)的工具)2.3.1符号符号符号符号名称名称说明说明处理处理如:程序,处理机,人工加工如:程序,处理机,人工加工输入输入/输出输出连接连接换页连接换页连接数据流数据流表示输入或输出表示输入或输出同一页上图的连接同一页上图的连接不同页上图的连接不同页上图的连接指明数据流动方向指明数据流动方向图图2.1基本符号基本符号符号符号名称名称说明说明穿孔卡片穿孔卡片文档文档磁带磁带联机存储联机存储磁盘
21、磁盘磁鼓磁鼓显示显示人工输入人工输入人工操作人工操作辅助操作辅助操作通信链路通信链路穿孔卡片输入穿孔卡片输入/输出,或穿孔卡片文件输出,或穿孔卡片文件打印输出,或打印终端输入数据打印输出,或打印终端输入数据磁带输入磁带输入/输出,或表示磁带文件输出,或表示磁带文件任何种类磁盘存储,如磁盘、磁鼓等任何种类磁盘存储,如磁盘、磁鼓等磁盘输入磁盘输入/输出,或磁盘上文件、数据库输出,或磁盘上文件、数据库磁鼓输入磁鼓输入/输出,或磁鼓上文件、数据库输出,或磁鼓上文件、数据库显示器部件显示器部件人工输入数据,如填写表格人工输入数据,如填写表格人工完成的处理人工完成的处理使用辅助设备进行的脱机操作使用辅助设
22、备进行的脱机操作通过远程通信线路传送数据通过远程通信线路传送数据图图2.2系统符号系统符号2.3.2例子例子事务事务库存清单程序库存清单程序报告生成程序报告生成程序定货定货信息信息定货报告定货报告库存清单库存清单主文件主文件图图2.3库存清单系统的系统流程图库存清单系统的系统流程图2.4数据流数据流图图(描(描绘绘数据在系数据在系统统中流中流动动的的逻辑过逻辑过程)程)2.4.1符号符号或或或或或或数据源点或终点数据源点或终点变换数据的处理变换数据的处理数据存储数据存储数据流数据流图图2.4基本符号的含义基本符号的含义TABC*TABC*附加符号附加符号TABC+TABC+注意:注意:“处处理
23、理”可表示:可表示:单单个程序、一系列程序、程序个程序、一系列程序、程序的一个模的一个模块块、人工、人工处处理理过过程等等;程等等;“数据存数据存储储”可表示:一个文件、文件的一部分、可表示:一个文件、文件的一部分、数据数据库记录库记录等等;等等;数据流数据流图图忽略出忽略出错处错处理、打开文件、关理、打开文件、关闭闭文件。文件。2.4.2绘绘制数据流制数据流图图的的例子例子事务事务库存清单程序库存清单程序报告生成程序报告生成程序定货定货信息信息定货报告定货报告库存清单库存清单主文件主文件图图2.3库存清单系统的系统流程图库存清单系统的系统流程图2.4.2绘绘制数据流制数据流图图的的例子例子仓
24、库仓库管理员管理员采购员采购员定货系定货系统统事务事务定货报表定货报表图图2.5定货系统的基本系统模型定货系统的基本系统模型2.4.2绘制数据流图的例子绘制数据流图的例子库存清单库存清单仓库仓库管理员管理员采购员采购员事务事务定货报表定货报表图图2.6定货系统的功能级数据流图定货系统的功能级数据流图处理处理事务事务1产生产生报表报表2D1库存清单库存清单D2定货信息定货信息定货信息定货信息定货信息定货信息组组成成该该例子的数据流例子的数据流图图的元素的元素上述数据流上述数据流图图所描述的功所描述的功能能够详细够详细了了吗吗?2.4.2绘制数据流图的例子绘制数据流图的例子仓库仓库管理员管理员采购
25、员采购员事务事务定货报表定货报表图图2.7定货系统进一步分解后的数据流图定货系统进一步分解后的数据流图更新更新库存库存清单清单1.2产生产生报表报表2D1库存清单库存清单D2定货信息定货信息接收接收事务事务1.1处理处理定货定货1.3库存清单库存清单定货信息定货信息定货信息定货信息1)为为数据流(或数据存数据流(或数据存储储)命名)命名A名名字字应应该该代代表表整整个个数数据据流流(或或数数据据存存储储)的内容;)的内容;B不不要要使使用用空空洞洞的的、缺缺乏乏具具体体含含义义的的名字(如名字(如“数据数据”、“输输入入”););2.4.3命名命名C如果如果为为某个数据流(或数据存某个数据流(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 完整 ppt 教程 课件
限制150内