- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章软件开发知识下课件.ppt
随着计算机应用的日益普及和深化,软件在计算机系统中所占比重不断增加。在美国20世纪50年代软件投资只占20%,到了80年代,软件投资已超过80%。软件规模和复杂程度也在不断增加,包含数百万行代码、耗资几十亿美元、花费几千人年的劳动才能开发出来的大型软件,在70年代就已不是什么新鲜事了,70年代末期美国的“穿梭号”宇宙飞船的软件规模已达到4000万行代码。 沿用50年代计算机发展初期个人编写小程序的传统方法,已不再适合现代大型软件的开发,用传统方法开发出来的许多大型软件甚至无法投入运行,造成大量人力、物力、财力的浪费。计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(Software Crisis)。 软件危机主要表现在以下几个方面: (1)软件开发成本和开发进度的估计往往很不准确; (2)用户对“已完成”的软件系统不满意的现象经常发生; (3)软件产品的质量往往不可靠; (4)软件没有适当的文档资料; (5)软件通常是不可维护的。 软件危机的出现表明,必须寻找新的技术和方法来指导大型软件的开发。考虑到机械、建筑等领域都经历过从手工方式演变成严密、完整的工程科学的过程,人们认为大型软件的出开发也应该向“工程化”方向发展,逐步发展成一门完整的工程学科。1968年在北大西洋公约组织的一次学术会议商首次提出“软件工程”(Software Engineering)概念。实践表明,软件工程方法和技术确实对大型软件的开发产生了巨大影响。 本节主要针对应用软件的开发介绍软件工程方法。 6.2 软件工程 6.2.1 软件开发的复杂性 6.2.2 软件开发方法 6.2.3 系统分析 6.2.4 系统设计 6.2.5 系统实施 6.2.6 系统运行与维护 6.2.1 软件开发的复杂性 软件是先进的科学技术与现代管理相结合的产物,开发高质量的应用软件,已经成为现代企业、政府部门等各类组织提高自身素质、实现组织目标的战略措施,但软件的开发是一项复杂的系统工程。 软件开发的复杂性主要体现在以下三个方面: (1)开发环境的复杂性 现代企事业单位、政府部门等组织一般说来结构复杂。软件开发通常涉及到组织内部各级机构、管理人员及组织面临的外部环境。软件开发者必须十分重视、深刻理解组织面临的内、外环境及发展趋势,考虑到管理体制、管理思想、管理方法和管理手段的相互匹配,才能开发出高质量的软件。 (2)用户需求的多样性 软件的最终用户是各级各类管理人员,满足这些用户的信息需求,支持他们的日常管理及决策工作,是系统开发的直接目的。然而,一个组织内部各类机构和管理人员的信息需求不尽相同甚至相互矛盾,一些用户提出的信息需求往往十分模糊。用户需求在系统开发过程中经常发生变化,开发出的系统必须能够满足不同用户的信息需求。 (3)技术手段的综合性 软件是当代利用先进技术解决社会经济问题的范例之一。当代的先进技术成果,如计算机硬件和软件技术、数据通信与网络技术、数据采集与存储技术、多媒体技术等,都是进行软件开发、实现各种功能的技术手段。如何有效地掌握和综合使用这些技术,是软件开发者面临的主要任务之一。 由此可知,软件的开发是复杂且困难的。为了有效地完成软件的开发工作,理论指导和方法选择是非常必要的。 6.2.2 软件开发方法 软件的开发是一项复杂的系统工程,几十年来,一些专家、学者及实际开发人员提出了不少的方法,其中生命周期法、快速原型法、面向对象法得到了广泛的应用,并取得了较好的效果。 一、生命周期法 生命周期法就是将整个软件的开发过程分解成若干个阶段,并对每个阶段的目标、任务、方法作出规定,使整个软件的开发过程具有合理的组织和科学的秩序。软件的生命周期,可以分成四个主要阶段:系统分析、系统设计、系统实施、系统运行与维护。 软件是20世纪60年代中后期才开始崛起的新领域,但是发展十分迅速。由于人们缺乏开发较大规模软件的经验,发展初期曾呈现较为混乱的状态。软件生命周期的概念提出后,软件的开发开始“有章可循”。基于软件生命周期的结构化方法的出现更是为成功开发大型软件提供了可靠的保证。 结构化的含义就是用一组规范的步骤、准则和工具来完成软件开发中各阶段的工作。把整个软件开发过程分成若干个阶段,每个阶段进行若干项活动,每项活动应用一系列标准、规范、方法和技术,完成一个或多个任务。有用于系统分析阶段的结构化分析
文档评论(0)