软件工程课件第一章第一章.ppt_第1页
软件工程课件第一章第一章.ppt_第2页
软件工程课件第一章第一章.ppt_第3页
软件工程课件第一章第一章.ppt_第4页
软件工程课件第一章第一章.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

软件工程,APPLE I,II斯蒂芬,Win GUI阿伦凯,最早的软件公司,旦布莱克林,Bill Gates,最早的计算机,求伯君,微软公司总部,华为深圳研发基地,现代软件开发部,以软件与服务外包作为支柱产业的成都高新区,第一讲 软件危机与软件工程学,软件基本概念 计算机软件的发展 软件危机 软件工程学 软件生命周期,软件基本概念,软件的定义 程序:计算机用户使用计算机,为完成某项特定任务而编写的一个有序的命令和数据的集合。 软件: 与计算机系统操作有关的计算机程序、规程、规则及相关的文件和数据。 软件=可执行部分+不可执行部分,计算机软件的发展,程序设计时期( 四五十年代) 软件发展初期,人们最关心的是计算机能否可靠、持续地运行等问题。仅仅是把它当作在计算机上求解某一问题而必须进行的准备工作而已,此时的程序设计很少考虑通用性。 程序系统时期(60、70年代) 程序规模增大,程序的设计需要多人分工协作;软件的开发方式由个体生产”发展到“软件作坊”;程序的运行、维护也不再内一个人来承担;程序已不再是计算机硬件的附属成分;在计算机系统的开发过程中,起主导作用的已不仅仅是硬件工程师,同时也包括软件工程师。 由于相互沟通与理解已成为瓶颈,软件危机出现. 软件工程时期(70年代后期) 以工程化的思想作指导,用工程化的原则、方法和标准来开发和维护软件。软件开发的成功率大大提高,软件的质量也有了很大的保证。软件也已经产品化、系列化、标准化、工程化。,软件危机-软件危机的表现,软件危机的表现 软件的复杂性越来越高,“手工作坊”式的软件开发方式已无法满足要求; 软件开发的成本与进度严重估计不足; 软件开发周期长; 软件成本在计算机系统总成本中所占的比例逐年上升; 软件的维护工作量大; 软件没有足够的文档资料 软件的开发速度远远跟不上计鞠机应用普及的速度 软件产品质量难以保证 用户对“己完成的“软件系统极不满意,软件危机-软件危机产生原因,软件危机产生的原因 软件危机的产生,一方面和软件本身的特性有关,另一方面和软件开发与维护的方法不当有关; 软件开发涉及两方面用户和软件开发人员,用户熟悉本专业业务但不熟悉计算机,软件开发人员熟悉计算机但不了解用户的专业。 软件规模的增大,使程序的复杂程度大大增加,软件开发的难度难以衔量; 软件危机产生,还因为软件的开发采用了“手工作坊”式的开发模式; 软件作为一种产品,如果缺少必要的文档就无法进行维护。,软件工程学-基本概念,软件工程学的研究对象 软件工程学研究如何应用一些科学理论和工程技术来指导软件系统的开发与维护,使其成为一门严格的工程学科。 软件工程学的基本目标 软件工程学的基本目标在于研究一套科学的工程方法,设计一套方便实用的工具系统,以达到在软件研制生产中投资少、效率高、质量优的目的。 软件工程学的三要素 软件工程学的三个基本要素是方法、工具和管理。,第二讲 软件生命周期与模型,软件生命周期 软件过程与过程模型 软件过程模型CMM 软件过程的选择 软件生命周期的定义,软件工程学-软件生命周期,软件生命周期由软件定义、软件开发、教件维护三个时期组成。每个时期又分为若干个阶段。 软件定义,又称为系统分析。确定软件开发的总目标,确定软件开发工程的可行性,确定实现工程目标应该采用的策赂和必须完成的功能,估计完成该项工程需要的资源和成本划定出工程进度表。软件定义,划分为三个阶段,即问题定义、可行性研究和需求分析。 软件开发,是实现前一个时期定义的软件。它包含四个阶段:总体设计、详细设计、编码与单元测试、综合测试。 软件维护的任务,是使软件能够持久地满足用户的需求。,软件过程与过程模型,定义了软件生命周期的历程与阶段。软件过程 过程阶段构成了软件生命周期的基础,并且确立了前后阶段之间的关系,其中规定了技术方法的采用、工程产品(模型、文档、数据、报告)的产生、里程碑的建立、质量的保证及变化的适当管理。,软件过程的一般阶段,定义阶段 集中于“做什么”,涉及项目目标、项目范围、项目需求、项目计划等。 开发阶段 集中于“如何做”,涉及软件设计、代码生成、软件测试等。 维护阶段 集中于“改变”,涉及软件纠错、软件适应、功能增强、预防变化等,软件过程定义的要素,任务集合 里程碑 软件工程产品和交付物 质量保证点 保护性活动(软件质量保证、软件配置管理等),软件过程模型,(1)线性顺序模型(传统生命周期或瀑布模型),内容摘要,本书为配合国家技能型紧缺人才培养培训工程并根据计算机应用和软件专业领域技能型紧缺人才培养培训指导方案的要求而编写。 本书针对职业院校学生的特点,充分体现指导方案中素质为基础、能力为本位、需求为依据、就业为导向的基本原则,教学内容注重选择当前软件工程中的一些新理论、新方法与新技术,通过一个小型软件项目为案例贯穿全书,使学生在学完后能基本掌握软件工程的基本理论与方法在软件项目开发中的实际应用。其主要内容涉及软件工程中的软件策划、需求分析、软件设计、编码实现、软件测试及实施与维护等方面的内容,考虑职业院校学生的就业定位,重点侧重于详细设计、软件编码、软件测试、软件维护这几个方面的基本知识与技能。为保持教学内容的先进性同时便于对教学进行科学灵活的组织,对诸如UML方法、面向对象的分析、设计与编程、面向对象软件测试、CMM等也作了介绍。 本书可以作为职业院校计算机类专业的软件工程课程的教材或教学参考书,也可作为IT行业程序员、测试员、维护员等的培训教材或参考书。,主要内容,第1章 软件工程概述,第2章 系统策划,第3章 需求分析,第4章 软件设计,第5章 编码,第6章 软件测试,第7章 软件实施与维护,第8章 软件项目管理,第9章 软件过程管理,第一章 软件工程概述,本章主要内容,1.1 软件与软件工程,1.2 软件生存周期与开发模型,1.3 软件工程过程,1.4 软件开发工具简介,1.5 学习指南,11 软件及软件工程软件,软件的定义,在运行中能提供所希望的功能与性能的程序 使程序能够正确运行的数据及其结构 描述软件研制过程和方法所用的文档,软件的特点,软件角色的双重性 软件不是传统意义上的被制造 软件不会“磨损”,但会退化 软件都是手工定制的 开发过程的复杂与费用的昂贵,11 软件及软件工程软件,软件的分类,11 软件及软件工程软件工程,软件危机,软件开发的生产率远远不能满足客观需要 开发的软件产品往往不能满足用户的实际需要 软件产品的质量低下且可维护性差 很难估计软件开发的进度计划与成本,软件神话,有了软件开发书籍,就可以解决软件开发中的一切问题 进度滞后了?好,增加程序员 只要程序正确,项目就成功,文档可有可无 软件质量只能在正式投入运行后才知道,11 软件及软件工程软件工程,软件工程的定义,IEEE定义:软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。 通俗地说,软件工程是指导软件开发和维护的一门工程学科。它采用工程的概念、原理、技术和方法,把经过时间检验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发和维护软件。,11 软件及软件工程软件工程,软件工程层次化技术,软件工程三个要素:方法、工具、过程,11 软件及软件工程软件工程,软件工程的作用,【成功案例】美国联邦速递公司(FedEX)的管理信息系统 【失败案例】英国伦敦的急救服务管理信息系统,软件工程的基本原理,用分阶段的生存周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 承认不断改进软件工程实践的必要性,12 软件生存周期与开发模型生存周期,软件生存周期,人的生存周期,婴儿幼儿儿童少年青年中年老年死亡,软件的生存周期,软件定义,软件开发,软件支持,问题定义,可行性分析,需求分析,概要设计,详细设计,编 码,测 试,软件发布,软件运行,维护或退役,12 软件生存周期与开发模型生存周期,软件定义阶段,问题定义 可行性分析 立项或签订合同,软件开发阶段,需求分析 软件设计 编码与测试 发布或安装验收,软件开发阶段,软件的使用、运行 软件维护,12 软件生存周期与开发模型开发模型,问题的提出软件工程需要解决什么问题?,软件开发模型,做什么软件? 怎么做软件? 软件如何适应变化?,软件开发过程概括,是软件工程思想的具体化 它是跨越整个软件生存周期的各个阶段所需要的全部工作与任务的结构框架,12 软件生存周期与开发模型开发模型,瀑布模型线性顺序模型,可行性分析,需求分析,设 计,编 码,测 试,支 持,12 软件生存周期与开发模型开发模型,瀑布模型的特点:,瀑布模型的应用范围,阶段间具有顺序性和依赖性 每个阶段必须完成规定的文档;每个阶段结束前完成文档审查,及早改正错误,但: 开发过程一般不能逆转,否则代价太大。 实际的项目开发很难严格按该模型进行。 客户往往很难清楚地给出所有的需求,而该模型却要求如此。 软件的实际情况必须到项目开发的后期客户才能看到,这要求客户有足够的耐心。,用户的需求非常清楚全面,且在开发过程中没有或很少变化 开发人员对软件的应用领域很熟悉。 用户的使用环境非常稳定。 开发工作对用户参与的要求很低,12 软件生存周期与开发模型开发模型,原型模型,用户测试 运行原型,建造/修改 原型,听取用 户意见,12 软件生存周期与开发模型开发模型,原型模型的特点:,原型模型的应用范围,可以得到比较良好的需求定义,容易适应需求的变化。 有利于开发与培训的同步。 开发费用低、开发周期短、维护容易且对用户更友好。 客户与开发者对原型理解不同 准确的原型设计比较困难 不利于开发人员的创新,对所开发的领域比较熟悉而且有快速的原型开发工具 项目招投标时,可以以原型模型作为软件的开发模型 进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。,12 软件生存周期与开发模型开发模型,基于构件的开发模型,特点:,属于演化式开发或迭代式开发,其开发过程: 客户的交流,获得问题的定义 标识基本类 计划与风险分析 类的复用或重新开发 构造系统 用户评估,采用了先进的面向对象技术。 基于构件库的开发,这是软件复用的基础,开发速度快。 融合了螺旋模型特征 支持软件开发的迭代方法,是一种演化型的开发技术。,13 软件工程过程,软件工程过程的概念,ISO9000,过程:软件工程的三要素之一 从开发到维护软件相关产品所采取一系列管理活动。主要包括项目管理、配置管理、质量管理、文档管理等。,IS09001:设计、开发、生产、安装和服务的质量保证模式 IS09002:生产、安装和服务的质量保证模式 IS09003 :最终检验和试验的质量保证模式。,13 软件工程过程,CMM软件能力成熟度模型,CMM (Capability Maturity Model),CMM的级别,开发工具的作用与功能,14 软件开发工具简介CASE工具,计算机辅助软件工程,CASE,作用,认识与描述系统需求,保存与管理开发过程中的信息,代码的生成,文档的编制与生成,软件项目的管理,开发工具的分类,14 软件开发工具简介CASE工具,分类 方法,按应用阶段划分,按功能划分,设计工具,分析工具,项目管理,软件配置,质量保证,分析设计,计划工具,界面开发,客户服务器,Web开发,IBM Rational工具,14 软件开发工具简介常用CASE工具,Rational公司是专门从事CASE工具研制与开发的软件公司,2003年被IBM公司收购。该公司所研发的Rational系列软件是完整的CASE集成工具,贯穿从需求分析到软件维护的整个软件生存周期。,需求分析与设计工具,产品主要构成,测试工具,软件配置管理工具,Rose,PurifyPlus Robot,ClearCase,北大青鸟工具,14 软件开发工具简介常用CASE工具,北大青鸟系列CASE工具北京北大青鸟软件有限公司开发研制的,在国内有较高的知名度,北京大学软件工程国家工程研究中心就设在该公司。,产品主要构成,微软版本管理器VSS,14 软件开发工具简介常用CASE工具,版本管理是软件配置管理中的核心工作,由Microsoft公司开发的Visual SourceSafe 6.0使用非常广泛而且很容易获得。,文件检入与检出,产品主要功能,版本控制,文件的拆分与共享,权限管理,本书案例介绍教师教学网络测评系统,15 学习指南学习案例,为实现教学质量的量化考核,借此评价

温馨提示

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

评论

0/150

提交评论