99久久99久久精品免费看蜜桃,亚洲国产成人精品青青草原,少妇被粗大的猛烈进出va视频,精品国产不卡一区二区三区,人人人妻人人澡人人爽欧美一区

首頁 > 文章中心 > 軟件開發(fā)技術(shù)

軟件開發(fā)技術(shù)

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件開發(fā)技術(shù)范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。

軟件開發(fā)技術(shù)

軟件開發(fā)技術(shù)范文第1篇

【關(guān)鍵詞】Javaweb;軟件開發(fā);框架技術(shù)

一、何為Javaweb軟件開發(fā)框架

框架技術(shù)是為了解決在軟件開發(fā)過程中的某一類通用問題而出現(xiàn)的一種軟件技術(shù),在Javaweb軟件開發(fā)過程中,開發(fā)者通常需要面臨三個(gè)方面的問題,首先即分層問題(MVC),如何將表現(xiàn)層、控制層、模型層進(jìn)行有效的隔離,實(shí)現(xiàn)應(yīng)用代碼的解耦;其次是持久化的問題,Java是面向?qū)ο蟮恼Z言,而數(shù)據(jù)持久化過程則是進(jìn)行SQL語句的操作,如何將對象進(jìn)行面向?qū)ο蟮某志没僮鳎辉俅?,則是應(yīng)用軟件的集成、全局性配置問題,避免在軟件代碼中出現(xiàn)對象的生成過程,簡化統(tǒng)一性的操作問題等都是Javaweb軟件開發(fā)過程中面臨的問題,因此,Struts、Hibernate、Spring框架應(yīng)運(yùn)而生,為開發(fā)者簡化開發(fā)過程、提供項(xiàng)目管理方法提供了便利。除此之外,還存在日志管理問題、測試問題,下文則針對常見的Javaweb框架技術(shù)進(jìn)行簡要的論述。

二、常見的Javaweb軟件開發(fā)框架技術(shù)介紹

(一) Struts框架

Struts框架作為Apache的頂級項(xiàng)目被Javaweb開發(fā)領(lǐng)域廣為應(yīng)用,該框架軟件較好的實(shí)現(xiàn)了Javaweb軟件開發(fā)所提倡的MVC應(yīng)用架構(gòu)。Struts有兩個(gè)版本,即Struts1和Struts2,這兩個(gè)版本之間并非傳統(tǒng)意義上的繼承發(fā)展關(guān)系,其中Struts2是由WebWork軟件發(fā)展而來的,因此Struts1與Struts2之間差異較大。Struts框架主要是基于Javaweb API來實(shí)現(xiàn)的,將“表現(xiàn)層”與持久化層有效地隔離開來,使得應(yīng)用開發(fā)者能夠更加專注于核心業(yè)務(wù),提高開發(fā)效率。Struts框架通過XML文件對應(yīng)用進(jìn)行配置,通過對來自瀏覽器以及服務(wù)器的請求和處理結(jié)果進(jìn)行展示,達(dá)到應(yīng)用軟件表現(xiàn)層的功能需求,一般而言,Struts通過對瀏覽器提交的數(shù)據(jù)進(jìn)行對應(yīng)Pojo對象的封裝,再通過Pojo來進(jìn)行具體業(yè)務(wù)邏輯和數(shù)據(jù)持久化的操作實(shí)現(xiàn)面向?qū)ο缶幊?,另外,對于服?wù)器返回的數(shù)據(jù)同樣是以Pojo類進(jìn)行操作的,不同的是,Struts1要求必須繼承于Action類,而Struts2就可以通過普通Pojo類來實(shí)現(xiàn),將封裝好的Pojo對象,通過Action的調(diào)用完成具體的業(yè)務(wù)邏輯,從而實(shí)現(xiàn)了整個(gè)Web應(yīng)用的工作流程??傊?,Struts框架是當(dāng)前流行的表現(xiàn)層框架,在Javaweb開發(fā)中非常流行。

(二) Hibernate框架

Hibernate框架是ORM(Object Relational Mapping對象關(guān)系映射)數(shù)據(jù)持久化框架,該框架主要是對應(yīng)數(shù)據(jù)庫的操作,在沒有ORM框架之前,應(yīng)用開發(fā)者對數(shù)據(jù)庫的操作主要是通過字符的拼接形成相應(yīng)的SQL語句,這使得面向?qū)ο蟮拈_發(fā)過程出現(xiàn)了非面向?qū)ο蟮牟僮鞑襟E(當(dāng)然這對于用戶而言是透明的),因此,以Hibernate框架為代表的ORM框架在應(yīng)用程序開發(fā)過程中得到了廣泛的應(yīng)用。利用Hibernate,開發(fā)者可以通過save、delete、update等方法進(jìn)行面向?qū)ο笏季S的數(shù)據(jù)庫操作。Hibernate框架的核心接口主要有Session(執(zhí)行CRUD操作)、SessionFactory(完成對框架進(jìn)行初始化操作)、Transaction(事務(wù)處理接口)、Query(主要是完成查詢操作)、Criteria(創(chuàng)建并執(zhí)行面向?qū)ο蟮臉?biāo)準(zhǔn)化查詢)和Configuration(對框架進(jìn)行配置操作)等,通過操作Hibernate框架的接口不僅僅能夠?qū)崿F(xiàn)數(shù)據(jù)庫的一般性CRUD操作,同時(shí)還可以處理更加高級的事務(wù)性操作;除此之外,Hibernate還提供了緩存管理技術(shù)以及“懶加載”技術(shù),通過緩存技術(shù)實(shí)現(xiàn)更加高效的數(shù)據(jù)持久化操作和執(zhí)行效率。當(dāng)然,Hibernate同樣提供了傳統(tǒng)意義的SQL操作??傊?,Hibernate框架是Javaweb應(yīng)用開發(fā)時(shí)最常用的ORM持久化框架技術(shù)之一。

(三) Spring框架

Spring框架主要是作為一種集成性技術(shù)為Javaweb應(yīng)用開發(fā)提供便捷,一般認(rèn)為Spring框架的核心任務(wù)主要體現(xiàn)在兩個(gè)方面即IOC(控制反轉(zhuǎn))和AOP(面向切面編程),IOC主要是將對象的生成過程交予Spring框架來完成,開發(fā)者僅僅需要在相應(yīng)的配置文件中進(jìn)行簡單的配置即可(有時(shí)候?qū)OC任務(wù)解釋為DI(依賴注入),這主要是從軟件代碼的層次結(jié)構(gòu)的角度來分析的);AOP技術(shù)則是進(jìn)行橫向編程的一種編程技術(shù)的創(chuàng)新,通過“切面”的添加十分便捷的實(shí)現(xiàn)用戶身份鑒別、日志管理和事務(wù)管理等工作,使得開發(fā)者能夠更加專注于核心業(yè)務(wù)的處理過程。當(dāng)然,Spring框架除了核心業(yè)務(wù)以外,還有Spring MVC、Spring DAO等組件為開發(fā)者提供開發(fā)幫助。由此可見Spring框架正如其名一樣,是Javaweb開發(fā)者的春天,有時(shí)候形象的稱為應(yīng)用程序的“大管家”,實(shí)現(xiàn)應(yīng)用的全局性控制,除此之外,Spring框架不僅僅在Java領(lǐng)域有著廣泛的應(yīng)用,在.net應(yīng)用程序開發(fā)時(shí)也同樣發(fā)揮著非常關(guān)鍵的作用??傊?,Spring框架技術(shù)作為集成性的框架也是非常重要的。

(四) JUnit框架

軟件測試作為驗(yàn)證軟件功能性、穩(wěn)定性以及可靠性的重要階段同樣具有非常重要的意義,在Javaweb開發(fā)領(lǐng)域通常應(yīng)用JUnit進(jìn)行單元測試。對于軟件的測試(這里主要是指白盒測試)通常包括幾個(gè)步驟,回歸性測試、單體測試、集成測試、真實(shí)環(huán)境下的測試,在利用JUnit進(jìn)行Javaweb項(xiàng)目測試時(shí)通常只要將測試類繼承TestCase即可進(jìn)行自動(dòng)化測試,目前多數(shù)的Java IDE都已經(jīng)繼承了JUnit測試工具,通常測試指標(biāo)包含幾個(gè)方面的內(nèi)容,首先是邏輯代碼功能的正確性,這是最為基礎(chǔ)的測試內(nèi)容,其次還包括代碼的覆蓋率,出現(xiàn)了不可達(dá)的代碼對于應(yīng)用程序是無意義的,最后則是性能和穩(wěn)定性的測試,當(dāng)應(yīng)用并發(fā)性較高時(shí)應(yīng)用程序能否進(jìn)行穩(wěn)定運(yùn)行同樣是非常關(guān)鍵的。總之,JUnit單元測試框架是進(jìn)行Javaweb軟件開發(fā)過程中最為常見和應(yīng)用廣泛的測試框架,作為程序員也應(yīng)進(jìn)行熟練的掌握。

(五)其他的框架技術(shù)介紹

上述框架是進(jìn)行Javaweb開發(fā)過程中最為常見的開發(fā)框架,尤其是以Struts、Hibernate以及Spring組成的SSH框架組合幾乎是企業(yè)級應(yīng)用開發(fā)的必備框架,初次之外還有一些別的框架技術(shù),例如以Log4j為代表的日志記錄框架,使得應(yīng)用開發(fā)者可以深度定制應(yīng)用程序運(yùn)行日志,配合斷點(diǎn)等技術(shù),快速定位查找程序BUG;同樣的還有JSF(基于組件和事件驅(qū)動(dòng))表現(xiàn)層框架;追求高效性的iBATIS持久化框架等等,受限于篇幅的限制,本文就不一一的進(jìn)行介紹了。除了Java服務(wù)器端的應(yīng)用框架以外,在JSP頁面同樣有著javascript開發(fā)框架,如非常著名JQuery、EXT等等,應(yīng)用開發(fā)者應(yīng)根據(jù)應(yīng)用的需求進(jìn)行合理的選擇和應(yīng)用,實(shí)現(xiàn)開發(fā)效率和應(yīng)用穩(wěn)定的高度平衡。

三、Javaweb框架技術(shù)的不足之處

在Javaweb項(xiàng)目的開發(fā)過程中應(yīng)用框架技術(shù)最主要的目的主要是實(shí)現(xiàn)項(xiàng)目開發(fā)的高可靠性以及開發(fā)效率的保障,但是隨著框架技術(shù)的不斷發(fā)展,開發(fā)者要熟練的應(yīng)用框架技術(shù)進(jìn)行項(xiàng)目開發(fā)還需要進(jìn)行不斷的學(xué)習(xí)和實(shí)踐,這對于一些剛?cè)腴T的開發(fā)者是非常不利的,例如在利用SSH框架組合進(jìn)行開發(fā)時(shí),往往由于各種配置文件的問題導(dǎo)致項(xiàng)目開發(fā)過程難以協(xié)調(diào),使得入門級的開發(fā)人員工作難度急劇提高;除此之外,在進(jìn)行一些非常簡單的項(xiàng)目開發(fā)時(shí),過多的強(qiáng)調(diào)框架技術(shù)的應(yīng)用也是非常不可取,框架技術(shù)的引用容易造成項(xiàng)目復(fù)雜度的提升,不利于簡單項(xiàng)目的開發(fā)。因此,Javaweb項(xiàng)目開發(fā)時(shí),開發(fā)者應(yīng)合理的選擇框架技術(shù),根據(jù)項(xiàng)目的實(shí)際情況進(jìn)行有取舍的選擇,從而項(xiàng)目過程的有序性。

四、小結(jié)

本文主要介紹了Javaweb程序開發(fā)過程中常見的應(yīng)用框架技術(shù),并淺析了框架技術(shù)的不足之處,為開發(fā)者合理選擇、應(yīng)用框架技術(shù)提供參考。

參考文獻(xiàn):

[1]王循. Java Web快速開發(fā)框架中部分關(guān)鍵技術(shù)初步研究[D].吉林大學(xué),2015.

軟件開發(fā)技術(shù)范文第2篇

原型法

原型法是近年來提出的一種以計(jì)算機(jī)為基礎(chǔ)的系統(tǒng)開發(fā)方法,利用原型法開發(fā)系統(tǒng)時(shí)首先構(gòu)造一個(gè)功能簡單的原型系統(tǒng),然后通過對原型系統(tǒng)逐步求精,不斷擴(kuò)充完善得到最終的軟件系統(tǒng)。

原型就是模型,原型系統(tǒng)就是應(yīng)用系統(tǒng)的模型。它是待開發(fā)的實(shí)際系統(tǒng)的縮小比例模型,但是保留了實(shí)際系統(tǒng)的大部分性能。這個(gè)模型可在運(yùn)行中被檢查、測試、修改,直到它的性能達(dá)到用戶需求為止,隨之這個(gè)工作模型很快就能轉(zhuǎn)換成需要的目標(biāo)系統(tǒng)。

原型法的主要優(yōu)點(diǎn)在于它是一種支持用戶的方法,使得用戶在系統(tǒng)生存周期的設(shè)計(jì)階段起到積極的作用,能減少系統(tǒng)開發(fā)的風(fēng)險(xiǎn)。特別是在大型項(xiàng)目的開發(fā)中,由于用戶對系統(tǒng)功能認(rèn)識(shí)的模糊性,使得對項(xiàng)目需求的分析難以一次完成,往往會(huì)造成已完成的項(xiàng)目多次修改,應(yīng)用原型法則會(huì)避免這種風(fēng)險(xiǎn)。

原型法的概念既適用于系統(tǒng)的重新開發(fā),也適用于對系統(tǒng)的修改;利用原型法開發(fā)系統(tǒng)需要有良好的軟件開發(fā)環(huán)境、工具的支持。原型法也可以與傳統(tǒng)的生命周期方法相結(jié)合使用,以便擴(kuò)大用戶參與需求分析、初步設(shè)計(jì)及詳細(xì)設(shè)計(jì)等階段的活動(dòng),加深對系統(tǒng)的理解。

微軟公司通常采用“同步-穩(wěn)定產(chǎn)品開發(fā)法”進(jìn)行項(xiàng)目開發(fā)。典型項(xiàng)目的生命周期包括三個(gè)階段:

1. 計(jì)劃階段:完成項(xiàng)目的功能說明和進(jìn)度表的制定;

2. 開發(fā)階段:寫出完整的的源代碼;

3. 穩(wěn)定化階段:完成產(chǎn)品,使之能夠批量生產(chǎn)。

這三大階段以及階段間內(nèi)在的循環(huán)方法與傳統(tǒng)的“瀑布”式開發(fā)方式很不相同,后者是由需求、詳盡設(shè)計(jì)、模塊化的代碼設(shè)計(jì)與測試、集成測試以及系統(tǒng)測試組成的。而微軟的三個(gè)階段更像是風(fēng)險(xiǎn)驅(qū)動(dòng)的、漸進(jìn)的“螺旋”式的生命周期模型。

構(gòu)造原型是在計(jì)劃階段具體說明一件新產(chǎn)品或一個(gè)新版本的最好方法,這從許多方面來說特別是在系統(tǒng)可用性方面都使開發(fā)前測試成為可能,并且有助于對與用戶交互情況做出良好的理解,同時(shí)也能使產(chǎn)品說明更加緊湊。

微軟的開發(fā)人員通常采用VB構(gòu)造用戶界面原型,對于構(gòu)造計(jì)算機(jī)屏幕模型之類的工作,畫筆(Paintbrush)也是一個(gè)很好用的工具。通過原型法可以使死板的說明變成有生命的文件。

C/S與B/S結(jié)構(gòu)

管理信息系統(tǒng)平臺(tái)模式大體上分為四種:主機(jī)終端模式、文件服務(wù)器模式、C/S模式和B/S模式。主機(jī)終端模式由于硬件選擇有限,硬件投資得不到保證,已被逐步淘汰。而文件服務(wù)器模式只適用小規(guī)模的局域網(wǎng),對于用戶多、數(shù)據(jù)量大的情況就會(huì)產(chǎn)生網(wǎng)絡(luò)瓶頸,特別是在互聯(lián)網(wǎng)上不能滿足用戶要求。因此,現(xiàn)代企業(yè)管理信息系統(tǒng)平臺(tái)模式應(yīng)主要考慮C/S模式和B/S模式。

C/S結(jié)構(gòu)

兩層結(jié)構(gòu)的C/S(Client/ Server)模式在上個(gè)世紀(jì)八九十年代得到大量的應(yīng)用。C/S結(jié)構(gòu)由兩部分構(gòu)成:前端是客戶機(jī),通常是PC;后端是服務(wù)器,運(yùn)行數(shù)據(jù)庫管理系統(tǒng),提供數(shù)據(jù)庫的查詢和管理。

但兩層的C/S結(jié)構(gòu)存在以下幾個(gè)局限:它是單一服務(wù)器且以局域網(wǎng)為中心的,所以難以擴(kuò)展至大型企業(yè)廣域網(wǎng)或Internet;受限于供應(yīng)商;軟、硬件的組合及集成能力有限;難以管理大量的客戶機(jī)。

因此,三層C/S結(jié)構(gòu)應(yīng)運(yùn)而生。三層結(jié)構(gòu)的C/S模式是伴隨著中間件技術(shù)的成熟而興起的,核心思想是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲(chǔ)層三個(gè)不同的處理層次。三個(gè)層次的劃分是從邏輯上來分的,具體的物理分法可以有多種形式。

三層C/S結(jié)構(gòu)具有以下優(yōu)點(diǎn):具有靈活的硬件系統(tǒng)構(gòu)成;提高程序的可維護(hù)性;利于變更和維護(hù)應(yīng)用技術(shù)規(guī)范;進(jìn)行嚴(yán)密的安全管理;越關(guān)鍵的應(yīng)用,用戶的識(shí)別和存取權(quán)限設(shè)定愈重要。

B/S結(jié)構(gòu)

基于Web的B/S(Browser/ Server)方式其實(shí)也是一種客戶機(jī)/服務(wù)器模式,只不過它的客戶端是瀏覽器。

B/S結(jié)構(gòu)中處于第一層的是客戶端,處于第二層的是應(yīng)用服務(wù)器,由一臺(tái)或者多臺(tái)服務(wù)器組成,該層具有良好的可擴(kuò)充性,可以隨著應(yīng)用的需要增加服務(wù)器的數(shù)目。處于第三層的是數(shù)據(jù)層,由數(shù)據(jù)庫系統(tǒng)和遺留系統(tǒng)組成。

B/S的優(yōu)勢在于:簡化了客戶端;簡化了系統(tǒng)的開發(fā)和維護(hù);用戶操作變得更簡單;適用于網(wǎng)上信息。

軟件構(gòu)件技術(shù)

所謂軟件構(gòu)件化,就是要讓軟件開發(fā)像機(jī)械制造工業(yè)一樣,可以用各種標(biāo)準(zhǔn)和非標(biāo)準(zhǔn)的零件來進(jìn)行組裝。軟件的構(gòu)件化和集成技術(shù)的目標(biāo)是:軟件系統(tǒng)可以由不同廠商提供的,用不同語言開發(fā)的,在不同硬件平臺(tái)上實(shí)現(xiàn)的軟件構(gòu)件,方便地、動(dòng)態(tài)地集成。這些構(gòu)件要求能互操作,它們可以放在本地的計(jì)算機(jī)上,也可以分布式地放置在網(wǎng)上異構(gòu)環(huán)境下的不同結(jié)點(diǎn)上。

面向?qū)ο蟮姆椒ê图夹g(shù)是繼結(jié)構(gòu)化方法之后出現(xiàn)的、最有代表性的軟件開發(fā)方法,是當(dāng)今軟件開發(fā)的主流技術(shù)。但是,面向?qū)ο笏峁┑膬?yōu)點(diǎn)主要是針對分析、設(shè)計(jì)和源代碼等軟件開發(fā)階段的,當(dāng)一個(gè)面向?qū)ο蟮拇a經(jīng)過編譯、連接后得到的可執(zhí)行軟件則是不可改變的、無法重用的。

因此,我們需要一種新的、不依賴于某種特定語言的、在二進(jìn)制代碼級可復(fù)用的軟件“對象”,這種“對象”就是構(gòu)件(Component)。

構(gòu)件技術(shù)是一種軟件實(shí)現(xiàn)的技術(shù)和方法,是對面向?qū)ο蠓椒ㄔ诙M(jìn)制代碼級的完善和補(bǔ)充。構(gòu)件是由接口構(gòu)成的,它把接口和接口的實(shí)現(xiàn)分離開了。接口是獨(dú)立于語言的一種描述,它將內(nèi)部的實(shí)現(xiàn)以及接口到實(shí)現(xiàn)的映射都封裝起來了,外界只能通過接口描述使用構(gòu)件。因此,接口用哪種語言實(shí)現(xiàn)也就無關(guān)緊要了。

在現(xiàn)有的軟件市場上,有三種代表性的構(gòu)件技術(shù)流派,它們分別是COM(Component Object Model,對象構(gòu)件模型)、JavaBean和CORBA(the Common Object Request Broker Architecture,公共對象請求體系結(jié)構(gòu))。它們是由不同的機(jī)構(gòu)提出的構(gòu)件技術(shù)實(shí)現(xiàn)模型和標(biāo)準(zhǔn),各有優(yōu)缺點(diǎn)。

COM

COM是由Microsoft公司推出的構(gòu)件接口標(biāo)準(zhǔn),是軟件構(gòu)件相互通信的一種方式,它是一種二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn),允許任意兩個(gè)組件互相通信。目前已有大量的基于COM的構(gòu)件可供復(fù)用,原則上講,這些構(gòu)件可以建立在任何環(huán)境下,但現(xiàn)有的COM構(gòu)件大多都依賴于Microsoft環(huán)境,在Unix、Macintosh等其他操作系統(tǒng)環(huán)境下可復(fù)用的構(gòu)件還很少,Microsoft公司正在努力開發(fā)更多的在其他操作系統(tǒng)環(huán)境下的COM構(gòu)件。

傳統(tǒng)的應(yīng)用程序在源代碼級可被分割為文件、模塊、類或函數(shù)等,以便于實(shí)施、修改和維護(hù),但經(jīng)編譯、鏈接以后就生成了不可改變的二進(jìn)制可執(zhí)行代碼,采用COM技術(shù)產(chǎn)生的源代碼則不同。

一個(gè)COM構(gòu)件是由若干個(gè)接口組成的,而一個(gè)接口則是由若干個(gè)函數(shù)的說明組成的。COM是一個(gè)二進(jìn)制標(biāo)準(zhǔn),即接口編譯以后生成的二進(jìn)制代碼的結(jié)構(gòu)要滿足一定的內(nèi)存塊結(jié)構(gòu)。該內(nèi)存塊結(jié)構(gòu)是不依賴于任何語言的。圖1表示一個(gè)擁有Fun1和Fun2函數(shù)的IX接口的內(nèi)存塊結(jié)構(gòu)。

其中,pIX是指向IX接口的指針,通過vtbl指針(接口指針)指向接口中函數(shù)的指針數(shù)組(稱為v表),v表中的元素是指向接口中函數(shù)實(shí)現(xiàn)的指針。后面我們將會(huì)看到函數(shù)指針在用-存根機(jī)制實(shí)現(xiàn)進(jìn)程間、計(jì)算機(jī)間的接口調(diào)用時(shí)指向相應(yīng)的。

任何語言的語法成分,只要其編譯后的目標(biāo)代碼在結(jié)構(gòu)滿足圖1的二進(jìn)制形式結(jié)構(gòu),就稱其為該構(gòu)件接口的一個(gè)實(shí)現(xiàn)。通常情況下,大多數(shù)程序設(shè)計(jì)語言和其COM支持工具都能將相應(yīng)的語法自動(dòng)地映射為這樣的結(jié)構(gòu),無需程序員做更多的工作。

COM是一個(gè)二進(jìn)制標(biāo)準(zhǔn)。由于任何語言都要翻譯成二進(jìn)制機(jī)器代碼才能最后執(zhí)行,所以COM可以作為各種高級語言的中間橋梁,使它們可以互操作;按COM標(biāo)準(zhǔn)實(shí)現(xiàn)的軟件也可以被所有的語言環(huán)境所共享。共享人類開發(fā)的、豐富的軟件資源是提出的COM的最初動(dòng)機(jī)。

JavaBean

目前的COM技術(shù)主要是針對PC市場的不依賴于語言的軟件構(gòu)件技術(shù),而JavaBean則是針對解決平臺(tái)依賴性和語言依賴性這兩個(gè)問題而提出來的軟件構(gòu)件技術(shù)標(biāo)準(zhǔn)。

關(guān)于平臺(tái)依賴性問題是其他構(gòu)件標(biāo)準(zhǔn)普遍存在的問題。盡管其他構(gòu)件標(biāo)準(zhǔn)的接口是惟一的,即使用構(gòu)件的方式是惟一的,但一個(gè)構(gòu)件一旦在某種運(yùn)行環(huán)境下實(shí)現(xiàn)就很難直接在另一種運(yùn)行環(huán)境被復(fù)用。而這種平臺(tái)依賴性問題對進(jìn)一步提高軟件復(fù)用力度卻是至關(guān)重要的。

由于Java本身在全球軟件界的影響,特別是Java獨(dú)立于平臺(tái)的、適宜于在Internet、易于構(gòu)造B/S應(yīng)用等等特點(diǎn),Javasoft公司利用Java特殊的byteCode機(jī)制,很好地解決了其他構(gòu)件標(biāo)準(zhǔn)難以解決的平臺(tái)依賴性問題,推出了它們自己的構(gòu)件接口標(biāo)準(zhǔn)JavaBean。正像JavaSoft所描述的JavaBean是“一次性編寫,在任意地方可運(yùn)行,在任意地方可重用”。

JavaBean的構(gòu)件模型主要包括:構(gòu)件和容器。模型的其他部分還包括事件處理、持續(xù)性、布局以及應(yīng)用程序建立器(一種可視化的工具)等,這些都是通過JavaBean構(gòu)件的標(biāo)準(zhǔn)接口實(shí)現(xiàn)的。

JavaBean構(gòu)件有時(shí)也稱為JavaBean或Bean。它是由接口構(gòu)成的,接口是由方法組成的。容器能夠使構(gòu)件組合在一起并相互作用。這種機(jī)制主要是為了界面構(gòu)件提出的,它本身也是一個(gè)構(gòu)件,以便嵌套組合產(chǎn)生復(fù)雜的可視化GUI。JavaBean的主要特征為:

1. 屬性管理

根據(jù)屬性的使用類型可將其分為:一般屬性、索引屬性、依附屬性和約束屬性,通過一些標(biāo)準(zhǔn)的命名約定定義它們相應(yīng)的訪問方法,使JavaBean API能用統(tǒng)一的方式對屬性進(jìn)行管理。其中,依附屬性是基于自身值的變化而向感興趣的部分提供通知的屬性。約束屬性是一種在接收更改之前能使感興趣的部分對新屬性值執(zhí)行有效檢查的屬性。

2. 內(nèi)省功能

內(nèi)省功能是構(gòu)件的內(nèi)部結(jié)構(gòu)(屬性、方法和事件)展現(xiàn)給外部的機(jī)制。不同于COM,JavaBean不需要構(gòu)件開發(fā)者開發(fā)這種額外的工作,它只需要開發(fā)者對構(gòu)件的屬性、方法和事件的命名和類型符號遵守一個(gè)約定,通過標(biāo)準(zhǔn)的JavaBean API就可了解到bean的任何內(nèi)部信息。

JavaBean的事件處理模型是基于現(xiàn)存的AWT事件處理模型的。它決定bean如何對它自身狀態(tài)的變化做出反應(yīng),以及決定如何將這些變化傳遞給應(yīng)用程序和其他bean。通過JavaBean API將一個(gè)事件接收器(處理某個(gè)事件的應(yīng)用程序或其他bean)注冊到該事件上,完成外部對事件的控制。這是將bean組合起來的有效方法。

Java與JavaBean的區(qū)別是:Java是在源代碼級的復(fù)用;而JavaBean是在目標(biāo)代碼級的復(fù)用,并且,通過JavaBean提供的標(biāo)準(zhǔn)接口,為在目標(biāo)代碼級的動(dòng)態(tài)組裝、版本升級、維護(hù)提供保證,并可利用一些相應(yīng)的可視化工具方便、有效地定制JavaBean和建立應(yīng)用程序。

盡管JavaBean是作為一種通用的構(gòu)件模型提出來的,但它更主要地還是為解決可視化構(gòu)件而設(shè)計(jì)的一套系統(tǒng),它類似于Microsoft的ActiveX。嚴(yán)格地講,目前的JavaBean在不同語言之間提供的互操作性方面是很弱的,它只是提供了在Java環(huán)境下的二進(jìn)制代碼共享機(jī)制。增強(qiáng)JavaBean與其他構(gòu)件技術(shù)之間的互操作是JavaBean今后發(fā)展的一個(gè)主要課題。

CORBA

CORBA是由OMG(對象管理組)1990年首次為了解決分布式、異質(zhì)的軟件和硬件環(huán)境下對象之間的互操作問題而提出的、基于中間件的構(gòu)件技術(shù)。CORBA有兩個(gè)重要的特點(diǎn):面向?qū)ο蠹夹g(shù)與分布式計(jì)算的結(jié)合;機(jī)制的中間件技術(shù)。

1. 面向?qū)ο笈c分布式技術(shù)的結(jié)合

CORBA是為了解決分布式問題而提出的分布式對象計(jì)算模型。利用計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行分布式計(jì)算可以共享資源、平衡大型計(jì)算的負(fù)載等。但是,傳統(tǒng)的分布式計(jì)算模型還不夠成熟:客戶/服務(wù)關(guān)系不靈活、遠(yuǎn)程服務(wù)層次太低、用戶使用不透明。面向?qū)ο笾械膶ο笫且粋€(gè)相對獨(dú)立的軟件實(shí)體,它有自己的內(nèi)部狀態(tài)和清晰的對外接口。但傳統(tǒng)的面向?qū)ο竽P偷膶?shí)現(xiàn),只能在單計(jì)算機(jī)上進(jìn)行。CORBA將這兩者有機(jī)地結(jié)合起來了。在CORBA中,對象是分布式計(jì)算模型中理想的節(jié)點(diǎn)描述模塊,對象既可以是“客戶”,也可以是“服務(wù)器”,它可自由地分布于計(jì)算機(jī)網(wǎng)絡(luò)上。通過CORBA,對象可網(wǎng)絡(luò)透明地相互訪問,CORBA屏蔽了位置信息和計(jì)算機(jī)的軟硬件環(huán)境,因此,CORBA建立了一個(gè)統(tǒng)一的分布式軟件開發(fā)平臺(tái)。

2. 機(jī)制的中間件――對象請求中介(Object Request Broker,簡稱ORB)

作為一種構(gòu)件技術(shù),CORBA要解決的另一個(gè)重要問題是二進(jìn)制代碼之間的互操作問題。

不同于COM/DCOM技術(shù),CORBA提供了一種中間的機(jī)制,將構(gòu)件的接口與構(gòu)件的實(shí)現(xiàn)分離開了。服務(wù)對象實(shí)現(xiàn)后,就將其接口登記在CORBA的中,客戶對象按照中的接口描述訪問服務(wù)對象,而不關(guān)心服務(wù)對象使用什么語言、在什么地方、在什么軟硬件環(huán)境下實(shí)現(xiàn)的。這些工作都由自動(dòng)地、透明地為客戶對象完成。這種機(jī)制還可提供客戶與服務(wù)器之間動(dòng)態(tài)匹配、一個(gè)服務(wù)器為多個(gè)客戶服務(wù)等功能。

ORB提供的機(jī)制是良好的,也提供了足以使客戶和服務(wù)器通信的服務(wù),但這些服務(wù)是很低級的。用戶要熟練地掌握它們不是一件容易的事情,而且這些繁鎖的過程經(jīng)常重復(fù)。因此,CORBA對經(jīng)常使用的服務(wù)封裝內(nèi)部的細(xì)節(jié),提供簡化用戶使用的、方便的、標(biāo)準(zhǔn)的對象服務(wù)。對象服務(wù)是CORBA非常重要的一部分,是對ORB功能的擴(kuò)充和補(bǔ)充。CORBA提供的15種服務(wù)可分為三大類:分布式系統(tǒng)相關(guān)的服務(wù),如命名服務(wù)、事件服務(wù)、安全和交易器服務(wù);數(shù)據(jù)庫相關(guān)的服務(wù),如事務(wù)處理、屬性、集合、關(guān)系、查詢、持久性、外表化、并發(fā)等服務(wù);一般服務(wù),如生命期、計(jì)時(shí)、特許等服務(wù)。大多數(shù)應(yīng)用都是在這些服務(wù)的基礎(chǔ)上建立的。

公共設(shè)施是CORBA提供的另一種比對象服務(wù)更高一層的框架服務(wù)。它是特定應(yīng)用領(lǐng)域的框架復(fù)用,如復(fù)合文檔構(gòu)件設(shè)施等。CORBA的公共設(shè)施還很少,還有大量的設(shè)施需要集成,如圖形系統(tǒng)、移動(dòng)等。

CORBA沒有定義二進(jìn)制代碼的標(biāo)準(zhǔn),而是在高層定義了一個(gè)標(biāo)準(zhǔn)的接口描述語言IDL,并通過擴(kuò)展機(jī)制提供各種語言到IDL之間的映射,以IDL為中間的橋梁,達(dá)到各種語言之間的互操作。

三種構(gòu)件模型的特點(diǎn)

COM是一種二進(jìn)制標(biāo)準(zhǔn)的構(gòu)件技術(shù),它實(shí)現(xiàn)簡單、實(shí)用,但要完成真正意義的、獨(dú)立于硬件和操作系統(tǒng)的二進(jìn)制標(biāo)準(zhǔn),還有大量的工作要做。目前,COM還只是Microsoft環(huán)境下的二進(jìn)制標(biāo)準(zhǔn)。

CORBA是一種以IDL為橋梁、基于ORB的中間件的構(gòu)件技術(shù)。它是以IDL為標(biāo)準(zhǔn)的,與實(shí)現(xiàn)構(gòu)件接口的語言、軟件平臺(tái)和硬件平臺(tái)無關(guān)。但它卻無法支持Internet上大量的移動(dòng)計(jì)算的需求,一個(gè)構(gòu)件的實(shí)現(xiàn)是與軟硬件平臺(tái)相關(guān)的,即一個(gè)構(gòu)件的實(shí)現(xiàn)是不能在網(wǎng)上移動(dòng)的。

JavaBean是一種能提供在網(wǎng)上移動(dòng)的構(gòu)件技術(shù),它通過bytecode技術(shù),提供在“任何地方運(yùn)行,任何地方重用”的功能,但它卻是與語言相關(guān)的。

從軟件體系結(jié)構(gòu)的角度看,構(gòu)件技術(shù)中的構(gòu)件只是提供一個(gè)軟件模塊的實(shí)現(xiàn),作為一個(gè)軟件系統(tǒng),它還需要連接子(connector)將軟件模塊組織成一個(gè)整體。有各種各樣組織軟件模塊的形式:管道和過濾器、層次、基于事件的隱式調(diào)用等等。管道和過濾器模型最容易實(shí)現(xiàn)軟件模塊的集成,但只能處理簡單的、流式的應(yīng)用,沒有普遍性。層次模型可提供不同級別的抽象,但層與層之間存在著緊密的耦合,而且,這種模型也沒有普遍性?;谑录碾[式調(diào)用的方式是,構(gòu)件向系統(tǒng)發(fā)出請求,已經(jīng)向系統(tǒng)注冊響應(yīng)該事件的構(gòu)件就響應(yīng)該事件。這種模型將調(diào)用者和被調(diào)用者徹底地分開,這種軟件體系結(jié)構(gòu)模型具有很強(qiáng)的靈活性,也具有通用性。

構(gòu)件技術(shù)的初衷是為了能充分地利用在各種環(huán)境下,用各種程序設(shè)計(jì)語言開發(fā)的軟件模塊而提出的一種二進(jìn)制代碼級的軟件復(fù)用技術(shù)。通過接口這種不依賴于具體語言的中性機(jī)制,使各種語言之間可以互操作,也就是說一種語言可通過接口訪問另一種語言開發(fā)的軟件,而不需要移植工作,這大大地提高了軟件的復(fù)用程度。

軟件復(fù)用技術(shù)

軟件復(fù)用就是將已有的軟件成分用于構(gòu)造新的軟件系統(tǒng)??梢员粡?fù)用的軟件成分一般稱作可復(fù)用構(gòu)件,無論對可復(fù)用構(gòu)件原封不動(dòng)地使用還是作適當(dāng)?shù)男薷暮笤偈褂茫灰怯脕順?gòu)造新軟件,則都可稱作復(fù)用。軟件復(fù)用不僅僅是對程序的復(fù)用,它還包括對軟件生產(chǎn)過程中任何活動(dòng)所產(chǎn)生的制成品的復(fù)用。但如果是在一個(gè)系統(tǒng)中多次使用一個(gè)相同的軟件成分,則不稱作復(fù)用,而稱作共享;對一個(gè)軟件進(jìn)行修改,使它運(yùn)行于新的軟硬件平臺(tái)也不稱作復(fù)用,而稱作軟件移值。

軟件復(fù)用級別

未來最有可能產(chǎn)生顯著效益的復(fù)用是對軟件生命周期中一些主要開發(fā)階段的軟件制品的復(fù)用,按抽象程度的高低,可以劃分為如下的復(fù)用級別:

1.代碼的復(fù)用

包括目標(biāo)代碼和源代碼的復(fù)用。其中目標(biāo)代碼的復(fù)用級別最低,歷史也最久,當(dāng)前大部分編程語言的運(yùn)行支持系統(tǒng)都提供了連接(Link)、綁定(Binding)等功能來支持這種復(fù)用。源代碼的復(fù)用級別略高于目標(biāo)代碼的復(fù)用,程序員在編程時(shí)把一些想復(fù)用的代碼段復(fù)制到自己的程序中,但這樣往往會(huì)產(chǎn)生一些新舊代碼不匹配的錯(cuò)誤。想大規(guī)模實(shí)現(xiàn)源程序的復(fù)用只有依靠含有大量可復(fù)用構(gòu)件的構(gòu)件庫。如“對象鏈接及嵌入”(OLE)技術(shù),既支持在源程序級定義構(gòu)件并用以構(gòu)造新的系統(tǒng),又使這些構(gòu)件在目標(biāo)代碼的級別上仍然是一些獨(dú)立的可復(fù)用構(gòu)件,能夠在運(yùn)行時(shí)被靈活地重新組合為各種不同的應(yīng)用。

2.設(shè)計(jì)的復(fù)用

設(shè)計(jì)結(jié)果比源程序的抽象級別更高,因此它的復(fù)用受實(shí)現(xiàn)環(huán)境的影響較少,從而使可復(fù)用構(gòu)件被復(fù)用的機(jī)會(huì)更多,并且所需的修改更少。這種復(fù)用有三種途徑:第一種途徑是從現(xiàn)有系統(tǒng)的設(shè)計(jì)結(jié)果中提取一些可復(fù)用的設(shè)計(jì)構(gòu)件,并把這些構(gòu)件應(yīng)用于新系統(tǒng)的設(shè)計(jì);第二種途徑是把一個(gè)現(xiàn)有系統(tǒng)的全部設(shè)計(jì)文檔在新的軟硬件平臺(tái)上重新實(shí)現(xiàn),也就是把一個(gè)設(shè)計(jì)運(yùn)用于多個(gè)具體的實(shí)現(xiàn);第三種途徑是獨(dú)立于任何具體的應(yīng)用,有計(jì)劃地開發(fā)一些可復(fù)用的設(shè)計(jì)構(gòu)件。

3.分析的復(fù)用

這是比設(shè)計(jì)結(jié)果更高級別的復(fù)用,可復(fù)用的分析構(gòu)件是針對問題域的某些事物或某些問題的抽象程度更高的解法,受設(shè)計(jì)技術(shù)及實(shí)現(xiàn)條件的影響很少,所以可復(fù)用的機(jī)會(huì)更大。復(fù)用的途徑也有三種,即從現(xiàn)有系統(tǒng)的分析結(jié)果中提取可復(fù)用構(gòu)件用于新系統(tǒng)的分析;用一份完整的分析文檔作輸入產(chǎn)生針對不同軟硬件平臺(tái)和其他實(shí)現(xiàn)條件的多項(xiàng)設(shè)計(jì);獨(dú)立于具體應(yīng)用,專門開發(fā)一些可復(fù)用的分析構(gòu)件。

4.測試信息的復(fù)用

主要包括測試用例的復(fù)用和測試過程信息的復(fù)用。前者是把一個(gè)軟件的測試用例在新的軟件測試中使用,或者在軟件作出修改時(shí)在新的一輪測試中使用。后者是在測試過程中通過軟件工具自動(dòng)地記錄測試的過程信息,包括測試員的每一個(gè)操作、輸入?yún)?shù)、測試用例及運(yùn)行環(huán)境等一切信息。這種復(fù)用的級別不便和分析、設(shè)計(jì)、編程的復(fù)用級別作準(zhǔn)確的比較,因?yàn)楸粡?fù)用的不是同一事物的不同抽象層次,而是另一種信息,但從這些信息的形態(tài)看,大體處于與程序代碼相當(dāng)?shù)募墑e。

由于軟件生產(chǎn)過程主要是正向過程,即大部分軟件的生產(chǎn)過程是使軟件產(chǎn)品從抽象級別較高的形態(tài)向抽象級別較低的形態(tài)演化,所以較高級別的復(fù)用容易帶動(dòng)較低級別的復(fù)用,因而復(fù)用的級別越高,可得到的回報(bào)也越大,因此分析結(jié)果和設(shè)計(jì)結(jié)果在目前很受重視。用戶可購買生產(chǎn)商的分析件和設(shè)計(jì)件,自己設(shè)計(jì)或編程,掌握系統(tǒng)的剪裁、擴(kuò)充、維護(hù)、演化等活動(dòng)。

軟件復(fù)用的困難

軟件復(fù)用各方面的困難,無論是技術(shù)問題還是非技術(shù)問題,都影響著軟件復(fù)用的廣泛實(shí)行。

首先構(gòu)件與應(yīng)用系統(tǒng)之間的存在差異。一些開發(fā)者開發(fā)的構(gòu)件,要做到在被另一些人開發(fā)的系統(tǒng)中使用時(shí)正好合適,從內(nèi)容到對外接口都恰好相符,或者作很少的修改,這不是一件簡單的事。

其次構(gòu)件要達(dá)到一定的數(shù)量,才能支持有效的復(fù)用,而大量構(gòu)件的獲得需要有很高的投入和長期的積累;當(dāng)構(gòu)件達(dá)到較大的數(shù)量時(shí),使用者要從中找到一個(gè)自己想要的構(gòu)件,并斷定它確實(shí)是自己需要的,也不是一件輕而易舉的事;基于復(fù)用的軟件開發(fā)方法和軟件過程是一個(gè)新的研究實(shí)踐領(lǐng)域,需要一些新的理論、技術(shù)及支持環(huán)境,目前這方面的研究成果和實(shí)踐經(jīng)驗(yàn)都不夠充分。

最后,人的因素、管理因素、教育因素、法律因素等等都使軟件的復(fù)用更為困難。

面向?qū)ο蠓椒▽浖?fù)用的支持

支持軟件復(fù)用是人們對面向?qū)ο蠓椒耐械闹饕M?,也是這種方法受到廣泛重視的主要原因之一。面向?qū)ο蠓椒ㄖ蕴貏e有利于軟件復(fù)用,是由于它的主要概念及原則與軟件復(fù)用的要求十分吻合。

面向?qū)ο蠓椒◤拿嫦驅(qū)ο蟮木幊贪l(fā)展到面向?qū)ο蟮姆治雠c設(shè)計(jì),使這種方法支持軟件復(fù)用的固有特征能夠從軟件生命周期的前期階段開始發(fā)揮作用,從而使面向?qū)ο蠓椒▽浖?fù)用的支持達(dá)到了較高的級別。與其他軟件工程方法相比,面向?qū)ο蠓椒ǖ囊粋€(gè)重要優(yōu)點(diǎn)是,它可以在整個(gè)軟件生命周期達(dá)到概念、原則、術(shù)語及表示法的高度一致。這種一致性使得各個(gè)系統(tǒng)成分盡管在不同的開發(fā)與演化階段有不同的形態(tài),但可具有貫穿整個(gè)軟件生命周期的良好映射。這一優(yōu)點(diǎn)使面向?qū)ο蠓椒ú坏茉诟鱾€(gè)級別支持軟件復(fù)用,而且能對各個(gè)級別的復(fù)用形成統(tǒng)一的、高效的支持,達(dá)到良好的全局效果。做到這一點(diǎn)的必要條件是,從面向?qū)ο筌浖_發(fā)的前期階段――面向?qū)ο蠓治鼍桶阎С周浖?fù)用作為一個(gè)重點(diǎn)問題來考慮。運(yùn)用面向?qū)ο蠓治龇椒ㄋx的對象類具有適合作為可復(fù)用構(gòu)件的許多特征,面向?qū)ο蠓治鼋Y(jié)果對問題域的良好映射,使同類系統(tǒng)的開發(fā)者容易從問題出發(fā),在已有的面向?qū)ο蠓治鼋Y(jié)果中發(fā)現(xiàn)不同粒度的可復(fù)用構(gòu)件。

復(fù)用技術(shù)對面向?qū)ο蠓椒ǖ闹С?/p>

面向?qū)ο蟮能浖_發(fā)和軟件復(fù)用之間的關(guān)系是相輔相成的。一方面,面向?qū)ο蠓椒ǖ幕靖拍睢⒃瓌t與技術(shù)提供了實(shí)現(xiàn)軟件復(fù)用的有利條件;另一方面,軟件復(fù)用技術(shù)也對面向?qū)ο蟮能浖_發(fā)提供了有力的支持。

1.類庫

在面向?qū)ο蟮能浖_發(fā)中,類庫是實(shí)現(xiàn)對象類復(fù)用的基本條件。人們己經(jīng)開發(fā)了許多基于各種OOPL的編程類庫,有力地支持了源程序級的軟件復(fù)用,但要在更高的級別上實(shí)現(xiàn)軟件復(fù)用,僅有編程類庫是不夠的。實(shí)現(xiàn)面向?qū)ο蠓治鼋Y(jié)果和面向?qū)ο笤O(shè)計(jì)結(jié)果的復(fù)用,必須有分析類庫和設(shè)計(jì)類庫的支持。為了更好地支持多個(gè)級別的軟件復(fù)用,可以在面向?qū)ο蠓治鲱悗?、面向?qū)ο笤O(shè)計(jì)類庫和面向?qū)ο缶幊填悗熘g建立各個(gè)類在不同開發(fā)階段的對應(yīng)與演化關(guān)系。即建立一種線索,表明每個(gè)面向?qū)ο蠓治龅念悓?yīng)著哪個(gè)(或哪些)面向?qū)ο笤O(shè)計(jì)類,以及每個(gè)面向?qū)ο笤O(shè)計(jì)類對應(yīng)著各種面向?qū)ο缶幊陶Z言類庫中的哪個(gè)面向?qū)ο缶幊填悺?/p>

2.構(gòu)件庫

類庫可以看作一種特殊的可復(fù)用構(gòu)件庫,它為在面向?qū)ο蟮能浖_發(fā)中實(shí)現(xiàn)軟件復(fù)用提供了一種基本的支持。但類庫只能存儲(chǔ)和管理以類為單位的可復(fù)用構(gòu)件,不能保存其他形式的構(gòu)件;但是它可以更多地保持類構(gòu)件之間的結(jié)構(gòu)與連接關(guān)系。構(gòu)件庫中的可復(fù)用構(gòu)件,既可以是類,也可以是其他系統(tǒng)單位;其組織方式,可以不考慮對象類特有的各種關(guān)系,只按一般的構(gòu)件描述、分類及檢索方法進(jìn)行組織。在面向?qū)ο蟮能浖_發(fā)中,可以提煉比對象類粒度更大的可復(fù)用構(gòu)件,例如把某些結(jié)構(gòu)或某些主題作為可復(fù)用構(gòu)件;也可以提煉其他形式的構(gòu)件,例如use case 或交互圖。這些構(gòu)件庫中,構(gòu)件的形式及內(nèi)容比類庫更豐富,可為面向?qū)ο蟮能浖_發(fā)擔(dān)供更強(qiáng)的支持。

軟件開發(fā)技術(shù)范文第3篇

關(guān)鍵詞:計(jì)算機(jī)軟件開發(fā)技術(shù);重要應(yīng)用;未來展望;發(fā)展現(xiàn)狀

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,計(jì)算機(jī)軟件開發(fā)也要與時(shí)俱進(jìn),尤其是隨著社會(huì)各項(xiàng)技術(shù)的不斷發(fā)展,要求計(jì)算機(jī)軟件開發(fā)技術(shù)也應(yīng)該不斷更新,才能夠滿足社會(huì)的發(fā)展,實(shí)現(xiàn)IT行業(yè)的興起和繁榮。進(jìn)行計(jì)算機(jī)軟件開發(fā)不僅具有十分重要的意義,另外也能夠真正的實(shí)現(xiàn)對社會(huì)經(jīng)濟(jì)科技的推動(dòng)作用,因此未來發(fā)展也存在著一定的空間。

一、計(jì)算機(jī)軟件開發(fā)技術(shù)的現(xiàn)狀及重要作用分析

首先,計(jì)算機(jī)軟件開發(fā)技術(shù)的發(fā)展現(xiàn)狀。隨著我國進(jìn)入了信息時(shí)代,計(jì)算機(jī)軟件開發(fā)技術(shù)已經(jīng)逐漸融入了人們的生活、工作和學(xué)習(xí)等各個(gè)方面,不僅改變了人們的生活方式,也能夠給人們的生活帶來很多的便利??傊?jì)算機(jī)軟件開發(fā)技術(shù)是計(jì)算機(jī)技術(shù)的重要組成部分,能夠支撐計(jì)算機(jī)行業(yè)的新發(fā)展。其次,計(jì)算機(jī)軟件開發(fā)技術(shù)應(yīng)用的重要作用分析。通過進(jìn)行計(jì)算機(jī)軟件開發(fā)技術(shù),不僅能夠推動(dòng)計(jì)算機(jī)行業(yè)的發(fā)展,也能夠真正的推進(jìn)信息化的改革,為我國時(shí)代的發(fā)展注入新的動(dòng)力。計(jì)算機(jī)軟件開發(fā)技術(shù)是計(jì)算機(jī)軟件工程的核心工程,能夠使得我國計(jì)算機(jī)網(wǎng)絡(luò)發(fā)展到一個(gè)新的高度,隨著軟件開發(fā)技術(shù)的不斷成熟和快速發(fā)展也存在著一定的問題,也面臨著前所未有的挑戰(zhàn),只有深入研究,才能在挑戰(zhàn)和機(jī)遇面前不斷前進(jìn)。

二、計(jì)算機(jī)軟件開發(fā)技術(shù)的應(yīng)用分析

當(dāng)下計(jì)算機(jī)軟件開發(fā)技術(shù)主要涉及到以下三方面的應(yīng)用:第一,C語言技術(shù)。C語言作為計(jì)算機(jī)軟件開發(fā)技術(shù)的基礎(chǔ)技術(shù),起步相對較早,而且應(yīng)用相對比較廣泛,當(dāng)下C語言技術(shù)已經(jīng)越來越成熟,可以應(yīng)用在多種操作系統(tǒng)當(dāng)中。C語言的運(yùn)算符包括的范圍非常的大,不僅包括括號以及其他類型的運(yùn)算處理,而且也能夠具有較強(qiáng)的一致性,可以在不同的程序上進(jìn)行C編程。第二,Java技術(shù)。Java技術(shù)的應(yīng)用也非常的廣泛,可以在跨平臺(tái)應(yīng)用軟件中進(jìn)行開發(fā)和使用,該項(xiàng)技術(shù)的特點(diǎn)是安全性比較強(qiáng),而且具有很高的通用性。很多的計(jì)算機(jī)應(yīng)用軟件都能夠通過Java技術(shù)來進(jìn)行開發(fā)。Java技術(shù)不僅繼承了C語言的核心技術(shù),另外也能夠改進(jìn)C語言編程中存在的一些錯(cuò)誤,進(jìn)一步增加了垃圾回收器功能,從而減少了程序員為內(nèi)存管理存在的困擾,同時(shí)Java的源代碼編譯可以在任何無格式的純文本編輯器中進(jìn)行操作,所以編輯起來比較的方便快捷,而且也已經(jīng)發(fā)展成為一種主流的技術(shù)。第三,VB技術(shù)。VB技術(shù)也是由微軟公司推出的一種軟件編程語言,當(dāng)下已經(jīng)成為世界上使用最多的一種軟件開發(fā)語言。VB不僅打破了傳統(tǒng)的編程界面,而且可以實(shí)現(xiàn)圖形可視化的操作界面,可以實(shí)現(xiàn)對各種企業(yè)軟件的快速開發(fā),比如,優(yōu)化大師等相關(guān)軟件。

三、計(jì)算機(jī)軟件開發(fā)技術(shù)的未來展望分析

隨著我國計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,計(jì)算機(jī)軟件開發(fā)技術(shù)也在不斷的進(jìn)步,其發(fā)展也呈現(xiàn)出了一定的趨勢,主要表現(xiàn)在以下兩個(gè)方面:第一,網(wǎng)絡(luò)化和智能化并存。隨著進(jìn)入信息時(shí)代,互聯(lián)網(wǎng)日益普及,計(jì)算機(jī)軟件開發(fā)技術(shù)也逐漸向網(wǎng)絡(luò)化和智能化的方向發(fā)展,不僅能夠滿足人們之間的相互交流,而且也能夠共享各種社會(huì)信息和推動(dòng)網(wǎng)絡(luò)社會(huì)的進(jìn)步和發(fā)展,結(jié)合當(dāng)下網(wǎng)絡(luò)發(fā)展的趨勢,計(jì)算機(jī)軟件開發(fā)技術(shù)也應(yīng)該為人們提供更加智能、快捷、優(yōu)質(zhì)的信息服務(wù),推進(jìn)計(jì)算機(jī)軟件開發(fā)技術(shù)向智能化方向發(fā)展也已經(jīng)成為一種不可逆轉(zhuǎn)的趨勢。所以經(jīng)濟(jì)軟件開發(fā)技術(shù)應(yīng)該逐漸向智能化方向推進(jìn),才能夠滿足計(jì)算機(jī)時(shí)代的發(fā)展需求,另外也能夠在發(fā)展的過程當(dāng)中把握好主方向,尋求新的發(fā)展空間獲得更多的受眾,實(shí)現(xiàn)最大的經(jīng)濟(jì)效益和社會(huì)效益。第二,逐漸向開放性和融合性方向發(fā)展。隨著我國進(jìn)入網(wǎng)絡(luò)信息時(shí)代,計(jì)算機(jī)軟件開發(fā)技術(shù)應(yīng)該逐漸向開放化方向發(fā)展,另外其軟件源代碼以及軟件產(chǎn)品的設(shè)計(jì)都應(yīng)該逐漸公開,并且采取標(biāo)準(zhǔn)化的設(shè)計(jì)方式,才能夠?qū)崿F(xiàn)互通、互享、互用。另外計(jì)算機(jī)軟件開發(fā)時(shí)也應(yīng)該注重向融合性的方向發(fā)展,比如可以將計(jì)算機(jī)軟件開發(fā)技術(shù)與電氣化自動(dòng)化以及機(jī)械化技術(shù)相融合,才能夠真正的提高計(jì)算機(jī)軟件開發(fā)產(chǎn)業(yè)的整體水平,不僅能夠占據(jù)更大的市場份額,也能夠造福于廣大的用戶,所以隨著計(jì)算機(jī)網(wǎng)絡(luò)的不斷發(fā)展,計(jì)算機(jī)軟件開發(fā)也應(yīng)該向融合性方向發(fā)展,能夠滿足人們的日常生活所需,也能夠結(jié)合客戶的需求提供各種綜合性的服務(wù),才能夠真正的滿足時(shí)展,另外也使得自身獲得長遠(yuǎn)的發(fā)展。

軟件開發(fā)技術(shù)范文第4篇

計(jì)算機(jī)技術(shù)在不斷提高,計(jì)算機(jī)技術(shù)的應(yīng)用也越來越廣泛,計(jì)算機(jī)軟件開發(fā)技術(shù)日益提升。本文主要圍繞計(jì)算機(jī)軟件開發(fā)技術(shù)應(yīng)用展開探討,以期通過計(jì)算機(jī)軟件開發(fā)技術(shù),設(shè)計(jì)出拓展性強(qiáng),可靠性較高,品質(zhì)水準(zhǔn)高的計(jì)算機(jī)軟件。

關(guān)鍵字:

計(jì)算機(jī)軟件;開發(fā)技術(shù);應(yīng)用

計(jì)算機(jī)應(yīng)用需要計(jì)算機(jī)軟件為其提供一個(gè)優(yōu)秀的平臺(tái),從用戶的角度來看,主要利用計(jì)算機(jī)軟件來操作計(jì)算機(jī),所以,如果計(jì)算機(jī)軟件開發(fā)技術(shù)不強(qiáng),用戶在應(yīng)用計(jì)算機(jī)軟件時(shí)就會(huì)受到較大影響。計(jì)算機(jī)軟件開發(fā)的初始階段是通過手工進(jìn)行操作,因?yàn)槭止げ僮魇艿捷^大限制,導(dǎo)致開始應(yīng)用軟件過程中,經(jīng)常出現(xiàn)錯(cuò)誤,用戶對軟件的需求得不到滿足,并且計(jì)算機(jī)軟件開發(fā)效率不高,軟件沒有較強(qiáng)的擴(kuò)展性,導(dǎo)致開始應(yīng)用軟件過程中錯(cuò)誤百出。隨著計(jì)算機(jī)開發(fā)技術(shù)水平不斷提升,計(jì)算機(jī)開發(fā)人員在開發(fā)軟件過程中更加規(guī)范和嚴(yán)格,利用規(guī)范化文檔來記錄開發(fā)軟件的全過程,包括分析軟件,設(shè)計(jì)軟件,開發(fā)軟件,調(diào)試軟件,以及應(yīng)用軟件等,開發(fā)步驟更加規(guī)范化,所開發(fā)出的計(jì)算機(jī)軟件更加可靠,品質(zhì)更優(yōu)良。

1計(jì)算機(jī)軟件開發(fā)技術(shù)常用的開發(fā)方式

經(jīng)常使用的計(jì)算機(jī)軟件中,開發(fā)方式包括三部分.

1.1生命周期比較傳統(tǒng)軟件以時(shí)間為基礎(chǔ)進(jìn)行劃分,針對軟件的不同部分進(jìn)行拆分,并且分解這些軟件,產(chǎn)生不同的軟件階段,在軟件任意階段,從開始至結(jié)束要求都非常嚴(yán)格。一般情況下,軟件周期都能夠達(dá)到半年。

1.2原型化軟件的方式在調(diào)試和開發(fā)計(jì)算機(jī)軟件時(shí),由開發(fā)初期概念不清晰,所以按照以往的生命周期法,需要認(rèn)定軟件初始階段的一些資料,所以,這個(gè)類型的軟件并不適用。不過,如果該計(jì)算機(jī)軟件實(shí)現(xiàn)原型化,為了明確軟件的本質(zhì)需求,需要研究和分析軟件的原型化系統(tǒng),在這個(gè)基礎(chǔ)之上,開發(fā)出新的概念,最后再進(jìn)行修改,完成建造開發(fā)軟件的任務(wù)。

1.3開發(fā)自動(dòng)化系統(tǒng)開發(fā)自動(dòng)化軟件系統(tǒng)可以利用很多種類的軟件開發(fā)工具,軟件操作人員不必提供具體操作方法,介紹相關(guān)內(nèi)容就可以,程序編碼可以通過軟件工具進(jìn)行自動(dòng)分析。

2關(guān)于計(jì)算機(jī)軟件開發(fā)技術(shù)的應(yīng)用

2.1如何應(yīng)用計(jì)算機(jī)軟件開發(fā)技術(shù)伴隨世界經(jīng)濟(jì)一體化進(jìn)程,用戶彼此間的距離隨著大范圍應(yīng)用網(wǎng)絡(luò)而不斷縮小,通過應(yīng)用不同種類的軟件,世界經(jīng)濟(jì)資源實(shí)現(xiàn)了共享,用戶與用戶之間溝通和交流更加方便。應(yīng)用計(jì)算機(jī)軟件開發(fā)技術(shù)的主要特征是把用戶與網(wǎng)絡(luò)和軟件緊密聯(lián)接起來,與此同時(shí),不再統(tǒng)一進(jìn)行控制,每個(gè)結(jié)點(diǎn)都具有很高的獨(dú)立性,與此同時(shí),用戶在不同的軟件平臺(tái)上,通過更加廣闊的平臺(tái),來處理不同的數(shù)據(jù)信息數(shù)據(jù),既發(fā)展了計(jì)算機(jī)軟件技術(shù),與此同時(shí),也使用戶操作得以簡化,使用用戶數(shù)據(jù)就更為便捷了。

2.2分析和研究計(jì)算機(jī)軟件開發(fā)技術(shù)開發(fā)計(jì)算機(jī)軟件的目標(biāo),是讓用戶對軟件的應(yīng)用更加方便快捷,所以,對某個(gè)軟件的質(zhì)量進(jìn)行評價(jià)時(shí),主要看該軟件是否具有較高的實(shí)用價(jià)值。在實(shí)際應(yīng)用軟件過程當(dāng)中,為使用戶操作更加便捷,與此同時(shí),軟件操作起來具有更強(qiáng)的可維護(hù)性,安全性和穩(wěn)定性,以及可擴(kuò)展性等等。有一部分軟件的開發(fā)技術(shù),受到操作系統(tǒng)版本,或者操作系統(tǒng)中瀏覽器安全性制約,用戶操作這些軟件的時(shí)候非常復(fù)雜,不能進(jìn)行大范圍應(yīng)用。有些軟件可以和操作系統(tǒng)相互兼容,因?yàn)檐浖谶\(yùn)行過程中,沒有受到操作系統(tǒng)的約束,用戶在安裝和修復(fù)軟件時(shí)更加便捷,并且能夠還原和備份計(jì)算機(jī)里面的相關(guān)數(shù)據(jù)。不過,隨著客戶端軟件的使用周期越來越長,那些能夠與系統(tǒng)很好兼容的軟件,在后期的運(yùn)行過程中,速度會(huì)越來越慢,所以,應(yīng)該對這些軟件資料進(jìn)行手工存檔。計(jì)算機(jī)開發(fā)技術(shù)會(huì)約束對它的應(yīng)用,所以,為使用戶更好的使用計(jì)算機(jī)開發(fā)軟件,設(shè)計(jì)人員要針對用戶實(shí)際需求以及應(yīng)用情況來開發(fā)軟件,要確保軟件在應(yīng)用時(shí)更加可靠和便捷,軟件在設(shè)計(jì)上要充分考慮使用群體,盡量讓大眾群體都能夠靈活應(yīng)用。

總而言之,以計(jì)算機(jī)飛速發(fā)展為背景,計(jì)算機(jī)軟件具有廣闊的應(yīng)用前景。選擇計(jì)算機(jī)軟件的開發(fā)技術(shù),和計(jì)算機(jī)軟件開發(fā)過程聯(lián)系緊密,軟件設(shè)計(jì)人員在選擇軟件開發(fā)技術(shù)時(shí),要參考實(shí)際情況和實(shí)際需要進(jìn)行,這樣才能設(shè)計(jì)出品質(zhì)好,性能佳,具有極強(qiáng)交互能力的計(jì)算機(jī)開發(fā)軟件,同時(shí),在軟件設(shè)計(jì)開發(fā)時(shí)要注意盡可能降低開發(fā)成本。

參考文獻(xiàn)

[1]趙明亮.計(jì)算機(jī)應(yīng)用軟件開發(fā)技術(shù)[J].黑龍江科技信息,2011(26)

軟件開發(fā)技術(shù)范文第5篇

 

1 前言

 

隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,其在各行各業(yè)中都發(fā)揮了巨大的作用,而在計(jì)算機(jī)技術(shù)的應(yīng)用過程中,軟件是一個(gè)核心的組成部分,從而就使得軟件開發(fā)工作受到了越來越多人的重視。如果不能夠?qū)浖_發(fā)進(jìn)行規(guī)范,就有可能對軟件的開發(fā)質(zhì)量、效率等帶來較大的影響。因此,本文結(jié)合筆者的開發(fā)經(jīng)驗(yàn),對如何在計(jì)算機(jī)軟件開發(fā)中貫徹規(guī)范化思想及要求進(jìn)行了詳細(xì)的分析。

 

2 計(jì)算機(jī)軟件開發(fā)的相關(guān)概述

 

計(jì)算機(jī)系統(tǒng)主要是由硬件系統(tǒng)和軟件系統(tǒng)兩個(gè)主要部分組成,其中軟件卻是其中最為核心的部分。而計(jì)算機(jī)軟件則主要是由系統(tǒng)軟件以及應(yīng)用軟件兩個(gè)部分組成,其中系統(tǒng)軟件為軟件運(yùn)行的主要基礎(chǔ),應(yīng)用軟件則主要用來處理計(jì)算機(jī)運(yùn)行中的各種問題。所謂計(jì)算機(jī)軟件開發(fā),則主要是軟件工程師基于用戶的實(shí)際需求,編寫出軟件或者系統(tǒng)中某一部分的產(chǎn)品開發(fā)的過程。

 

3 計(jì)算機(jī)軟件開發(fā)的規(guī)范化具體應(yīng)用

 

在上文中已經(jīng)分析,在當(dāng)前的軟件開發(fā)過程中,規(guī)范化顯得非常重要,而針對一個(gè)具體的計(jì)算機(jī)軟件規(guī)范化設(shè)計(jì)過程來說,主要包括軟件需求分析規(guī)范化、概要設(shè)計(jì)規(guī)范化、詳細(xì)設(shè)計(jì)規(guī)范化、軟件測試規(guī)劃化以及軟件維護(hù)規(guī)范化等幾個(gè)環(huán)節(jié),下文將分別對其進(jìn)行詳細(xì)的分析。

 

3.1 需求分析的規(guī)范化

 

對于一個(gè)完整的軟件生存周期來說,需求分析階段是一個(gè)非常重要的階段,可以說對于整個(gè)軟件的生存周期來說,都具有非常重要的決定性意義。該階段的主要任務(wù)是在可行性研究的基礎(chǔ)上對軟件開發(fā)的運(yùn)行環(huán)境、性能以及功能需求的確定,同時(shí)對用戶手冊概進(jìn)行編寫,確認(rèn)測試測試原則,同時(shí)設(shè)計(jì)概要需求說明書。對于該階段的規(guī)范化來說,應(yīng)該注意如下幾個(gè)方面的要點(diǎn),一是需求說明書務(wù)必需要明確,而且經(jīng)過客戶的確認(rèn),在具體的實(shí)施時(shí)還應(yīng)該對被開發(fā)軟件的環(huán)境進(jìn)行調(diào)查,二是對客戶和用戶需求進(jìn)行一步明確,以確定人機(jī)界面;三是在該周期的最后階段,所指定的文件也都要齊全,而且是經(jīng)過評審。交付的文件通常具有軟件需求說明書、用戶手冊概要、修改后的項(xiàng)目開發(fā)計(jì)劃以及確認(rèn)測試計(jì)劃和數(shù)據(jù)要求說明書。

 

3.2 概要設(shè)計(jì)的規(guī)范化

 

概要設(shè)計(jì)的主要任務(wù)是基于軟件的需求說明,構(gòu)建出所要設(shè)計(jì)系統(tǒng)的各個(gè)模塊之間的關(guān)系,然后以該模塊為基礎(chǔ)對其相關(guān)的接口與功能進(jìn)行詳細(xì)的描述和定義。在該環(huán)節(jié),對數(shù)據(jù)庫的設(shè)計(jì)也是非常重要的環(huán)節(jié),當(dāng)然,也應(yīng)該對設(shè)計(jì)限制與組裝測試計(jì)劃進(jìn)行明確和制定。在基于概要設(shè)計(jì)規(guī)范化的前提之下,應(yīng)該從整體的角度進(jìn)行考慮,在最大程度上使其具備良好的形態(tài),使得模塊的功能之間還具有良好的內(nèi)聚度,使其滿足相關(guān)的要求。簡潔性也是需要重點(diǎn)考慮的一個(gè)問題,主要針對模塊的接口而言,使其在一定范圍之內(nèi)具有良好的移植性。

 

3.3 詳細(xì)設(shè)計(jì)的規(guī)范化

 

詳細(xì)設(shè)計(jì)是軟件開發(fā)的一個(gè)非常關(guān)鍵的階段,在該階段的主要任務(wù)基于概要設(shè)計(jì)的基礎(chǔ)上針對模塊進(jìn)行過程描述,是對前一個(gè)階段的細(xì)化,產(chǎn)生的描述能夠?yàn)榇a的編寫提供重要的基礎(chǔ),同時(shí)也能夠更加促進(jìn)模塊開發(fā)的順利開展。而基于本文所提出的詳細(xì)設(shè)計(jì)規(guī)范化的前提之下,應(yīng)該按照相關(guān)的要求對每個(gè)程序的模塊構(gòu)建進(jìn)行相應(yīng)的輸入、輸出、數(shù)據(jù)流以及處理功能的構(gòu)建等。

 

3.4 軟件測試的規(guī)范化

 

隨著當(dāng)前信息化程度的不斷加深,大軟件開發(fā)變的更加普遍,而在軟件開發(fā)過程中,大軟件的開發(fā)過程中不出現(xiàn)錯(cuò)誤也是不現(xiàn)實(shí)的,一旦出現(xiàn)了錯(cuò)誤,軟件測試技術(shù)就發(fā)揮了重要的作用。因此,針對軟件測試階段來說,其對于整個(gè)軟件生存周期來說,意義非常重大。其主要任務(wù)是針對軟件開發(fā)中的功能、性能、測試計(jì)劃是否滿足了實(shí)際的需求,在測試完成之后還應(yīng)該向用戶提交最終的操作手冊。

 

3.5 軟件維護(hù)的規(guī)范化

 

軟件維護(hù)是軟件生存周期的最后一個(gè)環(huán)節(jié),其重要性也是不容忽視的,其主要任務(wù)是對于已經(jīng)處于運(yùn)行階段的軟件系統(tǒng)進(jìn)行維護(hù),并對在其開發(fā)階段所并沒有發(fā)現(xiàn)的問題進(jìn)行更正、升級,使得其能夠更加進(jìn)一步適應(yīng)在實(shí)際的應(yīng)用環(huán)境中的應(yīng)用。不過,在針對該階段的規(guī)范化要求之下,進(jìn)一步要求在軟件維護(hù)階段應(yīng)該投入足夠的細(xì)心和責(zé)任心,不能出現(xiàn)錯(cuò)上加錯(cuò)的現(xiàn)象。尤其對于修改應(yīng)該在仔細(xì)權(quán)衡后在進(jìn)行改進(jìn),修改還應(yīng)該基于一定的步驟,同時(shí)還應(yīng)該加強(qiáng)嚴(yán)格的控制管理,對于已經(jīng)修改過的軟件還應(yīng)該加強(qiáng)對其的進(jìn)一步測試工作,測試完成之后填寫相應(yīng)的報(bào)告。

 

4 結(jié)語

 

總之,通過本文所分析的軟件需求分析規(guī)范化、概要設(shè)計(jì)規(guī)范化、詳細(xì)設(shè)計(jì)規(guī)范化、軟件測試規(guī)劃化以及軟件維護(hù)規(guī)范化等方面的規(guī)范化要求,是對軟件開發(fā)人員的重要“行為規(guī)范”,只有在嚴(yán)格遵守的前提下,才能夠開發(fā)出質(zhì)量更高的軟件,繼而適應(yīng)社會(huì)各行各業(yè)對計(jì)算機(jī)軟件越來越高的要求。