软件工程技术 教学课件 ppt 作者 付雯

上传人:E**** 文档编号:89368106 上传时间:2019-05-24 格式:PPT 页数:231 大小:2.43MB
返回 下载 相关 举报
软件工程技术 教学课件 ppt 作者 付雯_第1页
第1页 / 共231页
软件工程技术 教学课件 ppt 作者 付雯_第2页
第2页 / 共231页
软件工程技术 教学课件 ppt 作者 付雯_第3页
第3页 / 共231页
软件工程技术 教学课件 ppt 作者 付雯_第4页
第4页 / 共231页
软件工程技术 教学课件 ppt 作者 付雯_第5页
第5页 / 共231页
点击查看更多>>
资源描述

《软件工程技术 教学课件 ppt 作者 付雯》由会员分享,可在线阅读,更多相关《软件工程技术 教学课件 ppt 作者 付雯(231页珍藏版)》请在金锄头文库上搜索。

1、软件工程技术,Software Engineering,主编:付雯 李响,目录,第一部分 软件工程的基本概念 第1章 软件工程概述 第二部分 软件工程的技术方法 第2章 软件可行性分析 第3章 软件需求分析 第4章 软件总体设计 第5章 软件详细设计 第6章 编码和测试 第7章 软件维护 第8章 面对对象的方法学 第三部分 软件项目管理 第9章 软件项目立项 第10章 软件项目管理,第一部分 软件工程基本概念,第1章 软件工程概述,计算机技术的发展至今已有50多年历史,其应用领域从单纯的科学计算发展到了军事、经济、教育和文化等各方面,极大推动了各行业和领域的发展,改变了人们的学习、工作及生活方

2、式,使人类顺利从工业社会跨入了信息社会。 软件已成为一个独立的产业推动着国民经济的发展,成为信息社会的支柱产业之一。,第1章 软件工程概述,软件工程在软件中占着重要地位,是一个具有创新思维的高新技术工程,用工程学的方法、技术和管理手段,将软件开发带进工程化的领域来进行探究。在20世纪90年代,软件工程取得了突飞猛进的发展,已形成一个比较完整的学科。,第1章 软件工程概述,软件工程是指开发、使用和维护软件系统的系统、规范、可度量的方法,包括软件需求、软件设计、编码、软件测试、软件维护、软件配置管理、软件工程质量管理、软件工程工具和方法等内容。,本章作为软件工程概述主要介绍软件的基本概念、分类及特

3、点、软件开发范型要素、软件危机产生的原因及缓解途径、软件过程的基本活动,让读者了解软件工程的发展历史、现状以及所面临的困境。,第1章 软件工程概述,本节将带领大家了解什么是软件,明确软件的概念,掌握软件的特点,从理论上认真体会软件的含义以及分类和特点。,1.1 软件及其分类、特点,第1章 软件工程概述,1.1.1软件的概念,所谓软件(Software)即平时我们所使用的程序的另一种称呼。 目前人们这样定义软件的概念:与计算机系统操作有的程序关、规程、规则及任何与之有关的文档和数据。如图1-1:,图1-1 软件组图,数据(Data)是程序能正常执行处理计算机信息的数据结构。数据可以是连续的值也可

4、以是离散的值。数据是程序运行的基础,是具体的操作对象。 文档(Document)是与软件开发、运行、维护、使用及培训有关的资料,是不可执行的。包括:软件开发计划书、需求规格说明书、设计说明书、测试分析报告和用户手册等。,1.1.1软件的概念,程序(Program)是按照特定的顺序组织计算机数据和指令的集合,是一种被标准化了的交流技巧,适合于计算机处理的语句序列。程序通过程序设计编译器将程序编译成一组由机器来执行的指令,我们称这组指令为机器语言程序。 我们将程序设计语言分为三类,分别是:机器语言、汇编语言、高级语言。,1.1.1软件的概念,计算机系统可以分为计算机硬件系统和计算机软件系统。 硬件

5、是指实际的物理设备,包括计算机的主机和外部设备 软件是指实现算法的程序和相关文档。包括计算机本身运行所需的系统软件和用户完成特定任务所需的应用软件。,1.1.2软件的分类,计算机软件按照功能划分主要由系统软件、支撑软件和应用软件三大部分组成。图1-2:,1.1.2软件的分类,图1-2 计算机软件按功能分类,1系统软件 系统软件是管理,监控和维护计算机资源的软件,是用来扩大计算机的功能、提高计算机的工作效率,方便用户使用计算机的软件。 系统软件主要分为操作系统(软件的核心)和各种语言处理程序两大部分。,1.1.2软件的分类,(1)操作系统:系统软件的核心是操作系统。操作系统是由指挥与管理计算机系

6、统运行的程序模版和数据结构组成的一种大型软件系统。例如:现在常用的windows、linux系统等。 (2)语言处理程序:语言处理程序包括机器语言处理程序、汇编语言处理程序和高级语言处理程序。这些语言处理程序除了个别常驻在ROM中可以独立运行外,其余都必须在操作系统的支持下运行。,1.1.2软件的分类,2支撑软件 支撑软件主要由各种数据库管理系统组成。例如,数据库是以一定的组织方式存储起来的、具有相关性的数据的集合。 如:Oracle、SQL Server、DB2、Access等。,1.1.2软件的分类,3. 应用软件 为解决计算机各类问题而编写的程序统称为应用软件。它又可以分为用户程序和应用

7、软件包。 (1) 用户程序:用户程序是为了解决特定的问题而开发的软件。编制用户程序应充分利用技术算计系统的各种现成软件,在系统和应用程序软件包的支持下可以更加方便、有效地研制用户专用程序。例如:火车站的票务管理系统、人事管理部门的人事管理系统和财务部门的财务管理系统的等。 (2) 应用软件包:应用软件包是为实现某种特定功能而精心设计的、结构严密的独立系统,是一套满足同类应用的许多用户所需要的软件。,1.1.2软件的分类,4.通用软件:向政府采购用户提供的计算机软件、信息系统或在提供计算机信息系统集成、应用服务等技术服务时提供的计算机软件。,5.管理软件:用于政府采购人单位(非个人)事务管理的应

8、用软件。,6. 办公软件:主要用于企业或者个人办公用,如Microsoft Office、桌面办公系统等。,7. 网络软件:在计算机网络环境中,用于支持数据通信和各种网络活动的软件。常用的有网站管理软件、代理服务器,各种下载工具等。,1.1.2软件的分类,1.1.3软件的特点,软件产品依赖脑力劳动 软件不会磨损和老化 软件产品的可复用性 软件的可维护性,“软件工程”自1968年提出以来,专家们对其进行的研究陆续提出了100多条关于它的准则,并总结了许多经验。但是到目前为止,对软件工程仍然没有一个统一的定义。,1.2 软件工程的定义及内涵,第1章 软件工程概述,1.2软件工程的定义及内涵,计算机

9、科学技术百科全书中的定义:软件工程是应用计算机科学、数学及管理科学等原理,来开发软件的工程。 百度百科:软件工程 (Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。 我国定义:2006年国家标准GB/T 11457-2006软件工程术语中定义为“应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或进行研究的学科”。,软件工程主要包括三要素:过程、方法和工具。如图1-4:,图1-4

10、 软件工程层次图,1.2软件工程的定义及内涵,知识小百科,Institute of Electrical and Electronics Engineers (IEEE) 美国电气和电子工程师协会,1963年1月1日由美国无线电工程师协会(IRE,创立于1912年)和美国电气工程师协会(AIEE,创建于1884年)合并而成,它有一个区域和技术互为补充的组织结构,以地理位置或者技术中心作为组织单位。它管理着推荐规则和执行计划的分散组织。总部在美国纽约市。IEEE在150多个国家中它拥有300多个地方分会,是世界上最大的专业技术组织之一(成员人数)。透过多元化的会员,该组织在太空、计算机、电信、生

11、物医学、电力及消费性电子产品等领域中都是主要的权威。专业上它有35个专业学会和两个联合会。IEEE发表多种杂志,学报,书籍和每年组织300多次专业会议。IEEE定义的标准在工业界有极大的影响。,1.2软件工程的定义及内涵,目前,在软件工程方法学中,使用最广泛的分别是结构化范型和面向对象范型。范型实际上就是对模型或者模式的总称。但是,在软件工程学科中,范型则是用来表示整个软件生产过程的总的生产技术的集合。,1.3软件开发范型要素,结构化范型包含结构化分析与设计、结构化编程和测试。结构化分析与设计的出现标志着第一个软件工程方法学的引入。 这种范型模式即我们说的传统方法学,同时也称为生命周期方法学,

12、它将软件的生命周期一次划分为若干个阶段,然后顺序完成每个阶段的任务。这种方法操作简单,成功率高,因此被广泛应用。,1.3.1结构化范型,常见结构化方法: Yourdon方法 Jackson方法 Warnier方法 结构化方法基本思想可以简单概括为:自顶向下、逐步求精;采用模块化技术、分而治之;模块内部由顺序、分支、循环基本控制结构组成。,1.3.2 面向对象范型,面向对象方法(objected-oriented)是目前软件方法学的主要研究方向,同时也是目前最有效、最实用和最流行的软件开发方法之一。 面向对象的方法由于汲取了结构化方法的优点,又结合自身的特点,采用数据抽象和信息隐蔽的技术,将问题

13、求解看作是一个分类演绎的过程。,1.4软件危机,案例分析:,例1: 美国银行1982年进入信托商业领域,并规划发展信托软件系统。计划原订预算2千万美元,开发历时9个月,预计于1984年12月31日以前完成。后来至1987年3月都未能完成该系统,期间已投入6千万美元。美国银行最终因为此系统不稳定而不得不选择放弃,并将340亿美元的信托帐户转移出去,同时失去了6亿美元的信托生意机会。 例2:1933年距离伦敦90英里的塞兹韦尔核电站正式投入运行,工作人员很快发现核电站的反应堆内温度控制失灵。事后查明,在反应堆的主要保护程序中,有一个10万行代码的控制软件几乎有一半未能通过测试。,1.4软件危机,例

14、3:20世纪80年代中期,加拿大一家原子能公司生产的、有微处理器控制的癌症治疗仪,在美国和加拿大的多家医院使用,致使6个病人因超剂量辐射而受到严重伤害甚至死亡。 例4:1996年欧洲航天局发射的阿丽亚娜5型火箭,在发射40秒后,距地面约4000米时发生爆炸,发射场上2名法国士兵当场死亡。这个耗资10亿美元、历时9年、上万人参与的的航天计划严重受挫,引起了国际宇航界的震惊,是世界航天史上的又一大悲剧。事故发生后,专家组成的调查分析报告指明,爆炸的原因在于惯性导弹导航系统软件中的技术要求和设计的错误,因此军用软件决不能想当然。,1.4软件危机,例5:我国于2008年承办的奥运会,其间奥运会售票系统

15、于2007年10月30日上午瘫痪。经专家分析,系统瘫痪的原因在于系统的架构设计上的失误。 软件危机是指:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。,1.4软件危机,软件危机的产生有如下原因:,1)用户对软件需求的描述不精确。 2)软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致。 3)缺乏处理大型软件项目的经验。 4)开发大型软件易产生疏漏和错误。 5)缺乏有力的方法学的指导和有效的开发工具的支持。 6) 面对日益增长的软件需求,人们显得力不从心。,1.4软件危机,软件危机往往有以下几种表现:,人们对软件开发

16、的成本和进度的估计常常不够准确。 用户对已完成的软件不满意的现象时有发生。 软件常常是不可维护的。 软件产品的质量往往不可靠。 软件开发生产率提高的速度远远跟不上日益增长的软件需求,满足不了社会发展的需要。,1.4软件危机,解决软件危机的途径:,加强软件开发过程的管理,做到组织有序,各类人员协同配合,共同保证工程项目的完成,避免软件开发过程中个人单个的现象。 推广使用开发软件的成功技术和方法,并且不断探索更好的技术和方法,消除一些错误的概念和做法。 开发和使用好的软件工具,支持软件开发的全过程。,1.5软件工程发展历史,第一阶段20世纪50年代到60年代中期 “软件危机” 第二阶段20世纪60年代中期到70年代初期 “软件车间” 第三阶段20世纪70年代中期到80年代末期 “软件公司” 第四阶段20世纪80年代末期至今,1.5软件工程发展历史,图1-5 软件工程发展阶段,1.6软件生存周期,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号