李万龙XXXX秋软件工程第01章软件工程学概述v2_第1页
李万龙XXXX秋软件工程第01章软件工程学概述v2_第2页
李万龙XXXX秋软件工程第01章软件工程学概述v2_第3页
李万龙XXXX秋软件工程第01章软件工程学概述v2_第4页
李万龙XXXX秋软件工程第01章软件工程学概述v2_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、 Software EngineeringCCUTSE2013软件工程导论第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第8章维 护第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理分析设计实现第8章维 护第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理软件工程程

2、概述面向对象象方法学学软件项目目管理结构化方方法学第8章维 护第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理面向对象象方法学学软件项目目管理结构化方方法学第8章维 护第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理

3、软件工程程概述面向对象象方法学学软件项目目管理结构化方方法学第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理软件工程程概述软件项目目管理结构化方方法学面向对象象方法学学第8章维 护第8章维 护第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实

4、现第13章软件项目目管理软件工程程概述结构化方方法学结构法方方法学面向对象象方法学学第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理软件工程程概述软件项目目管理后续课程程需求工程程第8章维 护第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实

5、现第13章软件项目目管理软件工程程概述软件项目目管理第8章维 护后续课程程软件建模模与分析析第1章软件工程程学概述述第2章可行性研研究第3章需求分析析第4章形式化说说明技术术第5章总体设计计第6章详细设计计第7章实现第9章面向对象象方法学学引论第10章面向对象象分析第11章面向对象象设计第12章面向对象象实现第13章软件项目目管理软件工程程概述第8章维 护后续课程程:软件件项目管管理大象无形形:软件的特特点适者生存存:软件的发发展与进进化道法自然然:软件工程程的基本本原理巧夺天工工:软件工程程异曲同工工:过程模型型主要内容容初识软件工程程:由术术语到学学科SoftwareEngineering

6、是一个术术语是一门技技术是一门课课程是一个专专业是一个学学科是搞软件件的人必必须知道道、了解解、熟悉悉、掌握握、运用用、研究究的东东东。初识软件工程程:实践践者之路路实践者之之路知道了了解熟熟悉掌掌握运运用研研究SE研究科学家运用架构师工程师掌握技术员熟悉了解知道程序员门外汉初识软件件工程:层次化化技术工具方法过程质量焦点Softwareengineeringlayers软件工程程:一种种层次化化的技术术软件工程程三要素素:方法法、工具具、过程程初识软件件工程:软件危危机是软软件工程程诞生的的导火索索软件危机术语:软件工程方法:软件工程课程:软件工程专业:软件工程学科:软件工程计算机系统的发发

7、展1.1软软件危危机计算机系系统的发发展历程程:四个阶段段个体开发(1950-1960)软件工程(1970-1980)软件作坊(1960-1970)软件产业(1980-)1.1软软件危危机计算机系系统的发发展历程程:四个阶段段个体开发(1950-1960)软件工程(1970-1980)软件作坊(1960-1970)软件产业(1980-)通用硬件件相当普普遍主要应用用于数值值计算很小的专专门程序序用户就是是程序员员设计在大大脑中进进行文档只有有程序清清单1.1软软件危危机计算机系系统的发发展历程程:四个阶段段个体开发(1950-1960)软件工程(1970-1980)软件作坊(1960-1970

8、)软件产业(1980-)通用硬件件相当普普遍主要应用用于数值值计算很小的专专门程序序用户就是是程序员员设计在大大脑中进进行文档只有有程序清清单广泛使用用软件产产品应用扩展展到非数数值计算算领域程序较大大,数量量急剧膨膨胀软件作坊坊出现适应性维维护相当当困难软件危机机爆发1.1软软件危危机软件工程程学科的的诞生:1968年NATO会会议北约:华约:第三世界界:查找网络络1.1软软件危危机1.1.1软软件危机机的介绍绍:效率与质质量的尖尖锐矛盾盾1.软件件危机的的定义软件危机机是指在在计算机机软件的的开发和维护过程中所所遇到的的一系列列严重问问题。即:效率和质量的问题。1.1软软件危危机1.1.1

9、软软件危机机的介绍绍:效率与质质量的尖尖锐矛盾盾2.软件件危机的的典型表表现:7不(1)不不可预见见:开发成本本和进度度估计不不准。(软件无无形)(2)不不能交付付:用户对“已完成成的”软软件系统统不满意意。(包包办婚姻姻)(3)不不满需求求:软件质量量往往靠靠不住。(不满满足需求求)(4)不不可维护护:软件常常常是不可可维护的的。(文文档不匹匹配)(5)不不好文档档:软件通常常没有适适当的文文档资料料。(轻轻视分析析与设计计)(6)不不好赚钱钱:软件成本本逐年上上升。(劳动密密集型)(7)不不能匹配配:软件开发发生产率率滞后于于硬件和和计算机机应用普普及的速速度(硬件领先先)1.1软软件危危

10、机1.1.1软软件危机机的介绍绍:效率与质质量的尖尖锐矛盾盾3.软件件危机:人与神神话中中的场景景1.1软软件危危机1.1.1软软件危机机的介绍绍:效率与质质量的尖尖锐矛盾盾4.软件件危机:一组形象象的漫画画8客户所付的钱9上线后的技术支持7最后交付给用户的软件0 客户真正的需求1 客户解释他们想要的4程序员写出的代码2项目负责人对客户需求的认识3系统分析员分析的6项目文档一片空白5顾问所描绘的情景1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点错误认识识:软件就是是程序、不用维维护方法落后后:非工程化化方法、结构化

11、化方法1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点软件是逻逻辑部件件,缺乏乏可见性性软件没有有磨损,不会被被用坏软件规模模庞大,复杂度度指数上上升1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件无刻刻不在、无处不不在软件普遍遍存在于于各种硬硬件之中中软件深刻刻影响着着人们日日常生活活软件改变变了社会会以及生生产方式式软件有许许多类型型软件形成成了产业业软件有许许多负面面效应1.1软软件危危机

12、1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件无刻刻不在、无处不不在What:什什么东西西没有软软件?Where:哪哪没有软软件?When:什什么时候候不使用用软件?Why:为为什么么不使用用软件?Who:谁谁不使用用软件?1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件无刻刻不在、无处不不在1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认

13、识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件深刻刻影响着着人们日日常生活活1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件改变变了社会会以及生生产方式式1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件改变变了社会会以及生生产方式式1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错

14、误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件有许许多类型型1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件形成成了产业业1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件有许许多负面面效应1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件

15、截截然不同同的特点点我们认识识的软件件:可以天方方夜谭的的话题软件有许许多负面面效应1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后软件特点点:与硬件截截然不同同的特点点软件是播播撒梦想想和收获获噩梦的的地方,是一片恶恶魔与神神仙相竞竞争的抽抽象而神神秘的沼沼泽,1.1软软件危危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后错误认识识:忽视需求求重视程序序轻视维护护葵花宝典典英雄主义义早期中期后期低中高付出的代价时间DefinitionDevelopmentAfter release1x1.5-6x60-100 x1.1软软件危

16、危机1.1.2产产生软件件危机的的原因:软件特点点+错误误认识+方法落落后方法落后后:无方法结构化方方法面向对象象方法面向对象象方法模型驱动动(MDA)1.1软软件危危机1.1.3消消除软件件危机的的途径:工程化=技术措措施+管管理措施施提高认识识:软件=程程序+文文档+数数据工程思维维:神秘技巧巧to工工程项目目软件工具具:不断开发发、使用用更好的的工具不断实践践:发展中的的软件工工程1.2软软件工工程1.2.1软软件工程程的介绍绍:定义+SE的的本质特特性软件工程程定义1软件工程程是指导导计算机机软件开开发和维维护的工工程学科科。采用用工程的的概念、原理、技术和和方法来来开发与与维护软软件

17、,把把经过时时间考验验而证明明正确的的管理技技术和当当前能够够得到的的最好的的技术方方法结合合起来,以经济地开发出出高质量的软件并并有效地维维护它。1.2软软件工工程1.2.1软软件工程程的介绍绍:定义+SE的的本质特特性软件工程程定义2(1968年NATO)软件工程程就是为为了经济济地获得得可靠地地且能在在世纪机机器上有有效地运运行的软软件,而而建立和和使用完完善的工工程原理理。1.2软软件工工程1.2.1软软件工程程的介绍绍:定义+SE的的本质特特性软件工程程定义3(1993年IEEE)(1)把把系统化化的、规规范的、可度量量的途径径应用与与软件开开发、运运行和维维护;(2)研研究(1)中

18、的的途径。1.2软软件工工程1.2.1软软件工程程的介绍绍:定义+SE的的本质特特性软件工程程的本质质特性1.关注大型程序序构造2.中心心课题是是控制复复杂性3.软件件经常变变化4.开发发软件的的效率非非常重要要5.和谐谐地合作作是开发发软件的的关键6.软件件必须有有效地支支持它的的用户7.开发发者和使使用者文文化背景景不同1.2软软件工工程1.2.2软软件工程程的基本本原理:7条1.用分分阶段的的生命周期期计划进行行严格管管理2.坚持持进行阶段评审审3.实行行严格的的产品控制制4.采用用现代程程序设计计技术5.结果应能清楚楚地审查查6.开发发小组的的人员应应该少而精7.承认认不断改进进软件工

19、程程实践的的必要性性1.2软软件工工程1.2.3软软件工程程方法学学:方法学学+结构构化方法法+OO方法软件工程程=管理理,技术术管理:通过计划划、组织织和控制制等一系系列活动动,合理理地配置置和使用用资源,以达到到既定目目标的过过程。方法学(methodology)也称为为范性(paradigm)软件生命命周期全全过程中中使用的的一整套套技术方方法的集集合。方法学=阶段段,技术术方法软件工程程三要素素:方法、工具、过程1.2软软件工工程1.2.3软软件工程程方法学学:方法学学+结构构化方法法+OO方法1.传统统方法学学(结构构化方法法学)=结构构化分析析+结构构化设计计+结构构化实现现阶段化

20、、顺序化化、文档档化、标标准化要么面向向行为,要么面面向数据据是面向对对象方法法学的基基础1.2软软件工工程1.2.3软软件工程程方法学学:方法学学+结构构化方法法+OO方法2.面向向对象方方法学OO:ObjectOriented=OOA+OOD+OOP迭代式、增量化化、演化化性、无无缝化主流的软软件工程程方法1.2软软件工工程1.2.3软软件工程程方法学学:方法学学+结构构化方法法+OO方法2.面向向对象方方法学OO:ObjectOrientedOO的四四个要点点:对象(Object):问题题域中被被关心的的人或事事物类(Class):对对象的抽抽象,层层次结构构继承(Inheritance

21、):自动拥拥有父类类的数据据和操作作消息(Message):对对象间相相互通信信的形式式与内容容1.3软软件生生命周期期软件生命命周期=3个时期期8个阶阶段1.4软软件过程程软件过程程是一系系列任务务的框架架,规定定了完成成各项任任务的工工作步骤骤。软件过程程规定了了完成目目标的who,when,what,how软件过程程软件需求求软件产品品资源消耗耗人员时间计算机硬硬件计算机软软件1.4软软件过程程ISO9000定义使用资源源键输入入转化为为输出的的活动所所构成的的系统。软件过程程软件需求求软件产品品资源消耗耗人员时间计算机硬硬件计算机软软件1.4软软件过程程生命周期期模型生命周期期各阶段段

22、及顺序序关系。瀑布模型型快速原型型模型RAD增量模型型螺旋模型型喷泉模型型Rational统一一过程RUP敏捷模型型与极限限编程(XP)微软过程程生命周期期模型种种类1.4软软件过程程生命周期期模型生命周期期各阶段段及顺序序关系。阶段模式(Benington,1956)瀑布模式(Royce,1970)增量模式(Mills,1971)原型模式(Bally等人,1977)螺旋模式(Mills等人,1986;Boehm,1988)19501960197019801990同步模式(Aoyama, 1993)1.4软软件过程程1.4.1瀑瀑布模型型设计验证规格说明验证需求分析验证编码测试综合测试维护Ro

23、yce于1970年提出出文档驱动动特点1.阶段段间具有有顺序性性和依赖赖性2.推迟迟实现的的观点3.质量量保证的的观点1.4软软件过程程1.4.1瀑瀑布模型型设计验证规格说明验证需求分析验证编码测试变化的需求验证综合测试维护实际的瀑瀑布模型型有反馈环环有迭代的的意味1.4软软件过程程1.4.2快快速原型型模型设计验证规格说明验证快速原型验证编码测试变化的需求验证综合测试试维护实际的瀑瀑布模型型有反馈环环有迭代的的意味1.4软软件过程程1.4.2快快速原型型模型设计验证规格说明验证快速原型验证编码测试变化的需求验证综合测试维护两个模型型的比较较设计验证规格说明验证需求分析验证编码测试变化的需求验

24、证综合测试维护1.4软软件过程程1.4.3增增量模型型概要设计验证规格说明验证需求分析验证针对每个构件,完成详细设计、编码和集成,经测试后交付给用户维护1.4软软件过程程1.4.3增增量模型型规格说明明设计编码和集集成交付客户户规格说明明设计编码和集集成交付客户户规格说明明设计编码和集集成交付客户户构件1:构件2:构件n:风险更大大的增量量模型1.4软软件过程程1.4.4螺旋模型型维护需求分析验证风险分析规格说明验证风险分析设计验证风险分析编码验证风险分析综合测试验证风险分析变化的需求验证风险分析简易的螺螺旋模型型1.4软软件过程程1.4.4螺螺旋模型型建造的第 n个个原型计划下一一阶段各步骤

25、的的进度累计费用用完整的螺螺旋模型型1.4软软件过程程1.4.5喷喷泉模型型需求阶段段面向对象象分析阶阶段面向对象象设计阶阶段编码阶段段集成和测测试阶段段运行状态态进一步开开发维护期1.4软软件过程程1.4.6Rational统一一过程1.4软软件过程程1.4.6Rational统一一过程阶段迭代初始精化构造转移初始精化1精化2构建1构建2构建n转移1转移2业务建模工作流需求分析设计 实现测试配置和变更管理项目管理环境部署1.4软软件过过程1.4.7敏敏捷过程程与极限限编程2001年2月月17位位著名的的软件专专家敏敏捷软件件开发宣宣言(1)个个体和交交互胜过过过程和和工具(2)可可以工作作的软件件胜过面面面俱到到的文档档(3)客客户合作作胜过合合同谈判判(4)响响应变化化胜过遵遵循计划划根据上述述价值观观提出的的软降过过程统称称为敏捷捷过程,其中最最重要的的是极限编程程。1.4软软件过过程1.4.7敏敏捷过程程与极限限编程(1)极极限

温馨提示

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

评论

0/150

提交评论