第一章 软件工程的概念

发布于 2021-03-13  67 次阅读


1.1 软件的基本概念

随着信息发展,软件对人类社会越来越有用。

1.1.1 软件与软件特性

软件也称计算机软件。

人体的骨架 体系结构
外表 用户界面
大脑 数据库
器官 模块
神经和肌肉 数据结构和算法
  • 什么是软件?

软件是计算机系统与硬件相互依存的重要组成部分。

软件是计算机系统运行的指令、数据和资料的集合。

软件=程序+数据+文档+服务

其中:程序是按照事先设的功能和性能要求执行的指令序列;数据是使程序能正常处理信息所需的数据结构及信息表示;文档是与程序开发、维护和使用相关的技术数据和图文资料。

  • 软件的特性

软件主要的特征主要分为有形特征和无形特征。

有形特征是软件的各种具体表现形式。

而软件的无形特征是软件的内部逻辑,是软件本身包含的思想

与硬件和传统的工业产品相比:

    1. 软件是一种逻辑产品。
    2. 软件铲平的关键主要是研制。
    3. 无机械磨损老化问题。
    4. 软件的开发和运行受到计算机系统的限制,对计算机系统有着不同程度的依赖性,导致的后果是软件移植问题。
    5. 软件开发主要是进行脑力劳动。效率低。
    6. 软件是复杂的
    7. 软件的成本相当昂贵。风险也大。现如今软件的开发成本已经远远大于硬件的成本开销。
    8. 脆弱性。
    9. 软件工作牵涉很多社会因素。

1.1.2 软件的分类

1.基于软件功能的划分

可以分为系统软件、应用软件和支撑软件等。

系统软件是与计算机硬件紧密结合,以使计算机的各个部件与相关软件及数据协调、高效工作的软件。特点:基础性和高效性。例如:操作系统、数据库、驱动/

应用软件:为特定领域应用应用、为特定目的服务而开发的一类软件。

支撑软件:是协助用户开发软件的工具性软件,包括帮助程序人员开发软件产品的工具和帮助管理人员控制开发进程的工具。

2.基于软件规模的划分

软件规模是软件项目的可量化的结果,通常采用代码行数或耗用人工时的多少来衡量。

3.基于软件工作方式的划分。

基于软件工作方式,可将软件划分为实时处理软件、分时软件、交互软件和批处理软件。

实时处理软件,卫星实时监控软件。

分时软件,允许多个联机用户同时使用计算机的软件。

交互软件,可以接受用户给出的信息。

批处理软件。

4.按软件服务对象的范围进行划分

项目软件和产品软件

项目软件:受特定用户委托,由软件开发机构在合同约束下开发的软件。如:气象预测分析软件、交通软件。

产品软件:指软件开发机构开发并直接提供给市场。如文字处理软件。

5.按照使用频率进行划分

人口普查(一次),天气预报软件(多次)

6.按照软件失效的影响来进行划分

金融。。

7.其他几类软件

嵌入式软件。用于嵌入式计算机系统的软件称为嵌入式软件。

大型:航天 小型:手机、手表等

基于web的软件:该类软件是基于B/S(浏览器/服务器)结构的软件,如网络游戏软件、在线考试系统、网上银行等。


擦肩而过的概率