国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于構(gòu)件的軟件開發(fā)實(shí)踐

2009-07-13 10:09:06胡文娟
新媒體研究 2009年21期
關(guān)鍵詞:用戶界面構(gòu)件課件

胡文娟

[摘要]基于構(gòu)件的軟件開發(fā)方法與傳統(tǒng)的面向過程、面向?qū)ο蟮能浖_發(fā)方法相比,具有良好的適應(yīng)性、靈活性和易維護(hù)性,能較好地支持軟件復(fù)用。

[關(guān)鍵詞]軟件重用構(gòu)件實(shí)現(xiàn)軟件開發(fā)

中圖分類號:TP3文獻(xiàn)標(biāo)識碼:A文章編號:1671-7597(2009)1110085-01

一、構(gòu)件軟件開發(fā)過程

基于構(gòu)件的軟件開發(fā)(CBSD)通過整合已有的構(gòu)件來完成大型軟件系統(tǒng)的開發(fā),其核心就是構(gòu)件級的可重用。CBSD通過提高系統(tǒng)的可擴(kuò)展性和可維護(hù)性來減少軟件開發(fā)的費(fèi)用,更快的整合系統(tǒng),并能有效的降低大型系統(tǒng)的維護(hù)和升級壓力。應(yīng)用系統(tǒng)的軟件構(gòu)造過程包括分析構(gòu)件、設(shè)計(jì)構(gòu)件、實(shí)現(xiàn)構(gòu)件和組裝構(gòu)件。

CBSD的理論基礎(chǔ)是在大型軟件系統(tǒng)中有相當(dāng)?shù)牟糠謺貜?fù)出現(xiàn),這些共同的部分應(yīng)該通過構(gòu)件組合起來,而不是一遍一遍的重寫。

在CBSD中,通過寫代碼來構(gòu)建系統(tǒng)讓位于使用已有的構(gòu)件來裝配和整合系統(tǒng)。在傳統(tǒng)的軟件開發(fā)模式中,系統(tǒng)整合往往是系統(tǒng)實(shí)現(xiàn)的收尾階段的任務(wù)。在基于構(gòu)件的軟件開發(fā)中則相反,整合處于整個(gè)開發(fā)過程的核心地位。正因如此,決定構(gòu)件的獲得、重用和使用的關(guān)鍵在于它能否與其它構(gòu)件整合在一起。

(一)構(gòu)件選取。構(gòu)件選取是將過去開發(fā)的組件按照適合新系統(tǒng)的原則選取出來的過程。也可以是在構(gòu)件交易中購買合適構(gòu)件的過程。這個(gè)過程甚至延伸到開發(fā)構(gòu)件和維護(hù)構(gòu)件的質(zhì)量保證。

構(gòu)件選取包括兩個(gè)階段:發(fā)現(xiàn)階段和評估階段。在發(fā)現(xiàn)階段,構(gòu)件將會被明確屬性。如構(gòu)件的功能(能提供什么樣的服務(wù)),構(gòu)件的接口(使用的方法)。這些屬性還應(yīng)包括一些不能孤立看待的要求,如構(gòu)件的可靠性、可用性、可擴(kuò)展性。在有些情況下也要考慮構(gòu)件的非技術(shù)特性,如提供者的市場占有率,構(gòu)件開發(fā)組織的過程和成熟度等。

在評估方面,現(xiàn)在已經(jīng)有了好多種成熟的評估方法。例如Standards Organization(ISO)描述的產(chǎn)品評估的通用標(biāo)準(zhǔn),以及IEEE的特定域的構(gòu)件評價(jià)技術(shù),還有適用于特定問題域的技術(shù)。這些方法都是基于一定的構(gòu)件研究理論產(chǎn)生的解決構(gòu)件質(zhì)量評估的方法。但就構(gòu)件評價(jià)技術(shù)本身來說是不確定的,這是使用難以互相比較的標(biāo)準(zhǔn),不明確的系統(tǒng)期望,不精確的評價(jià)方法以及構(gòu)件的快速修改造成的。

(二)構(gòu)件的調(diào)整。由于單個(gè)的構(gòu)件是為了完成特定的需求,基于不同的上下文假設(shè)。因此構(gòu)件在應(yīng)用于新系統(tǒng)之前需要調(diào)整。必須將構(gòu)件之間的沖突降低到最小。常用的方法包括:(1)白盒法。用戶可以通過修改構(gòu)件的源碼使構(gòu)件能與其他構(gòu)件相互作用。該方法可以對構(gòu)件的特性進(jìn)行細(xì)致的控制,但修改源碼可能會導(dǎo)致維護(hù)和升級問題。(2)黑盒法。用戶可以得到構(gòu)件的二進(jìn)制可執(zhí)行形式,構(gòu)件沒有提供擴(kuò)展機(jī)制或API。(3)灰盒法。源碼不可以修改,但提供了構(gòu)件自身的擴(kuò)展機(jī)制或可編程接口(API)。

二、系統(tǒng)的實(shí)現(xiàn)

(一)系統(tǒng)中的構(gòu)件實(shí)現(xiàn)

軟件工程網(wǎng)絡(luò)課堂教學(xué)系統(tǒng)的開發(fā)環(huán)境為前臺開發(fā)選擇ASP,后臺采用SQL Server 2000數(shù)據(jù)庫,構(gòu)件模型通過B/S構(gòu)架的三層體系結(jié)構(gòu)(表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層)實(shí)現(xiàn)。

現(xiàn)以課件構(gòu)件的開發(fā)過程為例,說明一個(gè)構(gòu)件中的用戶界面/表示層、功能/業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層的實(shí)現(xiàn)。

1.課件上傳構(gòu)件的用戶界面層實(shí)現(xiàn)。表示層的用戶界面可分成動態(tài)和靜態(tài)兩種。通過Dreamweave的模板實(shí)現(xiàn)靜態(tài)界面功能,通過ASP技術(shù)生成動態(tài)頁面。動態(tài)頁面中常見的動作是:解釋用戶請求;分發(fā)這些請求到相應(yīng)的業(yè)務(wù)邏輯;選擇下一個(gè)顯示視圖;生成和傳送下一個(gè)視圖給用戶。

2.課件上傳構(gòu)件的功能/業(yè)務(wù)邏輯層實(shí)現(xiàn)。課件上傳的業(yè)務(wù)邏輯層的作用是將用戶上傳的文件存入數(shù)據(jù)庫,并將與文件相關(guān)的說明在用戶界面層上顯示出來。出于系統(tǒng)安全性的考慮,在構(gòu)件設(shè)計(jì)時(shí),對文件格式進(jìn)行了限制,只能上傳RAR壓縮文件,并按照上傳時(shí)間以“年+月+日+分+秒”的數(shù)字組合為文件重新命名,這將有效避免文件重名。

該層實(shí)現(xiàn)上使用VBScript腳本語言構(gòu)造了一個(gè)類模塊(add.asp)。該類包括如下屬性:MMtitle(課件標(biāo)題)、MMteacher(上傳用戶(系統(tǒng)自動生成))、MMunit(所屬章節(jié))、MMdiscrib(內(nèi)容說明)、set upload(上傳路徑)、set file(存儲路徑(系統(tǒng)自動生成))。

3.課件上傳構(gòu)件的數(shù)據(jù)訪問層實(shí)現(xiàn)。在系統(tǒng)數(shù)據(jù)庫的開發(fā)過程中,為了方便今后數(shù)據(jù)庫的維護(hù)與重用,將其具體功能如查詢、插入等操作封裝到一個(gè)構(gòu)件(kejian.asp)中。

(二)基于構(gòu)件的系統(tǒng)組裝

1.原子構(gòu)件的組裝。現(xiàn)以課件上傳構(gòu)件為例,說明原子構(gòu)件的組裝過程。原子構(gòu)件組裝的思想是將構(gòu)件模型中涉及到的三個(gè)層次組裝成構(gòu)件。通過原子構(gòu)件的組裝,以上用戶界面、功能/業(yè)務(wù)和數(shù)據(jù)訪問三個(gè)層次的成分組合成一個(gè)完整的課件上傳構(gòu)件。

在上述三個(gè)構(gòu)件中,功能/業(yè)務(wù)層處于用戶界面層之下、數(shù)據(jù)訪問層之上,因此以功能/業(yè)務(wù)層構(gòu)件add.asp作為組裝的基礎(chǔ)。其具體組裝過程為:將用戶界面層構(gòu)件module.asp用VBScript腳本進(jìn)行引用。引用語句為:〈!--#include file="module.asp"--〉

數(shù)據(jù)訪問層調(diào)用采用面向?qū)ο蠓绞?將類FileInfo和類upload_file

通過內(nèi)部接口與類kejian組裝成一個(gè)高內(nèi)聚低偶合的原子構(gòu)件,再通過外部接口與功能構(gòu)件add.asp連接。

2.復(fù)合構(gòu)件的組裝。復(fù)合構(gòu)件是由多個(gè)原子構(gòu)件組裝后形成的獨(dú)立構(gòu)件,封裝在文件夾中,構(gòu)件之間既沒有數(shù)據(jù)上的耦合,也沒有行為上的耦合,故采用黑盒方法進(jìn)行組裝。在組裝時(shí),通過接口綁定建立復(fù)合構(gòu)件組裝的外部接口和內(nèi)部接口的對應(yīng)關(guān)系。通過各種不同的連接件可以完成一些復(fù)雜的接口綁定,以實(shí)現(xiàn)所需的復(fù)合構(gòu)件。復(fù)合構(gòu)件的外部接口采用擴(kuò)展連接件。由于擴(kuò)展連接件據(jù)具有可擴(kuò)展的特性,由其組裝成的復(fù)合構(gòu)件也具有可擴(kuò)展的特性,同時(shí)內(nèi)部接口是基于消息傳遞的,從而使組裝出來的復(fù)合構(gòu)件具有動態(tài)性。

本系統(tǒng)中復(fù)合構(gòu)件有公告發(fā)布管理構(gòu)件、課件發(fā)布管理構(gòu)件、作業(yè)發(fā)布批閱構(gòu)件、作業(yè)下載提交構(gòu)件、在線測試構(gòu)件、試題管理構(gòu)件、學(xué)習(xí)論壇構(gòu)件和消息交流構(gòu)件。其功能都封裝在獨(dú)立的文件夾中,其外部接口為各自文件夾下的index.asp頁面。在該頁面的功能菜單中給出了不同的功能按鈕,連接構(gòu)件的內(nèi)部接口。

三、結(jié)論

構(gòu)件由于其本身的諸多特性,正在成為軟件開發(fā)的一個(gè)熱點(diǎn),基于構(gòu)件的軟件開發(fā)方法被視為解決軟件危機(jī),提高軟件生產(chǎn)效率和質(zhì)量的一條現(xiàn)實(shí)可行的途徑。構(gòu)件重用的目標(biāo)是達(dá)到需求、分析、設(shè)計(jì)、編碼、測試的重用。在不同層次上,構(gòu)件均可以將底層的多個(gè)邏輯組合成高層次上的粒度更大的新構(gòu)件,甚至直接封裝到一個(gè)系統(tǒng),使模塊的重用從代碼級、對象級、架構(gòu)級到系統(tǒng)級都可能實(shí)現(xiàn),從而使軟件像硬件一樣,能任人裝配定制而成。

參考文獻(xiàn):

[1]傅音翔,一種基于構(gòu)件的軟件開放方法[J].微計(jì)算機(jī)信息,2006(22).

[2]何國斌,基于構(gòu)件的軟件開發(fā)的方法與實(shí)踐[J].計(jì)算機(jī)工程與應(yīng)用,2007(5).

猜你喜歡
用戶界面構(gòu)件課件
自然用戶界面在智能家居系統(tǒng)中的應(yīng)用路徑創(chuàng)新研究:生成式人工智能技術(shù)的調(diào)節(jié)作用
包裝工程(2023年16期)2023-08-25 11:40:58
基于CiteSpace的國外用戶界面體驗(yàn)圖譜量化分析
UI用戶界面色彩設(shè)計(jì)研究
流行色(2017年12期)2017-10-26 03:08:44
建筑構(gòu)件
建筑構(gòu)件
建筑構(gòu)件
建筑構(gòu)件
從“廣用”到“省用”——談音樂教學(xué)中課件使用的“度”
提高高中數(shù)學(xué)多媒體課件質(zhì)量的幾點(diǎn)思考
基于B/S的跨平臺用戶界面可配置算法研究
大城县| 克山县| 边坝县| 开鲁县| 雅江县| 岳池县| 长治市| 贵港市| 甘南县| 龙门县| 黄大仙区| 盐边县| 西丰县| 四会市| 南郑县| 黑龙江省| 旬阳县| 阜康市| 祁连县| 呼伦贝尔市| 兴宁市| 武汉市| 上饶市| 同仁县| 察雅县| 清丰县| 吴江市| 革吉县| 陇川县| 东台市| 成都市| 吉林市| 大悟县| 西城区| 信宜市| 阿合奇县| 赣州市| 吉首市| 新野县| 海宁市| 柏乡县|