1. 首页 > 投稿中心

软件的定义是什么,软件开发需要具备的条件

随着信息技术的发展, 软件作为一种信息技术的主要载体日益渗透到社会政治, 军事, 经济, 文化乃至生活的各个方面和各个层次. 软件无所不在, 其需求愈来愈多,杂度愈来愈高, 可用性要求愈来愈强. 如何高效地开发和生产可靠, 可信的软件, 是软件领域一直必须面对的问题.

一、软件的定义  

20世纪60年代, 随着第三代计算机的产生, 计算机的硬件性能发生了翻天覆地的变化, 运行大型的复杂软件系统已经成为可能. 然而, 相应的软件开发技术却难以满足大型软件系统的开发需要。

软件知识|随处可见的软件,软件定义你知多少

二、世界上的第一位程序员

第一个写软件的人是Ada(Augusta Ada Lovelace),在1860年代她尝试为 Babbage(Charles Babbage)的机械式计算机写软件。尽管他们的努力失败了,但他们的名字永远载入了计算机发展的史册。她的父亲就是那个狂热的,不趋炎附势的激进诗人和冒险家拜伦。她本身也是一个光彩照人的人物—数学尖子和某种程度上的赌徒。她最重要的贡献来自于与发明家Charles Babbage的合作,从而设计出世界上首批大型计算机—Difference Engine和Analytical Engine。她甚至认为如果有正确的指令,Babbage的机器可以用来作曲,这是一个多么疯狂的想法,因为当时大多数人只把它看成是一个机械化算盘,而她却有渲染力和感召力来传播她的思想,在历史发展中奠定了软件开发基础。

三、软件开发遇到的困难:

1. 大多数大型的软件开发项目的成本都超过预算, 开发进度一再拖延;

2. 软件产品质量不可靠, 大型软件系统存在bug 几乎成为不可避免的问题;

3. 软件产品难以维护;

4. 软件产品的开发成本过高;

软件知识|随处可见的软件,软件定义你知多少

5. 软件产品开发的效率跟不上计算机硬件发展以及用户需求的增长;软件技术跟不上硬件技术发展而造成的诸多问题被称作”软件危机”(Software Crisis). 为了解决软件危机,1968年北大西洋公约组织(NATO)的计算机科学家在德国召开的国际学术会议上第一次提出了” 软件工程” 的概念, 希望通过系统化, 规范化, 数量化等工程原则和方法来实现复杂软件系统的开发和维护. 按照Webopedia 词典中的定义, 软件工程是” 研究如何开发大型应用系统的计算机科学学科. 软件工程不仅覆盖构建软件系统的相关技术层面问题, 还包括诸如指导开发团队, 安排进度以及预算等管理层面问题” 由这个定义可以看出, 软件工程不仅仅包括编写程序代码所涉及的技术, 它包括所有对软件开发能够造成影响的问题.Brook 在1987年指出, 不存在任何一个单一的开发技术或管理技术能够解决软件工程所面临的所有问题. 因而软件工程是一个包括一系列概念, 理论, 模式, 语言, 方法以及工具的综合性学科. 图1中, 我们给出了一个软件工程技术的总体框架. 可以看到, 软件工程技术可以分为产品实现层技术以及开发管理层技术.

其中, 产品实现层技术涉及与特定软件系统开发相关的问题, 为在软件生命周期的各个阶段实现软件产品提供技术支持; 开发管理层技术通常不针对特定的某个软件开发项目, 而是为管理和改进软件组织所有的业务活动提供技术支持, 例如如何使用适当的方法管理软件开发过程中所需要执行的各个活动, 以便在特定的软件项目中系统的展开软件工程的层技术, 支持软件组织的业务实现, 从而控制软件产品开发的成本, 提高生产的效率, 保证和改进软件产品的质量.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 PTU@FOXMAIL.COM 举报,一经查实,立刻删除。

联系我们

在线咨询:点击这里给我发消息

微信号:暂无

E-mail:ptu@foxmail.com

工作日:9:30-18:30