前言
《软件工程》是一本介绍软件工程方法、软件过程,以及软件过程用到的工程方法的一门课。这是每个互联网行业的工作者的一门必修课。无论您是需求师、TPM、开发者或是测试工程师......
掌握科学的软件工程方法,会让我们在工作过程中如虎添翼,更科学可靠的工作!!!
因此,便有了我的软件工程专栏
这样的读书笔记了。欢迎感兴趣的朋友跟我探讨相关的要点。
概述
本文主要介绍软件的概念和特点,总体篇幅如下: 一、什么是软件
1.1 软件的定义
1.2 软件的特征
1.3 软件双重作用
二、软件的分类
2.1 软件的分类(按软件功能)
2.2 软件的分类(按服务对象)
三、软件的发展
推荐阅读
相关系列文章(42篇)
一、什么是软件?
1.1 软件的定义
软件Software = 程序Program + 数据Data + 文档Document
- 程序:按事先设计的功能和性能需求执行的指令序列。
- 数据: 是程序能正常操纵信息的数据结构。
- 文档:与程序开发、维护和使用有关的图文材料
1.2 软件的特征
主要特征:
(1)软件是被开发或工程化设计的,而不是传统意义上被制造的
(2)软件不会“磨损和老化”,但是会退化
其他特征:
- 软件维护易产生新的问题
- 软件生产是简单的拷贝
- 软件会多次修改
- 软件开发环境对产品影响较大
- 软件开发时间和工作量难以估计
- 软件的开发进度几乎没有客观衡量标准
- 软件测试非常困难
1.3 软件双重作用
二、软件的分类
2.1 软件的分类(按软件功能)
-
系统软件
- 操作系统
- 数据库管理系统
- 设备驱动程序
- 通信处理程序等
-
支撑软件
- 文本编辑程序
- 文件格式化程序
- 磁盘或磁带间数据传输的程序
- 程序库系统
- 支持需求分析、设计、实现、 测试和支持管理的软件
-
应用软件
- 商业数据处理软件
- 工程与科学计算软件
- 计算机辅助设计/制造软件
- 系统仿真软件
- 智能产品嵌入软件
- 医疗、制药软件
- 事务管理、办公自动化软件
- 计算机辅助教学软件
2.2 软件的分类(按服务对象)
三、软件的发展
3.1 软件规模越来越大
3.2 为什么软件发展如此之快?
- 计算需求:
- 软件必须适应新的计算环境或技术
- 嵌入需求:
- 软件必须扩展,以满足和新一代系统或数据库之间的互操作性
- 业务需求:
- 软件必须改善,以实现新的业务需求
- 架构需求:
- 软件必须重新设计,使其在新的网络环境是可用的
推荐阅读
本次的推荐阅读属于其它博主的作品,也是系列性文章。核心概念和我这边推出的系列性文章相差无几,但博文作者阅读的书本与我不同,因此介绍相关知识点用到的陈述方式方法有些不同。
推荐阅读的文章可以作为补充性阅读。
- 01-『软件工程1』详解软件是什么
- 02-『软件工程2』 详解软件工程和软件过程模型
- 03-『软件工程3』你应该知道的三种原型实现模型:抛弃式、演化式、增量式
- 04-『软件工程4』一文了解软件项目管理中的4P
- 05-『软件工程5』详解软件项目管理之软件的度量
- 06-『软件工程6』详解软件项目管理之软件范围与估算
- 07-『软件工程7』详解软件项目管理之风险分析与管理
- 08-『软件工程8』软件项目进度安排与跟踪,一招学会计算关键路径
- 09-『软件工程9』结构化系统分析——解决软件“做什么”问题
- 10-『软件工程10』结构化系统分析:数据流图和数据字典案例分析
- 11-『软件工程11』结构化系统设计:解决软件“怎么做”问题
- 12-『软件工程12』软件工程实践方法——软件测试
- 13-『软件工程13』浅谈面向对象方法,统一建模语言UML
相关系列文章(42篇)
- 01-软件工程|软件的概念和特点
- 02-软件工程|软件危机的产生
- 03-软件工程|软件工程的概念与发展
- 04-软件工程|软件工程知识体系与职业道德
- 05-软件工程|软件过程概念
- 06-软件工程|传统软件过程模型1-瀑布流模型
- 07-软件工程|传统软件过程模型2-原型模型
- 08-软件工程|传统软件过程模型3-增量模型
- 09-软件工程|传统软件过程模型4-螺旋模型、喷泉模型
- 10-软件工程|现代软件过程模型1-基于构件的模型
- 11-软件工程|现代软件过程模型2-统一过程模型(Rational Unified Process - RUP)
- 12-软件工程|现代软件过程模型3-敏捷开发模型
- 13-软件工程|选择过程模型
- 14-软件工程|需求分析的概念&需求获取
- 15-软件工程|需求分析的过程
- 16-软件工程|需求分析的任务&需求规格文档编制
- 17-软件工程|需求分析的模型&面向过程分析方法
- 18-软件工程|功能模型:数据流图初步
- 19-软件工程|功能模型:数据流图进阶
- 20-软件工程|功能模型:数据流图改进1-如何改进DFD图
- 21-软件工程|功能模型:数据流图改进2-重新分解DFD图
- 22-软件工程|软件设计:概念与设计质量
- 23-软件工程|软件设计:设计相关的八大概念
- 24-软件工程|软件设计:四类设计技术概要
- 25-软件工程|软件设计:面向过程的总体设计
- 26-软件工程|软件设计:变换与事务分析
- 27-软件工程|软件设计:面向过程的组件设计-流程图
- 28-软件工程|软件设计:面向过程的组件设计-其它组件设计方法
- 29-软件工程|软件设计:面向对象-架构设计
- 30-软件工程|软件设计:面向对象-用例设计与类设计
- 31-软件工程|软件设计:UML顺序图
- 32-软件工程|软件设计:面向对象的设计原则
- 33-软件工程|程序设计语言
- 34-软件工程|编程习惯
- 35-软件工程|程序的效率
- 36-软件工程|编码的管理
- 37-软件工程|软件质量保证:基础概念
- 38-软件工程|软件质量保证:软件测试-过程模型
- 39-软件工程|软件质量保证:软件测试-单元测试
- 40-软件工程|软件质量保证:软件测试-集成测试
- 41-软件工程|软件质量保证:软件测试-系统测试
- 42-软件工程|软件质量保证:软件测试-验收测试