- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 软件危机的原因 软件规模的不断增长; 没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护。 * * 1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,讨论软件危机问题,在这次会议上正式提出并使用了“软件工程”这个名词,在此以后,软件开发逐步采用软件工程方法。 * * 软件工程的定义: 关于软件工程目前有很多定义。1983年IEEE(国际电子电气工程师协会)给出的定义为“软件工程是开发、运行、维护和修复软件的系统方法”。 软件工程的目标是: 在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。 * * 软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门新兴学科。 * * B. W. Boehm在1983年提出了软件工程的如下准则: 用分阶段的生命周期计划严格管理 坚持进行阶段评审 实行严格的产品控制 采用现代程序设计技术 结果应能清楚地审查 开发小组的人员应该少而精 不断改进软件工程的实践 * * 国家重大基础研究计划项目(973计划) 需求工程——对复杂系统的软件工程的基础研究(2007CB310800) 项目实施时间为2007年—2011年 项目首席科学家:李德毅院士 * * 项目背景 传统的软件工程,强调软件自身的顶层设计、结构、功能和实现,而网络化软件不仅考虑单个软件,更强调软件间的交互作用。传统软件工程中需求分析仅仅是其中的一个环节,而网络时代的用户需求基于语义网络的资源聚合性和动态性越来越强,软件工程向需求工程倾斜的趋势日益明显,规模化定制成为软件产业的基本样式。针对确定领域(企业)的用户、确定需求与确定目标的传统软件需求工程方法已难以满足大众用户的要求。因此,迫切需要研究网络化软件复杂系统的需求工程。 * * 项目拟解决的关键科学问题 “服务大众的网络化软件需求的元描述”。即针对大众用户个性化与多元化的需求差异,研究发现大众需求的共性规律与个性化服务机理,采用统一的需求描述方法,建立需求元模型,指导领域建模、大众需求获取、建模、验证与管理,提供创新的理论与方法。围绕关键科学问题,拟从大众需求的系统整合、大众服务的即时呈现、验证示范研究等三个方面,研究支持网络化软件随需而变、协同应变的需求工程理论与方法。 * * 环境GIS的开发模型与模式 生命周期法; 原形法; 面向对象法 * * 软件开发模型 软件开发模型给出了软件开发活动各阶段之间的关系,常用的开发模型是瀑布模型和原型模型。 软件开发模型 * * 生命周期法 软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生命周期。 生命周期法的主要思想就是将开发过程视为一个生命周期,也就是相互连接的几个阶段,每个阶段有相对独立而明确的任务,要产生相应的文档。 * * 把软件生命周期划分成若干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发工程的困难程度;在软件生命周期的每个阶段都采用科学的管理技术和良好的技术方法,使得软件开发的全过程以一种有条不紊的方式进行,这样,能保证软件的质量,特别是提高软件的可维护性。 * * 无论采用哪种划分方法,软件的生存周期都包括软件定义、软件开发、软件使用与维护三个部分。 一般情况下,软件的生命周期通常划分为五个阶段,即系统分析、软件设计、程序编码、软件测试及运行维护。 * * 瀑布模型 传统的开发模型是瀑布模型,各阶段的工作自顶向下从抽象到具体顺序进行,就象奔腾不息的瀑布,一泻千里,总是从高处依次流到低处。 * * 瀑布模型 (线形顺序模型) 可行性研究与计划 需求分析 设计 编码 运行维护 测试 定义 阶段 开 发 阶 段 维护阶段 * * 瀑布模型的特点: 阶段间具有顺序性和依赖性 推迟实现的观点 质量保证的观点 每个阶段结束前完成文档审查, 及早改正错误。 * * 瀑布模型的缺点 瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。它要求在着手进行具体的开发工作之前,必须通过需求分析预先定义并“冻结”软件需求,然后再一步一步地实现这些需求。但在实际情况中,除了个别我们比较熟悉的软件,我们很难在软件建立之前确定出有效的应用模型。 * * 某些类型的系统需求是模糊的 项目参与者之间存在通信鸿沟 预先定义的需求可能是过时的 * * 首先建立一个能反映用户主要需求的原型系统,让用户使用该系统,然后根据用户的意见快速修改系统,再让用户使用。这样,对原型系统的反复试用和改进,最终建立起完全符合用户需要的新系统。
文档评论(0)