周期Р软件开发模型及其发展Р1.1Р1.2Р1.3Р1.4Р1.5Р软件工程概述Р1.6Р软件工程的相关工具Р1.1 软件Р软件的概念Р软件的特点Р软件的分类Р软件的概念Р软件是计算机系统的“思维中枢”,它与计算机硬件相互作用,互相配合,从而实现了特定的系统功能。Р在计算机发展初期,软件就是指程序。Р随着计算机技术的发展、计算机应用的日益普及、软件日益复杂、规模日益增大,人们开始意识到软件并不仅仅等于程序。Р程序是人们为了?完成特定的功能而编制的?一组指令集,它由计算机的?语言描述,并且能在计算机?系统上执行。Р软件的概念Р软件的组成?计算机程序? 人们为了完成特定的功能而编制的一组指令集。?数据? 程序能处理的具有一定数据结构的信息。?软件文档? 与程序的开发、维护和使用有关的图文资料,如软件开发计划书、需求规格说明书、设计说明书、测试分析报告和用户手册等。Р软件的特点Р作为计算机系统的重要组成部分,计算机软件的功能依赖于计算机硬件的支持。与硬件相比,计算机软件具有以下一些特点:? 不可见性?人们却无法直接观察计算机软件的物理形态,只能通过观察它的实际运行情况来了解它的功能、特性和质量等。?大量脑力劳动?硬件制造,除了脑力劳动外,还需要大量的体力劳动。?使用过程中不会磨损?对于计算机软件而言,不存在像硬件一样的磨损和老化现象,因为它不会受到引起硬件磨损的环境因素(比如温度、振动、灰尘和阳光等)的影响。但是软件却存在着缺陷维护和技术更新的问题。Р软件的特点Р硬件失效曲线图Р软件的特点Р软件失效曲线图Р软件的特点Р开发和运行依赖于特定的计算机系统环境?如依赖硬件、网络配置和支撑软件等。为了减少这种依赖性,在软件开发的过程中提出了软件的可移植性。?具有可复用性?软件一旦被开发出来,便可以很容易地被大量复制,从而形成多个副本,而硬件产品必须经过完整的生产周期才能得到。Р软件的分类