详解计算机软件基本概念

软件基本概念

软件的定义

一个完整的计算机系统是由硬件系统和软件系统协同工作来完成某一给定的任务的。

只有硬件的计算机称为裸机,裸机必须安装了计算机软件后才可以完成各项任务。

从广义地讲,软件是指计算机程序、数据以及开发、使用和维护程序所需要的所有文档的集合

通常将软件分为系统软件应用软件两大类

软件=程序+数据+文档

  • 程序是按照事先设计的功能和性能要求执行的指令序列
  • 数据是程序运行的基础和操作的对象
  • 文档是有关程序开发、维护和使用的各种图文材料

计算机软件具有以下特点:

  • 不可见性:软件是二进制编码,仅能看到物理载体,看不见软件本身
  • 适用性:不是只满足一种特定应用的需要,而是适应一类应用问题的需要
  • 依附性:软件依附于特定的计算机硬件、网络或其他软件环境
  • 复杂性:软件规模越来越大,结构越来越复杂,成本越来越高
  • 无磨损性:软件不像其他物理产品会有损耗或产生物理老化现象
  • 易复制性:软件以电、磁、光等形式存储和传输,非常容易且毫无失真的进行复制
  • 不断演化性:软件存在生命周期,需要进行软件版本的升级,适应不断变化的环境
  • 有限责任:软件厂商不对软件的正确性、精确性、可靠性和通用性做任何承诺
  • 脆弱性:操作系统和通信协议存在漏洞,软件容易被篡改和破坏

软件的分类

系统软件和应用软件

从功能角度区分,可以将计算机软件分为系统软件应用软件两大部分,

在这里插入图片描述

系统软件是建造在裸机(计算机硬件系统)之上,应用软件是以系统软件为工作平台

系统软件

系统软件用于发挥和扩大计算机的功能及用途,提高计算机的工作效率,为用户开发应用系统提供一个平台,用户可以使用它,一般不随意修改它。

系统软件主要包括操作系统、程序设计语言及其处理程序(如汇编程序、编译程序、解释程序等)、数据库管理系统、系统服务程序以及故障诊断程序、调试程序、编辑程序等工具软件。

操作系统

操作系统是配置在计算机硬件上的最底层软件,是对硬件系统功能的第一次扩充,它直接控制,管理各种硬件资源。

当计算机安装了操作系统以后,就为其他软件和用户提供了良好的工作环境,用户就不再直接操作计算机硬件,而是利用操作系统所提供的命令来操作和使用计算机。目前典型的操作系统有Windows、UNIX、Linux、Mac OS 等。

语言处理程序

用各种程序设计语言编写的源程序,计算机是不能直接执行的,必须经过翻译(对汇编语言源程序是汇编,对高级语言源程序则是编译或解释)才能执行,这些翻译程序就是语言处理程序,包括汇编程序、编译程序和解释程序等,它们的基本功能是把用高级语言或汇编语言编写的源程序翻译成机器可执行的二进制语言程序。语言处理程序也称为翻译程序翻译器

应用软件

应用软件是软件开发人员为解决各种实际问题而编制的计算机程序和相关资料

目前,应用软件为专用软件和通用软件两种。随着计算机应用领域的扩大,应用程序越来越多。使用部门已研制出许多通用性好的应用软件,逐渐商品化,并形成系统化软件,提供用户使用。因此,通用软件和专用软件之间没有严格的界限。

按照开发方式和使用范围的不同,可将应用软件分成两类,即通用应用软件和定制应用软件

通用应用软件

  • 办公自动化:如Microsoft Office、金山WPS等。
  • 动画制作:如3D Max、Flash、Adobe After Effects等
  • 图形图像处理:如 AutoCAD、Adobe Photoshop、CorelDRAW、Corel PHOTO-PAINT 等。
  • 网络通信软件:如IE、mail等
  • 网页制作:如 FrontPage、Dreamweaver 等。
  • 多媒体制作:如Authorware、Director等
  • Internet服务:WWW浏览器、电子邮件软件、文件传输软件等。

定制应用软件

定制应用软件是针对具体实际问题而开发的软件,它们完全是按照用户的特定需求而专门开发的。如某商场的销售管理和市场预测系统、某制造企业的集成制造系统、某机场的飞机订票系统、某大学的教务管理系统等。这类软件专用性强,运行效率高,成本较高。

开源软件和非开源软件

是否开放软件的源代码的角度分类,软件可以分为开源软件非开源软件

  • 开放源码软件是指其源码可以被公众使用的软件,用户可以自由地使用、复制、散发以及修改源码。
  • 相对的是非开源软件,如来自微软的软件,这类软件的源代码是保密的,只有公司的开发人员才代码。

传统客户端软件和在线软件

是否需要在客户端计算机安装软件的角度分类,软件可以分为客户端软件在线软件

客户端软件

传统的软件需要用户在购买软件使用许可后,将软件在客户端计算机上安装并输人软件序列号才能使用,这种模式成就了以微软为代表的一大批软件公司。

在线软件

在线软件指软件供应商提供软件在线服务,是随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。

在这种模式下,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己的实际需求,通过互联网向厂商订购所需的应用软件服务,按订购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。

用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无须对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其订购的软件和服务。

专属软件、自由软件、共享软件、免费软件和公共软件

不同的软件一般都有对应的软件授权,软件的用户必须在同意所使用软件的许可证的情况下才能够合法的使用软件。

依据许可方式的不同,大致可将软件区分为以下几类:
专属软件

此类软件通常不允许用户随意地复制、研究、修改或散布。传统的商业软件公司通常采用此类授权,例如微软的Windows和办公软件。专属软件的源码通常被公司视为私有财产而予以严密的保护
自由软件

此类软件与专属软件相反,赋予用户复制、研究、修改和散布该软件的权利,并提供源码供用户自由使用,仅给予些许的其他限制。如Linux、Firefox和OpenOffice等。
免费软件

可免费取得和转载该类软件,但并不提供源码,也无法修改
公共软件

原作者已放弃权利,著作权过期,或作者已经不可考究的软件。在使用上无任何限制。
共享软件

共享软件是以先使用后付费的方式销售的享有版权的软件。根据共享软件作者的授权,用户可以从各种渠道免费得到它的备份,也可以自由传播它,但在功能或使用日期上受到限制。用户总是可以先使用或试用共享软件,认为满意后再向作者付费

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/460556.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

13. UE5 RPG限制Attribute的值的范围以及生成结构体

前面几章,我们实现了通过GameplayEffect对Attribute值的修改,比如血量和蓝量,我们都是有一个最大血量和最大蓝量去限制它的最大值,而且血量和蓝量最小值不会小于零。之前我们是没有实现相关限制的,接下来,我…

压敏电阻简介

压敏电阻 原理 压敏电阻器是一种具有瞬态电压抑制功能的元件,可以用来代替瞬态抑制二极管、齐纳二极管和电容器的组合。压敏电阻器可以对IC及其它设备的电路进行保护,防止因静电放电、浪涌及其它瞬态电流(如雷击等)而造成对它们…

中小型网络系统总体规划与设计方法

目录 1.基于网络的信息系统基本结构 2.网络需求调研与系统设计原则 3.网络用户调查 4.网络节点地理位置分布情况 5.网络需求详细分析 6.应用概要分析 7.网络工程设计总体目标与设计原则 8.网络结构与拓扑构型设计方法 9.核心层网络结构设计 10.接入核心路由器 11.汇聚…

音视频色彩:RGB/YUV

目录 1.RGB 1.1介绍 1.2分类 1.2.1RGB16 1)RGB565 2)RGB555 1.2.2RGB24 1.2.3RGB222 2.YUV 2.1介绍 2.2分类 2.2.1 YUV444 2.2.2 YUV 422 2.2.3 YUV 420 2.3存储格式 2.3.1 YUYV 2.3.2 UYVY 2.3.3 YUV 422P 2.3.4 YUV420P/YUV420SP 2.3.5 YU12 和…

C#上位机与三菱PLC的通信03--MC协议之A-1E报文解析

1、MC协议帧 MC协议可以在串口通信,也可以在以太网通信,有A-1E和Qna-3E两种模式,这两种都是三菱PLC通信协议中比较常用的两种,一般我们使用比较多的是以太网通信,对于FX5U系列/Q系列/Qna系列/L系列的PLC,…

Wireshark不显示Thrift协议

使用Wireshark对thrift协议进行抓包,但是只显示了传输层的tcp协议: "右键" -> "Decode As" 选择thrift的tcp端口 将“当前”修改为Thrift,然后点击“确定” 设置后,可以发现Wireshark里面显示的协议从Tcp变…

tab 切换类交互功能实现

tab切换类交互&#xff1a; 记录激活项&#xff08;整个对象/id/index)动态类型控制 下面以一个地址 tab 切换业务功能为例&#xff1a; <div class"text item" :class"{active : activeAddress.id item.id}" click"switchAddress(item)"…

Qt未来市场洞察

跨平台开发&#xff1a;Qt作为一种跨平台的开发框架&#xff0c;具有良好的适应性和灵活性&#xff0c;未来将继续受到广泛应用。随着多设备和多平台应用的增加&#xff0c;Qt的前景在跨平台开发领域将更加广阔。 物联网应用&#xff1a;由于Qt对嵌入式系统和物联网应用的良好支…

【服务器数据恢复】HP EVA虚拟化磁盘阵列数据恢复原理方案

EVA存储结构&原理&#xff1a; EVA是虚拟化存储&#xff0c;在工作过程中&#xff0c;EVA存储中的数据会不断地迁移&#xff0c;再加上运行在EVA上的应用都比较繁重&#xff0c;磁盘负载高&#xff0c;很容易出现故障。EVA是通过大量磁盘的冗余空间和故障后rss冗余磁盘动态…

MySQL用心总结

大家好&#xff0c;好久不见&#xff0c;今天笔者用心一步步写一份mysql的基础操作指南&#xff0c;欢迎各位点赞收藏 -- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath mysqld_bin_path(注意&#xff1a;等号与值之间有空格) mysql -h 地址 -…

深度学习中常用激活函数介绍

深度学习中常用激活函数介绍 在深度学习中&#xff0c;激活函数的作用主要是引入非线性特性&#xff0c;提高模型的表达能力。具体如下&#xff1a; 解决线性不可分问题&#xff1a;激活函数可以将输入特征的复杂度提升&#xff0c;使得神经网络能够处理非线性问题&#xff0c…

美赛结束后,还可以转学术论文发表!

美赛论文转学术论文 写在前面学术论文发表的意义论文发表指导 写在前面 2024年美赛已经顺利结束了&#xff0c;美赛虽然画上了句号&#xff0c;但大家的科研竞赛之路才刚刚开始。 大家都在赛事中完成了一份具有发表基础的文章&#xff0c;想要这篇文章价值最大化&#xff0c;…