工学 计算机类
释义
软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。
(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
(1)计算机软件与一般作品的目的不同。计算机软件多用于某种特定目的,如控制一定生产过程,使计算机完成某些工作;而文学作品则是为了阅读欣赏,满足人们精神文化生活需要。
(2)要求法律保护的侧重点不同。著作权法一般只保护作品的形式,不保护作品的内容。而计算机软件则要求保护其内容。
(3)计算机软件语言与作品语言不同。计算机软件语言是一种符号化、形式化的语言,其表现力十分有限;文字作品则是人类的自然语言,其表现力十分丰富。
(4)计算机软件可援引多种法律保护,文字作品则只能援引著作权法。
不同点
硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。
软件是开发,它是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
硬件产品允许有误差,而软件产品却不允许有误差。
硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。
分类
计算机软件总体分为系统软件和应用软件两大类:
系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。
应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。
具体包括以下四类:
应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。
较常见的有:
文字处理软件如WPS、Wod等
信息管理软件
辅助设计软件如AutoCAD
实时控制软件如极域电子教室等
教育与娱乐软件
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。
软件一般是用某种程序设计语言来实现的。通常采用软件开发工具可以进行开发。
不同的软件一般都有对应的软件许可,软件的使用者必须在同意所使用软件的许可证的情况下才能够合法的使用软件。从另一方面来讲,某种特定软件的许可条款也不能够与法律相抵触。[2]
软件许可
不同的软件一般都有对应的软件许可,软件的使用者必须在同意所使用软件的许可证的情况下采能够合法的使用软件。从另一方面来讲,某种特定软件的许可条款也不能够与法律相抵触。
未经软件版权所有者许可的软件拷贝将会引发法律问题,一般来讲,购买和使用这些盗版软件也是违法的。
相关图书介绍
计算机软件基础《计算机软件基础》本书较全面地介绍了计算机软件领域中最基本的原理和设计方法,包括:数据结构、操作系统、数据库和软件工程。数据结构中介绍了常用的数据结构及部分典型算法,其算法采用C语言描述;操作系统结合现代操作系统的原理进行介绍;数据库中除介绍关系数据库系统的基本概念和基本理论外,还讲解了关系数据库标准语言SQL;软件工程主要介绍软件开发的方法和步骤。全书内容紧凑,深入浅出,通俗易懂,注重实用。本书可作为高等院校非计算机专业计算机软件基础课程的教材,以及全国计算机等级考试数据库技术(三级)的教材,也可供工程技术人员作为提高软件水平的参考书,亦可用作成人教育和职业培训教材。
目录
第1章 基础知识
1.1 计算机系统组成与应用分类
1.1.1 计算机的基本组成
1.1.2 计算机的应用分类
1.2 计算机软件
1.2.1 计算机语言
1.2.2 计算机软件定义
1.2.3 系统软件
1.2.4 应用软件
1.2.5 软件开发环境
1.2.6 面向对象的软件开发方法
习题
第2章 线性数据结构
2.1 基本概念
2.1.1 数据和数据结构
2.1.2 算法的描述和评价
2.2 线性表
2.2.1 线性表的定义及操作
2.2.2 线性表的顺序存储结构
2.2.3 线性表的链式存储结构
2.2.4 循环链表和双向链表
2.3 栈和队列
2.3.1 栈
2.3.2 队列
2.4 串和数组
2.4.1 串
2.4.2 数组
习题
第3章 非线性数据结构
3.1 树及其基本概念
3.2 二叉树
3.2.1 二叉树的定义及其性质
3.2.2 二叉树的存储结构
3.3 二叉树的遍历
3.4 树的存储结构和遍历
3.5 树、森林与二叉树的转换
3.6 霍夫曼树及其应用
3.7 图及其基本概念
3.8 图的存储结构
3.8.1 邻接矩阵
3.8.2 邻接表
3.9 图的遍历
3.10 图的连通性及最小生成树
习题
第4章 查找和排序
4.1 线性表查找
4.1.1 顺序查找
4.1.2 折半查找
4.1.3 分块查找
4.2 二叉排序树的查找
4.3 哈希查找
4.3.1 哈希表的建立
4.3.2 处理冲突的方法
4.3.3 哈希查找
4.4 排序
4.4.1 直接插入排序
4.4.2 简单选择排序
4.4.3 冒泡排序
4.4.4 快速排序
4.4.5 归并排序
习题
第5章 操作系统
第6章 数据库技术基础
第7章 关系数据库系统
第8章 关系规范化理论与数据库设计
第9章 数据库管理系统简介
第10章 软件工程
参考文献
计算机软件
下载极志愿APP
免费体验更多优质功能