121软件的概念和特点 1.2.1软件的概念和特点 软件( Software)要纠正软件就是程序,开发软件就是 编写程序的错误观念。软件是“程序以及开发使用维护程序 所需的所有文档”,由应用程序,系统程序,面向用户的文 档,及面向开发者的文档四部分构成 软件的特点 1、软件是一种逻辑实体,不是具体的物理实体。 2、软件产品的生产主要是研制 3、软件具有“复杂性”,其开发和运行常受到计算机系统 的限制。 4、软件成本昂贵,其开发方式目前尚未完全摆脱手工生产 方式。 5、软件不存在磨损和老化问题,但存在退化问题
1.2.1 软件的概念和特点 1.2.1 软件的概念和特点 一、软件(Software)要纠正软件就是程序,开发软件就是 编写程序的错误观念。软件是“程序以及开发使用维护程序 所需的所有文档” ,由应用程序,系统程序,面向用户的文 档,及面向开发者的文档四部分构成。 二、软件的特点 1、软件是一种逻辑实体,不是具体的物理实体。 2、软件产品的生产主要是研制。 3、软件具有“复杂性” ,其开发和运行常受到计算机系统 的限制。 4、软件成本昂贵,其开发方式目前尚未完全摆脱手工生产 方式。 5、软件不存在磨损和老化问题,但存在退化问题
121软件的概念和特点 失效率 失效率 实际曲线 理想曲线 时间 时间 图1.1硬件失效率曲线 图1.2软件失效率曲线 硬件失效率曲线,是一U型曲线(即浴盆曲线)。软件失 效率曲线,它没有U型曲线的右半翼。因为软件不存在磨损和 老化问题,然而存在退化问题。 、软件的分类 1、按照软件功能划分 系统软件一如操作系统、设备驱动程序等。 支撑软件(实用软件)—协助用户开发的工具软件,如编 辑程序、程序库、图形软件包等。 应用软件—如工程与科学计算软件、CAD/CAM软件、CAI软 件、信息管理系统等。 >返回
1.2.1 软件的概念和特点 失效率 时间 实际曲线 理想曲线 图1.2软件失效率曲线 硬件失效率曲线,是一U型曲线(即浴盆曲线)。软件失 效率曲线,它没有U型曲线的右半翼。因为软件不存在磨损和 老化问题,然而存在退化问题。 三、软件的分类 1、按照软件功能划分 系统软件 — 如操作系统、设备驱动程序等。 支撑软件(实用软件) — 协助用户开发的工具软件,如编 辑程序、程序库、图形软件包等。 应用软件 — 如工程与科学计算软件、CAD/CAM软件、CAI软 件、信息管理系统等。 失效率 时间 图1.1硬件失效率曲线
1.2.1软件的概念和特点 2、按照软件规模划分 类别参加人数 研制期限产品规模(源代码行) 微型 1-4周 0.5K 小型 1-6月 1K-2K 中型 2-5 1-2年 5-50K 大型 5-20 2-3年 50-500K 甚大型100-1000 4-5年 IM 极大型2000-5000 5-10年 IM-10 M 3、按照软件工作方式划分 实时处理软件交互式软件批处理软件 4、按照软件服务对象的范围划分 项目软件一由客户委托开发的软件。 软件一由软件开发机构开发,提供给市场的。 此外,还可以按照软件使用的频度及按照软件失效的影响进 行划分
2、按照软件规模划分 类 别 参加人数 研制期限 产品规模(源代码行) 微 型 1 1 –4 周 0.5K 小 型 1 1 – 6 月 1K – 2K 中 型 2 - 5 1 – 2 年 5 – 50 K 大 型 5 - 20 2 – 3 年 50 – 500 K 甚大型 100 - 1000 4 – 5 年 1M 极大型 2000 -5000 5 – 10 年 1M – 10 M 1.2.1 软件的概念和特点 分类续 3、按照软件工作方式划分 交互式软件 批处理软件 4、按照软件服务对象的范围划分 — 由客户委托开发的软件。 — 由软件开发机构开发,提供给市场的。 此外,还可以按照软件使用的频度及按照软件失效的影响进 行划分
12款件工程过程 1.2.2软件工程过程 软件工程过程( Software engineering process) 是指在软件工具的支持下,所进行的一系列软件工程活动 通常包括以下四类基本过程: 1、软件规格说明:规定软件的功能及其运行环境 2、软件开发:产生满足规格说明的软件 3、软件确认:确认软件能够完成客户提出的要求 4、软件演进:为满足客户的变更要求,软件必须在使用的 过程中演进。 软件工程过程的特性: 1、可理解性2、可见性(过程的进展和结果可见) 3、可靠性 4、可支持性(易于使用CASE工具支持) 5、可维护性6、可接受性(为软件工程师接受) 7、开发效率8、健壮性(抵御外部意外错误的能力)
软件工程过程(Software engineering process): 是指在软件工具的支持下,所进行的一系列软件工程活动。 通常包括以下四类基本过程: 1、软件规格说明:规定软件的功能及其运行环境 2、软件开发:产生满足规格说明的软件 3、软件确认:确认软件能够完成客户提出的要求 4、软件演进:为满足客户的变更要求,软件必须在使用的 过程中演进。 软件工程过程的特性: 1、可理解性 2、可见性(过程的进展和结果可见) 3、可靠性 4、可支持性(易于使用CASE工具支持) 5、可维护性 6、可接受性(为软件工程师接受) 7、开发效率 8、健壮性(抵御外部意外错误的能力) 1.2.2 软件工程过程 1.2.2 软件工程过程
12.3软件生存期 1.2.3软件生存期 软件生命周期(SDLD)是指从软件开始开发到报废的全 过程,亦称软件生存期( life cycle)。一般用经典的瀑布模 型来描述 在大部分文献中将生存周期划分为5个阶段,即要求定义 设计、编码、测试及维护。其中要求定义阶段包括可行性研究 和项目开发计划、需求分析,设计阶段包括概要设计和详细设 计 为了描述软件生存期的活动,提出了多种生存期模型: 例如:瀑布模型、循环模型、演化模型、螺旋模型等
软件生命周期(SDLD) 是指从软件开始开发到报废的全 过程,亦称软件生存期(life cycle)。一般用经典的瀑布模 型来描述。 在大部分文献中将生存周期划分为5个阶段,即要求定义、 设计、编码、测试及维护。其中要求定义阶段包括可行性研究 和项目开发计划、需求分析,设计阶段包括概要设计和详细设 计。 ,提出了多种生存期模型: 例如:瀑布模型、循环模型、演化模型、螺旋模型等。 1.2.3 软件生存期 1.2..3 软件生存期