- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(软件开发生命周期与软件开发方法邹正伟
Software Engineering UML 软件工程与UML 软件工程概述 教学内容: 了解软件的基本概念 软件的特征 软件危机、软件工程 软件生命周期中各个阶段的任务、实施方法及步骤 几种典型的软件开发模型 1.1 软件 什么是软件? 软件是计算机程序、各种相关的文档和数据的集合 。具体地说,它包括以下几部分: 程序:能以预期的性能执行预期功能的一段指令; 数据:便于程序操纵信息的数据结构; 文档:记录了程序的操作和使用的文档. 许多人常常把某个计算机程序叫做软件,也常常把软件开发简单地说成是编写一段程序。这些说法不正确。 软件分类 软件一般分为系统软件和应用软件两大类。 系统软件指管理、监控和维护计算机资源(包括硬件和软件)的软件。包括操作系统、各种程序设计语言、编译软件和数据库管理系统等。 应用软件指用户利用计算机及其提供的系统软件为解决各种实际问题而编制的计算机程序。包括办公软件、电子商务软件、字处理软件和图形处理软件等。 1.1.2 软件的特征(与硬件比较) 软件是逻辑产品,它具有抽象性,通过计算机的执行才能体现它的功能和作用。 其成本主要体现在软件的开发和研制上,可进行大量的复制。 不存在磨损和老化问题。 软件对开发、运行和硬件等环境有着不同程度的依赖性,这导致了软件移植的问题。 主要靠脑力劳动生产,尚未摆脱手工开发方式。 软件是复杂的,而且以后会更复杂。 开发和维护成本高。 软件开发有比较明确的分工。 软件的发展过程 软件伴随计算机技术的发展经历了三个阶段: 程序设计阶段 软件设计阶段 软件工程阶段 程序设计阶段 程序设计阶段(1946年~1955年) 特点: 尚无软件的概念,程序设计主要围绕硬件进行开发 规模很小、工具简单 无明确分工(开发者和用户) 程序设计追求节省空间和编程技巧,无文档资料 主要是用于科学计算 软件设计阶段 软件设计阶段(1956年~1970年) 特点: 硬件环境相对稳定,出现“软件作坊”的开发组织形式 开始使用产品软件(可购买),从而建立了软件的概念 系统规模越来越庞大,高级编程语言层出不穷,应用领域不断拓宽 开发者和用户有了明确分工,社会对软件的需求量剧增 但是软件开发技术没有重大突破,生产效率低下,从而导致“软件危机”产生。 软件工程阶段 软件工程阶段(1970年~至今) 由于软件危机的产生,迫使人们不得不研究、改变软件开发的技术手段和管理方法。从此软件生产进入软件工程时代。 特点: 软件工程时代的生产方式是工程化生产;使用数据库、开发工具、开发环境、网络、先进的开发技术和方法,使生产率大大提高;但未能完全摆脱软件危机。 1.2 软件危机 1.2.1 什么是软件危机? 开发软件所需的高成本同产品的低质量之间有着尖锐的矛盾,这种现象就是“软件危机”。 “软件危机”是在1968年召开的国际软件工程会议上被人们普遍认识的。 软件危机包括两方面的问题:一是如何开发软件,怎样才能满足软件日益增长的需要;二是如何维护数量不断膨胀的软件产品。 软件危机的具体体现 (1)软件开发成本及进度难以预测 (2)用户对已完成的软件系统不满足 (3)软件产品质量无法保证 (4)软件产品难以维护 (5)软件通常缺少适当的文档资料 (6)软件成本逐年提高 (7)软件开发生产率提高的速度,远远跟不上计算机应用技术的迅速普及。 典型失败系统的例子 IBM公司开发OS/360系统,共有4000多个模块,约100万条指令,投入5000人年,耗资数亿美元,结果还是延期交付。在交付使用后的系统中仍发现大量(2000个以上)的错误。 1.2.2产生软件危机的原因 在软件开发中缺乏科学管理的方法,开发进度不能保证,软件开发和维护困难。 只重视开发而轻视问题的定义,使软件产品无法满足用户的需求。 缺乏软件质量管理规范。 对软件开发成本的估计不准确,造成开发成本超出预算。 过分重视程序设计人员的个人技能,缺少有效方法与软件工具的支持,软件产品个性化,可维护性差。 1.2.2 产生软件危机的原因 硬件生产率大幅提高 软件生产随规模增大、复杂度增大 软件生产率很低 硬、软件供需失衡 矛盾引发“软件危机” 1.2.3 解决软件危机的途径 为了解决软件危机就要从技术和组织管理两个方面去研究,不断总结经验教训,提高软件产品的生产效率,降低软件开发和维护的成本。 开发软件选用最好的开发工具是至关重要的,工具选用的好,它可以“放大”人的智力,大大加快软件开发速度,提高软件质量。 为了解决软件危机,人们开始探索用工程化的方法进行软件开发,软件开发工程化的概念和方法应运而生,由此诞生了一门新兴学科——软件工程学。 1.3 软件工程 “软件工程”一词是1968年北大西洋公约组织组织的专门讨论解决“
文档评论(0)