软件工程导论(第6版)整理 第一章 软件工程概述

本文介绍了软件工程的基础知识,包括软件危机的产生、表现和消除途径,强调了软件工程的重要性和目标。软件工程是应用工程原理来经济地开发高质量软件,其核心在于控制复杂性并支持用户需求。文章探讨了软件生命周期的各个阶段,如定义、开发和维护,详细阐述了每个阶段的任务和目标,以及软件工程方法学,如传统方法学和面向对象方法学。最后,提到了微软软件开发过程的五个阶段,包括规划、设计、开发、稳定和发布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文内容来自于对《软件工程导论》(第6版,张海潘 牟永敏 编著),仅为个人学习记录。如涉及版权问题请版权方联系我。

1.1软件危机

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
软件危机包含两方面的问题:
    如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机有一下的典型表现:
    (1)对软件成本和进度的估计常常很不准确。
    (2)用户对“已完成的”软件系统不满意的现象经常发生。
    (3)软件产品的质量往往靠不住。
    (4)软件常常是不可维护的。
    (5)软件通常没有适当的文档资料。
    (6)软件成本在计算机系统总成本中所占的比例逐年上升。
    (7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
软件生命周期:
    软件开发最初的工作应是问题的定义;然后要进行可行性研究;接下来应该进行需求分析。进过上述软件定义时期的准备工作才能进入开发时期,而在开发时期,首先要对软件进行设计(通常又分为概要设计和详细设计两个阶段),然后才能进入编写程序的阶段,程序编写玩之后还必须经过大量的测试工作(需要的工作量通常占软件开发全部工作量的40%~50%)才能最终交付使用。所以,编写程序只是软件开发过程中的一个阶段,而且在典型的软件开发工程中,编写程序所需的工作量只占软件开发全部工作量的10%~20%。
软件工程学的一个重要目标就是提高软件的可维护性,减少软件维护的代价。
消除软件危机的途径:
    首先应该对计算机软件有一个正确的认识。应该彻底消除在计算机系统早期发展阶段形成的“软件就是程序”的错误观念。一个软件必须由一个完整的配置组成,事实上,软件是程序、数据及相关文档的完整集合。其中,程序是能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。1983年IEEE为软件下的定义是:计算机程序、方法、规则、相关的文档资料以及在计算机上运行程序时所必需的数据。

1.2软件工程
    概括地说,软件工程是指导计算机软件开发和维护的一门工程学科。
    采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
    1968年在第一界NATO会议上曾经给出了软件工程的一个早期定义:“软件工程就是为了经济地获得可靠的且能在实际机器上有效地运行的软件,而建立和使用完善的工程原理。”
    1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。”
软件工程具有下述的本质

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值