什么是软件?

软件是为了达到特定的结果而创建的一系列指令。软件主要用于不同的数字系统,如计算机、笔记本电脑、智能手机、冰箱、汽车等,但大多数软件是为计算机、笔记本电脑、智能手机等IT系统创建的。

null

软件组件

软件是人类创造的最复杂的产品之一,其中包含许多不同的组件。但我们将提供一些最常用的组件。软件组件为不同的用途和功能提供部分软件。

  • Library 是可由其他软件用于特定功能的现有软件。
  • Code 用于指定软件指令的文本
  • Data 用于读取、写入和更改与软件相关的持久性或易失性数据的数据
  • DLL 通常包含库和数据的文件类型
  • Files 用于读取、写入和更改文件中的数据
  • Database 是软件的结构化标准数据容器
  • Driver 是用来消耗系统和硬件资源(如网络、内存等)的基本软件。
  • API 是软件和服务的可调用结构化资源表示
  • GUI 是软件的用户友好的图形表示。

软件历史

软件历史短至70年,现代软件史始于20世纪70年代。  这里将定义有关软件的重要日期。

  • 软件问题是由艾伦·图灵在1935年以 Decision problem .
  • 克劳德香农创造了二进制逻辑来编程和开发软件。
  • 第一个可重编程软件创建于1950年,用于名为ENIAC的系统/硬件
  • 在20世纪50年代后期,Fortran、COBOL和Basic编程语言应运而生。
  • 1970  为Unix操作系统软件创建的C程序设计语言。
  • 1980年IBM个人计算机(PC)  它的创建改变了其用户的软件环境。
  • 最流行的操作系统软件Windows是由微软创建的。
  • 1990年,Linux Torvalds创建了开源软件和一个名为Linux的操作系统。
  • 20世纪90年代及以后,出现了许多用于PC体系结构系统的软件。

相关文章: 如何设置C开发环境

软件使用类型

近30年来,有很多软件都有不同的用户类型。并根据用户需求创建新的软件类型。这里我们将提供一些流行的软件使用类别和类型。

Software Usage Types
软件使用类型

  • Security & Privacy 软件用于保护用户及其数据的安全,同时保护其隐私
  • Development 软件主要用于创建新的软件和工具
  • Backup & Sync 软件用于备份以便恢复或与其他系统和平台同步
  • Office & Productivity 软件用于与办公室相关的任务,如文档编写、演示、时间和任务跟踪等
  • Gaming Software 是最流行的类别之一,其中包含不同类型的游戏
  • Social &Communcation 是另一个流行的类别,其中包含社交网络应用程序与通信软件
  • Web browser 提供在网上冲浪的软件
  • File Management 软件提供了一种简单有效的方式来管理文件和目录。
  • file Sharing 用于通过internet共享媒体、电影、音乐和照片文件
  • Network & Admin IT人员使用软件来管理IT系统、网络和操作系统
  • Education & Reference 软件用于教育目的
  • Home & Family 软件是为家庭使用而设计的
  • Audio & Music 软件主要用于听、编辑、转换和创作音乐
  • Video & Movies 软件用于观看、编辑和转换视频文件
  • Photos & Graphics 软件用于打开、编辑、创建图像和图形
  • OS & Utility 软件用于操作系统和管理人员
  • Game 软件就是我们玩的游戏
  • Travel & Location
  • Sport & Health
  • Business & Commerce
  • News & Books 软件提供阅读、跟踪新闻和书籍的工具
  • CD/DVD Tool 软件用于刻录、编辑CD/DVD媒体内容
  • Online Services
  • System & Hardware 用于获取信息和更改硬件设置

相关文章: Visual Studio Express安装

软件许可证类型

创建软件需要时间和工作,它是创造者的知识产权,创造者可以是个人、团体或公司。因此,为了使用软件,我们必须遵守软件创建者的规则,这被称为 Software License . 软件许可证为用户提供详细的用法。许多软件都使用一些流行的许可证类型。

  • Public Domain 软件许可证是最允许的许可证,任何人都可以修改和使用软件而不受任何限制。
  • Permissive License 是一个有点限制的公共领域,在那里它也被称为 Apache Style BSD Style 许可证。
  • LGPL 主要用于其他项目中的开源库。如果您复制或修改库,您应该以类似的LGPL条款提供您的软件
  • Proprietary 通常用于付费软件,是限制性最强的许可证。Microsoft、Adobe使用这种类型的许可证。

软件下载站点

在旧时代,由于软件的尺寸和网速的限制,软件通过软盘、CD和DVD重新分发。同时,为软件提供一个实体对公司来说也是一个很好的营销技巧。目前,随着互联网接入和速度的提高,通过互联网下载提供软件下载。甚至软件生产商也为他们的软件提供下载 Software Download Sites 它们是软件的中心。

FileHippo是一个新一代的软件下载网站,它提供了一个流行的老版本软件。

https://filehippo.com/

Software Download Site -File Hippo
软件下载网站-文件河马

Softpedia 是另一个流行的下载网站,提供了许多不同类型的软件。

相关文章: 如何用GCC编译C和C++应用程序?

https://www.softpedia.com/

Software Download - Softpedia
软件下载–Softpedia

SourceForge 是一个软件下载规模,它专注于开源和自由软件。它还提供一些商业服务。

https://sourceforge.net/

Software Download - SourceForge
软件下载–SourceForge

软件体系结构

Software Architecture 定义需求、组件以及软件与内部和外部组件的关系。软件可以用许多详细而复杂的体系结构来设计,但一般来说,我们可以将软件体系结构分类如下。

  • Standalone Simple Software 将在安装的系统上工作,不需要任何网络或internet连接即可工作。
  • Client-Server Software 将工作在系统和远程服务器上,其中的网络或因特网可以用来与服务器进行通信的部分软件。

软件开发

软件是通过开发工作创建的。软件开发是软件开发人员使用编程语言、库、平台来创建、开发和维护软件的技术过程。通常,集成开发环境(IDE)用于软件开发。  软件开发生命周期(SDLC)是软件开发的标准过程,它包含以下几个阶段

  • 规划
  • 实施
  • 测试
  • 文档
  • 部署和维护
  • 维护

软硬件关系

软件是一堆数字指令,需要一些硬件来运行。硬件用于运行软件并提供不同的资源,如内存、中央处理器、存储器、网络等。每个软件都需要物理硬件才能运行。软件是根据要运行的硬件开发的。一般来说,硬件架构如x86、86μ64、ARM用于软件开发。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享