第一章 概述
像外行一样思考,像专家一样实践 ---金出武雄
1.1 软件特征
IEEE对软件的定义:软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。数据即资源,相应地,软件包含4个部分,即计算机程序、规程、文档和软件系统运行所需的数据。
1、软件是由开发产生,而不是用传统方法制造的
2、软件不会像硬件那样有磨损
3、软件不能通过已有构件组装,只能自己定义
1.1.1 软件分类
计算机软件分为7大类:系统软件、应用软件、web应用软件、工程和科学软件、嵌入式软件、产品线软件、人工智能软件。
新的挑战:普适计算、网络资源、开源软件、新经济
1.1.2 层次化软件工程
1、软件过程、软件方法和软件工具
软件工程也是一种层次化的技术
软件工程的层次图
软件工具的过程层是基础。过程将技术层结合在一起。方法层提供了软件在技术上的“如何做”。
工具层对过程层、方法层提供了自动、半自动的支持。
CASE 计算机辅助软件工程 集成了软件、硬件、数据库,形成了一个软件工程环境,类似于硬件的计算机辅助设计CAD或者计算机辅助工具CAE
微软MSF的阶段和主要里程碑
2、软件工程视图
分布式和容错性是互联网的生命;简单性和模块化是软件工程的基石。
1.1.3 软件范型的转变
软件范型的转变
1.1.4 现代软件开发
1、从传统软件开发到现代软件开发
微软项目功能组的工作关系
2、团队与人员培养
1.2 软件质量
1.2.1 质量概念
软件结构方面、功能与性能方面、开发标准与文档方面
1.2.2 质量运动
1.2.3 软件质量概念
1. IEEE关于软件质量的定义
软件质量是:
系统、部件或者过程满足规定需求的程度。
系统、部件或者过程满足顾客或者用户需要或者期望的程度
该定义相对客观,强调了产品(或服务)和客户/社会需求的一致性。
2.ANSI关于软件质量的定义
软件产品满足用户给定需求的全部特性集合
软件具有期望的各种属性组合的程度
用户主观得出的软件是否满足其综合期望的程度
决定所用软件在使用中将满足其综合期望程度的软件合成特征
1.2.4 评价体系与标准
接下来就是测试方法:黑盒,白盒,灰盒。