劉曉敏++馬慧彬++高晶
摘 要 軟件工程是計算機科學與技術專業(yè)和軟件工程專業(yè)的一門專業(yè)基礎核心課程。學好軟件工程的關鍵在于了解軟件工程的基本概念,理清軟件工程的基本思想,因此,軟件工程緒論的教學組織和講授是至關重要的。介紹軟件工程緒論教學過程的總體框架,并且詳細闡述軟件工程概述的課堂實施細節(jié)。
中圖分類號:G642.4 文獻標識碼:B
文章編號:1671-489X(2015)06-0081-02
1 引言
“軟件工程”是計算機本科教學中的一門專業(yè)基礎核心課程[1-2],該課程主要講授軟件工程的基本概念、基本原理和基本方法及相關技術,強調(diào)軟件開發(fā)問題的分析和解決。但是,由于軟件工程理論內(nèi)容抽象,軟件開發(fā)過程復雜,使其具有一定的深度和難度,成為計算機科學中“教師難教、學生難學”的課程之一。學生往往覺得軟件工程枯燥,提不起興趣,同時還產(chǎn)生一股畏懼感。這成為軟件工程教學中需要解決的難點問題。
緒論課是對授課對象的“啟動”與“激發(fā)”。緒論教學將會給學生帶來先入為主的影響,為了讓學生更好地掌握軟件工程知識,擁有一個優(yōu)秀的緒論教學是具有重要意義的[4]。因此,講授好軟件工程緒論,對于增強學生學習軟件工程的興趣和學習主動性[3],優(yōu)化教學效果,有著至關重要的作用。本文介紹軟件工程緒論教學過程中需注意的問題和總體框架,并且詳細闡述軟件工程緒論的課堂實施細節(jié)。
2 軟件工程緒論教學中注意強調(diào)的問題
通過以上論述可以看出軟件工程緒論的教授是軟件工程這門課最重要的一部分,但是在教學過程中需要注意以下幾個問題。
1)讓學生了解編程和軟件工程之間的關系,讓學生摒棄以前認為編程就是軟件的看法。
2)讓學生了解軟件工程學的背景和目的,及了解軟件工程學產(chǎn)生的原因是什么?它是為了解決哪些問題?
3)讓學生了解開發(fā)小型系統(tǒng)和開發(fā)大型系統(tǒng)的方法是不一樣的,開發(fā)大型系統(tǒng)要使用軟件工程的思想完成。
4)讓學生知道將軟件定義為程序是錯誤的,讓學生深刻理解軟件生命周期模型的概念。
5)介紹軟件生命周期的過程中要按功能和文檔兩個方面介紹,讓學生能夠條理清晰。
6)強調(diào)軟件質(zhì)量評價在軟件工程中的重要作用,讓學生深刻理解軟件的可維護性、可靠性和可理解性的重要性。
7)重點介紹軟件和軟件生命期模型的概念,讓學生理解軟件生命周期的每個階段之間的相互關系是至關重要的。
8)強調(diào)軟件質(zhì)量評價的重要性,強調(diào)小型程序和大型軟件系統(tǒng)的評價方式是不一樣的,要詳細分析大型軟件系統(tǒng)的評價方式。
3 軟件工程緒論教學過程的總體框架和課堂實施細節(jié)
為了更好地讓學生了解軟件工程的基本概念,理清軟件工程的基本思想,本節(jié)詳細介紹了軟件工程緒論的課堂實施細節(jié)。
軟件工程緒論教學過程的總體框架 為了更好地介紹軟件工程緒論教學的過程,軟件工程緒論教學的總體框架如圖1所示。首先介紹軟件工程學的背景和目的,也就是介紹軟件工程學到底是解決哪些問題;接下來介紹軟件工程學的產(chǎn)生,及軟件工程學的名稱是怎樣來的——它是來源于工程開發(fā)的思想;然后掌握軟件和軟件生命周期的概念,詳細講解軟件生命周期各階段之間的關聯(lián);強調(diào)軟件質(zhì)量評價的重要性;最后講解軟件開發(fā)方法和軟件自動工具的概念。
軟件工程緒論課堂教學的實施細節(jié) 根據(jù)上節(jié)介紹的教學總體流程圖,詳細描述總體流程中每個流程的實施細節(jié)。
1)軟件工程的背景和目的。首先,教師要以問答式開始這一部分的教學。
問題:“同學們在修完編程等課程后,你們能夠做什么?”
回答:“字符編輯或報表打印程序等”。
問題:“要研制一個大型軟件系統(tǒng),你該怎么做?”
一部分回答:“一頭霧水。”一部分回答:“很簡單。”
到底是什么樣呢?引出學習軟件工程的必要性:這門課可以讓我們知道怎樣使用更少的人力、物力和財力開發(fā)一個高質(zhì)量的軟件系統(tǒng)。然后進入課堂細節(jié),講解“軟件工程”是從“編程”演變過來的,知道軟件工程學的目的,了解軟件工程學的產(chǎn)生。
2)軟件和軟件生命周期模型的介紹。在這一部分可以使用如圖2所示的生命周期圖來描述。該圖可做成動畫形式來表示每一個階段的遞進形式。首先進入可行性研究與計劃階段,然后進入設計階段,接著進入編程階段、測試階段和運行與維護階段。根據(jù)圖示詳細描述每個階段的功能和要輸出的文檔。最后要做出總結(jié):實際軟件系統(tǒng)的開發(fā)不可能是理想化地按瀑布模型進行,人們理解問題總有一個反復的過程,所以從后階段回復到前階段是不可避免的。例如:設計階段發(fā)現(xiàn)需求說明書有不完整或不正確之處,就須“再分析”;測試階段發(fā)現(xiàn)模塊界面有錯誤,需進行“再設計”;運行階段為了擴充系統(tǒng)的功能,需要進行“再分析”“再設計”“再編程”等。
3)軟件質(zhì)量評價,重點講解軟件工程學的最終目標是獲得高質(zhì)量的軟件,所以如何評價軟件質(zhì)量是一個重要的問題。軟件質(zhì)量的定義還是非常模糊的,人們對此尚未形成一致的看法,但一般說來傾向于從可維護性、可靠性、可理解性和效率等方面對軟件作較全面的評價,詳細介紹這幾方面。最后要給出總結(jié):對于一個小型程序,可以希望它是完全正確的,但對長達幾萬行甚至幾十萬行的大型軟件,一般不能奢望它是“完全”正確的,這一點也無法證實。同時為了保證軟件質(zhì)量,在軟件開發(fā)過程的各個階段就應該采取多種有效的技術和一系列質(zhì)量保證措施,使得軟件能夠高質(zhì)量地順利完成。
4)軟件開發(fā)方法和軟件自動工具。這一部分使用問答方式開始講解,提問:“軟件工程學的最終目標是什么?”回答:“軟件工程學的最終目標是以較少的投資獲得質(zhì)量較高的軟件產(chǎn)品,也就是說要‘高產(chǎn)優(yōu)質(zhì)。”同其他工程學科一樣,達到這個最終目標的兩個主要途徑是“紀律化”和“自動化”。“紀律化”:就是尋找一些規(guī)范的“求解過程”,使開發(fā)工作能夠有計劃、有步驟地進行。“自動化”:就是使開發(fā)過程中的某些工作用計算機來完成或用計算機來輔助。
①軟件開發(fā)方法。首先講解軟件開發(fā)的發(fā)展是從個體→集體的勞動成果。為了使軟件研制走上工程化的軌道,必須尋找一些標準的規(guī)程,以便為開發(fā)人員給出指導和約束。最終得出結(jié)論:在軟件方法的指導和約束之下,面對錯綜復雜的問題,開發(fā)人員就可按統(tǒng)一的步驟、統(tǒng)一的描述方式,紀律化地展開工作。這是高產(chǎn)優(yōu)質(zhì)的保證。
②軟件自動工具。由于所需工作量極大,常稱軟件開發(fā)是“勞動密集”的工作。為提高生產(chǎn)率并保證質(zhì)量,人們很自然地希望能夠?qū)崿F(xiàn)開發(fā)過程的自動化,如PSL/PSA、AIDES和SDL/PAD。
上面詳細介紹了軟件工程緒論講解的詳細過程,通過上面課堂的組織,可以激發(fā)學生探索未知領域的強烈愿望,從而在教學中引導學生進行發(fā)現(xiàn)問題、解決問題的主動求知。
4 總結(jié)
本文介紹了軟件工程是計算機本科教學中的一門專業(yè)基礎核心課程,它的理論內(nèi)容抽象,軟件開發(fā)過程復雜,學生往往覺得軟件工程枯燥,提不起興趣。而緒論課是對授課對象的“啟動”與“激發(fā)”,因此,軟件工程緒論的教學組織和講授是至關重要的。本文介紹了軟件工程緒論教學過程中需注意的問題和總體框架,并且詳細闡述了軟件工程緒論的課堂實施細節(jié)。
參考文獻
[1]駱斌,葛季棟,丁二玉,等.軟件工程專業(yè)課程體系的研究與創(chuàng)新實踐[J].計算機教育,2010(12).
[2]劉強,陳越,駱斌,等.“軟件工程”課程教學實施方案[J].中國大學教學,2011(2).
[3]魏芳波.大學物理課程中緒論教學改革的實踐[J].高職高專教育,2010(10).
[4]欒加雙,王亞軍.緒論教學在大學授課過程中的重要性探討[J].課改新探,2008(10).
[5]潘錦平,施小英,等.軟件系統(tǒng)開發(fā)技術[M].西安:西安電子科技大學出版社,2010(12).endprint