软件工程引论
第零章
引论
软件工程Software engineering
所有发达国家的经济依赖软件
发达国家在软件上的投入占了GNP很大一部分
越来越多的系统由软件控制
软件工程关注专业软件开发的理论、方法和工具
软件成本Software costs
软件成本常是计算系统成本中的大部分。PC上的软件成本比硬件大。
软件维护的成本比开发的成本大。对于长周期的系统,维护成本可能是开发成本的多倍。
软件工程关注高效的软件开发。
软件产品Software products
通用产品Generic products
独立系统,在市场上销售给任何希望购买它的客户.
例子:PC图形程序、项目管理工具、CAD软件、面向专门市场的医生预约系统.
定制产品Customized products
由特定客户提出的满足他们需要的软件.
例子嵌入控制系统、空中交通控制系统、交通监控系统
产品规格/描述Product specification
通用产品Generic products
软件开发者拥有产品规格,并决定软件更改
定制产品Customized products
软件客户拥有产品规格,并提出对软件的更改
软件工程的目的:支持专业化的软件开发,而不是个体编程。它包括支持程序描述
关于软件工程的FAQ
问题 | 答案 |
---|---|
什么是软件 | 计算机程序和相关文档。软件产品可针对特定客户开发或为通用市场开发 |
什么是优良软件的特点 | 好的软件应具有用户所需的功能与性能,而且应该可维护、可用 |
什么是软件工程 | 软件工程是关于软件生产的各个方面的工程学科 |
什么是基本的软件工程活动 | 软件描述、软件开发、软件验证以及软件进化 |
软件工程和计算机科学有何区别 | 计算机科学侧重理论和基础,而软件工程侧重于软件开发和交付的实际活动 |
软件工程和系统工程有何区别 | 系统工程侧重就计算机系统的开发的所有方面,包括硬件、软件和过程工程。软件工程只是这个总体过程中的一部分 |
软件工程面临的主要挑战是什么 | 不断增长的多样性、减少交付时间以及开发可靠的软件的要求 |
什么是软件工程的成本 | 软件开发成本约占总成本的60%,测试成本在40%。对于定制软件而言,进化成本常常高于开发成本 |
什么才是最好的软件工程技术和方法 | 由于所有的软件项目都必须进行专业化的管理和开发,所以不同的技术应适用于不同类型的系统。例如,游戏开发需要一系列原型,而安全要求极高的控制系统开发需要一个完整的和可分析的描述。因此,你不能单纯地评判一种方法比另一种方法更好 |
Web给软件工程带来了哪些不同 | Web带来了软件服务的可用性,已经开发高品质的基于服务的分布式系统的可能性。基于Web的系统开发极大地促进了编程语言和软件复用的发展 |
好软件的基本性质Essential attributes of good software
产品性质Product characteristic | 描述Description |
---|---|
可维护性Maintain |