2.1软件的特性
软件的概念:
错误观点:软件就是程序,软件开发就是编写程序
软件是计算机系统中硬件相互依存的另一部分,它是包括程序,数据以及相关文档的完整集合
程序是按事先设计的功能和性能要求执行的指令序列
数据是使程序能正常操纵信息的数据结构
文档是与程序开发,维护和使用有关的图文材料
形态特性:软件是无形的,不可见的逻辑实体,度量常规的几何尺寸,物理性质和化学成分对它却是毫无意义的。
智能特性:软件是复杂的智力产品,他的开发凝聚了人们的大量脑力劳动,它本身也体现了知识实践经验和人类的智慧,具有一定的智能。它可以帮助我们解决复杂的计算,分析,判断和决策的问题。
开发特征:尽量已经有了一些工具(也是软件)来辅助软件开发工作,但到目前为止尚未实现自动化。软件开发中依然包含了相当分量的个体劳动,使得这一大规模知识型工作充满了个人行为和个人因素。
质量特征:软件是由人编写的,由于开发特征存在,所以不存在完全没有缺陷的软件
生产特征:与硬件或传统的制造业产品的生产不同,软件一旦设计出来,如果需要提供多个用户,它的复制十分简单,其成本也极为有限
管理特性:由于上面的特性存在,所以软件过程中的管理显的更为重要,相比传统行业,也更为独特
环境特征:软件的开发和运行都离不开相关的计算机系统环境,包括支持它的开发和运行的相关硬件和软件,软件对于计算机系统的环境有着不可摆脱的依赖性
维护特性:软件投入使用以后需要进行维护,但这种维护与传统产业产品的维护概念有些很大的差别,维护体现在升级,优化,功能更新等方面,甚至可以全盘重构
废弃特性:与硬件不同,软件并不是由于被“用坏”而被废弃的
应用特性:软件的应用极为广泛,如今它已进入国民经济和国防的各个领域,现已成为信息产业,先进制造业和现代服务业的核心,占据了无可取代的地位
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!