摘 要:如今,教育軟件的開發(fā)不但要講求教學(xué)質(zhì)量,而且應(yīng)該如工程軟件一樣在開發(fā)前做必要的需求分析和成本估算。要開發(fā)出高質(zhì)量的“以學(xué)生為本”的教育軟件,需要從軟件工程的角度對教育軟件的整個開發(fā)過程做詳細規(guī)劃文檔,以保證經(jīng)濟地開發(fā)出符合需求的高質(zhì)量軟件。軟件工程的工程化和管理思想對于規(guī)范教育軟件的開發(fā)有重要的意義。筆者希望能夠通過軟件工程方法的運用,大大提高軟件開發(fā)的成功率和生產(chǎn)率,減少軟件開發(fā)管理和維護工作量。
關(guān)鍵詞:軟件工程 教育軟件 規(guī)范
中圖分類號:TP311.5 文獻標(biāo)識碼:A 文章編號:1673-8454(2008)05-0016-02
一、軟件工程與教育軟件概述
軟件工程是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護計算機軟件的一門學(xué)科。軟件工程采用工程的概念、原理、技術(shù)和方法來指導(dǎo)開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。[1] 軟件工程偏重的是一種管理思想,要求開發(fā)出的軟件要具有實用價值,軟件開發(fā)出來就要投入使用,是工程化的。軟件工程強調(diào)了在開發(fā)軟件的過程中不僅要保證軟件的質(zhì)量,而且還要在軟件實施前全面考慮軟件的升級和維護。軟件工程的需求分析和成本效益估算思想在一定程度上規(guī)范了教育軟件的開發(fā)。
教育軟件與操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)、文字和圖表編輯軟件等這些主流軟件不同,教育軟件以教育為主,它必須要適應(yīng)特定知識領(lǐng)域和特定文化層次的各類普通用戶,因此所開發(fā)的教育軟件應(yīng)具有界面簡易、操作方便、價格低廉的特點,而且教育軟件是通過市場銷售推廣應(yīng)用的商品化軟件,教育軟件的科學(xué)性、權(quán)威性與實用性對于教育軟件是否適應(yīng)市場需求尤為重要。因此要開發(fā)出適合各層次使用者需求的教育軟件,須在腳本創(chuàng)作前做必要的軟件需求分析,并且在計劃開發(fā)前進行必要的成本估算,以使開發(fā)出的教育軟件能夠在知識的廣度、深度、準(zhǔn)確性、連貫性、知識的表達方式、以及成本效益上達到供求雙方“雙贏”的目的。
二、需求分析指導(dǎo)教育軟件開發(fā)
利用軟件工程的思想,從軟件的需求分析角度,對教育軟件開發(fā)做必要的需求分析使開發(fā)過程中軟件得到規(guī)范開發(fā),以保證開發(fā)出來的教育軟件適合當(dāng)前教學(xué)、用戶群和市場需要。
對教育軟件做一定的需求分析,就是為了明確將來的用戶需求是什么,使得開發(fā)人員和用戶取得一致的意見,從而使用戶確認需求分析文檔,以便進一步執(zhí)行開發(fā)工作,不必有后顧之憂。另外用好需求分析,并根據(jù)用戶提出的要求分解細化,把不確定的需求弄清楚,這樣開發(fā)出來的軟件不僅符合用戶的需求,而且使軟件開發(fā)的過程做到規(guī)范化。
從需求分析的角度考慮教育軟件開發(fā):[2]
1.軟件在設(shè)計開發(fā)之前要考慮到軟件的教學(xué)對象、軟件的實際應(yīng)用范圍、具體應(yīng)用環(huán)境,以便在搞清楚用戶的需求是什么之后再進一步展開具體開發(fā)工作,使得最終開發(fā)的軟件滿足用戶的需求。
2.在做需求分析的時候要考慮到具體的教學(xué)目標(biāo),即使用教育軟件最終要達到什么樣的教學(xué)效果,也就是說教育軟件在學(xué)習(xí)過程中扮演什么樣的角色。由于教育軟件的使用并不能代替課堂,只能夠?qū)φn堂起到輔助的作用,因此介于對教育軟件的這種認識和需求分析,可以明確所要開發(fā)的教育軟件需要在軟件設(shè)計上有所側(cè)重,在保證知識體系完整的前提下,淡化“教學(xué)”,突出“助學(xué)”的角色,將預(yù)習(xí)、學(xué)習(xí)、復(fù)習(xí)、自我測試、自我評價融合到各個模塊中。
3.由于教育軟件服務(wù)的對象大多是各層次的學(xué)生用戶,因此在做需求分析時需要考慮到如何充分發(fā)揮多媒體計算機的特點來迎合學(xué)生的心理,使學(xué)生想用、愿用、樂用教育軟件來進行學(xué)習(xí),因此軟件在設(shè)計開發(fā)中必須注重交互設(shè)計,圍繞學(xué)習(xí)目標(biāo),給學(xué)習(xí)者提供多種適當(dāng)?shù)慕换ナ侄?,豐富教育軟件呈現(xiàn)內(nèi)容的形式,并且簡化教育軟件的操作流程。同時在實際開發(fā)時,應(yīng)慎重選擇開發(fā)的語言和環(huán)境,使計算機充分發(fā)揮信息處理能力以及多媒體技術(shù)的運用能力。
對于教育軟件的開發(fā)來說,需求分析做的是否深入,決定著軟件開發(fā)人員能否設(shè)計開發(fā)出高質(zhì)量的、滿足教師和學(xué)生需求的真正承載著先進教學(xué)理念的多功能教育軟件。教育軟件開發(fā)人員唯有從教育軟件的教育性入手,深入分析師生的需求,深入分析教學(xué)內(nèi)容,運用教育學(xué)、心理學(xué)、視聽心理學(xué)、媒體設(shè)計理論、軟件工程等知識來指導(dǎo)軟件的開發(fā),才能開發(fā)出學(xué)生愿用的、真正能夠輔助學(xué)生提高學(xué)習(xí)成績的教育軟件。
三、成本估算思想促使教育軟件開發(fā)經(jīng)濟化
目前,軟件工程的思想已經(jīng)在各個領(lǐng)域中發(fā)揮著重要作用。而軟件工程中的復(fù)用思想對于節(jié)省成本是不可忽視的。教育軟件比其他軟件更缺少資金支持,大多采用分散的而且是非商業(yè)化的開發(fā)方式,低層次重復(fù)開發(fā)屢見不鮮。然而根據(jù)軟件工程成本效益估算分析可知,軟件的復(fù)用對節(jié)省開發(fā)時間、提高開發(fā)效率、降低教育軟件開發(fā)成本和升級成本方面起著重要的作用。
軟件工程中復(fù)用的思想可以使開發(fā)人員充分利用一切資源來節(jié)省成本,提高效率。Bennatan建議在計劃進行過程中應(yīng)該考慮的四種軟件資源是:可直接使用的構(gòu)件、具有完全經(jīng)驗的構(gòu)件、具有部分經(jīng)驗的構(gòu)件、新構(gòu)件。[3]
當(dāng)可復(fù)用構(gòu)件作為一種資源時,我們在開發(fā)軟件的計劃階段往往忽視了可復(fù)用軟件構(gòu)件資源的需求,而只在軟件過程的開發(fā)階段才變成最主要的關(guān)心對象,因此最好能夠盡早說明軟件資源需求。這樣才能進行可選方案的技術(shù)評估,并及時獲得所需的構(gòu)件,能夠更準(zhǔn)確地估算軟件成本和進行成本效益分析。這對于軟件開發(fā)的項目計劃階段是很重要的,畢竟軟件的需求分析是軟件開發(fā)的基礎(chǔ)。
四、文檔編制規(guī)范軟件開發(fā)的過程
軟件工程強調(diào)文檔化,規(guī)范的文檔對于軟件開發(fā)的各階段規(guī)范性起著重要作用,便于軟件的交流和修改,在一定程度上提高了軟件的開發(fā)效率。軟件文檔的編制在軟件開發(fā)工作中占有突出的地位和相當(dāng)?shù)墓ぷ髁?。高效率、高質(zhì)量的開發(fā)、分發(fā)、管理和維護文檔對于轉(zhuǎn)讓、變更、修正、擴充和使用文檔,對于充分發(fā)揮軟件產(chǎn)品的效益有著重要意義。[4][5] 軟件開發(fā)過程中,編寫文檔的橋梁作用可以用圖1來表示。
從圖1可以看出,文檔在用戶、計算機、維護人員、軟件開發(fā)人員、軟件開發(fā)管理人員之間的橋梁作用。軟件開發(fā)人員在各個階段中以文檔作為前階段工作成果的體現(xiàn)和后階段工作的依據(jù)。軟件開發(fā)過程中軟件開發(fā)人員需制定一些工作計劃或工作報告,這些計劃和報告都要提供給管理人員,并得到必要的支持。管理人員則可通過這些文檔了解軟件開發(fā)項目安排、進度、資源使用和成果等。軟件開發(fā)人員需為用戶提供用戶文檔,以使用戶能夠了解軟件的使用、操作和維護等。因此文檔構(gòu)成了軟件開發(fā)過程中的重要部分。
為了使軟件文檔能起到上述所提到的多種橋梁作用,使它有助于程序員編制程序,有助于管理人員監(jiān)督和管理軟件開發(fā),有助于用戶了解軟件的工作和應(yīng)做的操作,有助于維護人員進行有效的修改和擴充,文檔的編制必須保證一定的質(zhì)量。軟件文檔的編寫如果運用得當(dāng)不但會提高工作效率,而且會為軟件開發(fā)減少開發(fā)負擔(dān)。
軟件工程對文檔規(guī)范化的要求以及按此規(guī)范化編寫出的高質(zhì)量的文檔,使得軟件開發(fā)過程和日后的維護、升級更新變得更加容易和規(guī)范,不但保證軟件的質(zhì)量,并且在擴充修改軟件中節(jié)省相當(dāng)大的勞力,提高開發(fā)的效率。教育軟件開發(fā)應(yīng)該有清晰的文檔說明,不僅便于客戶對軟件的了解,而且使得教育軟件開發(fā)逐步走向規(guī)范化、高效化和市場化。
五、結(jié)束語
事實上,教育軟件開發(fā)中運用軟件工程的思想,不僅使得教育軟件能夠更好地分析用戶的需求,開發(fā)更適合用戶的軟件,使之更具市場化;另一方面,軟件工程中成本效益思想的應(yīng)用使得教育軟件在開發(fā)中更有余地和計劃,并在一定程度上為教育軟件開發(fā)帶來更大的效益。而高質(zhì)量文檔的編寫不僅規(guī)范了教育軟件的開發(fā)階段,還提高了開發(fā)的效率,不會造成不必要的軟件重大問題。當(dāng)然軟件工程的其他思想在一個完整的軟件開發(fā)周期都應(yīng)該有所體現(xiàn)。我們有理由相信,軟件工程思想在教育軟件開發(fā)的應(yīng)用,會使開發(fā)效率越來越高,開發(fā)出的產(chǎn)品越來越被人們所認可。
參考文獻:
[1]張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2003.12.
[2]劉恒中.有關(guān)教育軟件的幾點思考[J].計算機世界報,1995(2).
[3]Roger S. Pressman. Software engineering: a practitioner’s approach=軟件工程:實踐者之路[M].北京:清華大學(xué)出版社,2001.
[4]文斌,劉長青,田原.軟件工程與軟件文檔寫作[M]. 北京:清華大學(xué)出版社、北京交通大學(xué)出版社,2005.
[5]賈文峰,劉青梅.軟件文檔及其管理[J].洛陽大學(xué)學(xué)報,2004,19(2).