软件工程概述
关于作者
- 作者介绍
🍓 博客主页:作者主页
🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉🏆
🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻
本文将从三个方面来浅谈软件工程的知识,主要介绍软件危机与软件工程的起源,着重介绍了软件工程的概念及基本原理,而且介绍了软件工程包含的领域。
主要知识点:了解计算机系统的发展历程,掌握软件危机的定义、表现、产生原因及消除的途径,理解生命周期的定义;理解掌握软件工程的定义及7条基本原理;了解软件工程包含的领域。
重点:软件危机的定义、表现、产生原因及消除的途径
难点:软件工程的7条基本原理
人类社会已经跨入了21世纪,计算机系统已经渗入人类生活的各个领域,同时计算机软件已经发展成为当今世界最重要的技术领域。研究软件本身则产生了一门重要的学科就是软件工程。软件工程的研究领域包括软件的开发方法、软件的生命周期以及软件的工程实践等。
问题:
- 什么是软件?
- 开发大型软件系统与以往编制小型程序有什么区别?
- 什么是软件生命周期模型?
- 如何进行软件质量的评价?
- 软件方法和软件工具之间有着什么联系?
软件定义
计算机系统中与硬件(hardware)相互依存的另一部分,它包括程序(program)、相关数据(data)及其说明文档(document)
软件生产的发展
程序设计时代 | 程序系统时代 | 软件工程时代 | |
---|---|---|---|
时间 | 1946~ 1956 | 1956~ 1968 | 1968~至今 |
生产方式 | 个体手工劳动 | 作坊式小集团合 | 工程化的生产 |
使用工具 | 机器、 汇编语言 | 高级语言 | 开发工具 |
开发方法 | 个人编程技巧 | 个人编程技巧,开始提出结构化方法 | 使用数据库、网络、分布式、面向对象技术等 |
硬件特征 | 价格贵,存储容量小,运行可靠性差 | 速度、容量及工作可靠性明显提高,价格降低 | 向超高速、大容量、微型化以及网络化方向发展 |
软件特征 | 只有程序设计概念,不重视程序设计方法 | 程序员数量猛增,但开发人员素质差,开发技术没有新突破。软件危机产生。 | 开发技术有很大进步,但没有突破性进展,没有完全摆脱软件危机. |
软件定义 | 等于程序 | 等于程序加技术文档 | 完整定义 |
软件分类—按软件功能划分
系统软件:操作系统、数据库管理系统、设备驱动程序以及通信处理程序等。它是计算机系统必不可少的一个组成部分。
支撑软件:支持软件设计的图形软件包,支持软件实现的编辑程序、预编译程序等。它是协助用户开发软件的工具性软件。
应用软件:工程和科学计算软件、嵌入式软件、计算机辅助设计/制造(CAD/CAM)软件、系统仿真软件、人工智能软件等 。