張瑜
【摘 ? ?要】隨著經(jīng)濟(jì)的飛速發(fā)展以及經(jīng)濟(jì)全球化的影響加深,世界經(jīng)濟(jì)體已經(jīng)逐步互聯(lián)互通,而這種互聯(lián)互通本質(zhì)是建立在計(jì)算機(jī)網(wǎng)絡(luò)上的,而計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展離不開(kāi)計(jì)算機(jī)硬件和軟件的共同作用,其中計(jì)算機(jī)軟件的發(fā)展更是離不開(kāi)客戶的需求。在當(dāng)今市場(chǎng)起資源配置決定性作用的中國(guó)市場(chǎng),我們更意識(shí)到了客戶需求的重要性和與時(shí)俱進(jìn)的緊迫性,所以我們要不斷加強(qiáng)理論知識(shí)的學(xué)習(xí),更努力與市場(chǎng)接軌,積極的融入到最新的計(jì)算機(jī)軟件市場(chǎng)中。
【關(guān)鍵詞】計(jì)算機(jī) ?軟件 ?開(kāi)發(fā) ?用戶需求 ?編碼
中圖分類號(hào):G4 ? ?文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.3969/j.issn.1672-0407.2015.01.149
在最近的實(shí)踐課程中,我深刻地意識(shí)到計(jì)算機(jī)軟件工程的實(shí)現(xiàn)需要團(tuán)隊(duì)協(xié)作,這可謂重中之重。軟件是能夠完成預(yù)定功能和性能的可執(zhí)行的計(jì)算機(jī)程序和使程序正常執(zhí)行所需要的數(shù)據(jù),加上描述程序的操作和使用的文檔。從頂層設(shè)計(jì)到文檔框架形成,到具體功能模塊的實(shí)現(xiàn)以及功能的疊加和調(diào)用,再到最終具體程序的編寫(xiě)與調(diào)試,還要回歸最終的框架和文檔,這是一個(gè)合作和分工相互滲透、相互貫通且不可分離、不可替代的過(guò)程。其中,不同的小模塊的作用又是獨(dú)立的,這就可以提高模塊的重用率,減少不必要的勞動(dòng)。當(dāng)然,這個(gè)過(guò)程還需要有經(jīng)驗(yàn)的組織者,有靈感的設(shè)計(jì)者和熟練的編程人員,更需要協(xié)調(diào)的管理和明確的分工。
在具備了符合以上要求的團(tuán)隊(duì)的條件下,一個(gè)具有完全功能和實(shí)用價(jià)值的軟件才可以開(kāi)始著手準(zhǔn)備。一個(gè)軟件從定義到開(kāi)發(fā)、使用、維護(hù),直到最終被棄用,要經(jīng)歷一個(gè)漫長(zhǎng)的時(shí)期,通常我們把軟件經(jīng)歷的這個(gè)漫長(zhǎng)的時(shí)期稱為生存周期。并且,我們把這整個(gè)軟件的生存周期劃分為若干階段,明確每個(gè)階段的任務(wù),不斷擴(kuò)大規(guī)模,使得結(jié)構(gòu)復(fù)雜和管理復(fù)雜的軟件開(kāi)發(fā)變的容易控制和管理。生存周期的幾個(gè)階段中,其中,最基礎(chǔ)的也是第一位的階段就是問(wèn)題的定義及規(guī)劃,這一步是我們軟件開(kāi)發(fā)方和客戶方之間的共同商討,明確軟件的開(kāi)發(fā)目標(biāo)及可行性分析。[1]在這個(gè)階段,我們一般會(huì)按照經(jīng)驗(yàn)和軟件開(kāi)發(fā)的主要模型提出幾套方案,并根據(jù)各項(xiàng)預(yù)算進(jìn)行篩選,再對(duì)比相關(guān)模型,對(duì)具體項(xiàng)目進(jìn)行可行性分析,鎖定該工程的大體方向和目標(biāo)。
接下來(lái)至關(guān)重要的就是需求分析,這也是在整個(gè)軟件周期中需要一直遵循的最根本的原則,所謂顧客是上帝,在軟件工程中亦是如此。對(duì)客戶需求的正確分析可以幫助我們明確設(shè)計(jì)主線并把握住功能的實(shí)現(xiàn)。
經(jīng)過(guò)一段時(shí)間的軟件工程的實(shí)踐,我也深深感受到了用戶需求對(duì)軟件的重要性,軟件的成功與否就建立在開(kāi)發(fā)人員對(duì)軟件需求的分析是否正確上。而且要想實(shí)現(xiàn)對(duì)用戶需求精準(zhǔn)的分析,就需要用戶與我們開(kāi)發(fā)人員之間進(jìn)行真誠(chéng)合作與有效溝通,只有這樣我們才能完成高質(zhì)量的軟件工程。[2]然而目前困擾開(kāi)發(fā)者的問(wèn)題之一就是無(wú)法與客戶進(jìn)行有效的溝通,畢竟用戶對(duì)計(jì)算機(jī)系統(tǒng)的了解是有限的,而一個(gè)系統(tǒng)又有許多不同層次和類型的用戶,并且,每個(gè)用戶的需求也不同,他們也只知道自己需要的系統(tǒng)是什么,不清楚系統(tǒng)的整體情況,所以用戶并不知道一個(gè)系統(tǒng)作為一個(gè)整體如何運(yùn)行才效率最高。
在進(jìn)行需求分類之后就是軟件設(shè)計(jì),這時(shí)開(kāi)發(fā)人員就要在開(kāi)始建模形成的整體框架上進(jìn)行具體設(shè)計(jì),并嵌套相應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。并且,一個(gè)合理有效的軟件設(shè)計(jì)又可以為接下來(lái)的程序編碼奠定良好的基礎(chǔ),從而進(jìn)行軟件測(cè)試和運(yùn)行維護(hù)。
在程序編碼和調(diào)試過(guò)程中亦是困難重重,首先我們要明確的是編碼時(shí)我們?cè)撚媚姆N語(yǔ)言既能精準(zhǔn)地表達(dá)軟件的功能,又不至于太復(fù)雜,并且方便其他編程人員讀懂。總的來(lái)說(shuō),編程語(yǔ)言可以分為機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言,前由于語(yǔ)言的不斷發(fā)展,我們通常用兩種形式的語(yǔ)言,即匯編語(yǔ)言和高級(jí)語(yǔ)言。常見(jiàn)的語(yǔ)言有匯編語(yǔ)言、C語(yǔ)言、C#、C++,Visal Basic,Pascal,Java等,我們?cè)趯W(xué)習(xí)階段基本掌握了這類語(yǔ)言的編寫(xiě)規(guī)則以及各自的優(yōu)缺點(diǎn),要想更加熟練地分析并使用這些語(yǔ)言,就必須在平時(shí)多上機(jī)練習(xí),只有通過(guò)不斷地上機(jī)操作,我們才能檢驗(yàn)自己是否真正的熟練掌握語(yǔ)法規(guī)定、程序設(shè)計(jì)方法,才能不斷查缺補(bǔ)漏。
比如C語(yǔ)言和C++,都是世界最通用也是相對(duì)最易于我們理解的語(yǔ)言,其中,兩者在基本數(shù)據(jù)類型和表達(dá)式、數(shù)據(jù)的輸入與輸出、算法的基本結(jié)構(gòu)以及自定義數(shù)據(jù)類型上基本類似,不過(guò)C++是對(duì)C進(jìn)行了擴(kuò)展和深化。[3]在函數(shù)部分,函數(shù)重載是C語(yǔ)言里沒(méi)有的部分,為方便使用,C++允許在同一范圍中聲明幾個(gè)功能類似的同名函數(shù),但是這些同名函數(shù)的形式參數(shù)(指參數(shù)的個(gè)數(shù)、類型或者順序)必須不同,也就是說(shuō)用同一個(gè)運(yùn)算符完成不同的運(yùn)算功能,這就是重載函數(shù)。重載函數(shù)常用來(lái)實(shí)現(xiàn)功能類似而所處理的數(shù)據(jù)類型不同的問(wèn)題,這就大大減少了編程時(shí)間,并破解了C語(yǔ)言中函數(shù)功能重復(fù)卻不可重用的束縛,是一種很大的進(jìn)步。
而在C#中僅允許單個(gè)繼承,只能從一個(gè)基類繼承實(shí)現(xiàn),但是一個(gè)類可以實(shí)現(xiàn)一個(gè)以上的接口。對(duì)象是人們要進(jìn)行研究的任何事物,它不僅表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或者事件。接口只是包含方法、委托或事件的簽名,方法的實(shí)現(xiàn)是在實(shí)現(xiàn)接口的類中完成的。接口可以是命名空間或類的成員,并可以包含下列成員:每個(gè)C#可執(zhí)行文件都有一個(gè)入口—Main方法:(static void Main)修飾符public可以表示在任何地方訪問(wèn)該方法。所以可以在類的外部調(diào)用它。而VB中“Visual”指的是開(kāi)發(fā)圖形用戶界面(GUI)的方法。它不需編寫(xiě)大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立的對(duì)象add到屏幕上的一點(diǎn)即可。[4]如果已使用過(guò)諸如 Paint 之類的繪圖程序,實(shí)際上就已掌握了創(chuàng)建用戶界面的必要技巧。Visual Basic 是在原有BASIC 語(yǔ)言的基礎(chǔ)上進(jìn)一步的發(fā)展,至今包含了數(shù)百條語(yǔ)句、函數(shù)及關(guān)鍵詞,其中很多都和 Windows GUI 有直接關(guān)系。專業(yè)人員可以用 Visual Basic 實(shí)現(xiàn)其他任何 Windows 編程語(yǔ)言的功能,而初學(xué)者只要掌握幾個(gè)關(guān)鍵詞就可以建立實(shí)用的應(yīng)用程序。這些語(yǔ)言的合理組合使得程序編寫(xiě)效率大大提高。
一個(gè)軟件周期的實(shí)現(xiàn)是對(duì)我們智力、能力和耐心的考驗(yàn),這也提醒著我們?cè)谟?jì)算機(jī)學(xué)習(xí)軟件的過(guò)程中需要不斷完善自我,不斷提升理論和實(shí)踐水平,積極地接觸前沿市場(chǎng),是自己成為一個(gè)高素質(zhì)的計(jì)算機(jī)人才,為祖國(guó)的科技發(fā)展貢獻(xiàn)自己的綿薄之力。
參考文獻(xiàn)
[1]《C程序設(shè)計(jì)(第四版)》譚浩強(qiáng)著.清華大學(xué)出版社出版,2010年6月1日第3次印刷.
[2]《軟件工程導(dǎo)論(第六版)》張海藩,牟永敏著.清華大學(xué)出版社出版,2013年8月1日第3次印刷.
[3]《計(jì)算機(jī)網(wǎng)絡(luò)(第6版)》謝希仁著.電子工業(yè)出版社出版,2013年6月1日第2次印刷.
[4]《計(jì)算機(jī)文化》帕森斯著.機(jī)械工業(yè)出版社出版,2013年8月1日第15次印刷.