劉 艷
摘 要:軟件工程作為一門(mén)指導(dǎo)軟件開(kāi)發(fā)和維護(hù)的工程學(xué)科,研究如何用工程化的方式有效地管理軟件開(kāi)發(fā),以較低的成本按期開(kāi)發(fā)出高質(zhì)量軟件,其教學(xué)方法尤為重要。本文將對(duì)該課程的教學(xué)方法作一下簡(jiǎn)單探討。
關(guān)鍵詞:軟件工程 主流程線 案例教學(xué) 擴(kuò)散思維
軟件工程的概念是為有效地控制軟件危機(jī)的發(fā)生而提出來(lái)的,它的中心目標(biāo)就是把軟件作為一種物理的工業(yè)產(chǎn)品來(lái)開(kāi)發(fā),要求采用工程化的原理與方法對(duì)軟件進(jìn)行計(jì)劃、開(kāi)發(fā)和維護(hù)。軟件工程是一門(mén)旨在開(kāi)發(fā)滿足用戶需求,及時(shí)交付,不超過(guò)預(yù)算和無(wú)故障的軟件學(xué)科。軟件工程的主要對(duì)象是大型軟件,它的最終目的是擺脫手工生產(chǎn)軟件的狀況,逐步實(shí)現(xiàn)軟件開(kāi)發(fā)和維護(hù)的自動(dòng)化。
鑒于軟件工程產(chǎn)生的背景、目標(biāo)和宗旨,對(duì)這門(mén)課程的教學(xué),我們從以下方面來(lái)探討其教學(xué)方法。
一、把握軟件工程教學(xué)的總體思路是教學(xué)的關(guān)鍵
1.引導(dǎo)認(rèn)識(shí)軟件工程的重要性
軟件工程雖然是一個(gè)年輕的學(xué)科,但它具有鮮明的實(shí)踐性,近年來(lái)在計(jì)算機(jī)領(lǐng)域中,它的地位越來(lái)越顯得重要,不僅大型軟件項(xiàng)目離不開(kāi)它,就是一般的,甚至小型軟件項(xiàng)目,也必須運(yùn)用它的概念、原則和方法。軟件分析人員、軟件設(shè)計(jì)、編程、測(cè)試、維護(hù)人員,以及軟件管理人員都必須很好地掌握軟件工程知識(shí),才能適應(yīng)崗位工作的要求,特別是在當(dāng)前,軟件產(chǎn)業(yè)已經(jīng)被中央、各地方政府和有關(guān)部門(mén)當(dāng)作國(guó)民經(jīng)濟(jì)中新的增長(zhǎng)點(diǎn)的形勢(shì)下,軟件工程更加受到重視,同時(shí),事實(shí)也一再表明,不掌握軟件工程知識(shí),不按照軟件工程的要求去做軟件項(xiàng)目,提供給用戶的產(chǎn)品只能是低質(zhì)量的,難于維護(hù)的。
2.歸納軟件開(kāi)發(fā)的主流程線
在軟件工程教學(xué)過(guò)程中,把握軟件開(kāi)發(fā)的主流程線是軟件開(kāi)發(fā)的基礎(chǔ),其不僅能使我們掌握其學(xué)科目標(biāo)和宗旨,而且能為我們今后開(kāi)發(fā)軟件項(xiàng)目起到很好的指導(dǎo)作用。我們知道軟件生存周期是指一個(gè)軟件從提出開(kāi)發(fā)要求開(kāi)始直到軟件報(bào)廢為止的整個(gè)時(shí)期。一個(gè)軟件開(kāi)發(fā)得好不好,質(zhì)量高不高,從其生存周期可以得到體現(xiàn),高質(zhì)量軟件經(jīng)得住考驗(yàn),是經(jīng)久耐用的。軟件開(kāi)發(fā)的過(guò)程直接體現(xiàn)在軟件生存周期中,對(duì)軟件開(kāi)發(fā)過(guò)程的研究成果要確保軟件設(shè)計(jì)的可行性??倲堒浖こ探滩?我們歸納軟件開(kāi)發(fā)主流程線,即從“需求分析”到“概要設(shè)計(jì)”“詳細(xì)設(shè)計(jì)”“編碼”“測(cè)試”“產(chǎn)品提交”,最后到“維護(hù)”階段。同時(shí)掌握好這幾個(gè)階段的主要任務(wù)和工作是開(kāi)發(fā)好軟件的基礎(chǔ)。
3.幫助掃除軟件工程學(xué)科中的文字障礙
所謂文字障礙指的是在軟件工程課程中涉及或在其教學(xué)過(guò)程中經(jīng)常運(yùn)用到的專(zhuān)業(yè)術(shù)語(yǔ)、概念的應(yīng)用或表達(dá)。比如什么是軟件危機(jī),軟件生存周期的概念是什么,軟件生存周期模型有哪些,需求分析講的是什么,什么是結(jié)構(gòu)化分析方法,如何用數(shù)據(jù)流圖來(lái)表達(dá)系統(tǒng)的功能,數(shù)據(jù)字典是用來(lái)做什么的,軟件設(shè)計(jì)的基本原理是什么,軟件開(kāi)發(fā)的增量模型又是什么,利用面向?qū)ο蟮姆椒ㄐ枰⒛男┠P?它們分別的側(cè)重點(diǎn)是什么等等。這些都是要在教學(xué)過(guò)程中掃除的文字障礙。掌握這些術(shù)語(yǔ)、概念的應(yīng)用或表達(dá),可以通過(guò)平時(shí)的鍛煉、記憶或下面我們要講到的通過(guò)實(shí)例教學(xué)加強(qiáng)理解,在理解的基礎(chǔ)上加強(qiáng)記憶并掌握方法和原理。
二、對(duì)軟件開(kāi)發(fā)過(guò)程中的關(guān)鍵環(huán)節(jié)采用案例教學(xué)
制作一份需求規(guī)格說(shuō)明書(shū),其主要的填寫(xiě)要求抽象成模板的形式如下:
1.背景
①待開(kāi)發(fā)的產(chǎn)品的名稱;
②本項(xiàng)目的任務(wù)提出者、開(kāi)發(fā)者、用戶及實(shí)現(xiàn)該產(chǎn)品的單位;
③該系統(tǒng)同其他系統(tǒng)的相互來(lái)往關(guān)系。
2.系統(tǒng)定義
①項(xiàng)目來(lái)源及背景;
②項(xiàng)目要達(dá)到的目標(biāo),如市場(chǎng)目標(biāo)、技術(shù)目標(biāo)等;
③系統(tǒng)整體結(jié)構(gòu),如系統(tǒng)框架、系統(tǒng)提供的主要功能,涉及的接口等;
④各組成部分結(jié)構(gòu),如果所定義的產(chǎn)品是一個(gè)更大的系統(tǒng)的一個(gè)組成部分,則應(yīng)說(shuō)明本產(chǎn)品與該系統(tǒng)中其他各組成部分之間的關(guān)系,為此可使用一張方框圖來(lái)說(shuō)明該系統(tǒng)的組成和本產(chǎn)品同其他各部分的聯(lián)系和接口。
3.應(yīng)用環(huán)境
①設(shè)備環(huán)境;
②系統(tǒng)運(yùn)行硬件環(huán)境;
③系統(tǒng)運(yùn)行軟件環(huán)境;
④系統(tǒng)運(yùn)行網(wǎng)絡(luò)環(huán)境;
⑤用戶操作模式;
⑥當(dāng)前應(yīng)用環(huán)境。
4.對(duì)功能的規(guī)定
①功能編號(hào);
②所屬產(chǎn)品編號(hào);
③優(yōu)先級(jí);
④功能定義;
⑤功能描述。
5.對(duì)性能的規(guī)定
①系統(tǒng)響應(yīng)時(shí)間需求;
②系統(tǒng)開(kāi)放性需求;
③系統(tǒng)可靠性需求;
④系統(tǒng)可移植性和可擴(kuò)充需求;
⑤系統(tǒng)安全性需求;
⑥現(xiàn)有資源利用性需求。
通過(guò)對(duì)上述需求規(guī)格說(shuō)明書(shū)實(shí)例的講解,我們不僅要學(xué)會(huì)掌握這種文檔的書(shū)寫(xiě)格式、規(guī)范和原則,而且還要學(xué)會(huì)其他比如概要設(shè)計(jì)說(shuō)明書(shū)的寫(xiě)法,詳細(xì)設(shè)計(jì)規(guī)格文檔的寫(xiě)法,編碼文檔的寫(xiě)法,測(cè)試計(jì)劃文檔,測(cè)試設(shè)計(jì),測(cè)試跟蹤,測(cè)試總結(jié),產(chǎn)品提交手冊(cè),軟件維護(hù)過(guò)程文檔等的寫(xiě)法。通過(guò)具體實(shí)例讓學(xué)生進(jìn)行演練,使其真正達(dá)到學(xué)以致用,學(xué)用結(jié)合的目的。
三、對(duì)軟件工程中的相關(guān)知識(shí)點(diǎn)采用擴(kuò)散思維教學(xué)
所謂擴(kuò)散思維是指使學(xué)生的思維不僅僅局限在某一點(diǎn)上,而是針對(duì)相關(guān)知識(shí)點(diǎn)的拓展,從而產(chǎn)生新的思路和方法的一種思維形式。由于每一門(mén)課程都不是孤立存在的,因此要想很好的把握該課程的教學(xué),其教學(xué)思路應(yīng)該有所延伸。比如說(shuō)軟件工程課程中多處涉及到數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)、操作系統(tǒng)等的一些知識(shí)和概念,我們除了在課程教學(xué)順序上將數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)等課程排在軟件工程課程之前教學(xué)外,教師在授課過(guò)程中還應(yīng)該有新的思路供學(xué)生參考和啟發(fā)學(xué)生思維。
參考文獻(xiàn):
1.軟件工程案例教程/韓萬(wàn)江編著.北京:機(jī)械工業(yè)出版社,2007.5
2.軟件工程/史濟(jì)民等編著.2版.北京:高等教育出版社,2002.12(2004重印)
3.軟件工程.全國(guó)高等自學(xué)考試指導(dǎo)委員會(huì)組編
4.軟件工程/王宜貴主編.北京:機(jī)械工業(yè)出版社,2002.9
作者單位:海南??诤?诮?jīng)濟(jì)學(xué)院信息工程學(xué)院