当前位置: 首页 > news >正文

软件特征与类型

软件包括计算机系统中的程序和文档,它是一组能完成特定任务的二进制代码。

▶1.软件的特性

1)软件是一种逻辑元素

软件是逻辑的而非物理的元素;软件是设计开发的,而不是生产制造的。虽然软件开发和硬件制造存在某些相似点,但二者有本质不同:硬件产品的成本主要在于材料和制造工艺,软件产品的成本主要在于人们的开发设计。

2)软件不会“磨损”

随着时间推移,硬件会因为灰尘、震动、不当使用、温度超限,以及其他环境问题造成硬件损耗,使得失效率再次提高。通俗地说,硬件开始“磨损”了。软件不会受“磨损”问题的影响,但是软件存在退化问题。在软件生存周期里,软件将会面临变更,每次变更都可能引入新的错误。因此,不断变更是软件退化的根本原因。磨损的硬件可以用备用部件替换,而软件不存在备用部件。

3)构件的复用

目前大多数软件仍然是根据用户实际需求进行定制(如银行管理系统)。在硬件设计中,构件复用是工程设计中通用的方法。而在软件设计中,大规模的软件复用还刚刚开始尝试。例如,图形用户界面中的窗口、下拉菜单、按钮等都是可复用构件。

▶2.软件的类型

对于软件的分类,专家们并没有达成统一的共识,大部分教材将软件分为系统软件和应用软件两大类。计算机专家普雷斯曼(Roger S.Pressman)按软件服务对象将计算机软件分为以下7个大类。

1)系统软件

系统软件是一整套服务于其他程序的软件。某些系统软件(如程序编译器等)处理复杂但确定的信息结构,如GCC(C、C++、Java、Objective-C、Go、FORTRAN、汇编等语言的编译器套件)、驱动程序等;另一些系统软件主要处理不确定的数据,如Windows、Linux、FreeBSD、Oracle(数据库)、Apache(网站服务器)、Exchange Server(邮件服务器)、Hadoop(分布式系统计算平台)、程序设计语言等。系统软件的特点是:与计算机硬件大量交互;用户经常使用;需要管理共享资源,调度复杂的进程操作;复杂的数据结构;多种外部接口等。

2)专业应用软件


应用软件是解决特定业务的独立程序,它主要处理商各或技术数据,以协助用尸的业务操作和管理。除了传统的数据处理程序,如教学管理信息系统、财务管理系统等;专业应的软件也用于业务的实时控制,实时制造过程控制等。

3)通用商业软件 

通用商业软件为不同用户提供特定功能,它关注特定功能的专业市场(如文字处理等)或者大众消费品市场(如游戏软件)。

4)Web应用软件

Web应用软件(WebApp)是以互联网为中心的应用软件。最简单的Web应用软件可以是一组超文本链接文件(如小型网站),仅仅用文本和有限的图片表达信息。然而,随着Web 2.0的出现,网络应用正在发展为一个复杂的计算环境,不仅为最终用户提供独立的功能和内容,还与企业数据库和商务应用程序相结合。

5)工程/科学软件

这类软件通常有“数值计算”的特征,工程和科学软件涵盖了广泛的应用领域,从天文学到气象学,从应力分析到飞行动力学,从分子生物学到自动制造业。目前科学工程领域的应用软件已不仅局限于数值计算、系统仿真、虚拟实验、辅助设计等交互性应用程序,已经呈现出实时性甚至具有系统软件的特性。

6)嵌入式软件

嵌入式软件存在于某个产品或者系统中,可实现面向最终使用者的特性和功能。嵌入式软件可以执行一些智能设备的管理和控制功能(如微波炉控制),或者提供重要设备的功能和控制能力(如飞机燃油控制、汽车刹车系统等)。

7)人工智能软件

人工智能软件是利用非数值算法,解决计算和分析无法解决的复杂问题。这个领域的应用程序包括机器人、专家系统、图像识别、机器翻译、定理证明、博弈计算等。

http://www.lryc.cn/news/246016.html

相关文章:

  • 无人机遥控器方案定制_MTK平台无人设备手持遥控终端PCB板开发
  • 【C++】静态成员
  • 单片机学习10——独立按键
  • 微服务系列(三)--通过spring cloud zuul过滤器实现线上流量复制
  • 微信小程序image组件图片设置最大宽度 宽高自适应
  • 虚幻学习笔记—文本内容处理
  • WhatsApp API号解封教程(内含图片指引和申诉模板)
  • 爬取极简壁纸
  • docker操作手册
  • css Vue尺子样式
  • C++ 数据结构之-最小栈(MinStack)
  • 【日常总结】优雅升级Swagger 2 升至 3.0, 全局设置 content-type application/json
  • 2023.11.27如何使用内网穿透工具实现Java远程连接操作本地Elasticsearch搜索引擎
  • HNU 练习八 结构体编程题1. 评委打分
  • 数据结构:字典树(前缀树,Trie树),压缩字典树(Radix)
  • 前端学习系列之html
  • Star History 十月开源精选 |AI for Postgres
  • 网络运维与网络安全 学习笔记2023.11.23
  • 红黑树(万字图文详解)
  • Kotlin学习——kt入门合集博客 kt里的委派模式Delegation kt里的特性
  • 数据挖掘 朴素贝叶斯
  • UI自动化测试工具有哪些优势?
  • 【论文阅读笔记】InstructDiffusion: A Generalist Modeling Interface for Vision Tasks
  • 笔记62:注意力汇聚 --- Nadaraya_Watson 核回归
  • 给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。
  • Go语言的学习笔记3——Go语言项目布局
  • 70-76-堆、贪心算法
  • Qt Network
  • Win10电脑用U盘重装系统的步骤
  • 安防视频监控/磁盘阵列/集中云存储平台EasyCVR设备录像保活不生效原因是什么?该如何解决?