GIS软件工程.ppt

  1. 1、本文档共147页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GIS软件工程 第一章 概述 软件 软件定义: “软件”(software)这一名词是在60年代初从国外传来。对于它的一种公认的解释为:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。 软件的特点: 软件是一种逻辑实体,而不是具体的物理实体。 软件的生产与硬件不同,一旦某一软件项目研制成功,以后就可以大量地复制同一内容的副本。 软件的运行和开发常常受到计算机系统的限制。 软件的分类: 按功能:系统软件、支撑软件、应用软件。 按软件规模:超大型软件、大型软件、中型软件、小型软件。 按软件服务对象的范围:项目软件、产品软件。 软件的发展 1940年代中期到1950年代末:程序设计阶段。这时候的软件主要是为一些具体应用而专门编写的,软件通常是规模较小的程序,编写者和使用者往往是同一个人或同一组人。 60年代初到60年代末:软件作坊阶段。软件成为产品,出现许多“软件作坊”但仍然沿用早期的个体化软件开发方法,这种个体化的特性使得软件最终成为不可维护,于是出现了软件危机。 约为70年代以后:软件工程阶段。针对软件开发中出现的软件危机,提出了软件工程的概念,在软件开发逐步采用软件工程方法。 软件危机与软件工程 在1960年代,软件规模的不断增长,但在开发中没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。最终导致软件危机。 软件危机的主要表现: 对软件开发成本和进度的估计不准确; 产品不符合用户的实际需要; 软件产品的质量往往靠不住; 软件常常是不可维护的。 软件危机的原因 软件规模的不断增长; 没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。 1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,在此以后,软件开发逐步采用软件工程方法。 软件工程的定义: 关于软件工程目前有很多定义。1983年IEEE(国际电子电气工程师协会)给出的定义为“软件工程是开发、运行、维护和修复软件的系统方法”。 软件工程的目标是: 在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。 软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 B. W. Boehm在1983年提出了软件工程的如下准则: 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 不断改进软件工程的实践 软件生命周期 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生命周期。软件工程是把软件生命周期依此划分为若干个阶段,每个阶段有相对独立的任务,然后对每一阶段进行严格管理。 把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;在软件生命周期的每个阶段都采用科学的管理技术和良好的技术方法,使得软件开发的全过程以一种有条不紊的方式进行,这样,能保证软件的质量,特别是提高软件的可维护性。 划分软件生命周期阶段的方法有许多种,软件规模、种类、开发方法、开发环境以及开发时使用的方法论都会影响到软件生命周期阶段的划分。在划分软件生命周期的阶段时,应该遵循的一条基本原则,就是使各阶段的任务彼此间尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件开发的组织管理。 无论采用哪种划分方法,软件的生存周期都包括软件定义、软件开发、软件使用与维护三个部分。 一般情况下,软件的生命周期通常划分为五个阶段,即系统分析、软件设计、程序编码、软件测试及运行维护。 软件开发模型 软件开发模型给出了软件开发活动各阶段之间的关系,常用的开发模型是瀑布模型和原型模型。 瀑布模型 传统的开发模型是瀑布模型,各阶段的工作自顶向下从抽象到具体顺序进行,就象奔腾不息的瀑布,一泻千里,总是从高处依次流到低处。 瀑布模型的特点: 阶段间具有顺序性和依赖性 推迟实现的观点 质量保证的观点 瀑布模型的缺点 瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。它要求在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但在实际情况中,除了个别我们比较熟悉的软件,我们很难在软件建立之前确定出有效的应用模型。

文档评论(0)

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

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

1亿VIP精品文档

相关文档