第1章-软件工程概述.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

来试试吧找第一排的同学看我这里的图片,然后向后排同学保密描述,最后一排的同学在纸上画出或者描述收到的信息。1.1关于软件1.2软件工程1.3软件工程基本活动1.4软件工程两大范型1.1.1软件及其特性(1)复杂性。软件是一个庞大的逻辑系统,主要依靠人脑的“智力”构造出来。(2)一致性。软件必须和运行软件的硬件保持一致,这是由软件对硬件的依赖所决定的。(3)磨损和老化。与一般的器械设备不同,软件不存在磨损和老化的问题,但会退化,需要进行多次维护,如图1-1中的理想曲线是软件实际故障模型粗略的简化。(4)易变性。软件在生产过程中,甚至在投入运行之后,也还可以改变。(5)移植性。软件的运行受计算机系统的影响,可能导致软件在不同的计算机系统平台上出现不兼容的问题,这就涉及软件的可移植性。(6)高成本。软件的开发是一个复杂的过程,因此其成本非常昂贵。软件的演化大致经历了以下4个阶段。第1阶段(程序设计阶段):从1946年到20世纪60年代初,计算机软件发展的初期,其主要特征是程序生产方式为个体手工方式。第2阶段(程序系统阶段):从20世纪60年代初到70年代初,软件工程学科诞生。第3阶段(软件工程阶段):从20世纪70年代中期至80年代中期,软件工程师把工程化的思想加入到软件的开发过程中,用工程化的原则、方法和标准开发和维护软件。第4阶段(面向对象阶段):从20世纪80年代中期至今,面向对象的方法学受到人们的重视,从而促进了软件业的飞速发展,软件产业在世界经济中已经占有举足轻重的地位。“艺术品”——工程化产品满足程序员自己需要——满足用户需求表现:软件规模越来越大,复杂度不断增加,软件需求也日益增加,且价格昂贵,供需差日益增大。广大用户日益增长的需要与落后的软件生产之间的矛盾。现在依然存在。【案例1.1】伦敦救护服务系统伦敦救护服务系统包括以下3个组成部分。(1)计算机辅助派遣系统:包括软硬件基础设施、事故记录保存系统、无线电通信系统和无线电系统接口。(2)计算机地图显示系统:包括复杂地域地形分析软件。(3)自动化车辆定位系统:具有车辆自动定位能力,以便以最短的时间到达指定位置,并跟踪分析系统的性能。系统包括无线电系统和移动数据终端。90年10月,失败92年1月,失败92年11月,失败软件工程目前还没有统一定义。(很多科学概念都是如此)B.W.Boehm定义:运用现代科学技术知识设计并构造计算机程序,以及为开发、运行和维护这些程序所必需的相关文件资料。FritzBauer定义:软件工程师为了经济地获得能够在实际机器上有效运行的可靠软件而建立和使用的一系列完善的工程化原则。IEEE定义:软件工程是开发、运行、维护和修复软件的系统方法。1.2.1软件工程基本原理1.工程化的观点软件工程化思想的核心是把软件看做是一个工程产品,这种产品需要通过需求分析、设计、实现、测试、管理和维护等几个阶段。目的:节约成本,保证质量。软件工程化的思想主要体现在软件项目管理方面。解决“乱”的问题。运用项目管理的经验和方法是软件项目成功的前提和保证。2.推迟实现的观点推迟实现是软件方法学的一条基本指导思想,软件开发过程应该理性地“推迟实现”。即把逻辑设计与物理设计清楚地划分开,尽可能推迟软件的物理实现。强调前期工作(问题定义、需求分析、设计等)的重要性。1.2.1软件工程基本原理3.逐步求精的观点逐步求精也称为“逐步细化”,是基于承认人类思维能力的局限性(认为人类思维能力仅有7±2信息量子的局限性)。强调渐进的解决问题,“纵向的分解”。4.分解的观点分解是把复杂问题趋于简单化处理的有效策略,论证分解即论证“分而治之”的有效性。大事化小,小事化了。“横向的分解”。5.抽象的观点抽象是把一些事物(状态或过程)中存在相似的方面(忽略它们的差异)概括成“共性”的。抽象的主要思想是抽取出事物的本质特性,而暂不考虑它们的细节,即抓“大”放“小”。求同存异,找交集。6.信息隐蔽的观点科学而合理的分解,还表现在得到的是一个个最简单、最清晰的“独立”部分。即这些部分的交互接口简单而清晰,不仅便于维护,而且利于复用。信息隐蔽是指“局部化”的信息(关系密切的软件元素,如实现过程、数据等),对于不需要了解这些信息的其他“局部”来说是不可访问(隐蔽)的。全局的观点还是局部的观点?专注于当前问题,不要被其他因素干扰。7.质量保证的观点质量保证(QualityAssurance)是为了保证产品和服务能够充分满足消费者要求的质量,从而进行有计划、有组织的活动。不仅

文档评论(0)

iris + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档