發(fā)布時間:2022-06-06 06:13:00
序言:寫作是分享個人見解和探索未知領(lǐng)域的橋梁,我們?yōu)槟x了8篇的軟件設(shè)計開發(fā)研究樣本,期待這些樣本能夠為您提供豐富的參考和啟發(fā),請盡情閱讀。
關(guān)鍵詞:軟件開發(fā);數(shù)據(jù)庫設(shè)計;理論;實踐
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A文章編號:1007-9599 (2011) 16-0000-02
Database Design Theory Practice Study in Software Development
Jiang Ke
(Jiangxi Provincial Rural Credit Cooperatives,Nanchang330039,China)
Abstract:As an application of a strong discipline,database technology is increasingly applied in wide range of software development,software development,database design theory and practice more and more research-oriented industry.In this paper,the main problem of database design and design theory are described to introduce several principles of database design,and database design steps and some examples of analysis.
Keywords:Software development;Database design;Theory;Practice
我們知道,數(shù)據(jù)庫的設(shè)計工作在自動化或交互式的半自動化設(shè)計上還存在很大的欠缺。除了關(guān)系型數(shù)據(jù)庫外,目前尚缺乏一套完善的數(shù)據(jù)庫設(shè)計理論、方法和工具。數(shù)據(jù)庫今后的研究方向或焦點將是數(shù)據(jù)庫設(shè)計理論與實踐研究。本文就軟件開發(fā)中數(shù)據(jù)庫設(shè)計理論實踐問題主要介紹了以下幾個方面的內(nèi)容。
一、數(shù)據(jù)庫設(shè)計及設(shè)計理論概述
在整個軟件開發(fā)過程中,一般會分為五個階段,即需求分析、軟件設(shè)計、軟件編碼、軟件測試和對軟件的維護(hù)。在具體的設(shè)計階段,首要的任務(wù)就是設(shè)計出模塊的程序流程、設(shè)計出算法和數(shù)據(jù)結(jié)構(gòu),次要的任務(wù)是對數(shù)據(jù)庫進(jìn)行設(shè)計。因此,可以看出,數(shù)據(jù)庫的設(shè)計在整個軟件開發(fā)過程中占據(jù)著十分重要的地位。通常,數(shù)據(jù)庫的設(shè)計主要是指根據(jù)不同用戶的不同需求,在一定的數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上來實現(xiàn)通過設(shè)計出的數(shù)據(jù)庫的結(jié)構(gòu)并建立起數(shù)據(jù)庫的過程。它是建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng)的一種很強(qiáng)的技術(shù),所以,數(shù)據(jù)庫設(shè)計是信息系統(tǒng)的開發(fā)和建議中的一項核心技術(shù)。
對于數(shù)據(jù)庫的設(shè)計理論大致如下:數(shù)據(jù)庫的組成=實體+關(guān)系;實體:用主鍵來表示;關(guān)系:用外鍵來表示;范式:指導(dǎo)如何找實體;關(guān)系:指導(dǎo)如何將各實體聯(lián)系起來;通俗的理解就是通過范式建立起各個表,而表中只有主鍵,即只能找一個個單獨(dú)的實體,實體之間沒有關(guān)聯(lián)。通過關(guān)系將每一個單一的實體聯(lián)系起來,才會產(chǎn)生外鍵。
二、數(shù)據(jù)庫設(shè)計的幾個原則
(一)命名的規(guī)范化。我們知道,不一樣的數(shù)據(jù)庫產(chǎn)品對于對象的命名是有不同要求的。在數(shù)據(jù)庫設(shè)計中,對于各對象的命名以及在編寫后臺程序的代碼上都應(yīng)采用大小寫的字母形式,命名長度不超過30個字符。
(二)慎用游標(biāo)。對大表或者多表定義的游標(biāo),即大的數(shù)據(jù)集合而言,在使用游標(biāo)逐行進(jìn)行遍歷數(shù)據(jù)時極易導(dǎo)致程序進(jìn)入到一種漫長的等待甚至死機(jī)的狀態(tài),因此,使用游標(biāo)時,我們可以建立一個臨時的表,將那些符合條件符合要求的數(shù)據(jù)行轉(zhuǎn)入到該臨時表中,再對該臨時表定義游標(biāo)操作,這樣做能夠使游標(biāo)的性能大大提高。
(三)索引的使用。顯然,索引一般是用于快速訪問表中的數(shù)據(jù)。通常,大型的數(shù)據(jù)庫會有兩種索引,一種是簇索引,一種是非簇索引。無論是添加哪一種索引,都可以使按索引列查詢的速度大大提高,雖然在速度上有所提高。但是在插入、更新、刪除等操作上性能會有所降低,特別是在填充因子比較大時,降低效果更明顯。因此,對索引較多的表進(jìn)行頻繁的插入、更新、刪除操作時,在對于表和索引的建立上,應(yīng)該設(shè)置較小的填充因子。這樣才能方便在各項數(shù)據(jù)頁中留下足夠的自由空間,以減少頁分割或重新組織的工作量,才能夠有效提高性能。
(四)數(shù)據(jù)的完整性和一致性。為了有效保證數(shù)據(jù)庫的完整性和一致性,通常設(shè)計人員會設(shè)計比較多的表間關(guān)聯(lián),以最大程度地降低數(shù)據(jù)的冗余。由于表間的關(guān)聯(lián)是一種強(qiáng)制性的措施,所以建立表后,對于父表和子表的插入、更新、刪除等操作都會占用系統(tǒng)整體的開銷。還有,盡量不要選用Identify屬性的字段來作為主鍵與子表關(guān)聯(lián)。另外,為了能夠很好地提高系統(tǒng)的響應(yīng)時間,選擇合理的數(shù)據(jù)冗余也是很有必要的。
(五)事務(wù)的使用。事務(wù)一般是要一次性完成的操作。這些操作都是單個的操作,但數(shù)據(jù)庫系統(tǒng)可以保證事務(wù)這一組操作全部完成或者一點都不做。大型數(shù)據(jù)庫的這一優(yōu)越特性,使數(shù)據(jù)的完整性在很大程度上得到了保證。
(六)數(shù)據(jù)庫性能的調(diào)整。在網(wǎng)絡(luò)設(shè)計和計算機(jī)硬件配置確定的情況下,影響應(yīng)用系統(tǒng)性能的因素主要是客戶端程序設(shè)計和數(shù)據(jù)庫性能。大部分的數(shù)據(jù)庫設(shè)計員都會采用兩步法開展數(shù)據(jù)庫設(shè)計。具體的設(shè)計步驟是:首先是邏輯設(shè)計,其次進(jìn)行物理設(shè)計。邏輯設(shè)計有效去除了冗余數(shù)據(jù),很大程度上提高了數(shù)據(jù)吞吐速度,從而保證了數(shù)據(jù)的完整性,清楚地表達(dá)出了數(shù)據(jù)元素之間的關(guān)系。對于多表間的關(guān)聯(lián)查詢,其性能可能會有所降低,同時也提高了客戶端編程的難度。因此,在物理設(shè)計中需進(jìn)行折中考慮,結(jié)合業(yè)務(wù)規(guī)則,確定關(guān)聯(lián)表數(shù)據(jù)量的大小、數(shù)據(jù)項的訪問頻度等,對這樣的數(shù)據(jù)表頻繁的關(guān)聯(lián)查詢時應(yīng)適當(dāng)提高數(shù)據(jù)冗余設(shè)計。
(七)數(shù)據(jù)類型的選擇。數(shù)據(jù)類型的合理選擇會在很大程度上影響到數(shù)據(jù)庫的性能和操作。因此,要根據(jù)具體的設(shè)計要求與規(guī)則選擇合適的數(shù)據(jù)類型。
三、數(shù)據(jù)庫設(shè)計步驟及實例分析
數(shù)據(jù)庫的設(shè)計過程一般可分為六個大的階段。下面,筆者通過實例來介紹和分析各階段的功能和特點。
(一)需求分析階段。需求分析階段是第一個階段,該階段主要是用來分析和調(diào)查用戶的業(yè)務(wù)以及數(shù)據(jù)的使用情況,以此熟悉這些業(yè)務(wù)活動和數(shù)據(jù)的類別、數(shù)據(jù)的數(shù)量以及使用范圍,還能了解它們在業(yè)務(wù)活動中的交流情況等,從而來確定用戶對數(shù)據(jù)庫系統(tǒng)的使用條件和各種其他約束條件,達(dá)成共識后形成一定的用戶需求。在這一階段,在定義數(shù)據(jù)庫表及字段需求時,首先必須要檢查報表,查詢和視圖,以此決定哪些是必要的表和字段。舉個例子,先假設(shè),比如一個客戶需要一個報表按照其郵政編碼的排序,求和及分段。這種情況下,就必須要保證其中包括單獨(dú)的郵政編碼字段,不能把這些郵政編碼錯亂地參與到地址字段里。
(二)概念設(shè)計階段。本階段通過對用戶描述的現(xiàn)實世界的某一處的分類概括以及聚集,進(jìn)而建立一種抽象的概念數(shù)據(jù)庫模型。舉個例子,以擴(kuò)充的實體聯(lián)系模型的方法為例。當(dāng)然,還是首先要明確在現(xiàn)實世界中的各部門含有的所有實體及屬性,明確實體間的關(guān)聯(lián)以及對信息的制約條件等,列出各個部門所有信息的局部描述環(huán)境;再將得到的多個用戶的局部視圖集合成為一個全局的視圖,這樣就形成了用戶要求描述的現(xiàn)實世界的概念數(shù)據(jù)模型。
(三)邏輯設(shè)計階段。這一階段的主要工作就是把現(xiàn)實世界的概念模型設(shè)計成為數(shù)據(jù)庫的邏輯模型,而且這種邏輯模型應(yīng)適用于某一種特定的數(shù)據(jù)庫管理系統(tǒng)。很顯然,邏輯設(shè)計階段在整個數(shù)據(jù)庫的設(shè)計過程中起著非常重要的作用。
(四)物理設(shè)計階段。物理設(shè)計階段要求在數(shù)據(jù)庫管理系統(tǒng)的存儲方法和儲存結(jié)構(gòu)上,要選取合適的方法路徑與存儲結(jié)構(gòu)。同時,這些合適的方法或路徑還必須要依賴于計算機(jī)具體的物理設(shè)計。
(五)驗證設(shè)計階段。這一階段是很關(guān)鍵的一個階段,也是不可缺少的一個階段。我們知道,任何一個大型數(shù)據(jù)庫的設(shè)計都會經(jīng)過多重循環(huán)和反復(fù)驗證。在整個驗證過程中,一旦發(fā)現(xiàn)某一步驟出現(xiàn)錯誤,就必須馬上回到上一步驟來進(jìn)行調(diào)整與修改。所以,在驗證設(shè)計階段,應(yīng)該考慮到以后的修改維護(hù)與解決方案。
(六)軟件運(yùn)行和維護(hù)階段。這基本是最后的環(huán)節(jié)了,在數(shù)據(jù)庫系統(tǒng)正式投入運(yùn)行中,要不斷地進(jìn)行調(diào)整和修改維護(hù)。
四、結(jié)束語
顯然,使整個數(shù)據(jù)庫的設(shè)計更加的工程化、規(guī)范化和便捷化將是我們今后要不斷去爭取做好的。未來數(shù)據(jù)庫設(shè)計的研究方向是數(shù)據(jù)庫設(shè)計理論方面的內(nèi)容,通過完善的理論研究來建立起準(zhǔn)確的模型,在整個數(shù)據(jù)庫的設(shè)計中充分體現(xiàn)出其先進(jìn)的思路和方法,最終達(dá)到數(shù)據(jù)庫的設(shè)計更加的工程化、規(guī)范化和便捷化的目的。
參考文獻(xiàn):
[1]何玉潔等.數(shù)據(jù)庫原理與應(yīng)用-第2版[J].機(jī)械工業(yè),2011,4:1
[2]陶宏才.數(shù)據(jù)庫原理及設(shè)計[M].清華大學(xué)出版社,2004,11
概述
刀具管理軟件支持FTP協(xié)議,實現(xiàn)文件的上傳和下載功能。另外,快速數(shù)據(jù)庫查詢和存取以及局域網(wǎng)服務(wù)的使用,能減少編輯程序與編輯工藝周期、改善技術(shù)人員之間的交流和減少各種人工的差錯,從而提高生產(chǎn)效率,為企業(yè)節(jié)省成本與占用資金。
一、研究背景及意義
目前部分企業(yè)由于數(shù)控設(shè)備與產(chǎn)品的多樣性,導(dǎo)致了數(shù)控刀具的多樣性,而在編輯數(shù)控程序或編輯工藝的過程中,經(jīng)常需要一些刀具的特征參數(shù)或庫存數(shù)量,比如刀具長度,刀具直徑,使用壽命等。過去,這些數(shù)據(jù)的獲得通常是由人工查詢圖紙或相關(guān)資料,耗費(fèi)大量人力成本與時間,所記錄的數(shù)據(jù)分散且不容易查找,不利于刀具的特征參數(shù)與刀具庫存數(shù)量的快速查找,從而導(dǎo)致編輯程序與編輯工藝周期過長,也可能導(dǎo)致重復(fù)購買與刀具兼容性的忽視。
隨著計算機(jī)技術(shù)的在工程領(lǐng)域中的發(fā)展應(yīng)用,為確保企業(yè)信息最大程度地實現(xiàn)共享,避免各種信息成為孤島,計算機(jī)刀具管理軟件已經(jīng)逐步代替了人工用Excel記錄刀具庫存和刀具參數(shù)。
二、研究軟件的功能及應(yīng)用
根據(jù)數(shù)控刀具管理系統(tǒng)的需求及特點,該軟件具體分為十大模塊,分別是:附件/零件模塊、單一組件模塊、刀具模塊、設(shè)置篇模塊、庫存模塊、重磨模塊、進(jìn)程模塊、進(jìn)程模塊、測量模塊、訂單計劃模塊。
(一)附件/零件模塊
手動刀具,轉(zhuǎn)動附件,機(jī)器備件等均稱為附件/零件,該模塊主要功能是讓管理員清楚知道工具存放位置,工具的數(shù)量與種類,更能清楚了解什么樣的刀具用什么樣的工具進(jìn)行安裝或拆卸,減少了準(zhǔn)備工作的浪費(fèi),提高了生產(chǎn)的效率。
(二)單一組件模塊
刀片,刀柄 ,刀桿,拉丁等均稱為單一組件。該模塊主要是讓管理員清楚知道刀片、刀柄等存放位置,以及數(shù)量與種類,更可提供采購部門需要的數(shù)據(jù),在最快的時間反應(yīng)出,哪種刀片已經(jīng)快使用完,需要購買,這樣不僅可以減少等待加工時間,提高生產(chǎn)效率。更重要的是,通過合理的管理及計算,預(yù)測車間每個月可以節(jié)約相當(dāng)客觀的成本,隨著車間規(guī)模的逐漸壯大,節(jié)約的成本也會逐漸增加。
(三)刀具模塊
刀具是由許多單一組件組成的。該模塊主要功能是賦予這些刀具特有的ID編碼,技術(shù)人員在編輯刀具ID編碼時,需將刀具特征加入其中,如:TD-56-312-90-2-CTY,TD表示鏜刀,56表示直徑,312表示長度,90表示度數(shù),2表示2個刀刃,C表示可更換刀片,T表示涂過層,Y表示硬質(zhì)合金,這樣就把刀具的基本特征描繪出來了,它的作用是:第一,方便技術(shù)人員選擇與尋找刀具,也方便了管理人員管理刀具。第二,此模塊可以使技術(shù)員清楚地知道這些刀具是由哪些單一組件組成的,以及這些單一組件的型號,從而方便了再次購買。第三,由于每把刀具都配上了身份證,現(xiàn)場的操作人員不容易搞混,大大提高了,生產(chǎn)節(jié)奏,也提高了生產(chǎn)效率。
(四)設(shè)置篇模塊
設(shè)置篇模塊含有:待加工零件圖號,加工此零件所需要用的所有刀具,加工此零件所用的機(jī)床,以及操作員。使管理人員與技術(shù)人員清楚地知道,每臺數(shù)控機(jī)床所需要加工哪幾種零件,以及用哪些刀具,如果出現(xiàn)問題,方便了管理人員與技術(shù)人員進(jìn)行追溯,以便及時解決問題。
(五)庫存模塊
所有的附件/零件,單一組件,刀具,都必須建立庫存數(shù)據(jù)庫。該模塊主要功能是讓管理員清楚的知道,所有的附件/零件,單一組件,刀具庫存數(shù)量有多少 。 第一,可以避免重復(fù)購買。第二,為銷售部及時提供了即將用完的單一組件信息。建立庫存數(shù)據(jù)庫,有效的控制了成本,降低了不必要的浪費(fèi)(重復(fù)購買),提供了技術(shù)人員與采購人員所需要的信息。
(六)進(jìn)程模塊
該模塊能自動記錄各種數(shù)據(jù),例如:用戶登錄刀具管理軟件時,詳細(xì)的記錄了ID帳號與登陸時間,當(dāng)該用戶提取庫存時,有詳細(xì)的記錄時間與數(shù)量,重磨刀具時詳細(xì)的記錄時間與數(shù)量等等,出現(xiàn)問題時,管理人員能夠迅速的憑借進(jìn)程上記錄的時間,追根溯源。
(七)測量模塊
對刀儀通過此模塊,將測量數(shù)據(jù)直接傳送到電腦上。該模塊主要功能是能夠記錄刀具測量數(shù)據(jù)之后,生成刀補(bǔ)程序,接著通過DNC輸入到數(shù)控機(jī)床里。
(八)訂單計劃模塊
該模塊主要針對采購部,當(dāng)某樣部件數(shù)量小于設(shè)定的最小庫存時,此部件將會出現(xiàn)在訂單計劃中,當(dāng)采購員打開刀具管理軟件使用訂單計劃模塊時,對話框?qū)鰜?,提醒采購員對此部件進(jìn)行購買。使用該模塊可以有效節(jié)省企業(yè)的占用資金,配合黃金分割原理x=(-1+ 5^-2)/2,例如,使用同一種型號刀片,數(shù)量為100片時,庫存數(shù)量=100X0.382=38.2,也就是說庫存數(shù)量為38片的時候占用資金最為節(jié)省,但考慮到,刀片一般以盒來計算,大多數(shù)一盒刀片里有10片刀片,那定義最少庫存為40片。當(dāng)庫存少于40片刀片時,此部件將會出現(xiàn)在訂單計劃中,提醒采購員進(jìn)行購買。
三、建立數(shù)據(jù)庫
(一)刀具參數(shù)數(shù)據(jù)庫
刀具管理軟件利用單一組件模塊和刀具模塊,第一,對該刀具在刀具管理軟件上進(jìn)行組裝,一把刀具是由多個單一組件組裝而成的。第二,組裝完畢時,必須給予刀具一個唯一的ID編碼,確保刀具的唯一性,這樣不僅有利于技術(shù)人員快速查找,也便于大家對相似刀具的區(qū)分。第三,有了ID編碼之后,對該刀具的各種參數(shù)進(jìn)行測量或分析,并填入相應(yīng)的位置。要注意,ID編碼是不能隨意更換的,改變ID編碼,原有的ID編碼不會消失,導(dǎo)致數(shù)據(jù)庫參數(shù)出錯,因此在編輯ID編碼時需謹(jǐn)慎。建立刀具參數(shù)數(shù)據(jù)庫之后,刀具管理人員可以很方便的使用各種模塊對刀具進(jìn)行管理,并可以快速的提供技術(shù)人員所需要的刀具信息。
(二)刀具與零配件庫存數(shù)據(jù)庫
刀具管理軟件利用附件/零件模塊、單一組件模塊與刀具模塊,對各個零件與刀具的數(shù)量建立數(shù)據(jù)庫。要注意,為了能夠存儲每一條數(shù)據(jù)記錄每個庫存字段目都必須配置一個代碼,如果記錄的所有項均填寫完畢,須保存當(dāng)前數(shù)據(jù)記錄。建立刀具與零配件庫存數(shù)據(jù)庫之后,刀具管理員可以清楚的知道刀具以及零配件的數(shù)量,防止了刀具或零配件因缺少而導(dǎo)致產(chǎn)品不能加工。
四、取得的效益
降低刀具使用和管理發(fā)生的間接費(fèi)用其中包括:1. 降低刀具的庫存,減少冗余的刀具,提高刀具的利用率;2. 在刀具供貨中引入市場機(jī)制;3. 減少對人員、資金、設(shè)備、廠房的占用;4. 減少備刀、調(diào)刀的差錯。 提高加工效率及刀具應(yīng)用水平其中包括: 1. 服務(wù)工藝創(chuàng)新;2. 選擇更好的刀具,更佳的切削參數(shù),減少隨意性;3. 提供應(yīng)用技術(shù);4. 提高加工效率,保證加工質(zhì)量;5. 提高數(shù)控機(jī)床的利用率5%~50%;6. 加強(qiáng)分析與監(jiān)督的作用。
五、研究結(jié)論
刀具管理軟件采用局域網(wǎng)訪問方式,方便了各個部門對刀具庫存與刀具參數(shù)進(jìn)行查找,并通過DNC直接將刀補(bǔ)參數(shù)輸入至數(shù)控設(shè)備,從而有助于生產(chǎn)車間實現(xiàn)無紙化管理。本軟件的投入使用,為生產(chǎn)車間提供有利條件,縮短編程與編輯工藝的時間、降低成本、縮減占用資金。既能滿足企業(yè)要求,又具有廣泛的應(yīng)用前景。
計算機(jī)專業(yè)不同與其他學(xué)科,學(xué)生的實踐都是在計算機(jī)上面完成的。作為老師,如何更多的、更詳細(xì)的了解學(xué)生目前的學(xué)習(xí)情況?而學(xué)生,離開了課堂和老師,又該如何進(jìn)行自主學(xué)習(xí)和自我測試?因此,一種具有試題閱卷和能夠反饋成績的教學(xué)軟件對于教師和學(xué)生來講,是很重要的,這種教學(xué)軟件不僅方便,而且還能夠讓老師實時了解學(xué)生的學(xué)習(xí)情況,同時也激發(fā)了學(xué)生對學(xué)習(xí)的興趣。
一、VB的概述和功能
Visual Basic是美國微軟公司推出的通用、面向?qū)ο笠约安捎檬录?qū)動的程序設(shè)計語言,Visual是指開發(fā)用戶界面圖形的方法,編輯其界面的時候無需編寫大量代碼,只需要采用搭積木的建構(gòu)程序方式編寫程序即可,是開發(fā)人數(shù)使用最多的編程工具之一。而Basic則是指Basic語言,它是計算機(jī)技術(shù)發(fā)展史上被廣泛應(yīng)用的語言??偟膩碇v,Visual Basic是在Basic語言原有的基礎(chǔ)上得到了進(jìn)一步的發(fā)展,其不但提供了新的數(shù)據(jù)庫和Web工具,還增加了SQL Server交互方法??偟膩碚f,Visual Basic是目前最流行、使用最廣泛的應(yīng)用軟件開發(fā)平臺。另外,Visual Basic 程序設(shè)計主要應(yīng)用于多媒體開發(fā)、數(shù)據(jù)庫開發(fā)、網(wǎng)絡(luò)開發(fā)、圖形開發(fā)等程序中。其數(shù)據(jù)訪問的特性在允許對企業(yè)數(shù)據(jù)庫的格式建立相應(yīng)的數(shù)據(jù)庫和前端應(yīng)用程序的同時,還可以調(diào)整其服務(wù)端。程序員可以用Visual Basic高效、快速的開發(fā)Windows編程環(huán)境下的各種應(yīng)用軟件系統(tǒng)。
二、VB6的集成開發(fā)環(huán)境
VB6與之前的VB版本不同,之前的VB所有版本的集成開發(fā)環(huán)境都是由標(biāo)題欄和菜單欄組成。而VB6則不同,它是Visual Studio家族的一個組件,在保留Visual Basic 5.0優(yōu)點的基礎(chǔ)上,對開發(fā)環(huán)境進(jìn)行了改進(jìn),VB6的標(biāo)準(zhǔn)欄和菜單欄是由工具欄、窗體設(shè)計器、控件箱、彈出式菜單、工程管理器窗口、屬性窗口、對象瀏覽器、工程管理器、窗體布局窗口組成。同時,VB6的數(shù)據(jù)訪問技術(shù)采用了新的數(shù)據(jù)訪問技術(shù),第一,VB6增加了ADO控件和數(shù)據(jù)庫可視化的工具。不但能夠有效且快速的訪問本地及遠(yuǎn)程的數(shù)據(jù)庫,而且還允許程序員在數(shù)據(jù)環(huán)境方面,除了可以創(chuàng)建可視化和操作ADO之外,還可以連接其命令,這些都為程序員對數(shù)據(jù)源的操作提供了極大的方便。第二,加強(qiáng)了Internet的功能,使Internet成為當(dāng)前最強(qiáng)有力的開發(fā)工具之一。第三,VB6在智能化向?qū)Х矫嬉苍黾恿诵碌奶匦浴?/p>
三、VB開發(fā)教學(xué)軟件在計算機(jī)基礎(chǔ)操作中的應(yīng)用
(一)界面設(shè)計與文件結(jié)構(gòu)
界面設(shè)計分為兩步,先按照軟件結(jié)構(gòu)圖設(shè)計好控件,然后再確定控件的屬性。而文件結(jié)構(gòu)則是,當(dāng)設(shè)計好一套試題之后就建立相應(yīng)的試題目錄,題目少的情況可以應(yīng)文本文件儲存,題目多的話則用Access數(shù)據(jù)庫來存儲。教學(xué)軟件開發(fā)工具均采用VB,一是因為VB與VC類的開發(fā)軟件相比,除了更容易上手,并且開發(fā)的周期短、效率高。二是因為office軟件里面的宏都是VBA,,而VBA只是VB的一個子集,如果使用VB開發(fā)的話,不但能夠使兩者更好地結(jié)合,并且還可以快速且有效的寫出閱卷程序代碼。
(二)開發(fā)教學(xué)軟件的選題
當(dāng)設(shè)計好教學(xué)軟件的界面題目之后,才能夠編寫開發(fā)教學(xué)軟件的功能模塊代碼。為了避免學(xué)生抽取的試題一樣,可以將選題的按鈕可以做成按鈕控件數(shù)組。其次,選題因為使用了FSO復(fù)制文件、復(fù)制文件夾這兩個方法,所以在對文件和文件夾進(jìn)行創(chuàng)建、改變、移動、刪除等操作,以及檢測文件、文件夾的信息以及路徑時,都需要用到FSO對象模型。
(三)實現(xiàn)了閱卷的功能
計算機(jī)教學(xué)中最常見的操作試題有Windows操作題、Word操作題、Excel操作題以及PowerPoint操作題。以Windows操作題為例,沒有編寫過測試教學(xué)軟件的老師會覺得對操作題的閱卷很困難,也不知道學(xué)生有沒有對試題進(jìn)行操作。其實,Windows操作題的閱卷很簡單,教學(xué)模擬軟件有一個自動閱卷的功能,而開發(fā)軟件的新建、刪除、復(fù)制、剪切等操作就是用來判斷學(xué)生做題的文件或者文件夾是否存在。而當(dāng)學(xué)生做完測試題之后,點擊“閱卷”按鈕也可以得到反饋成績,
四、基于VB6開發(fā)的計算機(jī)基礎(chǔ)模擬軟件考試系統(tǒng)
目前,有不少院校為了方便學(xué)生考試和老師教學(xué),利用VB6開發(fā)系統(tǒng)的,模塊和界面開發(fā)了計算機(jī)基礎(chǔ)模擬軟件,該模擬軟件有操作題和客觀題兩部分。操作題的VB編程與后臺的宏語言聯(lián)系密切,而數(shù)據(jù)存儲方面,也可以選擇用VB文件系統(tǒng)對數(shù)據(jù)文件進(jìn)行編程,VB文件系統(tǒng)在給數(shù)據(jù)加密的同時,也減小了系統(tǒng)的大小。
(一)基于VB6開發(fā)程序下的Windows操作題及系統(tǒng)打包技術(shù)
在VB6系統(tǒng)的FSO對象模型下,系統(tǒng)中最簡單的部分就是Windows操作題,Windows操作題通過訪問FSO對象模型的方法和屬性,就可以青色生成試題內(nèi)容及相應(yīng)的評分。而系統(tǒng)打包則需要使用免費(fèi)開源的安裝制作軟件Inno Setup,Inno Setup的外觀不但小巧、簡便,并且還能夠快速有效地制作出Windows的標(biāo)準(zhǔn)安裝界面。
(二)基于office對象模型開發(fā)的office操作題
在VB6程序設(shè)計開發(fā)系統(tǒng)中,所有office產(chǎn)品都被引入了office對象模型,并且office產(chǎn)品中也都裝置了VBA程序代碼以及宏記錄器,因此,office對象模型可以利用VBA程序代碼,實現(xiàn)對office操作題的自動評分。另外Word操作題、Excel操作題以及PowerPoint操作題的模塊代碼與Word的路徑一直,所以,僅對Word操作題的評分原理進(jìn)行闡述。
首先,基于VB6開發(fā)的計算機(jī)基礎(chǔ)教學(xué)模擬軟件會對考生文件下的Word文檔進(jìn)行檢測,檢測其是否存在,如果存在則會繼續(xù)進(jìn)行操作,如果不在則會退出本模塊。當(dāng)過程執(zhí)行完之后,考生的成績以及試題出現(xiàn)錯誤的部分都會保存到全局字符串變量中,最后由評分模塊訪問這個變量并顯示W(wǎng)ord操作題的所以信息。
(三)基于VB6開發(fā)程序下的客觀題模塊設(shè)計
觀題模塊下的加載客觀題對于VB6開發(fā)程序下來講是一個極具挑戰(zhàn)性、技巧性的問題,問題的關(guān)鍵之處就在于加載客觀題的控件是動態(tài)生產(chǎn)的。在VB6開發(fā)程序中,只有兩種方法才能生成動態(tài)控件,一種是使用VB6之前的控件數(shù)組,第二種則是在使用VB6開發(fā)程序的同時,引入With Events變量,由于VB6程序不允許創(chuàng)建并使用With Events變量數(shù)組,所以,為了生產(chǎn)動態(tài)控件,只能使用第一種控件數(shù)組方案來顯示加載客觀題的內(nèi)容。
五、總結(jié)
整體來看,VB6開發(fā)軟件對計算機(jī)基礎(chǔ)教學(xué)有很大的幫助,不但方便了老師對學(xué)生學(xué)習(xí)情況的了解,還培養(yǎng)了學(xué)生對學(xué)習(xí)的自主能力以及提高了學(xué)生的操作實踐能力。
關(guān)鍵詞 計算機(jī)軟件 開發(fā)設(shè)計 難點措施
中圖分類號:TP31 文獻(xiàn)標(biāo)識碼:A
0引言
隨著計算機(jī)信息化的應(yīng)用越來越越廣泛,對于軟件的要求也越來越高。一套完整的計算機(jī)系統(tǒng)是由硬件和軟件組成,而軟件的質(zhì)量優(yōu)劣直接關(guān)系到計算機(jī)運(yùn)行處理的水平及性能。軟件的開發(fā)生存期一般包括分析、設(shè)計、測試以及運(yùn)營維護(hù)。軟件的設(shè)計開發(fā)就是根據(jù)軟件設(shè)計的要求以及規(guī)范對需求項目系統(tǒng)進(jìn)行模塊結(jié)構(gòu)的建立。
1我國的軟件開發(fā)設(shè)計概述
當(dāng)前,我國軟件開發(fā)設(shè)計領(lǐng)域中,有很多不同的設(shè)計手法和設(shè)計支持工具,設(shè)計的成果也比較可觀理想。但仍有較多的難題和狀況。相對于一般軟件的開發(fā)設(shè)計,實時軟件的開發(fā)設(shè)計過程更為復(fù)雜,技術(shù)人員多采用面向?qū)ο蠓ê蛿?shù)據(jù)流兩種方法進(jìn)行開發(fā)設(shè)計工作。經(jīng)過軟件開發(fā)設(shè)計技術(shù)人員的不斷努力和創(chuàng)新,有了Ada和運(yùn)用Petri網(wǎng)的方式進(jìn)行軟件的開發(fā)和設(shè)計。
2軟件開發(fā)設(shè)計的難點
2.1軟件需求分析不到位
在進(jìn)行軟件開發(fā)設(shè)計中,開發(fā)設(shè)計人員常常會對要求設(shè)計的項目分析的不夠充分,導(dǎo)致分析不完整、不清晰,以至于出現(xiàn)太籠統(tǒng)的現(xiàn)象,不被可測試性的軟件內(nèi)容,導(dǎo)致出現(xiàn)不同的設(shè)計開發(fā)問題,影響到軟件在實際應(yīng)用中的效果,對軟件的開發(fā)和設(shè)計進(jìn)程有很大的影響。
2.2軟件開發(fā)設(shè)計的規(guī)劃不實際
對于軟件的整個開發(fā)設(shè)計過程,其是相當(dāng)?shù)膹?fù)雜。它是有不同的程序組合而成的一個項目工程。在軟件開發(fā)的實際進(jìn)行中,出現(xiàn)沒有按照相關(guān)的規(guī)定規(guī)范進(jìn)行,導(dǎo)致開發(fā)設(shè)計時間周期加大,或者對復(fù)雜的軟件工程沒有充足的時間進(jìn)行,而是用少量時間進(jìn)行的,以致于軟件的實際運(yùn)用質(zhì)量大大降低?!奥こ黾?xì)活”對于軟件的開發(fā)設(shè)計是很好的體現(xiàn),軟件開發(fā)是一項復(fù)雜而又量大的工作,需要充足時間、精力投入到開發(fā)設(shè)計中去。
2.3軟件的前期測試不充分
一套軟件在正式推廣和使用前,必須做好充分到位測試以及檢驗檢測工作。然而在當(dāng)前為了所謂的效益,在軟件開發(fā)設(shè)計中,這塊的工作沒有到位,出現(xiàn)了眾多問題。對企業(yè)的正常運(yùn)營操作帶來直接的影響。同時,對于客戶對軟件的個性化和自我功能的需求,這些新的程序功能加大了軟件開發(fā)的的難度和復(fù)雜度,對軟件的后續(xù)運(yùn)作有較大的不利。因而,在軟件開發(fā)設(shè)計完成上線使用中,盡量對軟件不進(jìn)行修改和增加,保證軟件的整體性和穩(wěn)定性。
3解決措施
3.1面向?qū)ο蠓?/p>
面向?qū)ο蠓梢杂行У陌l(fā)現(xiàn)計算機(jī)軟件開發(fā)設(shè)計的難點。在軟件的運(yùn)用中,軟件多用于實體,比如:功能性的開關(guān)、傳感器、信號傳輸和轉(zhuǎn)換器等。面向?qū)ο蟮脑O(shè)計方法以實體和模塊等進(jìn)行軟件的程序和功能開發(fā)設(shè)計。面向?qū)ο蠓?,是?yīng)用非形式化的方式,讓對象把其需要的功能羅列出來,再經(jīng)簡單的運(yùn)行規(guī)則進(jìn)行相關(guān)的處理工作,可以確定軟件的屬性和操作方式,得出對象所需的軟件模型,可以有效的解決設(shè)計和開發(fā)中的難點和難題。
3.2模塊化法
模塊化的設(shè)計法是目前計算機(jī)開發(fā)和設(shè)計中常用的一種。此設(shè)計法可以有效的降低軟件的設(shè)計復(fù)雜性,還可以對軟件進(jìn)行修改和增加。模塊設(shè)計是把不同的軟件工程和小程序組合設(shè)計的,可以有效的確保不同程序的獨(dú)立性,模塊設(shè)計是由不同分工的設(shè)計技術(shù)人員參與完成的,有利于軟件的快捷性。
3.3數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)設(shè)計
在眾多的軟件設(shè)計中,由于層次和使用領(lǐng)域模糊,出現(xiàn)設(shè)計難題。而數(shù)據(jù)流的設(shè)計法可以進(jìn)行軟件程序結(jié)構(gòu)化處理和操作,主要利用采集到的信息數(shù)據(jù)進(jìn)行設(shè)計開發(fā),在數(shù)據(jù)設(shè)計中,可以完整的去頂軟件的結(jié)構(gòu)和獨(dú)立性[3]。而數(shù)據(jù)結(jié)構(gòu)的設(shè)計主要是用于軟件的設(shè)計數(shù)據(jù)以層次結(jié)構(gòu)表現(xiàn)出來。根據(jù)不同的結(jié)構(gòu)、順序、重復(fù)和選擇進(jìn)行,在具體設(shè)計中應(yīng)對軟件的數(shù)據(jù)結(jié)構(gòu)進(jìn)行分析調(diào)查,按照不同的結(jié)構(gòu)進(jìn)行描述,確定操作程序的設(shè)計,完成完整的軟件開發(fā)設(shè)計。
4結(jié)語
隨著計算機(jī)信息化和網(wǎng)絡(luò)化的應(yīng)用需求的增加,對計算機(jī)的軟件設(shè)計要求也越來越高。而軟件的設(shè)計開發(fā)直接關(guān)系到計算機(jī)的運(yùn)行。準(zhǔn)確運(yùn)用好面向?qū)ο蟆⒛K化、數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu)的方法進(jìn)行分析、設(shè)計、測試等,完全可以設(shè)計出優(yōu)秀的軟件,為我國的計算機(jī)軟件開發(fā)業(yè)做出重要的貢獻(xiàn)。
參考文獻(xiàn)
[1] 李大鵬.關(guān)于計算機(jī)軟件開發(fā)的語言研究[J].計算機(jī)軟件和應(yīng)用,2012,23,(6):65-66.
【關(guān)鍵詞】智能家居 家電控制 系統(tǒng)開發(fā) 軟件設(shè)計 研究
隨著科技文化以及經(jīng)濟(jì)水平的不斷提升,人們對舒適、快捷、安全的家居環(huán)境追求的渴望日益增加。而計算機(jī)軟件設(shè)計開發(fā)的飛速發(fā)展為智能化家居理念,注入無窮的力量也帶來了無限的希望。智能化家居也是近年來剛興起的新理念,這一理念充分顯示了人們對智能化居家環(huán)境的追求。智能化家居隨著互聯(lián)網(wǎng)的發(fā)展以及無線網(wǎng)絡(luò)的出現(xiàn),逐步進(jìn)入無線網(wǎng)絡(luò)控制時代。智能家居主要由無線網(wǎng)絡(luò)、計算機(jī)、網(wǎng)絡(luò)信息、網(wǎng)絡(luò)通信以及系統(tǒng)化模塊等綜合運(yùn)用于家居,形成的智能化家居控制系統(tǒng)。智能家居控制系統(tǒng)主要有智能化照明控制系統(tǒng)、智能化安保監(jiān)控報警系統(tǒng)、智能化家電控制系統(tǒng)、智能化編程定時系統(tǒng)、智能化室內(nèi)環(huán)境調(diào)控系統(tǒng)以及室內(nèi)外遠(yuǎn)程操控系統(tǒng)等。下面我們就針對智能家居控制系統(tǒng)軟件設(shè)計開發(fā)以及軟件調(diào)試進(jìn)行研究。
1 智能化家居控制系統(tǒng)的特色
隨著智能化的不斷發(fā)展,智能家居理念應(yīng)運(yùn)而生。智能家居這一理念的提出目的就是:利用多功能化的智能服務(wù)為家庭帶來環(huán)保、舒適、便捷、安全的居家環(huán)境。這樣的居家環(huán)境不僅能給人們帶來高效舒適的生活,也能幫助家庭成員保持交流的暢通,優(yōu)化家庭的生活方式,幫助我們合理安排時間節(jié)省時間,增強(qiáng)居家環(huán)境的安全性。這些目標(biāo)、這些優(yōu)點的進(jìn)一步實現(xiàn),無一不需要智能化控制系統(tǒng)來進(jìn)行操控運(yùn)行。因此智能化家居控制系統(tǒng)作為智能化家居的的核心,其重要性也是不言而喻了。
然而傳統(tǒng)的智能化家居在遠(yuǎn)程操控上的具有控制效率低、控制方式單一等缺點。隨著無線網(wǎng)絡(luò)以及物聯(lián)網(wǎng)的飛速發(fā)展,我們就能將檢測系統(tǒng)控制系統(tǒng)以及互聯(lián)網(wǎng)有機(jī)的結(jié)合在一起進(jìn)行研究,彌補(bǔ)傳統(tǒng)的智能家居在控制系統(tǒng)上的不足。智能化家居控制系統(tǒng)需要結(jié)合各種模塊進(jìn)行開發(fā)設(shè)計,下面我們就針對智能化家居的核心內(nèi)容,智能化家居控制系統(tǒng)的模塊分類、各大模塊控制系統(tǒng)的軟件設(shè)計開發(fā)等方面展開論述研究。
2 智能家居控制系統(tǒng)的分類以及軟件設(shè)計研究
智能家居控制系統(tǒng)由軟件和硬件系統(tǒng)結(jié)合構(gòu)成,這里我們可以把硬件比作我們的身體軀干,軟件就是我們的大腦。那么正常運(yùn)行的基礎(chǔ)是硬件,進(jìn)行分析操控、命令的主要部分是軟件系統(tǒng)控制。智能化家居控制系統(tǒng)主要分為照明控制系統(tǒng)、家電控制系統(tǒng)、環(huán)境控制系統(tǒng)、安保監(jiān)控報警系統(tǒng)等。下面分別對各類控制系統(tǒng)進(jìn)行分析以及各類智能家居控制系統(tǒng)的軟件設(shè)計研究。
2.1 照明控制系統(tǒng)以及控制軟件設(shè)計
一天內(nèi)有一半時間屬于夜晚,因此照明控制系統(tǒng)對于智能化家居控制系統(tǒng)來說是必不可少的。照明控制系統(tǒng)主要包含各類照明燈具、光敏感應(yīng)器、聲敏感應(yīng)器、單片機(jī)系統(tǒng)、輸入輸出控制器、紅外傳感器以及電線等構(gòu)成。
照明系統(tǒng)的核心就是單片機(jī),在這里單片機(jī)是整個系統(tǒng)的終端控制芯片,可以進(jìn)行數(shù)據(jù)采集分析以及數(shù)據(jù)命令來完成人們的智能化網(wǎng)絡(luò)操作等。紅外感應(yīng)器以及光敏感應(yīng)器是用來檢測光的強(qiáng)度和是否有人,以此來產(chǎn)生分辨信息輸入到單片機(jī)控制系統(tǒng),來控制照明系統(tǒng)的開關(guān)。光敏和聲敏器件可以構(gòu)成一個對光強(qiáng)度和聲控相結(jié)合的智能化照明模塊。首先,要連接好控制線路,以及各個感應(yīng)器的正確安裝,然后通過串聯(lián)、并聯(lián)或者串并聯(lián)相結(jié)合的方式,就可以令這幾類照明系統(tǒng)的選擇具有可操控性??梢酝ㄟ^控制系統(tǒng)的軟件進(jìn)行調(diào)控命令的,分別控制或者一起控制都是可供選擇,可供調(diào)控的。
2.2 家電控制系統(tǒng)以及家電控制系統(tǒng)的軟件設(shè)計
舒適的居家環(huán)境內(nèi),各類家電的使用是必不可少的。常用家電主要有空調(diào)、冰箱、電視、洗衣機(jī)、熱水器以及各類廚具等等?,F(xiàn)如今家電可謂是琳瑯滿目,品類眾多,功能眾多,讓我們無法很好的選擇品類,很好的運(yùn)用其功能。這時我們就可以設(shè)計一款軟件,配合相應(yīng)的家電控制系統(tǒng)來完成對各類家電的智能化使用。
家電控制系統(tǒng)由各類家電、數(shù)據(jù)采集器、輸入控制器、單片機(jī)系統(tǒng)、輸出控制器、智能開關(guān)以及線路等相應(yīng)器件構(gòu)成?,F(xiàn)今各類家電中,大多數(shù)家電已具有單獨(dú)的智能化操控系統(tǒng),如空調(diào)、電視、洗衣機(jī)、熱水器等都有各自的智能化操控模塊。因此對于家電控制系統(tǒng)我們要做的就是如何把這些單獨(dú)的小模塊給并入到一個整體之中。這時,數(shù)據(jù)采集器的作用就凸顯出來了,我們可以通過系統(tǒng)終端命令,數(shù)據(jù)采集器進(jìn)行分析調(diào)控,然后通過輸入輸出控制器經(jīng)由單片機(jī)系統(tǒng)進(jìn)行智能開關(guān)的終端控制。要想多個家電一起精確控制就必須把各個家電的位置進(jìn)行地址編碼,把位置編碼輸入到控制系統(tǒng)的芯片中,根據(jù)不同地址編碼來精確到對哪個家電進(jìn)行操控。再把這些小的模塊進(jìn)行串并聯(lián)整合,通過數(shù)據(jù)命令進(jìn)行編碼解碼來調(diào)控終端的數(shù)據(jù),進(jìn)行我們對家電的需求命令。把單獨(dú)的小模塊系統(tǒng)做好后就只需要調(diào)控連接在一起,就可以通過軟件對終端進(jìn)行控制了。
2.3 室內(nèi)環(huán)境控制系統(tǒng)以及其軟件設(shè)計
一個舒適的室內(nèi)環(huán)境是生活的必要條件,那么如何能夠營造出適合所有人的室內(nèi)環(huán)境呢?這里我們就可以通過智能化室內(nèi)環(huán)境控制系統(tǒng)來實現(xiàn)我們的想法。人對環(huán)境的要求也不盡相同,濕度、溫度、氧含量等都是最重要的指標(biāo)。因此智能化室內(nèi)環(huán)境系統(tǒng)必須包含智能化空氣濕度調(diào)節(jié)器,空{(diào),空氣清新器等電器,還要有濕度感應(yīng)器、溫度感應(yīng)器、氧含量感應(yīng)器等各類感應(yīng)器,以及數(shù)據(jù)接收系統(tǒng),單片機(jī)控制系統(tǒng),輸入、輸出系統(tǒng)。
可以通過各個小器件的連接來構(gòu)成智能化控制系統(tǒng)。控制系統(tǒng)在軟件可由不同接口控制,來制定不同按鍵的不同功能。例如室內(nèi)環(huán)境可由加濕、除濕、升溫、降溫、送風(fēng)、開機(jī)、關(guān)機(jī)七個接口,七個按鍵進(jìn)行最基本的控制。我們在軟件上的設(shè)計只需把不同的器件進(jìn)行相應(yīng)的接口連接,然后通過不同的按鍵來產(chǎn)生相應(yīng)指令數(shù)據(jù)進(jìn)行傳輸調(diào)節(jié)控制。我們需要注意的就是如何讓它們在一起運(yùn)行而不會產(chǎn)生不兼容的問題。這些都需要我們在系統(tǒng)模塊設(shè)計連接以及相應(yīng)的軟件開發(fā)過程中解決。
2.4 安保監(jiān)控報警系統(tǒng)以及相應(yīng)的軟件設(shè)計
居家環(huán)境的一個很重要的影響因素就是安全性,這里我們就來說一下安保監(jiān)控報警系統(tǒng)。毫無疑問,居家環(huán)境中安全永遠(yuǎn)是第一位的。安全性因素主要分為外來的和內(nèi)在的兩種。外來的安全性影響因素在安保監(jiān)控報警系統(tǒng)中主要體現(xiàn)在防偷防盜功能上,可通過視頻監(jiān)控報警系統(tǒng)來實現(xiàn)。內(nèi)在的安全性影響因素在安保監(jiān)控報警系統(tǒng)中主要體現(xiàn)在防火防電等功能上,可通過可燃?xì)怏w報警器、煙霧感應(yīng)器等報警裝置來實現(xiàn)。
視頻監(jiān)控系統(tǒng)模塊由視頻采集與編碼、視頻錄像、遠(yuǎn)程傳輸這三部分構(gòu)成。視頻采集與編碼一般采用mp4的壓縮格式,然后對視頻數(shù)據(jù)進(jìn)行緩存,傳輸至 客戶終端進(jìn)行識別驗證。這些緩存的視頻也能讓我們做到對自己家居環(huán)境的實時監(jiān)控,如有偷盜發(fā)生,既能提前進(jìn)行報警,也能留下不法分子的行竊罪證??梢栽O(shè)置軟件程序聯(lián)接至電話上,如遇強(qiáng)行破門破窗而入的情況進(jìn)行識別,智能打電話到110報警電話以及業(yè)主電話上進(jìn)行報警。
報警模塊的軟件設(shè)計主要是由家居內(nèi)布置的各個探測器發(fā)出警報信息,在報警模塊中報警信號分為開、關(guān)兩中情況,系統(tǒng)由探測器的開關(guān)狀態(tài)來決定是否需要報警。由于家居內(nèi)報警探測器眾多,需要對每一個報警探測器進(jìn)行逐一位置編碼,把位置編碼信息輸入到系統(tǒng)控制芯片中,這樣如果系統(tǒng)接到報警信號的輸入,就可以具體定位到哪個報警探測器的位置,也就可以確定需要識別的危險位置在哪兒,然后進(jìn)一步識別分辨處理。家居內(nèi)一般主要有消防報警裝置,可燃?xì)怏w報警裝置等,通過軟件程序的設(shè)置,把報警信號在控制系統(tǒng)中進(jìn)行編寫輸出,智能報警給相關(guān)單位和業(yè)主。
3 總結(jié)
隨著智能化的普及,智能家居理念應(yīng)運(yùn)而生,本文就智能家居控制系統(tǒng)軟件設(shè)計研究展開相關(guān)論述分析。通過上文分別對智能化家居控制系統(tǒng)的特色,以及智能化家居控制系統(tǒng)的各大模塊進(jìn)行介紹分析。主要介紹了照明控制系統(tǒng)、家電控制系統(tǒng)、環(huán)境控制系統(tǒng)、安保監(jiān)控報警系統(tǒng)等模塊,還有對各個控制系統(tǒng)模塊進(jìn)行分析以及各類智能家居控制系統(tǒng)的軟件設(shè)計等方面研究。
參考文獻(xiàn)
[1]張小貝,周鳳星.基于嵌入式控制器和 RS485的智能家居系統(tǒng)[J].電子測量技術(shù),2012,35(08):62-65.
[2]周興中,陳萬林,劉林菊等.基于51單片機(jī)的智能家居監(jiān)測系統(tǒng)硬件設(shè)計[J].計算機(jī)與信息技術(shù),2012(02):12-13,17.
[3]陶莉,黃佩偉,溫細(xì)金.基于RS-485 總線的智能家居系統(tǒng)[J].自動化儀表,2007(11):49-51,54.
[4]姜楠.基于STC89C51紋機(jī)的紅外遙控智能家居系統(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(24):162-164.
[5]余文俊,凌志浩.一種物聯(lián)網(wǎng)智能家居系統(tǒng)的研究[J].自動化儀表,2015,32(08):56-59.
[6]滕海坤,陸二慶.給予 RTSJ的智能家居系統(tǒng)網(wǎng)關(guān)設(shè)計[J].桂林理工大學(xué)學(xué)報,2011,31(01):148-151.
[7]袁敏.給予物聯(lián)網(wǎng)的遠(yuǎn)程智能家居控制系統(tǒng)的設(shè)計[J].制造業(yè)自動化,2012(22):23-24.
[關(guān)鍵詞]構(gòu)件化 軟件 可靠性
隨著計算機(jī)技術(shù)的飛速發(fā)展,軟件已經(jīng)逐漸應(yīng)用到各種安全關(guān)鍵領(lǐng)域,例如航空航天、核電、國防、工業(yè)控制、交通運(yùn)輸、金融等。這類軟件通常都規(guī)模龐大、結(jié)構(gòu)復(fù)雜,對可靠性和安全性有著極高的要求。長期以來,由于此類系統(tǒng)的軟件失效和安全性問題,造成生命財產(chǎn)損失,甚至給環(huán)境造成嚴(yán)重災(zāi)難的事例層出不窮,這就使得軟件的可靠性分析、評估和保障變得尤其重要。
一、軟件構(gòu)件概念
隨著軟件工程的發(fā)展,軟件復(fù)用技術(shù)逐漸成為研究熱點?;跇?gòu)件的軟件開發(fā)(Component-Based Software Development,CBSD)方法 ,改變了傳統(tǒng)的基于“數(shù)據(jù)結(jié)構(gòu)+算法”的開發(fā)模式,提出了基于“構(gòu)件開發(fā)+構(gòu)件組裝”的開發(fā)新思路,使已有成果得以復(fù)用,因而得到了廣大開發(fā)人員的推崇并迅速發(fā)展。軟件構(gòu)件,是指軟件系統(tǒng)中具有相對獨(dú)立功能、可以明確辨識、接口由契約指定、和語境有明顯依賴關(guān)系、可獨(dú)立部署、可組裝的軟件實體。它由接口、實現(xiàn)和部署三大要素構(gòu)成。其中,接口主要解釋構(gòu)件所能完成的功能,實現(xiàn)是讓此構(gòu)件運(yùn)作的代碼,部署是構(gòu)件的存在形式,即為二進(jìn)制代碼或可執(zhí)行文件。
基于構(gòu)件的軟件開發(fā)具有適用范圍廣、重用效率高的特點,其效率的發(fā)揮需要大量標(biāo)準(zhǔn)的構(gòu)件群來支持,這就需要標(biāo)準(zhǔn)統(tǒng)一的構(gòu)件封裝技術(shù)規(guī)格和應(yīng)用于具體領(lǐng)域的大量構(gòu)件。這兩個方面現(xiàn)在是構(gòu)件化發(fā)展的阻礙。構(gòu)件封裝技術(shù)規(guī)格的統(tǒng)一需要資深軟件公司和國際性的軟件機(jī)構(gòu)深化合作、統(tǒng)籌兼顧來制定實用、有效、科學(xué)的標(biāo)準(zhǔn)。領(lǐng)域構(gòu)件群的創(chuàng)建需要學(xué)術(shù)組織和有責(zé)任有遠(yuǎn)見的軟件公司加大投入,深化構(gòu)件化軟件開發(fā)的應(yīng)用,在業(yè)界形成模范作用。而中小型軟件公司應(yīng)該建立自己的構(gòu)件庫,在開發(fā)中盡量應(yīng)用構(gòu)件化軟件開發(fā)方法,總結(jié)經(jīng)驗,為構(gòu)件化時代的到來和繁盛做準(zhǔn)備。有了統(tǒng)一的規(guī)格標(biāo)準(zhǔn)和各個領(lǐng)域豐富的構(gòu)件群,那么構(gòu)件化的開發(fā)將極大提高軟件開發(fā)效率,解決軟件危機(jī)。
二、基于構(gòu)件的軟件開發(fā)過程
基于構(gòu)件的開發(fā),是指將軟件系統(tǒng)的開發(fā)過程看作是在體系結(jié)構(gòu)的指導(dǎo)下,用構(gòu)件組裝方式開發(fā)軟件系統(tǒng)的軟件開發(fā)方法?;跇?gòu)件的軟件開發(fā)過程可以概括為以下四個階段:
1.問題域分析與建模( 問題分析階段)
針對問題描述,通過領(lǐng)域工程的思想,進(jìn)行問題域分析與建模。分析階段的主要任務(wù)是通過對問題域的抽象,區(qū)分出共性問題和變性問題,分析的結(jié)果是將問題域進(jìn)行形式化表示,即建立問題域模型,可采用UML模型來表示。
2.求解域模型設(shè)計( 構(gòu)件設(shè)計階段)
根據(jù)對問題域的分析與建模,可得出求解域模型,即系統(tǒng)的體系結(jié)構(gòu)及系統(tǒng)所需構(gòu)件。對于已存在的、可復(fù)用的構(gòu)件,分析其接口是否需要擴(kuò)展;對于需要新增的構(gòu)件,通過合理的分析及設(shè)計,保證構(gòu)件滿足求解域的要求,并盡可能保構(gòu)件的可復(fù)用性。
3.構(gòu)件開發(fā)及組裝( 系統(tǒng)開發(fā)階段)
從構(gòu)件庫中選取滿足需要的構(gòu)件,擴(kuò)展其接口使之應(yīng)用于當(dāng)前工程;對新開發(fā)的軟件構(gòu)件,不僅應(yīng)該使其應(yīng)用于當(dāng)前工程,還要將其存儲到構(gòu)件庫中,以便復(fù)用。通過組裝得到完整的系統(tǒng),經(jīng)測試后可運(yùn)行。
4.應(yīng)用系統(tǒng)演化( 系統(tǒng)維護(hù)階段)
基于構(gòu)件的應(yīng)用系統(tǒng)的演化實際上是構(gòu)件升級、替換和擴(kuò)充的過程,針對用戶需求或?qū)嶋H運(yùn)行效果進(jìn)行軟件的調(diào)整,以適應(yīng)新的環(huán)境要求。
三、基于構(gòu)件化設(shè)計的軟件可靠性分析
1.可靠性分析基礎(chǔ)
軟件可靠性是指軟件在規(guī)定的時間內(nèi)軟件不失效的概率。構(gòu)件可以自行開發(fā),可以購買商業(yè)構(gòu)件,也可以從相關(guān)領(lǐng)域構(gòu)件庫中獲取。雖然獲取的構(gòu)件一般都有相應(yīng)的可靠性說明,但同一構(gòu)件在不同的軟件系統(tǒng)中所處狀態(tài)不同,其可靠性也需要進(jìn)行重新分析。在基于敏捷開發(fā)的構(gòu)件化軟件實踐中,每一次軟件版本,都是以構(gòu)件測試為基礎(chǔ),用戶必須對各構(gòu)件進(jìn)行使用性測試以發(fā)現(xiàn)軟件失效。小規(guī)模、多版本,使用戶可以在早期發(fā)現(xiàn)軟件中與自己所提的需求不一致的地方,用戶可以持續(xù)地參與到測試中來。用戶通過現(xiàn)場使用并快速反饋,為敏捷團(tuán)隊修正開發(fā)方向提供依據(jù),可以說迭代增量開發(fā)、持續(xù)集成、小版本這些實踐都是自適應(yīng)的。對當(dāng)前版本進(jìn)行現(xiàn)場使用測試,獲得失效數(shù)據(jù)(測試成功與失敗次數(shù)),可獲得該版本可靠性的點估計。
2.可靠性分析
首先,它可以便于設(shè)計開發(fā)者之間相互理解和交流。只要系統(tǒng)是使用某種風(fēng)格或模式的規(guī)范方法來組織,則別的設(shè)計者就很容易理解系統(tǒng)的體系結(jié)構(gòu)。譬如某人把系統(tǒng)描述為“管道—過濾器”模式,則他不必給出細(xì)節(jié),人們立刻明白系統(tǒng)是如何組織起來的,并在腦海中清晰地得到此系統(tǒng)的圖像;
第二,使用軟件體系結(jié)構(gòu)促進(jìn)了設(shè)計的復(fù)用。許多經(jīng)過實踐證明的軟件結(jié)構(gòu)可以用來解決許多相似類型的新問題,這對新軟件的開發(fā)帶來了便利和質(zhì)量保證;
第三,使用軟件體系結(jié)構(gòu)也促進(jìn)了顯著的代碼復(fù)用。對于體系結(jié)構(gòu)中的不變部分,不同的系統(tǒng)可以共同應(yīng)用同一段實現(xiàn)代碼,從而提高了該段代碼的應(yīng)用價值;
第四,使用軟件體系結(jié)構(gòu)的標(biāo)準(zhǔn)風(fēng)格和模式有利于支持互操作性,例如像CORBA這種面向?qū)ο蟮慕Y(jié)構(gòu)和基于事件機(jī)制的工具集成。
總之,使用軟件體系結(jié)構(gòu)的模式有利于軟件開發(fā)者之間的交流和理解,有利于提高軟件設(shè)計實施的效率和質(zhì)量。軟件體系結(jié)構(gòu)的觀念能否成熟到使軟件設(shè)計開發(fā)發(fā)生根本性改變,關(guān)鍵在于各類體系結(jié)構(gòu)、設(shè)計模式的完善和系統(tǒng)化。軟件體系結(jié)構(gòu)設(shè)計中很重要的成就之一就是抽象出了許多常見的軟件系統(tǒng)構(gòu)建模式。這些構(gòu)建模式是軟件系統(tǒng)設(shè)計人員多年工作經(jīng)驗的總結(jié),它們將為軟件設(shè)計的系統(tǒng)分析和設(shè)計工作提供豐富的參考資料。
軟件體系結(jié)構(gòu)的選擇往往成為一個系統(tǒng)設(shè)計成敗的關(guān)鍵。人們在開發(fā)研制軟件的長期實踐中積累總結(jié)了許多成功的經(jīng)驗。不同類型的功能需要不同類型的構(gòu)件實現(xiàn)。
參考文獻(xiàn):
[1]楊芙清,梅宏. 構(gòu)件化軟件設(shè)計與實現(xiàn)[M]. 北京 :清華大學(xué)出版社,2008.
關(guān)鍵詞:軟件;抽??;需求
信息化產(chǎn)業(yè)經(jīng)過幾十年的發(fā)展和建設(shè),正逐步從最初的用于解決局部問題的小型或簡單軟件,向復(fù)雜、成體系、網(wǎng)絡(luò)化的企業(yè)級系統(tǒng)擴(kuò)展。軟件系統(tǒng)的構(gòu)成不再只是模塊,越來越多的是功能構(gòu)件和子系統(tǒng),使軟件系統(tǒng)成為“系統(tǒng)的系統(tǒng)”,或叫復(fù)雜系統(tǒng)。如何構(gòu)建可擴(kuò)充、可裁剪、可生長的滿足企業(yè)應(yīng)用的大型軟件系統(tǒng),已成為軟件業(yè)研究的重要課題之一。其中,復(fù)雜系統(tǒng)的結(jié)構(gòu)設(shè)計是人們最關(guān)注的核心問題。
1 軟件設(shè)計的需求分析
軟件通常是因需求才進(jìn)行設(shè)計開發(fā),由用戶方從解決業(yè)務(wù)問題的角度提出,均以專業(yè)的術(shù)語或事務(wù)性的語言描述。高質(zhì)量、清晰準(zhǔn)確的需求描述,可有效約束軟件系統(tǒng)的結(jié)構(gòu)設(shè)計和功能定位。邊緣清晰、描述規(guī)范的要求,會在一定程度上降低軟件設(shè)計和開發(fā)的成本,提高軟件質(zhì)量和開發(fā)效率。但是,需求的成長和變化,往往伴隨軟件的整個開發(fā)過程,這種現(xiàn)狀使得軟件設(shè)計的難度不斷增加,程序開發(fā)也從傳統(tǒng)的開發(fā)方法向敏捷編程轉(zhuǎn)化。
用戶基于一定的業(yè)務(wù)需要提出需求,通常不能直接指導(dǎo)軟件的開發(fā),只有經(jīng)過軟件設(shè)計者的分析提取,通過規(guī)范的技術(shù)語言描述,形成面向軟件開發(fā)者的需求規(guī)格說明,才能指導(dǎo)軟件的研制。抽取需求是軟件設(shè)計師必須完成的工作,傳統(tǒng)的需求抽取方法一般包括面談、問卷、觀察和業(yè)務(wù)文檔研究等,這些方法簡單、成本低,對業(yè)務(wù)邏輯清晰、封閉性較好的需求比較適合,而對復(fù)雜且很難封閉的需求,采用傳統(tǒng)的抽取方法,則風(fēng)險很大。在軟件開發(fā)領(lǐng)域,需求抽取方法有原型法、聯(lián)合應(yīng)用開發(fā)法和快速應(yīng)用開發(fā)法三種。
1.1 原型法
通過構(gòu)造軟件演示系統(tǒng),即根據(jù)理解的需求,建立一個快速而粗糙的工作模型,由可視化方法獲得用戶的反饋。
1.2 聯(lián)合應(yīng)用開發(fā)法
是將領(lǐng)導(dǎo)、用戶、開發(fā)人員、系統(tǒng)設(shè)計師等召集起來通過會議的方式,集中所有人的智慧,對要求進(jìn)行分析抽取。
1.3 快速應(yīng)用開發(fā)法
就是集前兩種方法,加上最優(yōu)方案的系統(tǒng)研制而進(jìn)行的一種需求抽取方法,是一種快速軟件開發(fā)方法。
以上是目前常被采用的需要抽取方法,但對于系統(tǒng)分析員或系統(tǒng)設(shè)計師來說,無論采用哪種方法,都必須面臨提取關(guān)鍵需求、判斷需求增長點和發(fā)展方向的問題。
2 需求分析對系統(tǒng)體系結(jié)構(gòu)設(shè)計的影響
2.1 抽取影響軟件結(jié)構(gòu)的需求,是需求分析的核心
關(guān)鍵需求是軟件結(jié)構(gòu)設(shè)計的核心,而提取關(guān)鍵需求是軟件結(jié)構(gòu)設(shè)計師必備的技能。以一個數(shù)據(jù)錄入軟件為例,一般需要提供一個交互式界面,由用戶鍵入所需數(shù)據(jù),提交存儲到文件或數(shù)據(jù)庫里即可。但用戶要求錄入的數(shù)據(jù)項,應(yīng)能隨著業(yè)務(wù)的不斷變化而進(jìn)行增加或刪減,可多人同時進(jìn)行錄入。同時,要求對存儲的數(shù)據(jù)按照需要的方式進(jìn)行查詢調(diào)閱,甚至進(jìn)行一定的復(fù)合計算或評估分析等。對于這樣的需求,錄入項不斷變化、多人同時操作、存儲要求等都是核心元素,這些元素將直接影響軟件結(jié)構(gòu)的設(shè)計。軟件設(shè)計應(yīng)考慮分布式并發(fā)機(jī)制和大量的數(shù)據(jù)存儲訪問要求。這些需求均與功能無關(guān),但會影響軟件結(jié)構(gòu)的設(shè)計。數(shù)據(jù)庫訪問相關(guān)的軟件,一般采用傳統(tǒng)的C/S結(jié)構(gòu)。當(dāng)用戶增加到一定量時,該結(jié)構(gòu)會導(dǎo)致數(shù)據(jù)庫服務(wù)器負(fù)載加重,甚至系統(tǒng)崩潰。為了適應(yīng)這種變化,應(yīng)采用多層結(jié)構(gòu),將用戶操作與數(shù)據(jù)存儲進(jìn)行分離。采用多層結(jié)構(gòu),不僅可以緩解數(shù)據(jù)庫服務(wù)訪問壓力,還能降低數(shù)據(jù)庫變化給用戶操作帶來的影響。錄入項的變化需求,潛在地存在著數(shù)據(jù)項擴(kuò)充、界面調(diào)整等功能要求。一般情況下,完全適應(yīng)這種變化的軟件很難設(shè)計。為此,可把錄入項作為配置要素,界面設(shè)計和數(shù)據(jù)存儲項根據(jù)配置項進(jìn)行定制,應(yīng)用服務(wù)層要在接口設(shè)計上考慮數(shù)據(jù)項的擴(kuò)充能力。具有這類需求的軟件,一般由界面構(gòu)造工具、錄入界面、應(yīng)用服務(wù)軟件和數(shù)據(jù)庫服務(wù)器構(gòu)成。
在抽取關(guān)鍵需求的過程中,抽取與業(yè)務(wù)無關(guān)的需求非常重要?!芭c業(yè)務(wù)無關(guān)”指支撐業(yè)務(wù)功能運(yùn)行且與業(yè)務(wù)處理邏輯無關(guān)的功能。傳輸服務(wù)是典型的與業(yè)務(wù)無關(guān)的功能,在任意基于網(wǎng)絡(luò)運(yùn)行的軟件中,不可避免的需要信息傳輸功能的支持。抽取與業(yè)務(wù)無關(guān)的需求,需要分析人員有豐富的軟件設(shè)計經(jīng)驗,這種公共需求的抽取,有利于開發(fā)過程中軟件的重用,可降低開發(fā)成本。
2.2 關(guān)注需求中與規(guī)模發(fā)展相關(guān)的因素
軟件設(shè)計應(yīng)用規(guī)模的發(fā)展速度,是軟件結(jié)構(gòu)設(shè)計時應(yīng)考慮的主要需求之一。規(guī)模是考驗軟件支撐能力的主要因素。規(guī)模的發(fā)展可能是用戶量的膨脹,也可能是數(shù)據(jù)量的迅猛增長,或兩者都有。軟件能力的成長性設(shè)計,通常會使開發(fā)付出代價,這是由于一方面在設(shè)計初期沒有考慮這種成長性,導(dǎo)致設(shè)計失?。涣硪环矫?,雖然考慮了成長性,但由于軟件復(fù)雜度的增大,增加了開發(fā)成本和風(fēng)險。因此,對并發(fā)和負(fù)載的設(shè)計,應(yīng)在設(shè)計之前就要給予充分考慮。
2.3 捕捉需求的變化方向
確定需求的增長點是考驗軟件適應(yīng)能力的關(guān)鍵。需求的變化和調(diào)整是客觀存在的,軟件設(shè)計者分析需求時,應(yīng)考慮到需求中可能存在的變化點或變化趨勢,以提高軟件的適應(yīng)能力和成長能力。需求的增長點通常隱含在企業(yè)發(fā)展和技術(shù)發(fā)展中,一類是業(yè)務(wù)發(fā)展引起的工作流變化或增長。這種軟件結(jié)構(gòu)應(yīng)具備新業(yè)務(wù)處理軟件的集成能力;一類是業(yè)務(wù)轉(zhuǎn)向。原有的業(yè)務(wù)處理軟件不能滿足轉(zhuǎn)向后的業(yè)務(wù)處理要求,存在改造、裁剪、新增能力等潛在需求。軟件結(jié)構(gòu)還應(yīng)具備可裁剪、可擴(kuò)充的能力,否則將會造成巨大的經(jīng)濟(jì)損失。
抓住需求的變化點,設(shè)計合適的體系結(jié)構(gòu),可增強(qiáng)軟件的生命力。面對需求多變的現(xiàn)實,降低結(jié)構(gòu)的耦合度是有效緩解軟件適應(yīng)能力的方法之一。但是,降低耦合度一般會帶來效率或系統(tǒng)復(fù)雜度的上升。因此,小型軟件選擇這種方法應(yīng)慎重。(下轉(zhuǎn)第16頁)(上接第13頁)
綜上所述,設(shè)計滿足需求的軟件結(jié)構(gòu),重點關(guān)注的是功能,而設(shè)計適應(yīng)需求變化的軟件結(jié)構(gòu),關(guān)注的往往是非功能性需求,這需要系統(tǒng)設(shè)計師除了具備豐富的經(jīng)驗和敏銳的洞察力外,還應(yīng)花大量的時間和精力同用戶不斷溝通與交流,從中獲取最需要的需求,以支持軟件整體結(jié)構(gòu)的設(shè)計。
參考文獻(xiàn):
關(guān)鍵詞:軟件成本估算;專家輔助系統(tǒng);框架;裝備軟件;開發(fā)需求
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-2374(2009)17-0041-02
進(jìn)行準(zhǔn)確的裝備軟件成本估算是保證裝備軟件開發(fā)順利進(jìn)行的關(guān)鍵和必要手段,也是保證裝備采購人員能夠?qū)ρb備軟件進(jìn)行準(zhǔn)確定價,避免軍費(fèi)浪費(fèi)。但是,當(dāng)前對裝備軟件成本估算的手段單一,方法不多,不夠精確。在裝備軟件的估算過程中,由于裝備軟件開發(fā)過程的諸多不確定性,導(dǎo)致在估算過程中必須要有具備深厚專業(yè)知識的專家人員,但是在產(chǎn)品開發(fā)的實際中,這種專業(yè)深厚的高水平專家人員比較少,完全依靠領(lǐng)域?qū)<襾磉M(jìn)行估算成本代價太高,不切實際。因此,設(shè)想開發(fā)一套裝備軟件成本估算專家輔助系統(tǒng),用于在開發(fā)過程中對裝備軟件的項目時間、成本進(jìn)行估算,解決缺乏專業(yè)領(lǐng)域?qū)<胰藛T的情況下對裝備軟件進(jìn)行估算。估算人員只需要輸入開發(fā)軟件的相關(guān)信息或者整個軟件編碼,經(jīng)過系統(tǒng)的匹配和綜合的估算,把估算結(jié)果顯示于界面上,方便快捷。如圖1所示:
一、開發(fā)背景
當(dāng)前,裝備軟件成本估算主要存在估算的方法有限,精確度不夠,直接影響了裝備軟件的設(shè)計開發(fā)和增加了采購成本。主要表現(xiàn)在兩個方面:
1、裝備軟件的設(shè)計開發(fā)主要是依據(jù)軍方立項,通過國家指定的軍品生產(chǎn)廠方,依據(jù)確定的標(biāo)準(zhǔn)和要求進(jìn)行的。但是大多數(shù)承制方缺乏專業(yè)領(lǐng)域知識深厚的專家,并且,裝備軟件的設(shè)計開發(fā)缺乏市場競爭,參與的企業(yè)少,規(guī)范的軟件生產(chǎn)企業(yè)不多,對設(shè)計開發(fā)過程中的裝備軟件成本估算不足,因而直接影響了裝備軟件開發(fā)的順利進(jìn)行和產(chǎn)品質(zhì)量。
2、在軍方采購人員中,大部分人員是軍校畢業(yè)后直接進(jìn)入采購部門工作,既沒有經(jīng)過專業(yè)的理論培訓(xùn)也沒有相關(guān)領(lǐng)域的經(jīng)驗,對軟件的成本估算只懂皮毛甚至不懂,大部分是按照國家關(guān)于軍品的微利補(bǔ)貼原則,以承制方的價格為基礎(chǔ)進(jìn)行采購,這樣條件下的采購無疑是帶有較大的盲目性,難以避免對軍費(fèi)的浪費(fèi)。因此,如果能設(shè)計一套專家輔助系統(tǒng),其意義較重大。
二、設(shè)想理論框架
裝備軟件成本估算專家輔助系統(tǒng)理論框架主要由兩個部分組成。一個是存儲各種算法和估算標(biāo)準(zhǔn)的數(shù)據(jù)庫。該數(shù)據(jù)庫由算法知識庫、歷史模型庫、儲存比較庫、智能估算執(zhí)行庫組成。算法知識庫主要是對當(dāng)前各種關(guān)于裝備軟件成本估算的算法進(jìn)行編程存檔(LOG法、Delphi法、經(jīng)驗類比法、功能點估計法、COCOMO法等),主要提供給智能執(zhí)行庫的估算模型原則。歷史模型庫主要存儲許多歷史經(jīng)典裝備軟件模型,收集盡可能多的模型,為估算軟件提供近似匹配依據(jù)。智能估算執(zhí)行庫主要是完成對輸入的估算程序調(diào)用算法知識庫中的各種算法進(jìn)行估算,同時對裝備軟件進(jìn)行歷史模型匹配,得到近似估算值,儲存結(jié)果比較庫主要是把各種估算結(jié)果存儲下來并根據(jù)智能執(zhí)行庫的指令進(jìn)行比較,最后對估算值進(jìn)行按預(yù)定比例系數(shù)進(jìn)行加權(quán)處理,得到最終估算結(jié)果經(jīng)傳輸設(shè)備傳出。另一個框架就是操作系統(tǒng)和人機(jī)交換框架,主要是操作系統(tǒng)對第一個框架內(nèi)的各種數(shù)據(jù)進(jìn)行維護(hù)管理,科學(xué)地組織和存儲數(shù)據(jù),高效地獲取和維護(hù)數(shù)據(jù),準(zhǔn)確的物理尋址,并及時對數(shù)據(jù)進(jìn)行更新,用戶通過人機(jī)交互界面與系統(tǒng)打交道,把要估算的裝備軟件信息或者編碼輸入進(jìn)計算機(jī),調(diào)用第一個框架內(nèi)的數(shù)據(jù),獲取知識,并進(jìn)行推理,得到解釋,并對數(shù)據(jù)庫進(jìn)行維護(hù),并把估算結(jié)果顯示出來。
三、開發(fā)人員框架
裝備軟件成本估算專家輔助系統(tǒng)的功能是完成對裝備軟件的成本估算,主要為解決廠方在進(jìn)行軟件項目開發(fā)時對軟件成本的預(yù)算不準(zhǔn)和軍方在采購過程中對裝備軟件的知識不深厚導(dǎo)致對其成本估算不準(zhǔn)確。在開發(fā)這個系統(tǒng)需要四類人員參與才能完成開發(fā)。第一類就是眾多領(lǐng)域?qū)<疫M(jìn)行知識收集和整理,建立各種算法和模型;第二類就是知識工程師進(jìn)行知識建模、形式化、編輯以及語法檢查;第三類是開發(fā)軟件工程師根據(jù)系統(tǒng)的目的和已建模型進(jìn)行系統(tǒng)設(shè)計和調(diào)試;第四類是最終用戶對系統(tǒng)進(jìn)行軟件成本估算。如圖2所示:
四、開發(fā)需求
裝備軟件成本估算專家輔助系統(tǒng)首先要對目標(biāo)用戶的要求做出準(zhǔn)確定位。即:裝備軟件成本估算專家輔助系統(tǒng)主要是供給廠方在進(jìn)行裝備軟件項目開發(fā)和軍方在對裝備軟件采購定價時用,因此,對廠方和軍方最需要了解的是裝備軟件成本的組成和估算精確度的問題。由此可以確定該系統(tǒng)要達(dá)到的要求,以及用什么方式實現(xiàn)這些要求,這就需要組織大量的專業(yè)領(lǐng)域?qū)<疫M(jìn)行論證和算法研究及建模,收集更多的歷史模型,方便地對模型進(jìn)行建模管理、存取管理、運(yùn)行管理、模型組合,能方便地對知識進(jìn)行插入、修改、更新、查詢等,及時對數(shù)據(jù)庫進(jìn)行維護(hù)和更新。
五、工作過程
首先,由眾多領(lǐng)域?qū)<疫M(jìn)行知識的收集整理,進(jìn)行各種算法的研究探討,并對算法進(jìn)行驗證可行,此過程也稱為抽象的過程;在此基礎(chǔ)上,由知識工程師根據(jù)領(lǐng)域?qū)<业母鞣N算法進(jìn)行數(shù)學(xué)建模,成為可以理論計算的模型,此過程就是把抽象到具體的過程;然后,由軟件開發(fā)工程師根據(jù)已有的數(shù)學(xué)模型進(jìn)行計算機(jī)編程,成為計算機(jī)可執(zhí)行的程序編碼并存儲與計算機(jī)內(nèi),此過程就是把具體到應(yīng)用的過程;在前三個過程結(jié)束后,實際工作中的用戶只需要將相關(guān)信息輸入進(jìn)計算機(jī)便可以進(jìn)行成本的估算了。用該系統(tǒng)進(jìn)行成本估算主要有兩種工作方式:一種是廠方進(jìn)行裝備軟件項目的開發(fā)設(shè)計時,主要對該軟件項目的成本進(jìn)行預(yù)算;一種是針對軍方采購人員進(jìn)行采購是便于對裝備軟件的定價而進(jìn)行成本估算??偟膩碚f其原理是一樣的。用戶把需要估算的軟件相關(guān)信息或者整個程序編碼輸入計算機(jī),通過操作系統(tǒng)把相關(guān)信息傳輸?shù)街悄軋?zhí)行庫,智能執(zhí)行庫根據(jù)接收到的相關(guān)信息進(jìn)行分項估算,調(diào)用算法庫中的相關(guān)算法結(jié)合相關(guān)的信息進(jìn)行估算,把估算的結(jié)果存儲在存儲比較庫中暫存,再根據(jù)歷史模型庫中的模型匹配進(jìn)行概算,得到的結(jié)果也存儲于存儲比較庫中暫存,最后智能執(zhí)行庫根據(jù)存儲比較庫中的暫存數(shù)據(jù)進(jìn)行加權(quán)平均計算,將最后優(yōu)算得結(jié)果經(jīng)操作系統(tǒng)的指令直接傳出到人機(jī)交互界面,供給用戶參考。
六、結(jié)語
成本估算專家輔助系統(tǒng)的主旨是在缺乏專業(yè)領(lǐng)域?qū)<胰藛T的情況下,便于裝備軟件在開發(fā)設(shè)計時能準(zhǔn)確對其成本進(jìn)行預(yù)算和在采購時便于對裝備軟件定價而進(jìn)行估算。文章中的理論框架為軟件設(shè)計提供了清晰的結(jié)構(gòu),是開發(fā)裝備軟件成本估算專家輔助系統(tǒng)的基礎(chǔ)。開發(fā)裝備軟件成本估算專家輔助系統(tǒng)在理論框架、人員框架、開發(fā)需求的指導(dǎo)下,通過詳細(xì)設(shè)計、數(shù)據(jù)庫設(shè)計、編碼實現(xiàn)、測試等過程實現(xiàn)系統(tǒng)全部功能。開發(fā)該系統(tǒng)之前需要大量的工作才能完成,但是一旦該系統(tǒng)設(shè)計開發(fā)完成后,將對實際工作過程中具有重要現(xiàn)實意義。文中提出的框架結(jié)構(gòu)和開發(fā)需求對于裝備軟件成本估算以及裝備軟件成本估算專家輔助系統(tǒng)設(shè)計研究具有很好的指導(dǎo)作用。
參考文獻(xiàn)
[1]張家浩,白思俊,軟件項目管理[M]機(jī)械工業(yè)出版社,2005
[2]李幟,林立新,曹亞波,功能點分析方法與實踐,北京:清華大學(xué)出版社,2005
[4]任永昌,趙穎應(yīng)用COCOMOI模型估算軟件開發(fā)工作量渤海大學(xué)學(xué)報(自然科學(xué)版),2007,23(3)