计算机软件
是计算机系统中与硬件相互依存的另一部分,软件包括程序,数据及相关文档的完整集合
软件的分类
系统软件:window7/10/linux/ios/Android
工具软件:C语言/汇编语言/JAVA/C++
应用软件:教务系统/收费系统/浏览器/office/QQ/游戏
软件危机
计算机在开发和维护中遇到的一系列的严重问题
软件危机的具体表现(了解)
- 软件需求的增长得不到满足(用户对系统不满意)
- 软件开发成本和进度无法控制
- 软件质量难以保证
- 软件不可维护或维护程度低
- 软件的成本不断提高
- 软件的开发生产率赶不上硬件的发展和应用需求
归结为成本,质量、生产率
为了消除软件危机,软件工程是解决问题的途径
软件工程:
用工程、科学、和数学的原理与方法研制,维护计算机软件有关技术及管理方法
软件工程的三要素:
方法:方法是完成软件工程的技术手段
工具:工具是支持软件的开发、管理、文档生成
过程:过程是支持软件开发的各个环节的控制,管理
软件过程
软件过程是将软件工程的方法和工具综合起来,以达到合理,及时地进行计算机软件开发的目的,软件过程通常包含4种基本活动:
P(Plan)软件规格说明
D(Do)软件开发或软件设计
C(Check)软件确认
A(Action)软件演进
软件生命周期:
将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期
软件的生命周期分为三个阶段:
定义阶段(也称‘需求阶段’) 开发阶段 维护阶段
软件工程的目标:
在给定成本、进度的前提下,开发具有有效性、可靠性、可理解、可维护、可重用、可适应性、可移植、可追踪、可操作性切满足用户的需求
软件工程研究的主要内容包括
软件开发技术和软件工程管理
必须遵循的软件工程的原则:
- 抽象
- 模块化
- 确定性
- 完备性
- 信息隐蔽
- 局部化
- 一致性
- 可验证性
软件开发工具
分析工具、设计工具、编码工具、确认工具、维护工具
软件工程环境
软件工程环境是全面支持软件开发过程的软件工具集合
计算机辅助软件工程(CASE)将各种工具,开发机器和存放开发过程信息组合起来,形成环境