前言:想要写出一篇令人眼前一亮的文章吗?我们特意为您整理了5篇软件开发技术范文,相信会为您的写作带来帮助,发现更多的写作思路和灵感。
一、何为Javaweb软件开发框架
框架技术是为了解决在软件开发过程中的某一类通用问题而出现的一种软件技术,在Javaweb软件开发过程中,开发者通常需要面临三个方面的问题,首先即分层问题(MVC),如何将表现层、控制层、模型层进行有效的隔离,实现应用代码的解耦;其次是持久化的问题,Java是面向对象的语言,而数据持久化过程则是进行SQL语句的操作,如何将对象进行面向对象的持久化操作;再次,则是应用软件的集成、全局性配置问题,避免在软件代码中出现对象的生成过程,简化统一性的操作问题等都是Javaweb软件开发过程中面临的问题,因此,Struts、Hibernate、Spring框架应运而生,为开发者简化开发过程、提供项目管理方法提供了便利。除此之外,还存在日志管理问题、测试问题,下文则针对常见的Javaweb框架技术进行简要的论述。
二、常见的Javaweb软件开发框架技术介绍
(一) Struts框架
Struts框架作为Apache的顶级项目被Javaweb开发领域广为应用,该框架软件较好的实现了Javaweb软件开发所提倡的MVC应用架构。Struts有两个版本,即Struts1和Struts2,这两个版本之间并非传统意义上的继承发展关系,其中Struts2是由WebWork软件发展而来的,因此Struts1与Struts2之间差异较大。Struts框架主要是基于Javaweb API来实现的,将“表现层”与持久化层有效地隔离开来,使得应用开发者能够更加专注于核心业务,提高开发效率。Struts框架通过XML文件对应用进行配置,通过对来自浏览器以及服务器的请求和处理结果进行展示,达到应用软件表现层的功能需求,一般而言,Struts通过对浏览器提交的数据进行对应Pojo对象的封装,再通过Pojo来进行具体业务逻辑和数据持久化的操作实现面向对象编程,另外,对于服务器返回的数据同样是以Pojo类进行操作的,不同的是,Struts1要求必须继承于Action类,而Struts2就可以通过普通Pojo类来实现,将封装好的Pojo对象,通过Action的调用完成具体的业务逻辑,从而实现了整个Web应用的工作流程。总之,Struts框架是当前流行的表现层框架,在Javaweb开发中非常流行。
(二) Hibernate框架
Hibernate框架是ORM(Object Relational Mapping对象关系映射)数据持久化框架,该框架主要是对应数据库的操作,在没有ORM框架之前,应用开发者对数据库的操作主要是通过字符的拼接形成相应的SQL语句,这使得面向对象的开发过程出现了非面向对象的操作步骤(当然这对于用户而言是透明的),因此,以Hibernate框架为代表的ORM框架在应用程序开发过程中得到了广泛的应用。利用Hibernate,开发者可以通过save、delete、update等方法进行面向对象思维的数据库操作。Hibernate框架的核心接口主要有Session(执行CRUD操作)、SessionFactory(完成对框架进行初始化操作)、Transaction(事务处理接口)、Query(主要是完成查询操作)、Criteria(创建并执行面向对象的标准化查询)和Configuration(对框架进行配置操作)等,通过操作Hibernate框架的接口不仅仅能够实现数据库的一般性CRUD操作,同时还可以处理更加高级的事务性操作;除此之外,Hibernate还提供了缓存管理技术以及“懒加载”技术,通过缓存技术实现更加高效的数据持久化操作和执行效率。当然,Hibernate同样提供了传统意义的SQL操作。总之,Hibernate框架是Javaweb应用开发时最常用的ORM持久化框架技术之一。
(三) Spring框架
Spring框架主要是作为一种集成性技术为Javaweb应用开发提供便捷,一般认为Spring框架的核心任务主要体现在两个方面即IOC(控制反转)和AOP(面向切面编程),IOC主要是将对象的生成过程交予Spring框架来完成,开发者仅仅需要在相应的配置文件中进行简单的配置即可(有时候将IOC任务解释为DI(依赖注入),这主要是从软件代码的层次结构的角度来分析的);AOP技术则是进行横向编程的一种编程技术的创新,通过“切面”的添加十分便捷的实现用户身份鉴别、日志管理和事务管理等工作,使得开发者能够更加专注于核心业务的处理过程。当然,Spring框架除了核心业务以外,还有Spring MVC、Spring DAO等组件为开发者提供开发帮助。由此可见Spring框架正如其名一样,是Javaweb开发者的春天,有时候形象的称为应用程序的“大管家”,实现应用的全局性控制,除此之外,Spring框架不仅仅在Java领域有着广泛的应用,在.net应用程序开发时也同样发挥着非常关键的作用。总之,Spring框架技术作为集成性的框架也是非常重要的。
(四) JUnit框架
软件测试作为验证软件功能性、稳定性以及可靠性的重要阶段同样具有非常重要的意义,在Javaweb开发领域通常应用JUnit进行单元测试。对于软件的测试(这里主要是指白盒测试)通常包括几个步骤,回归性测试、单体测试、集成测试、真实环境下的测试,在利用JUnit进行Javaweb项目测试时通常只要将测试类继承TestCase即可进行自动化测试,目前多数的Java IDE都已经继承了JUnit测试工具,通常测试指标包含几个方面的内容,首先是逻辑代码功能的正确性,这是最为基础的测试内容,其次还包括代码的覆盖率,出现了不可达的代码对于应用程序是无意义的,最后则是性能和稳定性的测试,当应用并发性较高时应用程序能否进行稳定运行同样是非常关键的。总之,JUnit单元测试框架是进行Javaweb软件开发过程中最为常见和应用广泛的测试框架,作为程序员也应进行熟练的掌握。
(五)其他的框架技术介绍
上述框架是进行Javaweb开发过程中最为常见的开发框架,尤其是以Struts、Hibernate以及Spring组成的SSH框架组合几乎是企业级应用开发的必备框架,初次之外还有一些别的框架技术,例如以Log4j为代表的日志记录框架,使得应用开发者可以深度定制应用程序运行日志,配合断点等技术,快速定位查找程序BUG;同样的还有JSF(基于组件和事件驱动)表现层框架;追求高效性的iBATIS持久化框架等等,受限于篇幅的限制,本文就不一一的进行介绍了。除了Java服务器端的应用框架以外,在JSP页面同样有着javascript开发框架,如非常著名JQuery、EXT等等,应用开发者应根据应用的需求进行合理的选择和应用,实现开发效率和应用稳定的高度平衡。
三、Javaweb框架技术的不足之处
在Javaweb项目的开发过程中应用框架技术最主要的目的主要是实现项目开发的高可靠性以及开发效率的保障,但是随着框架技术的不断发展,开发者要熟练的应用框架技术进行项目开发还需要进行不断的学习和实践,这对于一些刚入门的开发者是非常不利的,例如在利用SSH框架组合进行开发时,往往由于各种配置文件的问题导致项目开发过程难以协调,使得入门级的开发人员工作难度急剧提高;除此之外,在进行一些非常简单的项目开发时,过多的强调框架技术的应用也是非常不可取,框架技术的引用容易造成项目复杂度的提升,不利于简单项目的开发。因此,Javaweb项目开发时,开发者应合理的选择框架技术,根据项目的实际情况进行有取舍的选择,从而项目过程的有序性。
四、小结
本文主要介绍了Javaweb程序开发过程中常见的应用框架技术,并浅析了框架技术的不足之处,为开发者合理选择、应用框架技术提供参考。
参考文献:
[1]王循. Java Web快速开发框架中部分关键技术初步研究[D].吉林大学,2015.
原型法
原型法是近年来提出的一种以计算机为基础的系统开发方法,利用原型法开发系统时首先构造一个功能简单的原型系统,然后通过对原型系统逐步求精,不断扩充完善得到最终的软件系统。
原型就是模型,原型系统就是应用系统的模型。它是待开发的实际系统的缩小比例模型,但是保留了实际系统的大部分性能。这个模型可在运行中被检查、测试、修改,直到它的性能达到用户需求为止,随之这个工作模型很快就能转换成需要的目标系统。
原型法的主要优点在于它是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用,能减少系统开发的风险。特别是在大型项目的开发中,由于用户对系统功能认识的模糊性,使得对项目需求的分析难以一次完成,往往会造成已完成的项目多次修改,应用原型法则会避免这种风险。
原型法的概念既适用于系统的重新开发,也适用于对系统的修改;利用原型法开发系统需要有良好的软件开发环境、工具的支持。原型法也可以与传统的生命周期方法相结合使用,以便扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加深对系统的理解。
微软公司通常采用“同步-稳定产品开发法”进行项目开发。典型项目的生命周期包括三个阶段:
1. 计划阶段:完成项目的功能说明和进度表的制定;
2. 开发阶段:写出完整的的源代码;
3. 稳定化阶段:完成产品,使之能够批量生产。
这三大阶段以及阶段间内在的循环方法与传统的“瀑布”式开发方式很不相同,后者是由需求、详尽设计、模块化的代码设计与测试、集成测试以及系统测试组成的。而微软的三个阶段更像是风险驱动的、渐进的“螺旋”式的生命周期模型。
构造原型是在计划阶段具体说明一件新产品或一个新版本的最好方法,这从许多方面来说特别是在系统可用性方面都使开发前测试成为可能,并且有助于对与用户交互情况做出良好的理解,同时也能使产品说明更加紧凑。
微软的开发人员通常采用VB构造用户界面原型,对于构造计算机屏幕模型之类的工作,画笔(Paintbrush)也是一个很好用的工具。通过原型法可以使死板的说明变成有生命的文件。
C/S与B/S结构
管理信息系统平台模式大体上分为四种:主机终端模式、文件服务器模式、C/S模式和B/S模式。主机终端模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适用小规模的局域网,对于用户多、数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业管理信息系统平台模式应主要考虑C/S模式和B/S模式。
C/S结构
两层结构的C/S(Client/ Server)模式在上个世纪八九十年代得到大量的应用。C/S结构由两部分构成:前端是客户机,通常是PC;后端是服务器,运行数据库管理系统,提供数据库的查询和管理。
但两层的C/S结构存在以下几个局限:它是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet;受限于供应商;软、硬件的组合及集成能力有限;难以管理大量的客户机。
因此,三层C/S结构应运而生。三层结构的C/S模式是伴随着中间件技术的成熟而兴起的,核心思想是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次。三个层次的划分是从逻辑上来分的,具体的物理分法可以有多种形式。
三层C/S结构具有以下优点:具有灵活的硬件系统构成;提高程序的可维护性;利于变更和维护应用技术规范;进行严密的安全管理;越关键的应用,用户的识别和存取权限设定愈重要。
B/S结构
基于Web的B/S(Browser/ Server)方式其实也是一种客户机/服务器模式,只不过它的客户端是浏览器。
B/S结构中处于第一层的是客户端,处于第二层的是应用服务器,由一台或者多台服务器组成,该层具有良好的可扩充性,可以随着应用的需要增加服务器的数目。处于第三层的是数据层,由数据库系统和遗留系统组成。
B/S的优势在于:简化了客户端;简化了系统的开发和维护;用户操作变得更简单;适用于网上信息。
软件构件技术
所谓软件构件化,就是要让软件开发像机械制造工业一样,可以用各种标准和非标准的零件来进行组装。软件的构件化和集成技术的目标是:软件系统可以由不同厂商提供的,用不同语言开发的,在不同硬件平台上实现的软件构件,方便地、动态地集成。这些构件要求能互操作,它们可以放在本地的计算机上,也可以分布式地放置在网上异构环境下的不同结点上。
面向对象的方法和技术是继结构化方法之后出现的、最有代表性的软件开发方法,是当今软件开发的主流技术。但是,面向对象所提供的优点主要是针对分析、设计和源代码等软件开发阶段的,当一个面向对象的代码经过编译、连接后得到的可执行软件则是不可改变的、无法重用的。
因此,我们需要一种新的、不依赖于某种特定语言的、在二进制代码级可复用的软件“对象”,这种“对象”就是构件(Component)。
构件技术是一种软件实现的技术和方法,是对面向对象方法在二进制代码级的完善和补充。构件是由接口构成的,它把接口和接口的实现分离开了。接口是独立于语言的一种描述,它将内部的实现以及接口到实现的映射都封装起来了,外界只能通过接口描述使用构件。因此,接口用哪种语言实现也就无关紧要了。
在现有的软件市场上,有三种代表性的构件技术流派,它们分别是COM(Component Object Model,对象构件模型)、JavaBean和CORBA(the Common Object Request Broker Architecture,公共对象请求体系结构)。它们是由不同的机构提出的构件技术实现模型和标准,各有优缺点。
COM
COM是由Microsoft公司推出的构件接口标准,是软件构件相互通信的一种方式,它是一种二进制和网络标准,允许任意两个组件互相通信。目前已有大量的基于COM的构件可供复用,原则上讲,这些构件可以建立在任何环境下,但现有的COM构件大多都依赖于Microsoft环境,在Unix、Macintosh等其他操作系统环境下可复用的构件还很少,Microsoft公司正在努力开发更多的在其他操作系统环境下的COM构件。
传统的应用程序在源代码级可被分割为文件、模块、类或函数等,以便于实施、修改和维护,但经编译、链接以后就生成了不可改变的二进制可执行代码,采用COM技术产生的源代码则不同。
一个COM构件是由若干个接口组成的,而一个接口则是由若干个函数的说明组成的。COM是一个二进制标准,即接口编译以后生成的二进制代码的结构要满足一定的内存块结构。该内存块结构是不依赖于任何语言的。图1表示一个拥有Fun1和Fun2函数的IX接口的内存块结构。
其中,pIX是指向IX接口的指针,通过vtbl指针(接口指针)指向接口中函数的指针数组(称为v表),v表中的元素是指向接口中函数实现的指针。后面我们将会看到函数指针在用-存根机制实现进程间、计算机间的接口调用时指向相应的。
任何语言的语法成分,只要其编译后的目标代码在结构满足图1的二进制形式结构,就称其为该构件接口的一个实现。通常情况下,大多数程序设计语言和其COM支持工具都能将相应的语法自动地映射为这样的结构,无需程序员做更多的工作。
COM是一个二进制标准。由于任何语言都要翻译成二进制机器代码才能最后执行,所以COM可以作为各种高级语言的中间桥梁,使它们可以互操作;按COM标准实现的软件也可以被所有的语言环境所共享。共享人类开发的、丰富的软件资源是提出的COM的最初动机。
JavaBean
目前的COM技术主要是针对PC市场的不依赖于语言的软件构件技术,而JavaBean则是针对解决平台依赖性和语言依赖性这两个问题而提出来的软件构件技术标准。
关于平台依赖性问题是其他构件标准普遍存在的问题。尽管其他构件标准的接口是惟一的,即使用构件的方式是惟一的,但一个构件一旦在某种运行环境下实现就很难直接在另一种运行环境被复用。而这种平台依赖性问题对进一步提高软件复用力度却是至关重要的。
由于Java本身在全球软件界的影响,特别是Java独立于平台的、适宜于在Internet、易于构造B/S应用等等特点,Javasoft公司利用Java特殊的byteCode机制,很好地解决了其他构件标准难以解决的平台依赖性问题,推出了它们自己的构件接口标准JavaBean。正像JavaSoft所描述的JavaBean是“一次性编写,在任意地方可运行,在任意地方可重用”。
JavaBean的构件模型主要包括:构件和容器。模型的其他部分还包括事件处理、持续性、布局以及应用程序建立器(一种可视化的工具)等,这些都是通过JavaBean构件的标准接口实现的。
JavaBean构件有时也称为JavaBean或Bean。它是由接口构成的,接口是由方法组成的。容器能够使构件组合在一起并相互作用。这种机制主要是为了界面构件提出的,它本身也是一个构件,以便嵌套组合产生复杂的可视化GUI。JavaBean的主要特征为:
1. 属性管理
根据属性的使用类型可将其分为:一般属性、索引属性、依附属性和约束属性,通过一些标准的命名约定定义它们相应的访问方法,使JavaBean API能用统一的方式对属性进行管理。其中,依附属性是基于自身值的变化而向感兴趣的部分提供通知的属性。约束属性是一种在接收更改之前能使感兴趣的部分对新属性值执行有效检查的属性。
2. 内省功能
内省功能是构件的内部结构(属性、方法和事件)展现给外部的机制。不同于COM,JavaBean不需要构件开发者开发这种额外的工作,它只需要开发者对构件的属性、方法和事件的命名和类型符号遵守一个约定,通过标准的JavaBean API就可了解到bean的任何内部信息。
JavaBean的事件处理模型是基于现存的AWT事件处理模型的。它决定bean如何对它自身状态的变化做出反应,以及决定如何将这些变化传递给应用程序和其他bean。通过JavaBean API将一个事件接收器(处理某个事件的应用程序或其他bean)注册到该事件上,完成外部对事件的控制。这是将bean组合起来的有效方法。
Java与JavaBean的区别是:Java是在源代码级的复用;而JavaBean是在目标代码级的复用,并且,通过JavaBean提供的标准接口,为在目标代码级的动态组装、版本升级、维护提供保证,并可利用一些相应的可视化工具方便、有效地定制JavaBean和建立应用程序。
尽管JavaBean是作为一种通用的构件模型提出来的,但它更主要地还是为解决可视化构件而设计的一套系统,它类似于Microsoft的ActiveX。严格地讲,目前的JavaBean在不同语言之间提供的互操作性方面是很弱的,它只是提供了在Java环境下的二进制代码共享机制。增强JavaBean与其他构件技术之间的互操作是JavaBean今后发展的一个主要课题。
CORBA
CORBA是由OMG(对象管理组)1990年首次为了解决分布式、异质的软件和硬件环境下对象之间的互操作问题而提出的、基于中间件的构件技术。CORBA有两个重要的特点:面向对象技术与分布式计算的结合;机制的中间件技术。
1. 面向对象与分布式技术的结合
CORBA是为了解决分布式问题而提出的分布式对象计算模型。利用计算机网络进行分布式计算可以共享资源、平衡大型计算的负载等。但是,传统的分布式计算模型还不够成熟:客户/服务关系不灵活、远程服务层次太低、用户使用不透明。面向对象中的对象是一个相对独立的软件实体,它有自己的内部状态和清晰的对外接口。但传统的面向对象模型的实现,只能在单计算机上进行。CORBA将这两者有机地结合起来了。在CORBA中,对象是分布式计算模型中理想的节点描述模块,对象既可以是“客户”,也可以是“服务器”,它可自由地分布于计算机网络上。通过CORBA,对象可网络透明地相互访问,CORBA屏蔽了位置信息和计算机的软硬件环境,因此,CORBA建立了一个统一的分布式软件开发平台。
2. 机制的中间件――对象请求中介(Object Request Broker,简称ORB)
作为一种构件技术,CORBA要解决的另一个重要问题是二进制代码之间的互操作问题。
不同于COM/DCOM技术,CORBA提供了一种中间的机制,将构件的接口与构件的实现分离开了。服务对象实现后,就将其接口登记在CORBA的中,客户对象按照中的接口描述访问服务对象,而不关心服务对象使用什么语言、在什么地方、在什么软硬件环境下实现的。这些工作都由自动地、透明地为客户对象完成。这种机制还可提供客户与服务器之间动态匹配、一个服务器为多个客户服务等功能。
ORB提供的机制是良好的,也提供了足以使客户和服务器通信的服务,但这些服务是很低级的。用户要熟练地掌握它们不是一件容易的事情,而且这些繁锁的过程经常重复。因此,CORBA对经常使用的服务封装内部的细节,提供简化用户使用的、方便的、标准的对象服务。对象服务是CORBA非常重要的一部分,是对ORB功能的扩充和补充。CORBA提供的15种服务可分为三大类:分布式系统相关的服务,如命名服务、事件服务、安全和交易器服务;数据库相关的服务,如事务处理、属性、集合、关系、查询、持久性、外表化、并发等服务;一般服务,如生命期、计时、特许等服务。大多数应用都是在这些服务的基础上建立的。
公共设施是CORBA提供的另一种比对象服务更高一层的框架服务。它是特定应用领域的框架复用,如复合文档构件设施等。CORBA的公共设施还很少,还有大量的设施需要集成,如图形系统、移动等。
CORBA没有定义二进制代码的标准,而是在高层定义了一个标准的接口描述语言IDL,并通过扩展机制提供各种语言到IDL之间的映射,以IDL为中间的桥梁,达到各种语言之间的互操作。
三种构件模型的特点
COM是一种二进制标准的构件技术,它实现简单、实用,但要完成真正意义的、独立于硬件和操作系统的二进制标准,还有大量的工作要做。目前,COM还只是Microsoft环境下的二进制标准。
CORBA是一种以IDL为桥梁、基于ORB的中间件的构件技术。它是以IDL为标准的,与实现构件接口的语言、软件平台和硬件平台无关。但它却无法支持Internet上大量的移动计算的需求,一个构件的实现是与软硬件平台相关的,即一个构件的实现是不能在网上移动的。
JavaBean是一种能提供在网上移动的构件技术,它通过bytecode技术,提供在“任何地方运行,任何地方重用”的功能,但它却是与语言相关的。
从软件体系结构的角度看,构件技术中的构件只是提供一个软件模块的实现,作为一个软件系统,它还需要连接子(connector)将软件模块组织成一个整体。有各种各样组织软件模块的形式:管道和过滤器、层次、基于事件的隐式调用等等。管道和过滤器模型最容易实现软件模块的集成,但只能处理简单的、流式的应用,没有普遍性。层次模型可提供不同级别的抽象,但层与层之间存在着紧密的耦合,而且,这种模型也没有普遍性。基于事件的隐式调用的方式是,构件向系统发出请求,已经向系统注册响应该事件的构件就响应该事件。这种模型将调用者和被调用者彻底地分开,这种软件体系结构模型具有很强的灵活性,也具有通用性。
构件技术的初衷是为了能充分地利用在各种环境下,用各种程序设计语言开发的软件模块而提出的一种二进制代码级的软件复用技术。通过接口这种不依赖于具体语言的中性机制,使各种语言之间可以互操作,也就是说一种语言可通过接口访问另一种语言开发的软件,而不需要移植工作,这大大地提高了软件的复用程度。
软件复用技术
软件复用就是将已有的软件成分用于构造新的软件系统。可以被复用的软件成分一般称作可复用构件,无论对可复用构件原封不动地使用还是作适当的修改后再使用,只要是用来构造新软件,则都可称作复用。软件复用不仅仅是对程序的复用,它还包括对软件生产过程中任何活动所产生的制成品的复用。但如果是在一个系统中多次使用一个相同的软件成分,则不称作复用,而称作共享;对一个软件进行修改,使它运行于新的软硬件平台也不称作复用,而称作软件移值。
软件复用级别
未来最有可能产生显著效益的复用是对软件生命周期中一些主要开发阶段的软件制品的复用,按抽象程度的高低,可以划分为如下的复用级别:
1.代码的复用
包括目标代码和源代码的复用。其中目标代码的复用级别最低,历史也最久,当前大部分编程语言的运行支持系统都提供了连接(Link)、绑定(Binding)等功能来支持这种复用。源代码的复用级别略高于目标代码的复用,程序员在编程时把一些想复用的代码段复制到自己的程序中,但这样往往会产生一些新旧代码不匹配的错误。想大规模实现源程序的复用只有依靠含有大量可复用构件的构件库。如“对象链接及嵌入”(OLE)技术,既支持在源程序级定义构件并用以构造新的系统,又使这些构件在目标代码的级别上仍然是一些独立的可复用构件,能够在运行时被灵活地重新组合为各种不同的应用。
2.设计的复用
设计结果比源程序的抽象级别更高,因此它的复用受实现环境的影响较少,从而使可复用构件被复用的机会更多,并且所需的修改更少。这种复用有三种途径:第一种途径是从现有系统的设计结果中提取一些可复用的设计构件,并把这些构件应用于新系统的设计;第二种途径是把一个现有系统的全部设计文档在新的软硬件平台上重新实现,也就是把一个设计运用于多个具体的实现;第三种途径是独立于任何具体的应用,有计划地开发一些可复用的设计构件。
3.分析的复用
这是比设计结果更高级别的复用,可复用的分析构件是针对问题域的某些事物或某些问题的抽象程度更高的解法,受设计技术及实现条件的影响很少,所以可复用的机会更大。复用的途径也有三种,即从现有系统的分析结果中提取可复用构件用于新系统的分析;用一份完整的分析文档作输入产生针对不同软硬件平台和其他实现条件的多项设计;独立于具体应用,专门开发一些可复用的分析构件。
4.测试信息的复用
主要包括测试用例的复用和测试过程信息的复用。前者是把一个软件的测试用例在新的软件测试中使用,或者在软件作出修改时在新的一轮测试中使用。后者是在测试过程中通过软件工具自动地记录测试的过程信息,包括测试员的每一个操作、输入参数、测试用例及运行环境等一切信息。这种复用的级别不便和分析、设计、编程的复用级别作准确的比较,因为被复用的不是同一事物的不同抽象层次,而是另一种信息,但从这些信息的形态看,大体处于与程序代码相当的级别。
由于软件生产过程主要是正向过程,即大部分软件的生产过程是使软件产品从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的复用容易带动较低级别的复用,因而复用的级别越高,可得到的回报也越大,因此分析结果和设计结果在目前很受重视。用户可购买生产商的分析件和设计件,自己设计或编程,掌握系统的剪裁、扩充、维护、演化等活动。
软件复用的困难
软件复用各方面的困难,无论是技术问题还是非技术问题,都影响着软件复用的广泛实行。
首先构件与应用系统之间的存在差异。一些开发者开发的构件,要做到在被另一些人开发的系统中使用时正好合适,从内容到对外接口都恰好相符,或者作很少的修改,这不是一件简单的事。
其次构件要达到一定的数量,才能支持有效的复用,而大量构件的获得需要有很高的投入和长期的积累;当构件达到较大的数量时,使用者要从中找到一个自己想要的构件,并断定它确实是自己需要的,也不是一件轻而易举的事;基于复用的软件开发方法和软件过程是一个新的研究实践领域,需要一些新的理论、技术及支持环境,目前这方面的研究成果和实践经验都不够充分。
最后,人的因素、管理因素、教育因素、法律因素等等都使软件的复用更为困难。
面向对象方法对软件复用的支持
支持软件复用是人们对面向对象方法寄托的主要希望之一,也是这种方法受到广泛重视的主要原因之一。面向对象方法之所以特别有利于软件复用,是由于它的主要概念及原则与软件复用的要求十分吻合。
面向对象方法从面向对象的编程发展到面向对象的分析与设计,使这种方法支持软件复用的固有特征能够从软件生命周期的前期阶段开始发挥作用,从而使面向对象方法对软件复用的支持达到了较高的级别。与其他软件工程方法相比,面向对象方法的一个重要优点是,它可以在整个软件生命周期达到概念、原则、术语及表示法的高度一致。这种一致性使得各个系统成分尽管在不同的开发与演化阶段有不同的形态,但可具有贯穿整个软件生命周期的良好映射。这一优点使面向对象方法不但能在各个级别支持软件复用,而且能对各个级别的复用形成统一的、高效的支持,达到良好的全局效果。做到这一点的必要条件是,从面向对象软件开发的前期阶段――面向对象分析就把支持软件复用作为一个重点问题来考虑。运用面向对象分析方法所定义的对象类具有适合作为可复用构件的许多特征,面向对象分析结果对问题域的良好映射,使同类系统的开发者容易从问题出发,在已有的面向对象分析结果中发现不同粒度的可复用构件。
复用技术对面向对象方法的支持
面向对象的软件开发和软件复用之间的关系是相辅相成的。一方面,面向对象方法的基本概念、原则与技术提供了实现软件复用的有利条件;另一方面,软件复用技术也对面向对象的软件开发提供了有力的支持。
1.类库
在面向对象的软件开发中,类库是实现对象类复用的基本条件。人们己经开发了许多基于各种OOPL的编程类库,有力地支持了源程序级的软件复用,但要在更高的级别上实现软件复用,仅有编程类库是不够的。实现面向对象分析结果和面向对象设计结果的复用,必须有分析类库和设计类库的支持。为了更好地支持多个级别的软件复用,可以在面向对象分析类库、面向对象设计类库和面向对象编程类库之间建立各个类在不同开发阶段的对应与演化关系。即建立一种线索,表明每个面向对象分析的类对应着哪个(或哪些)面向对象设计类,以及每个面向对象设计类对应着各种面向对象编程语言类库中的哪个面向对象编程类。
2.构件库
类库可以看作一种特殊的可复用构件库,它为在面向对象的软件开发中实现软件复用提供了一种基本的支持。但类库只能存储和管理以类为单位的可复用构件,不能保存其他形式的构件;但是它可以更多地保持类构件之间的结构与连接关系。构件库中的可复用构件,既可以是类,也可以是其他系统单位;其组织方式,可以不考虑对象类特有的各种关系,只按一般的构件描述、分类及检索方法进行组织。在面向对象的软件开发中,可以提炼比对象类粒度更大的可复用构件,例如把某些结构或某些主题作为可复用构件;也可以提炼其他形式的构件,例如use case 或交互图。这些构件库中,构件的形式及内容比类库更丰富,可为面向对象的软件开发担供更强的支持。
关键词:计算机软件开发技术;重要应用;未来展望;发展现状
随着计算机技术的不断发展,计算机软件开发也要与时俱进,尤其是随着社会各项技术的不断发展,要求计算机软件开发技术也应该不断更新,才能够满足社会的发展,实现IT行业的兴起和繁荣。进行计算机软件开发不仅具有十分重要的意义,另外也能够真正的实现对社会经济科技的推动作用,因此未来发展也存在着一定的空间。
一、计算机软件开发技术的现状及重要作用分析
首先,计算机软件开发技术的发展现状。随着我国进入了信息时代,计算机软件开发技术已经逐渐融入了人们的生活、工作和学习等各个方面,不仅改变了人们的生活方式,也能够给人们的生活带来很多的便利。总之计算机软件开发技术是计算机技术的重要组成部分,能够支撑计算机行业的新发展。其次,计算机软件开发技术应用的重要作用分析。通过进行计算机软件开发技术,不仅能够推动计算机行业的发展,也能够真正的推进信息化的改革,为我国时代的发展注入新的动力。计算机软件开发技术是计算机软件工程的核心工程,能够使得我国计算机网络发展到一个新的高度,随着软件开发技术的不断成熟和快速发展也存在着一定的问题,也面临着前所未有的挑战,只有深入研究,才能在挑战和机遇面前不断前进。
二、计算机软件开发技术的应用分析
当下计算机软件开发技术主要涉及到以下三方面的应用:第一,C语言技术。C语言作为计算机软件开发技术的基础技术,起步相对较早,而且应用相对比较广泛,当下C语言技术已经越来越成熟,可以应用在多种操作系统当中。C语言的运算符包括的范围非常的大,不仅包括括号以及其他类型的运算处理,而且也能够具有较强的一致性,可以在不同的程序上进行C编程。第二,Java技术。Java技术的应用也非常的广泛,可以在跨平台应用软件中进行开发和使用,该项技术的特点是安全性比较强,而且具有很高的通用性。很多的计算机应用软件都能够通过Java技术来进行开发。Java技术不仅继承了C语言的核心技术,另外也能够改进C语言编程中存在的一些错误,进一步增加了垃圾回收器功能,从而减少了程序员为内存管理存在的困扰,同时Java的源代码编译可以在任何无格式的纯文本编辑器中进行操作,所以编辑起来比较的方便快捷,而且也已经发展成为一种主流的技术。第三,VB技术。VB技术也是由微软公司推出的一种软件编程语言,当下已经成为世界上使用最多的一种软件开发语言。VB不仅打破了传统的编程界面,而且可以实现图形可视化的操作界面,可以实现对各种企业软件的快速开发,比如,优化大师等相关软件。
三、计算机软件开发技术的未来展望分析
随着我国计算机网络技术的不断发展,计算机软件开发技术也在不断的进步,其发展也呈现出了一定的趋势,主要表现在以下两个方面:第一,网络化和智能化并存。随着进入信息时代,互联网日益普及,计算机软件开发技术也逐渐向网络化和智能化的方向发展,不仅能够满足人们之间的相互交流,而且也能够共享各种社会信息和推动网络社会的进步和发展,结合当下网络发展的趋势,计算机软件开发技术也应该为人们提供更加智能、快捷、优质的信息服务,推进计算机软件开发技术向智能化方向发展也已经成为一种不可逆转的趋势。所以经济软件开发技术应该逐渐向智能化方向推进,才能够满足计算机时代的发展需求,另外也能够在发展的过程当中把握好主方向,寻求新的发展空间获得更多的受众,实现最大的经济效益和社会效益。第二,逐渐向开放性和融合性方向发展。随着我国进入网络信息时代,计算机软件开发技术应该逐渐向开放化方向发展,另外其软件源代码以及软件产品的设计都应该逐渐公开,并且采取标准化的设计方式,才能够实现互通、互享、互用。另外计算机软件开发时也应该注重向融合性的方向发展,比如可以将计算机软件开发技术与电气化自动化以及机械化技术相融合,才能够真正的提高计算机软件开发产业的整体水平,不仅能够占据更大的市场份额,也能够造福于广大的用户,所以随着计算机网络的不断发展,计算机软件开发也应该向融合性方向发展,能够满足人们的日常生活所需,也能够结合客户的需求提供各种综合性的服务,才能够真正的满足时展,另外也使得自身获得长远的发展。
计算机技术在不断提高,计算机技术的应用也越来越广泛,计算机软件开发技术日益提升。本文主要围绕计算机软件开发技术应用展开探讨,以期通过计算机软件开发技术,设计出拓展性强,可靠性较高,品质水准高的计算机软件。
关键字:
计算机软件;开发技术;应用
计算机应用需要计算机软件为其提供一个优秀的平台,从用户的角度来看,主要利用计算机软件来操作计算机,所以,如果计算机软件开发技术不强,用户在应用计算机软件时就会受到较大影响。计算机软件开发的初始阶段是通过手工进行操作,因为手工操作受到较大限制,导致开始应用软件过程中,经常出现错误,用户对软件的需求得不到满足,并且计算机软件开发效率不高,软件没有较强的扩展性,导致开始应用软件过程中错误百出。随着计算机开发技术水平不断提升,计算机开发人员在开发软件过程中更加规范和严格,利用规范化文档来记录开发软件的全过程,包括分析软件,设计软件,开发软件,调试软件,以及应用软件等,开发步骤更加规范化,所开发出的计算机软件更加可靠,品质更优良。
1计算机软件开发技术常用的开发方式
经常使用的计算机软件中,开发方式包括三部分.
1.1生命周期比较传统软件以时间为基础进行划分,针对软件的不同部分进行拆分,并且分解这些软件,产生不同的软件阶段,在软件任意阶段,从开始至结束要求都非常严格。一般情况下,软件周期都能够达到半年。
1.2原型化软件的方式在调试和开发计算机软件时,由开发初期概念不清晰,所以按照以往的生命周期法,需要认定软件初始阶段的一些资料,所以,这个类型的软件并不适用。不过,如果该计算机软件实现原型化,为了明确软件的本质需求,需要研究和分析软件的原型化系统,在这个基础之上,开发出新的概念,最后再进行修改,完成建造开发软件的任务。
1.3开发自动化系统开发自动化软件系统可以利用很多种类的软件开发工具,软件操作人员不必提供具体操作方法,介绍相关内容就可以,程序编码可以通过软件工具进行自动分析。
2关于计算机软件开发技术的应用
2.1如何应用计算机软件开发技术伴随世界经济一体化进程,用户彼此间的距离随着大范围应用网络而不断缩小,通过应用不同种类的软件,世界经济资源实现了共享,用户与用户之间沟通和交流更加方便。应用计算机软件开发技术的主要特征是把用户与网络和软件紧密联接起来,与此同时,不再统一进行控制,每个结点都具有很高的独立性,与此同时,用户在不同的软件平台上,通过更加广阔的平台,来处理不同的数据信息数据,既发展了计算机软件技术,与此同时,也使用户操作得以简化,使用用户数据就更为便捷了。
2.2分析和研究计算机软件开发技术开发计算机软件的目标,是让用户对软件的应用更加方便快捷,所以,对某个软件的质量进行评价时,主要看该软件是否具有较高的实用价值。在实际应用软件过程当中,为使用户操作更加便捷,与此同时,软件操作起来具有更强的可维护性,安全性和稳定性,以及可扩展性等等。有一部分软件的开发技术,受到操作系统版本,或者操作系统中浏览器安全性制约,用户操作这些软件的时候非常复杂,不能进行大范围应用。有些软件可以和操作系统相互兼容,因为软件在运行过程中,没有受到操作系统的约束,用户在安装和修复软件时更加便捷,并且能够还原和备份计算机里面的相关数据。不过,随着客户端软件的使用周期越来越长,那些能够与系统很好兼容的软件,在后期的运行过程中,速度会越来越慢,所以,应该对这些软件资料进行手工存档。计算机开发技术会约束对它的应用,所以,为使用户更好的使用计算机开发软件,设计人员要针对用户实际需求以及应用情况来开发软件,要确保软件在应用时更加可靠和便捷,软件在设计上要充分考虑使用群体,尽量让大众群体都能够灵活应用。
总而言之,以计算机飞速发展为背景,计算机软件具有广阔的应用前景。选择计算机软件的开发技术,和计算机软件开发过程联系紧密,软件设计人员在选择软件开发技术时,要参考实际情况和实际需要进行,这样才能设计出品质好,性能佳,具有极强交互能力的计算机开发软件,同时,在软件设计开发时要注意尽可能降低开发成本。
参考文献
[1]赵明亮.计算机应用软件开发技术[J].黑龙江科技信息,2011(26)
1 前言
随着计算机技术的快速发展,其在各行各业中都发挥了巨大的作用,而在计算机技术的应用过程中,软件是一个核心的组成部分,从而就使得软件开发工作受到了越来越多人的重视。如果不能够对软件开发进行规范,就有可能对软件的开发质量、效率等带来较大的影响。因此,本文结合笔者的开发经验,对如何在计算机软件开发中贯彻规范化思想及要求进行了详细的分析。
2 计算机软件开发的相关概述
计算机系统主要是由硬件系统和软件系统两个主要部分组成,其中软件却是其中最为核心的部分。而计算机软件则主要是由系统软件以及应用软件两个部分组成,其中系统软件为软件运行的主要基础,应用软件则主要用来处理计算机运行中的各种问题。所谓计算机软件开发,则主要是软件工程师基于用户的实际需求,编写出软件或者系统中某一部分的产品开发的过程。
3 计算机软件开发的规范化具体应用
在上文中已经分析,在当前的软件开发过程中,规范化显得非常重要,而针对一个具体的计算机软件规范化设计过程来说,主要包括软件需求分析规范化、概要设计规范化、详细设计规范化、软件测试规划化以及软件维护规范化等几个环节,下文将分别对其进行详细的分析。
3.1 需求分析的规范化
对于一个完整的软件生存周期来说,需求分析阶段是一个非常重要的阶段,可以说对于整个软件的生存周期来说,都具有非常重要的决定性意义。该阶段的主要任务是在可行性研究的基础上对软件开发的运行环境、性能以及功能需求的确定,同时对用户手册概进行编写,确认测试测试原则,同时设计概要需求说明书。对于该阶段的规范化来说,应该注意如下几个方面的要点,一是需求说明书务必需要明确,而且经过客户的确认,在具体的实施时还应该对被开发软件的环境进行调查,二是对客户和用户需求进行一步明确,以确定人机界面;三是在该周期的最后阶段,所指定的文件也都要齐全,而且是经过评审。交付的文件通常具有软件需求说明书、用户手册概要、修改后的项目开发计划以及确认测试计划和数据要求说明书。
3.2 概要设计的规范化
概要设计的主要任务是基于软件的需求说明,构建出所要设计系统的各个模块之间的关系,然后以该模块为基础对其相关的接口与功能进行详细的描述和定义。在该环节,对数据库的设计也是非常重要的环节,当然,也应该对设计限制与组装测试计划进行明确和制定。在基于概要设计规范化的前提之下,应该从整体的角度进行考虑,在最大程度上使其具备良好的形态,使得模块的功能之间还具有良好的内聚度,使其满足相关的要求。简洁性也是需要重点考虑的一个问题,主要针对模块的接口而言,使其在一定范围之内具有良好的移植性。
3.3 详细设计的规范化
详细设计是软件开发的一个非常关键的阶段,在该阶段的主要任务基于概要设计的基础上针对模块进行过程描述,是对前一个阶段的细化,产生的描述能够为代码的编写提供重要的基础,同时也能够更加促进模块开发的顺利开展。而基于本文所提出的详细设计规范化的前提之下,应该按照相关的要求对每个程序的模块构建进行相应的输入、输出、数据流以及处理功能的构建等。
3.4 软件测试的规范化
随着当前信息化程度的不断加深,大软件开发变的更加普遍,而在软件开发过程中,大软件的开发过程中不出现错误也是不现实的,一旦出现了错误,软件测试技术就发挥了重要的作用。因此,针对软件测试阶段来说,其对于整个软件生存周期来说,意义非常重大。其主要任务是针对软件开发中的功能、性能、测试计划是否满足了实际的需求,在测试完成之后还应该向用户提交最终的操作手册。
3.5 软件维护的规范化
软件维护是软件生存周期的最后一个环节,其重要性也是不容忽视的,其主要任务是对于已经处于运行阶段的软件系统进行维护,并对在其开发阶段所并没有发现的问题进行更正、升级,使得其能够更加进一步适应在实际的应用环境中的应用。不过,在针对该阶段的规范化要求之下,进一步要求在软件维护阶段应该投入足够的细心和责任心,不能出现错上加错的现象。尤其对于修改应该在仔细权衡后在进行改进,修改还应该基于一定的步骤,同时还应该加强严格的控制管理,对于已经修改过的软件还应该加强对其的进一步测试工作,测试完成之后填写相应的报告。
4 结语
总之,通过本文所分析的软件需求分析规范化、概要设计规范化、详细设计规范化、软件测试规划化以及软件维护规范化等方面的规范化要求,是对软件开发人员的重要“行为规范”,只有在严格遵守的前提下,才能够开发出质量更高的软件,继而适应社会各行各业对计算机软件越来越高的要求。