01-软件工程|软件的概念和特点

1,333 阅读6分钟

前言

《软件工程》是一本介绍软件工程方法、软件过程,以及软件过程用到的工程方法的一门课。这是每个互联网行业的工作者的一门必修课。无论您是需求师、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 为什么软件发展如此之快?

  • 计算需求:
    • 软件必须适应新的计算环境或技术
  • 嵌入需求:
    • 软件必须扩展,以满足和新一代系统或数据库之间的互操作性
  • 业务需求:
    • 软件必须改善,以实现新的业务需求
  • 架构需求:
    • 软件必须重新设计,使其在新的网络环境是可用的

推荐阅读

本次的推荐阅读属于其它博主的作品,也是系列性文章。核心概念和我这边推出的系列性文章相差无几,但博文作者阅读的书本与我不同,因此介绍相关知识点用到的陈述方式方法有些不同。

推荐阅读的文章可以作为补充性阅读。

相关系列文章(42篇)