丁斌
摘要:本文探討了配置管理的主要活動(dòng)與主要功能,研究分析了基于復(fù)用的軟件開發(fā),以實(shí)現(xiàn)對(duì)軟件開發(fā)過程的科學(xué)管理。
關(guān)鍵詞:軟件開發(fā);復(fù)用;配置管理
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2018)12-0148-01
常言道:“工欲善其事,必先利其器”。軟件配置管理作為一項(xiàng)非常復(fù)雜的工作,僅僅依靠手工是不現(xiàn)實(shí)的,而且又與整個(gè)軟件的開發(fā)活動(dòng)緊密相關(guān),因此,在實(shí)際工作中為其配備相應(yīng)的工具作為輔助是非常有必要的。
1 配置管理的主要活動(dòng)
立足于配置管理的本質(zhì),配置管理主要包括以下四種活動(dòng):識(shí)別配置、變化控制、狀態(tài)記錄和報(bào)告、審計(jì)。識(shí)別配置指的是通過找出所需要管理的中間產(chǎn)品(程序和文檔),確保它們?cè)谂渲霉芾淼目刂品秶畠?nèi),同時(shí)對(duì)它們之間的相關(guān)關(guān)系進(jìn)行維護(hù);變化控制,是指記錄變化的有關(guān)信息,進(jìn)而有效控制軟件產(chǎn)品的質(zhì)量;狀態(tài)記錄和報(bào)告,實(shí)際上是指通過記錄和熟悉每一個(gè)配置的變化狀態(tài)后,實(shí)現(xiàn)對(duì)整個(gè)軟件變化過程的記錄和報(bào)告;關(guān)于審計(jì),指的是利用配置記錄驗(yàn)證軟件達(dá)到了預(yù)期的要求。
2 配置管理工具的主要功能
配置管理工具主要是圍繞以上四種活動(dòng),針對(duì)這四方面的功能,也是配置管理的基本功能,許多配置管理工具還提供一些基于基本功能的軟件開發(fā)支持,過程管理因此成為了配置管理的功能之一。對(duì)于配置管理工具,其有以下主要功能[1]:
2.1 配置支持
配置是一組中間軟件產(chǎn)品,同時(shí)每一個(gè)產(chǎn)品都是一個(gè)配置項(xiàng),具有相同的目的。通過配置管理所提供的支持,用戶能夠?qū)崿F(xiàn)對(duì)配置項(xiàng)間各種關(guān)系的建立和維護(hù),不僅促進(jìn)了某些特定任務(wù)的完成,而且有利于標(biāo)識(shí)某一變化對(duì)整個(gè)系統(tǒng)開發(fā)的影響。
2.2 版本控制
版本控制是管理在整個(gè)軟件生存周期只能夠建立起來的某一配置項(xiàng)的不同版本。在軟件工程中所涉及的軟件對(duì)象均要予以標(biāo)識(shí)。無論在對(duì)象成為基線之前和之后,均可能需要進(jìn)行頻繁的變更,因此每一個(gè)配置項(xiàng)都可以建立演變圖。
2.3 變更控制
變更控制是指將一套自動(dòng)工具與人為的變動(dòng)進(jìn)行相結(jié)合,建立一套機(jī)制,實(shí)現(xiàn)對(duì)軟件配置項(xiàng)修改有意識(shí)的控制,從而避免在軟件開發(fā)中由于盲目修改所引起的混亂。在修改控制過程中,還要對(duì)項(xiàng)目數(shù)據(jù)庫的訪問控制和同步控制引起注意,其也是確保項(xiàng)目數(shù)據(jù)庫完整、一致以及安全的基本要求。
2.4 創(chuàng)建支持
軟件系統(tǒng)一般是由多個(gè)配置項(xiàng)組成的,建立整個(gè)系統(tǒng)的過程是非常繁瑣和耗時(shí)的,而配置管理工具可以實(shí)現(xiàn)對(duì)每個(gè)配置項(xiàng)信息的記錄和追蹤,確保用戶在更短的時(shí)間內(nèi)建立系統(tǒng)。通過結(jié)合版本控制,能夠有效地支持同時(shí)開發(fā)系統(tǒng)的多個(gè)版本。
2.5 其它功能
除了上述的主要功能外,配置管理還可以提供以下功能,包括:過程支持、團(tuán)隊(duì)支持、權(quán)限控制、審計(jì)控制、報(bào)告/查詢、人員管理和配置庫管理等。
3 基于復(fù)用的軟件開發(fā)
伴隨著軟件規(guī)模的進(jìn)一步擴(kuò)大,人們對(duì)于更高質(zhì)量和生產(chǎn)效率的軟件需求也逐步增長(zhǎng),研究人員在此方面也做出了很多努力。現(xiàn)階段,經(jīng)過不斷的驗(yàn)證,軟件復(fù)用可以針對(duì)以上等問題予以有效解決[2]。
3.1 基于復(fù)用的軟件開發(fā)模型
基于復(fù)用的軟件開發(fā)主要含有兩方面:第一,開發(fā)可復(fù)用構(gòu)件;第二,利用可復(fù)用構(gòu)件進(jìn)行開發(fā)。開發(fā)可復(fù)用構(gòu)件,是指將可復(fù)用的構(gòu)件直接開發(fā)出來,或者將之前的軟件產(chǎn)品改造成可復(fù)用的構(gòu)件,這些構(gòu)件具有較高的可復(fù)用價(jià)值;利用可復(fù)用構(gòu)件進(jìn)行開發(fā),指的是在可復(fù)用構(gòu)件原有的基礎(chǔ)上,構(gòu)建應(yīng)用系統(tǒng),并且要確保復(fù)用已有構(gòu)件的質(zhì)量更優(yōu)。
3.2 開發(fā)可復(fù)用構(gòu)件
在開發(fā)軟件的過程中,復(fù)用通常會(huì)被大部分軟件人員所忽略,這使得最終所生產(chǎn)的產(chǎn)品只具有微弱的可復(fù)用性。例如:大多數(shù)程序只被允許在規(guī)定的環(huán)境中運(yùn)行,而程序模塊的調(diào)用關(guān)系五花八門,不僅缺乏標(biāo)準(zhǔn)的接口,而且獨(dú)立性和封裝性較差,因此導(dǎo)致后期項(xiàng)目開發(fā)的復(fù)用受到很大的影響。因此,關(guān)于復(fù)用的軟件開發(fā)中必須要要抓住重點(diǎn),通過對(duì)復(fù)用性進(jìn)行改良,從而改造成可復(fù)用性較高的構(gòu)件產(chǎn)品。對(duì)于構(gòu)件開發(fā)而言,領(lǐng)域工程占據(jù)重要的位置,其主要思想,是針對(duì)某一領(lǐng)域中所存在的眾多系統(tǒng)進(jìn)行分析,實(shí)現(xiàn)這些相似系統(tǒng)之間的對(duì)比,尋找出該領(lǐng)域中存在的實(shí)體、操作以及關(guān)系,然后通過抽象,改造成可復(fù)用的構(gòu)件。
3.3 利用可復(fù)用構(gòu)件進(jìn)行開發(fā)
傳統(tǒng)的軟件開發(fā)者通常要從零開始,而基于復(fù)用的軟件開發(fā)者則不需要,比如:不用重新編寫所有的程序代碼。其可以使用構(gòu)件庫中現(xiàn)有的構(gòu)件,構(gòu)建相應(yīng)的軟件系統(tǒng)即可。采取構(gòu)件進(jìn)行開發(fā)主要包括以下環(huán)節(jié):
(1)構(gòu)件提取。目前,考慮到軟件構(gòu)件的復(fù)雜性,在提取軟件信息時(shí),要進(jìn)行配置管理,同時(shí)為了防止軟件出現(xiàn)數(shù)據(jù)丟失,必須要嚴(yán)格管理軟件數(shù)據(jù)庫,從而確保軟件程序的完整性。為此,軟件開發(fā)人員針對(duì)構(gòu)件儲(chǔ)存和提取必須要科學(xué)管理,提高對(duì)軟件配置管理重要性的重視,結(jié)合實(shí)際,針對(duì)不同的構(gòu)件,采取相應(yīng)的配置管理方式,有助于后期對(duì)軟件中數(shù)據(jù)的提取,儲(chǔ)存完整的信息,同時(shí)實(shí)現(xiàn)對(duì)軟件的質(zhì)量以及各個(gè)功能的快速查詢,這對(duì)于軟件整理功能和數(shù)據(jù)信息方面有著很大的幫助,提升了在數(shù)據(jù)庫中提取構(gòu)件的效率,在軟件儲(chǔ)存中也更加嚴(yán)密,避免發(fā)生信息泄露,同時(shí)也意味著配置管理軟件中的構(gòu)件極其重要,從而提高儲(chǔ)存構(gòu)件的完整性。(2)構(gòu)件的適應(yīng)性修改。通常情況下,復(fù)用者很難滿意所提取出來的構(gòu)件,需要通過評(píng)估兩者的差距與區(qū)別,然后對(duì)構(gòu)件進(jìn)行修改,最終滿足要求。構(gòu)件的適應(yīng)性修改主要包含三個(gè)方面:選擇、修改和集成,其中修改最為重要。站在復(fù)用的角度來看,復(fù)用構(gòu)件的代價(jià)是不可以高過重新開發(fā)的代價(jià),因此,對(duì)于復(fù)用而言,減少構(gòu)件修改的代價(jià)極其重要,越低越好。(3)構(gòu)件組裝。在獲得需要的構(gòu)件后,接下來則是組裝構(gòu)件。根據(jù)要求,構(gòu)件組裝通常可以將小粒度的構(gòu)件先組裝成大粒度的構(gòu)件,進(jìn)而組裝成整個(gè)系統(tǒng),而并不是直接組裝成應(yīng)用系統(tǒng)的。
3.4 軟件開發(fā)環(huán)境對(duì)軟件復(fù)用的支持
基于復(fù)用的軟件開發(fā),與軟件開發(fā)環(huán)境的支持息息相關(guān)。在其支持下,各種復(fù)用工具和開發(fā)工具集成一個(gè)系統(tǒng),同時(shí)這些復(fù)用工具可以彼此間進(jìn)行調(diào)用。關(guān)于協(xié)調(diào),軟件開發(fā)環(huán)境中除了提供通訊與并發(fā)控制,加強(qiáng)了復(fù)用者之間的協(xié)調(diào)性;而且為復(fù)用者創(chuàng)造了高效便捷的界面。配置管理作為熱點(diǎn),不僅在軟件工程環(huán)境中很重要,而且在基于復(fù)用的軟件開發(fā)過程中發(fā)揮了極其關(guān)鍵的作用。
4 結(jié)語
總而言之,在軟件的開發(fā)過程中,對(duì)軟件要實(shí)施配置管理,主要內(nèi)容為在進(jìn)行軟件修改時(shí),要進(jìn)行配置管理,以減少修改軟件的頻率,同時(shí)針對(duì)軟件內(nèi)部不完整之處進(jìn)行及時(shí)修復(fù)。針對(duì)不同性能的軟件來設(shè)計(jì)軟件配置的權(quán)限,與此同時(shí),為了發(fā)揮出軟件的功能,必須對(duì)所有開發(fā)出的軟件實(shí)行統(tǒng)一配置審核,將不達(dá)標(biāo)的軟件排除,保證每個(gè)軟件的完整性和實(shí)用性,從而體現(xiàn)出軟件配置管理的具有重要意義。
參考文獻(xiàn)
[1]楊一平,馬慧.軟件工程與軟件能力成熟度的融合[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012(2):6-8.
[2]嚴(yán)曉光,陳曼煜.軟件配置管理的問題、目的、層次和策略[J].計(jì)算機(jī)工程與科學(xué),2009(5):90-92.
Configuration Management in Software Development Based on Reuse
DING Bin
(Guangzhou Huarui Technology Co., Ltd. , Guangzhou Guangdong? 510700)
Abstract:This paper discusses the main activities and functions of configuration management, studies and analyses software development based on reuse, in order to realize the scientific management of software development process.
Key words:software development; reuse; configuration management