swguide1软件工程概述、软件过程与软件生命周期..pdfVIP

  • 0
  • 0
  • 约3.42万字
  • 约 27页
  • 2021-04-05 发布于湖南
  • 举报

swguide1软件工程概述、软件过程与软件生命周期..pdf

第 1讲 软件工程概述、软件过程、软 件生命周期 1.1 复习要求 1. 了解软件概念、特点及分类方法。 2. 了解软件发展及软件危机的起因。 3. 了解软件工程过程及软件生存期的概念。 4. 了解软件工程的概念及其要素。 5. 了解软件工程的基本目标和原则。 掌握软件过程各阶段 1.2 内容提要 1.2.1 软件的概念、特点 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的 完整集合。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正 常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。 软件的特点是: (1) 软件是一种逻辑实体,而不是具体的物理实体。因而它具有抽象性。 (2) 软件的生产与硬件不同,它没有明显的制造过程。对软件的质量控制,必须着重在 软件开发方面下功夫。 (3) 在软件的运行和使用期间,没有硬件那样的机械磨损,老化问题。任何机械、电子 设备在运行和使用中,其失效率大都遵循如图 1.1(a)所示的U型曲线(即浴盆曲线)。而软 件的情况与此不同,因为它不存在磨损和老化问题。然而它存在退化问题,必须要多次修改 (维护)软件,如图 1.1(b)所示。 1 图 1.1 失效率曲线 (4) 软件的开发和运行常常受到计算机系统的限制,对计算机系统有着不同程度的依赖 性。为了解除这种依赖性,在软件开发中提出了软件移植的问题。 (5) 软件的开发至今尚未完全摆脱手工艺的开发方式。 (6) 软件本身是复杂的。软件的复杂性可能来自它所反映的实际问题的复杂性,也可能 来自程序逻辑结构的复杂性。 (7) 软件成本相当昂贵。软件的研制工作需要投入大量的、复杂的、高强度的脑力劳动, 它的成本是比较高的。 (8) 相当多的软件工作涉及到社会因素。许多软件的开发和运行涉及机构、体制及管理 方式等问题,甚至涉及到人的观念和人们的心理。它直接影响到项目的成败。 1.2.2 软件的分类 (1) 按软件的功能进行划分: ·系统软件 : 能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和 数据协调、高效地工作的软件。例如,操作系统、数据库管理系统、设备驱动程序以及通信 处理程序等。 ·支撑软件 : 是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品 的工具,也包括帮助管理人员控制开发的进程的工具。 ·应用软件 : 是在特定领域内开发,为特定目的服务的一类软件。 (2) 按软件规模进行划分: 按开发软件所需的人力、时间以及完成的源程序行数,可确定六种不同规模的软件。 表 1.1 软件规模的分类 类别 参加人员数 研制期限 产品规模(源程序行数) 微型 1 1~4 周 0.5k 小型 1 1~ 6 月 1k~2k 中型 2~ 5 1~2 年 5k ~50k 大型 5~20 2~ 3 年 50k~ 100k 甚大型 100~ 1000 4~ 5 年 1M(=1000k) 极大型 2000~ 5000 5~ 10 年 1M ~ 10M 规模大、 时间长、 很多人参加的软件项目, 其开发工

文档评论(0)

1亿VIP精品文档

相关文档