1.1 软件工程文字意义
软件是软件工程的研究对象,也是软件工程的的产品形态与客观存在
工程理论知识应用于实践的科学,其目的是经济有效地解决实际问题
1.2 软件的本质特性
1.2.1 软件的定义
软件=程序+数据+文档
程序:计算机可以接受的一系列指令,运行时可以提供所要求的功能和性能
数据:使得程序能够适当地操作信息的数据结构
文档:描述程序的研制过程、方法和使用的图文资料
1.2.2 软件的特性(复杂性+一致性+可变性+不可见性)
复杂性:服务器数量大,分布地方广
一致性:软件不能独立存在,需要依附一定的环境。软件必须遵从人为的惯例并适应已有的技术和系统。软件需要随接口不同而改变,随时间推移而变化,而这些变化是不同人设计的结果
可变性:
不可见性:软件是一种“看不见、摸不着”的逻辑实体,不具有空间的形体特征。开发人员可以直接看到程序代码,但是源代码并不是软件本身。软件是以机器代码的形式运行,但是开发人员无法看到源代码是任何人运行。
1.3软件工程的的产生与发展
1.3.1软件开发面临的挑战
1.3.2软件发展历程
1.4软件工程的基本概念
1..4.1软件工程
软件工程是:
1.将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即工程化应用到软件上
2.对1.中所述的方法的研究
1.4.2 “足够好”的软件
1.较低的开发成本
2.按时完成开发任务并及时交付
3.实现客户要求的功能
4.具有良好性能、可靠性、可扩展性、可移植性等
5.软件维护费用低
1.4.3 软件开发过程、方法、工具
1.4.4软件开发方法
1.5软件质量实现
1.5.1软件质量标准
正确的软件:为用户创造利益或者减少成本
软件运行正确:缺陷少,扩展性强,性能良好,较高的易用性
1.5.2产品的质量维度
iso9126质量模型:
1.5.3软件质量的实现
高质量的设计+规范的编码+有效的测试