- 0
- 0
- 约3.42万字
- 约 27页
- 2021-04-05 发布于湖南
- 举报
第 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
规模大、 时间长、 很多人参加的软件项目, 其开发工
您可能关注的文档
最近下载
- 音体美教学常规要求.doc VIP
- (2025)新课标《义务教育数学课程标准(2022年版)》测试题(附含答案) .pdf VIP
- 质量工程师中级培训教程.doc VIP
- 高中英语(北师大版)必修3—单词表.pdf VIP
- Unit 1 Time to Relax (第1课时) Section A 1a- 2d 课件 2026年春人教版英语八年级下册.pptx VIP
- QE质量工程师培训完整版教材.ppt VIP
- 杜曼教育——如何教宝宝学数学.pdf VIP
- 香港小学中文修辞手法练习.pdf VIP
- 2025-2026学年初中数学八年级上册(2024)沪教版(五四制)(2024)教学设计合集.docx
- GNSS接收机抗干扰技术研究.pptx VIP
原创力文档

文档评论(0)