一讲-软件工程_第1页
一讲-软件工程_第2页
一讲-软件工程_第3页
一讲-软件工程_第4页
一讲-软件工程_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第1讲软件和软件工程毛新军教授xjmao@计算机科学与技术系602教研室0731-(45)73649软件工程导论之用工程化的方法来开发软件©CopyrightXinjunMao1软件和软件工程本讲内容容软件(概概念、特特点)软件危机机(表现现和根源源)软件工程程(概念念、目标标和原则则)©CopyrightXinjunMao2软件和软软件工程程计算机软软件什么是计计算机软软件计算机软软件的特特点©CopyrightXinjunMao3软件和软软件工程程可执行部部分不可执行行部分文档1文档2文档3什么是计计算机软软件?与计算机机系统操操作有关关的程序以及任何何与之相相关的文档的集合程序©CopyrightXinjunMao4软件和软软件工程程什么是程程序(1/2))程序:由程序设设计语言言所描述述的、能能为计算算机所识识别、理理解和处处理的语语句序列列程序例子子Main()){inti,j;//变量定义义charStr[[10]];i=i++j;;///语句说明明……}©CopyrightXinjunMao5软件和软软件工程程什么是程程序(2/2))程序设计计语言具具有良好好、严格格语法和和语义目前程序序设计语语言主要要有以下下几种类类型面向机器器:如汇编语语言、机机器语言言等面向过程程:如Fortran,Pascal,,C等等面向对象象:如Java等等面向问题题:如结构化化查询语语言SQL等等©CopyrightXinjunMao6软件和软软件工程程什么是文文档文档:记录软件件开发活活动和阶阶段性成成果、理理解软件件所必需需的阐述述性资料料需求分析析文档软件设计计文挡等等编写文档档目的促进对软软件的开开发,管理和维维护;便于各种种人员(用户,开发人员员)的交流©CopyrightXinjunMao7软件和软软件工程程文档例子子软件需求求规格说说明书©CopyrightXinjunMao8软件和软软件工程程软件特点点不会老化化逻辑产品品(智智力,无无形))维护困难难和复杂杂(完善善,纠纠错,……....)生产只需需复制软件开发发性质如如成本、、进度等等难以估估计软件的开开发更加加依赖于于开发人人员的业业务素质质、智力力、人员员的合作作、组织织和管理理©CopyrightXinjunMao9软件和软软件工程程本讲内容容软件(概概念、特特点)软件危机机(表现现和根源源)软件工程程(概念念、目标标和原则则)©CopyrightXinjunMao10软件和软软件工程程软件危机机什么是软软件危机机软件危机机的表现现产生软件件危机的的根源解决危机机的技术术途径解决危机机的管理理途径©CopyrightXinjunMao11软件和软软件工程程什么是软软件危机机软件在开开发和维维护过程程中遇到到的一系系列问题题困扰学术术界和工工业界用户对软软件开发发缺乏信信心软件开发发的高投投入和高高风险©CopyrightXinjunMao12软件和软软件工程程软件危机机的表现现(1of3)成本高IBM360OS,5000多人年,,耗时4年(1963-1966)),花费费2亿多多美元美国空军军:1955年年软件占占总费用用(计算算机系统统)的18%,,70年年60%%,85年达到到85%%美国全球球军事指指挥控制制系统,,硬件1亿美元元,软件件高达7.2亿亿美元计算机软软件和硬硬件费用用比©CopyrightXinjunMao13软件和软软件工程程软件危机机的表现现(2of3)软件质量量得不到到保证软件应用用面的扩扩大:科科学计算算、军事事、航空空航天、、工业控控制、企企业管理理、办公公、家庭庭软件越来来越多的的应用于于安全犹犹关(safetycritical))的系统,,对软件件质量提提出更高高的要求求80年代代欧洲亚亚丽安娜娜火箭的的发射失失败,原原因是软软件错误误美国阿托托拉斯火火箭的发发射失败败,原因因是软件件故障英国1986年年开发的的办公室室信息系系统Folios经4年,,因性能能达不到到要求,,1989年取取消日本第5代机因因为软件件问题在在投入50亿美美元后于于1993年下下马由于软件件质量问问题导致致失败的的软件项项目非常常多©CopyrightXinjunMao14软件和软软件工程程软件危机机的表现现(3of3)进度难以以控制项目延期期比比皆皆是由于进度度问题而而取消的的软件项项目较常常见只有一小小部分的的项目能能够按期期完成维护非常常困难软件维护护的多样样性软件维护护的复杂杂性软件维护护的副作作用©CopyrightXinjunMao15软件和软软件工程程产生软件件危机的的根源逻辑产品品,不同同于物理理产品复杂性高高逻辑产品品,逻辑辑复杂性性,远高高于硬件件复杂性性软件的复复杂性随随规模呈呈指数级级上升规模大应用扩大大,代码码量,1000万行,,仍在不不断膨胀胀影响软件件生产率率和质量量的因素素比较复复杂人员的能能力和水水平团队合作作缺乏有效效、系统统原理、、原则、、方法和和工具的的指导和和辅助©CopyrightXinjunMao16软件和软软件工程程对软件开开发的深深层次认认识开发一个个具有一一定规模模和复杂杂性的软软件系统统与编写写一个简简单的程程序不一一样正如建设设狗窝和和高楼大大厦大型、复复杂软件件系统的的开发是是一项工工程,必必须按照照工程化化的方法法组织软软件的生生产和管管理,必必须经过过分析、、设计、、实现、、测试、、维护等等一系列列软件过过程和活活动©CopyrightXinjunMao17软件和软软件工程程解决危机机的技术术途径20世纪60年代爆发发,然而而实际上上软件危危机随着着计算机机软件的的产生而而产生,,只是在在此之前前其问题题的严重重性没有有引起人人们的关关注和重重视提出有效效的方法法和工具具支持软软件开发发1968年提出出软件工工程概念念和思想想20世纪70年代的结结构化软软件开发发方法20世纪80年代的面面向对象象的软件件开发方方法新的技术术:软件重用用、快速速原型、、需求工工程典型技术术:COM,Java,C+++,J2EE,..Net,…….支撑工具具和环境境:Jbuilder,VisualStudio,WebLogic,,…©CopyrightXinjunMao18软件和软软件工程程技术手段段不能完完全解决决软件危危机到了20世纪90年代,软软件危机机依然存存在,甚甚至更为为严重应用牵引引技术的的发展瀑布模型型结构化软软件开发发方法OO软件开发发方法技术推动动应用的的深化应用的扩扩大和深深入应用变得得越来越越大和复复杂,技技术变得得更加力力不从心心错误的观观念“只只要有好好的软件件开发方方法和工工具就能能高效率率地开发发出高质质量的软软件”©CopyrightXinjunMao19软件和软软件工程程解决危机机的管理理途径问题出在在哪里??20世纪80年代末,,美国DoD和工业界界开始认认识到管管理的重重要性美国DoD的一项研研究表明明,70%的项项目由于于管理不不善导致致难以控控制进步步、成本本和质量量;进一步的的研究发发现:管管理是影影响软件件项目成成功开发发的全局局性因素素,而技技术只影影响局部部如果软件件开发组组织不能能对软件件项目进进行有效效管理,,就不能能充分发发挥软件件开发方方法和工工具的潜潜力,也也就不能能高效率率地开发发出高质质量的软软件产品品©CopyrightXinjunMao20软件和软软件工程程本讲内容容软件(概概念、特特点)软件危机机(表现现和根源源)软件工程程(概念念、目标标和原则则)©CopyrightXinjunMao21软件和软软件工程程软件工程程软件危机机-->>根源--->解解决途径径:软件件工程产生:1968年NATO计算算机科学学会议软件工程程是运用用工程的的、数学学的、计计算机等等科学概概念、方方法和原原理来指指导软件件开发和和管理和和维护的的一门学学科©CopyrightXinjunMao22软件和软软件工程程

过程方法工具软件工程程软件工程程构成三三要素过程管理部分分方法技术手段段工具自动或半半自动地地支持软软件的开开发和管管理要素之间间相互关关联和支支持©CopyrightXinjunMao23软件和软软件工程程软件工程程目标((1/2)正确性满足用户户的需求求(功能、性性能等)可靠性具有能够够防止因因概念、、设计和和结构等等方面的的不完善善而造成成的系统统失效,,具有挽挽回因操操作不当当造成软软件系统统失效的的能力可维护性性便于对软软件增加加新功能能、改进进性能、、修改错错误、移移植可重用性性软件易于于被再次次使用©CopyrightXinjunMao24软件和软软件工程程软件工程程目标((2/2)可追踪性性对软件进进行正向向和反向向追踪的的能力可移植性性从一个环环境搬迁迁到另一一个环境境可互操作作性多个软件件要素相相互通讯讯协同完完成任务务能力有效性充分利用用计算机机的时间间和空间间资源©CopyrightXinjunMao25软件和软软件工程程软件工程程原则((1/2)抽象关注事物物基本、、重要的的部分,,忽略不不相关成成分抽象可以以使我们们的思维维聚焦于于问题本本质,从从而简化化问题,,控制问问题复杂杂度,推推动复杂杂、庞大大软件系系统开发发模块化模块是程程序中一一个逻辑辑上相对对独立、、具有良良好的接接口定义义的编程程单位::过程、、函数、、类、程程序包等等模块化是是指将复复杂的系系统分解解为由一一个个相相对独立立的模块块来加以以实现,,有助于于抽象和和信息隐隐藏以及及表示复复杂的系系统信息隐藏藏模块中的的软件设设计决策策信息封封装起来来的技术术,只知知道它的的功能以以及对外外的接口口,而不不知它的的内部细细节有助于软软件开发发人员的的注意力力集中于于更高的的抽象层层次©CopyrightXin

温馨提示

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

评论

0/150

提交评论