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