计算机软件开发技术及应用

2018-05-07 05:45张璋何书前郑志群石春
电脑知识与技术 2018年8期
关键词:开发技术计算机软件

张璋 何书前 郑志群 石春

摘要:计算机软件开发技术涵盖三个方面的内容,即软件开发方法学、软件开发所用工具以及软件开发的环境支撑,其中软件开发方法学占据主体地位,学术界将其称为软件工程技术,有效地解决了现代软件开发过程中的软件危机问题。本文从软件开发技术以及应用两个方面对计算机软件的相关内容简要的论述,为更好地了解和应用软件技术提供参考。

关键词:计算机;软件;开发技术;应用

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)08-0246-02

1计算机软件开发技术简介

1)软件开发方法学——软件工程技术

软件工程(Software Engineering)一门计算机技术工程学科,通过对软件开发和维护过程进行系统化、规范化的设计和应用,解决早期开发过程中非规范化软件开发引起的软件危机问题。整个开发过程大致分为三个阶段,即软件定义阶段、软件开发阶段以及软件维护阶段,软件定义阶段,主要进行软件项目的可行性研究和需求分析研究,并完成相应可行性报告以及需求分析文档,做好软件定义工作是极其关键,是指导后续开发以及维护工作的基础;软件开发阶段按照需求文档进行开发设计,完成编码工作,并进行软件测试(主要包括白盒以及黑盒测试),最终上交形成测试报告以及软件源代码,并保障所开发出来的软件在功能、性能方面达到设计阶段的目标;维护阶段则是根据用户的需求变更或者系统的升级换代进行必要的软件维护,维护工作贯穿软件运行的整个周期。软件工程所追求的目标就是在约定成本、限定开发周期的条件下,开发出适用性高、稳定性强、可维护性好的软件系统。软件工程的核心在于软件开发方法,从实际应用的角度来看,当前流行的开发方法包括原型化方法、面向对象方法、结构化方法等等,以原型方法為例,主要是通过快速构建软件框架,让用户可以进行直观的进行感触,如此不熟悉技术的人员就能根据软件框架原型提出自身需求,并配合开发人员进行不断的改进。总之,计算机软件开发方法学——软件工程广泛应用于现代软件开发过程,是计算机软件开发过程中必不可少的技术应用。

21软件开发工具——编程语言

计算机软件开发离不开开发工具,所谓的开发工具就是各种计算机编程语言,下面对常用的开发语言进行简要的介绍:

Java语言是由Sun Microsystems公司(现被Oracle公司收购)开发的一种面向对象的编程语言,Java语言有着庞大的用户数量,广泛应用于Web开发以及移动互联网软件(如Android应用程序)开发领域,其运行于JVM(Java虚拟机)之上,具有卓越的可移檀陛、跨平台性、通用性以及安全性。

C/C++作为传统编程语言,以高性能和高运行效率著称,其中C语言通常作为开发操作系统以及底层驱动类软件的语言广泛应用于嵌入式开发领域,而C++多见于应用型软件的开发,C/C++可以直接操作底层硬件,这是Java语言所不具备的优势。

Pvthon是一种解释型的面向对象编程语言,语言结构简单、语言功能强大,并具有相当丰富的类库,能够轻松胜任各种操作环境下的编程任务,广泛应用于计算机系统管理任务的处理和Web编程领域,是近年来发展较快的一门语言,据IEEE发布的编程语言排行榜显示2017年Python占据首位。

另外还有基于浏览器运行iavascript脚本语言、专门用来编写网页界面HTML+CSS语言、Web领域的轻量型选手PHP语言,Microsoft公司的C#、ASP.net等编程语言,当然还包括最为底层的汇编语言等等。不用的编程语言都有各自的应用场景,也都具有相应的语言特点,在进行软件开发过程中应选择适当的开发工具进行程序编制。

3)软件开发环境支撑——系统环境

最为常见的软件开发环境是由桌面型windows操作系统作为开发环境支撑的,一方面是基于其无法撼动的桌面市场份额,在windows平台下进行开发可以轻易地获取到各种编程工具以及技术支持;另一方面绝大多数的计算机软件都运行于windows平台之下,具有天然的融合度,这与用户习惯是密不可分的。当然并不是所有的软件都基于windows运行,以当前流行移动互联网软件为例,其多运行于Android操作系统、IOS操作系统,但其开发环境仍然以桌面系统为主,在开发完成之后进行软件发布,即可在移动端进行运行,这与嵌入式软件开发过程想类似,在本地环境下进行软件开发,完成之后再进行移植、烧制到嵌入式的存储芯片。近年来云计算技术的发展,基于计算机集群的应用软件(如Hadoop软件)多部署于Linux操作系统之上,软件编制过程同样可以在本地windows系统上完成,用户可根据实际情况进行合理的开发环境选择。

2计算机软件应用

计算机软件可分为操作系统软件以及应用软件两种类型,其中操作系统软件(如windows系列、Linux各种发行版、Mac操作系统、Unix操作系统等)主要对计算机硬件资源进行抽象和管理,提供应用程序的系统接口,可看成计算机资源的“大管家”;而应用软件是直接面向于用户的,是实现具体业务功能的一类软件,应用软件通常需要调用操作系统软件所提供的的系统接口,完成应用软件功能,本文主要是基于应用型软件进行探讨。

1)传统软件应用

传统软件多指一些基于本地环境运行的一类计算机软件,如常见的文字处理软件(如notepa、Word等),完成相应的功能需要打开特定的应用程序进行操作。一些与网络技术相结合的传统应用软件,在编程领域通常称之为C/S(客户端/服务器)软件模型,因为具备客户端,相对而言,软件具有高度的灵活性,在个性化设计和内容丰富度方面都具有一定的优势,但是一旦服务器端进行升级则需要重新进行客户端软件的安装,这是其不足之处。传统软件伴随着计算机信息技术进步而不断发展,通过与云服务器、移动互联网技术的整合,大量高可用的应用软件应运而生,在功能上更加强大,加之服务器端海量的计算和存储性能,能够带给用户更好的应用体验。

2)Web软件应用

Web软件是近年来发展较快的一类软件,Web软件多基于Web browser进行运行,本地web应用是无意义的,通常所说的Web应用必然是基于B/S(浏览器/服务器)进行服务的,这是与传统应用软件较大的不同,相较于传统应用软件Web应用具有良好的跨平台性,只要具备浏览器运行条件即可运行,同时在服务器进行更改,用户端不必进行任何修改即可实现功能的升级或更新,而维护过程集中于服务器端。当然Web软件也存在自身的一些不足,其应用的灵活度相较于客户端而言,具有一定的局限性,许多功能限制于浏览器的窗口之内,个性化需求方面相对较弱,值得庆幸的是,近年来伴随着HTML5、JQuery等一些富客户端技术的发展和应用,Web软件在应用灵活性以及个性化展示方面已经大有改观,未来Web技术仍然会保持较高的市场占有率。

3)移动互联网软件应用

移動互联网软件的应用是伴随着智能终端的发展而产生的,随着2010年GooSe的Android的手机正式发布,移动互联网软件就呈现出了爆发式的增长,就目前的市场占有情况来看主要是Android和IOS两大阵营,移动互联网软件应用已经与桌面软件应用在内容展现、运行效率方面不相上下,一些基于云计算作为服务支撑的移动互联网软件更具应用优势,人们可以借助于移动互联网软件完成日常工作、生活以及生产任务,以日常生活中最为常见的微信为例,完全可以替代传统基于PC设备之上的即时通信软件,同时其具备支付功能,满足人们日常购物、消费等传统现金功能,为人们生活带来了极大的便利。除此之外,移动互联网软件的发展为人们更好地利用碎片化时间,提高生活和工作便捷性带来了前所未有的技术保障,移动互联网技术必将成为信息技术领域发展的重要方向。

4)物联网软件应用

所谓的物联网软件是指在传统的设备之上进行传感设备的安装和使用,根据传感设备所接收和测量的数据,反馈于远程控制系统,控制系统进行目标值的比对,对非理想数据进行必要的调整从而实现智能化的控制过程。近年来出现的智能家居、智慧城市等都是物联网软件和设备应用的结果,物联网技术的发展为是未来社会的雏形,是人们进行资源高效整合、有效利用和智能控制的技术基础,相信随着网络技术的不断成熟,物联网技术必将展现出其诱人的发展前景。除此之外,计算机软件还广泛应用于人工智能(AI)、神经网络系统、大数据分析等领域,限于篇幅的限制,本文就不一一的进行介绍了。

3小结

本文从计算机软件开发技术以及软件应用两个方面进行简要的介绍,计算机软件开发技术涵盖了软件开发的方法学——软件工程技术、软件开发工具——编程语言的应用以及开发环境——系统环境的应用三个方面,其中软件开发方法学是破解现代软件开发过程中软件危机的主要思路,占据开发技术的主体地位。而软件的应用,根据软件类型以类型,可为分为传统应用软件、Web软件应用、移动互联网软件应用、物联网软件应用等,在不同的应用领域发挥着举足轻重的作用。随着技术的进步,软件开发技术必将朝着智能化、优质化以及效率化的方向大踏步前进,为人类社会发展提供更加计算智慧。

猜你喜欢
开发技术计算机软件
禅宗软件
计算机操作系统
基于计算机自然语言处理的机器翻译技术应用与简介
软件对对碰
信息系统审计中计算机审计的应用
计算机应用软件开发技术的几点探讨
防散脱纬编无痕弹力面料开发技术国际领先
Fresnel衍射的计算机模拟演示
谈软件的破解与保护
中国煤层气开发技术的现状与未来