- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 软件工程 第1章 软件工程简介 1.1 软件及软件工程的基本概念 1.计算机软件的定义 * 计算机软件主要是指能够完成预定功能和性能的可执行的指令程序,使得程序能够适当地操作信息的数据结构,描述程序操作和使用方法的文档的集合。 简单地讲,计算机软件就是计算机程序、数据,以及相关的文档资料的总和。 文档是指开发软件过程中产生的技术资料和使用该软件的说明性资料(使用说明书等),包括开发、使用和维护软件程序所需的一切资料。 软件危机产生背景: 20 世纪60年代中期以前,计算机刚刚投入使用,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。 70年代后,随着计算机日益小型化及硬件计算速度的提升,计算机使用逐渐广泛,软件开发需求急剧增长。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原始的软件开发方式不再能满足要求,迫切需要改变生产方式,提高软件生产率,软件危机开始显现。 软件危机的案例 例如,IBM公司的OS/360操作系统。它共有4000多个模块、100万行指令,共投入5000人,耗时4年 ,耗资5亿美元,但在交付使用的系统中仍然找出了2000个以上的错误。 爱国者导弹:F-18战斗机在海湾战争中,飞行控制软件共发生了500多次故障,爱国者导弹因软件问题误伤了28名美国士兵。 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,即落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。 主要表现在:软件质量达不到要求,软件项目无法按时完成, 软件项目的花费超预算。 软件危机的具体表现 软件危机的一些典型表现: ① 对软件开发成本和进度的估计常常很不准确; ② 用户对“已完成的”软件系统不满意的现象; ③ 软件产品的质量无法保证; ④ 软件产品难以维护; ⑤ 软件缺少甚至没有适当的文档资料; ⑥ 软件成本在计算机系统总成本中所占的比例逐年上升; ⑦ 软件开发生产率提高的速度,既跟不上硬件的发展速 度,也远远跟不上计算机应用迅速普及深入的趋势。 (1)一方面与软件本身的特点有关(内因): 软件产品是逻辑产品,是代码化了的人的思维活动。在总体构思阶段,别人无法管理和干预。在写出代码并在机器上运行之前,进展情况难以控制,开发质量较难评估。 (2)另一方面也和软件开发与维护方法不正确有关(外因) (a)用户对需求往往不能准确完整地提出,即需求不明确 ;(b)重编程,轻分析,忽视软件维护的重要性;(c)软件开发各阶段任务不明确,方法不科学,急于求成,缺乏正确的理论指导和有效的管理方法。 消除软件危机的途径:* (1)技术措施(软件开发方法和软件开发工具) 首先应该对计算机软件有一个正确的认识。推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法,尽快消除在计算机系统早期发展阶段形成的一些错误概念和做法。开发和使用更好的软件工具。 (2)合理的组织管理措施 目的:提高软件的生产质量和生产效率。 软件工程的提出背景: 计算机软件随着硬件的发展而发展。计算机软件在计算机系统中的地位越来越重要。软件危机的出现使得有必要对软件生产方式进行彻底的改造。 软件工程学正是从管理和技术两个方面研究更好地开发和维护计算机软件的一门学科。具体讲就是用工程化的方法去生产实用的和高质量的软件。它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。 软件工程的定义:* 软件工程:采用工程的概念、原理、技术和方法指导软件的开发与维护,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。 软件工程注重研究如何指导软件生产全过程的所有活动,以最终达到“在合理的时间、有限的成本约束下,生产出高质量的软件产品”的目标。简言之,软件工程的目的是提高软件的质量和生产效率,最终实现软件的工业化生产。 1.2 软件生命周期:★ 正如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。从软件工程角度去开发软件,是为更有效、更科学地组织和管理软件生产。 软件生命周期:某一软件从被提出并着手开始实现,直到软件完成其使命为止的全过程。 软件生命周期的八个阶段:★ 概括地说,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干
文档评论(0)