期刊大全 雜志訂閱 SCI期刊 投稿指導 期刊服務 文秘服務 出版社 登錄/注冊 購物車(0)

首頁 > 公文范文 > 軟件工程論文

軟件工程論文

時間:2022-04-11 03:09:25

序論:寫作是一種深度的自我表達。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內(nèi)心深處的真相,好投稿為您帶來了一篇軟件工程論文范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創(chuàng)作。

軟件工程論文

軟件工程論文:ISO9000在軟件工程管理的應用

楊摯

ISO9000系列標準及軟件質(zhì)量認證

近年來,國際上影響最為深遠的質(zhì)量管理標準當屬國際標準化組織于1987年公布的ISO9000系列標準,這一國際標準發(fā)源于歐洲經(jīng)濟共同體,但很快就波及美國、日本及世界各國。到目前為止,已有70多個國家在它們的企業(yè)中采用和實施這一系列標準。中國對此也十分重視,也采取了積極態(tài)度。一方面確定對其等同采用,與其相應的質(zhì)量管理國家標準系列GB/T19000;同時積極組織實施和開展質(zhì)量認證工作。計算機軟件行業(yè)自然也和其它領域一樣被席卷進去。

ISO9000系列標準如此迅速地在國際上廣為流行,其原因主要在于:

1)市場經(jīng)濟,特別是國際貿(mào)易的驅(qū)動。無論任何產(chǎn)業(yè),其產(chǎn)品的質(zhì)量如何都是生產(chǎn)者、消費者、以及中間商十分關注的問題。市場的競爭很大程度上反映了在質(zhì)量方面的競爭。ISO9000系列標準客觀地對生產(chǎn)者(也稱供方)提出了全面的質(zhì)量管理要求、質(zhì)量管理辦法,并且還規(guī)定了消費者(也稱需方)的管理職責,使其得到雙方的普遍認同,從而將符合ISO9000標準的要求作為國家貿(mào)易活動中建立互相信任關系的基石,并且在國際貿(mào)易中,把生產(chǎn)者是否達到ISO9000質(zhì)量標準作為購買產(chǎn)品的前提條件,取得ISO9000質(zhì)量標準認證被人們當作進入國際市場的通行證。

2)ISO9000系列標準適用領域廣闊。它的出現(xiàn)最初針對制造行業(yè),但現(xiàn)已面向更為廣闊的領域,這包括:

(1)硬件:指不連續(xù)的具有特定形狀的產(chǎn)品,如機械、電子產(chǎn)品,不只是計算機硬件。

(2)軟件:通過支持媒體表達的信息所構成的智力產(chǎn)品。計算機軟件當然屬于其中。

(3)流程性材料:將原料轉化為某一特定狀態(tài)的產(chǎn)品。如,流體、粒狀、線狀等,通過瓶裝、袋裝等或通過管道傳輸交付。

(4)服務:為滿足客戶需求的更為廣泛的活動。

ISO9000系列標準的內(nèi)容

2000版ISO9000系列標準的內(nèi)容

ISO9000:2000質(zhì)量管理體系基本原則和術語

ISO9001:2000質(zhì)量管理體系——要求

ISO9004:2000質(zhì)量管理體系——業(yè)績改進指南

ISO19011:2000質(zhì)量和環(huán)境審核指南

2000版ISO9000族標準的特點

新版ISO9000族標準對比現(xiàn)行的1994版而言,具有以下的特點。

1.面向所有組織,通用性強。新版ISO9000族標準適用于所有的產(chǎn)品類別、所有的行業(yè)和各種規(guī)模的組織,總之,新版標準面向所有組織,通用性很強,將成為適用范圍最廣的國際標準之一,表現(xiàn)在:

(1)新版標準消除了1994版對硬件產(chǎn)品制造業(yè)的偏向性。

2000版標準巧妙地采用了“產(chǎn)品實現(xiàn)”、“動作控制”、“過程的測量和監(jiān)控”和“產(chǎn)品的測量和監(jiān)控”等詞匯和要求,消除了行業(yè)的偏向性,對非制造業(yè)貫徹ISO9000族標準所帶來的方便是不容置疑的。

(2).為特種行業(yè)制定行業(yè)附加要求奠定了共同的基礎。有些行業(yè)確有其特殊性,2000版本標準允許在ISO9001基礎上增加行業(yè)特殊要求的條款。這樣既能使所有組織的質(zhì)量體系基本要求具有一致性,又確保行業(yè)特殊要求的適用小性。已有軟件.通訊.汽車.等行業(yè)都已用此方式制定各自的行業(yè)特殊要求。

(3)?!试S裁剪“的規(guī)定使2000版ISO9001標準的適用范圍擴大到1994版ISO9001/9002/9003/三個保證摸式的標準戶群。三個保證沒摸式的差異都在第7章產(chǎn)品實現(xiàn)過程中,2000版ISO9001,1.2允許對第7章要求中不影響滿足顧客和法規(guī)要求,不及組織責任的標準條款進行裁剪,從擴大了ISO9001標準的適用范圍,又獲得”以一頂是三(三個質(zhì)量保證摸式),減少標準數(shù)量的功效。

(4)??紤]了小型企業(yè)的適用性。2000版標準保留了大小企業(yè)都是必要的條款,有的還進行強化,對小型企業(yè)可能不太上適合的具體要求則進行弱化。使2000版ISO9001標準的通用性更強了。

2.確立八項原則,統(tǒng)一留念理念。

3.鼓勵過程方法,操作性強。2000版標準的修訂采用了過程摸式,提倡用過程方法來識別和建立體系。

4.強化關鍵:領導作用。

5.自我評價測量,突出改進。

6.關心各相關方,利益共享。

ISO9000系列標準原本是為制造硬件產(chǎn)品而制定的標準,不能直接用于軟件制作。后來曾試圖將ISO9001改寫用于軟件開發(fā)方面,但效果不佳。于是,以ISO9000系列標準的追加形式,另行制定出ISO90003標準。這樣,ISO90003就成了用于“使ISO9001適用于軟件開發(fā)、供應及維護”的“指南”。不過,在ISO90003的審議過程中,日本等國曾先后提出過不少意見。所以,在內(nèi)容上與ISO9001已有相當不同。ISO90003(即GB/T19000.394),全稱《質(zhì)量管理和質(zhì)量保證標準第三部分:在軟件開發(fā)、供應和維護中的使用指南》。

制定與實施ISO9000系列標準

1)強調(diào)質(zhì)量并非在產(chǎn)品檢驗中得到,而是形成于生產(chǎn)的全過程。ISO90003敘述了需方和供方應如何進行有組織的質(zhì)量保證活動,才能得到較為滿意的軟件;規(guī)定了從雙方簽訂開發(fā)合同到設計、實現(xiàn)以至維護整個軟件生存期中應當實施的質(zhì)量保證活動,但并沒有規(guī)定具體的質(zhì)量管理和質(zhì)量檢驗方法和步驟。

ISO90003的核心思想是“將質(zhì)量制作入產(chǎn)品之中”。其實道理是很明顯的,軟件在完成編碼以后,不論花多大的力氣用于測試,提高質(zhì)量都是有限度的,更不必說需求規(guī)格說明存在的問題常常是測試無法發(fā)現(xiàn)的。事實上,軟件產(chǎn)品的質(zhì)量取決于軟件生存周期。

2)為把握產(chǎn)品的質(zhì)量,ISO9000要求“必須使影響產(chǎn)品質(zhì)量的全部因素在生產(chǎn)全過程中始終處于受控狀態(tài)”。為使軟件產(chǎn)品達到質(zhì)量要求,ISO90003要求軟件開發(fā)機構建立質(zhì)量保證體系。首先要求明確供需雙方的職責,針對所有可能影響軟件質(zhì)量的各個因素都要采取有力措施,作出如何加強管理和控制的決定。對與質(zhì)量有關的人員規(guī)定其職責和職權,使之責任落實到人,產(chǎn)品質(zhì)量真正得到控制。

3)ISO9000標準要求證實:“企業(yè)具有持續(xù)提供符合要求產(chǎn)品的能力”。質(zhì)量認證是取得這一證實的有效方法。產(chǎn)品質(zhì)量若能達到標準提出的要求,由不依賴于供方和需方的第三方權威機構對生產(chǎn)廠家審查證實后出具合格證明。顯然,如果這一認證工作是公正的、可靠的,其公證的結果應當是可以信賴的。正確實施產(chǎn)品質(zhì)量認證制度自然會在促進產(chǎn)品質(zhì)量提高,指導消費者選購產(chǎn)品,提高質(zhì)量合格產(chǎn)品企業(yè)的聲譽,以及節(jié)省社會檢驗大量費用等方面發(fā)揮積極作用。

生產(chǎn)企業(yè)為了達到質(zhì)量標準,取得質(zhì)量認證,必須多方面開展質(zhì)量管理活動。其中,企業(yè)負責人的重視以及企業(yè)全體人員的積極參與是取得成功的關鍵。

4)ISO9000標準還強調(diào)“質(zhì)量管理必須堅持進行質(zhì)量改進”。貫徹ISO9000標準是企業(yè)加強質(zhì)量管理、提高產(chǎn)品質(zhì)量的過程,這個過程包含許多工作絕非輕而易舉、一蹴而就所能奏效的。即使已經(jīng)取得了質(zhì)量認證也不能認為一勞永逸而放松質(zhì)量管理。實際上認證通常以半年為有效期。取得認證之后尚需接受每年1~2次的定期檢查,其目的在于促使企業(yè)堅持進 行質(zhì)量改進。

軟件工程論文:淺析軟件工程

摘要:軟件工程專業(yè)是計算機領域發(fā)展最快的學科分支之一,軟件工程(software engineering,簡稱為se)是一門研究用工程化方法構建和維護有效的、實用的和高質(zhì)量的軟件的學科。這一學科包括許多的內(nèi)容,具體來講有程序設計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標準,設計模式等。當今社會,網(wǎng)絡化迅速發(fā)展,軟件的應用領域越來越廣?,F(xiàn)在比較普遍的軟件有電子郵件,人機界面,辦公套件,操作系統(tǒng),游戲等。目前,基本上每個行業(yè)都會某種程度的運用到計算機軟件。這些應用對于推動經(jīng)濟和社會的發(fā)展起到了舉足輕重的作用,提高了工作效率,改善了人們的生活質(zhì)量。

關鍵詞:軟件工程 計算機領域 程序設計 開發(fā)工具 設計模式 生命周期、軟件開發(fā)

1 概述

軟件工程是研究和應用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來的學科。這一學科包括許多的內(nèi)容,具體來講有程序設計語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺,標準,設計模式等。當今社會,網(wǎng)絡化迅速發(fā)展,軟件的應用領域越來越廣?,F(xiàn)在比較普遍的軟件有電子郵件,人機界面,辦公套件,操作系統(tǒng),游戲等。目前,基本上每個行業(yè)都會某種程度的運用到計算機軟件。這些應用對于推動經(jīng)濟和社會的發(fā)展起到了舉足輕重的作用,提高了工作效率,改善了人們的生活質(zhì)量。

我們究竟是將軟件的開發(fā)看成一門科學,還是將其看成是一門工程,關于這個問題已經(jīng)討論了很長時間了。事實上,軟件的開發(fā)具備這兩者的特征。但是我們不能將二者混淆了。大多數(shù)人認為軟件工程基于計算機科學和信息科學就像是傳統(tǒng)意義上的工程學之于物理和化學。在世界各個國家,尤其是美國大約有40%的軟件工程師都有計算機科學的學位。他們可能不經(jīng)常運用到計算機科學上的知識,但是會經(jīng)常運用到軟件工程上的知識。許多應用都需要軟件工程,在軟件開發(fā)的許多程序中也需要軟件工程。軟件工程的主要作用就是指導軟件項目的方方面面。在軟件工程中,軟件開發(fā)與各種市場活動緊密相連。軟件工程的方法學認為程序員在開發(fā)軟件的時候是處在一個團隊中的,而且在編寫程序時要符合軟件的需求,設計,以及客戶的利益。

伴隨著開發(fā)技術的不斷進步,軟件開發(fā)過程也在不斷的改進。從早期的瀑布式(waterfall)的開發(fā)模型直到最近開始興起的敏捷開發(fā)方法(agile),表現(xiàn)出來的是隨著時代的變化,軟件產(chǎn)業(yè)對于開發(fā)過程的認識也在不斷的變化,對于各種類型項目的理解方法也在發(fā)生著變化。在美國曾經(jīng)有權威機構對軟件組織的績效做過評估,所得到結論是:軟件工程的專業(yè)分工不足,是造成品質(zhì)低落、時程延誤、預算超支的最關鍵因素。2003年,the standish group年度報告指出,在他們調(diào)查的13522個專案中,有66%的軟件專案失敗、82%超出時程、48%推出時缺乏必需的功能,總計約550億美元浪費在不良的計劃、預算或軟件估算上。

2 軟件工程的需求分析

有一種觀點認為軟件工程是學習怎么做軟件的,對吧?我認為,這種觀點算對,但不是全對。得到一個軟件產(chǎn)品,自然是軟件工程的目的所在,但是軟件工程所包含的卻不僅僅是這些。就拿軟件業(yè)界比較常見的例子來給大家講一下,這個例子就是蓋房子,我們蓋房子,是不是就買塊地,然后準備好建材,就哐當哐當?shù)亻_始建房子了呢?大家明白不是這樣,要建好一座房子,先要對土地進行測量勘察,確定可以在上面建房屋,之后還得先規(guī)劃出整個房子的藍圖來,接下來才是對根據(jù)藍圖開始建房子。建好房子后,還得經(jīng)過一些檢測,比如甲醛有沒有超標啊,包工頭有沒有偷工減料啊,這些都合格之后才能交付使用。于是有人入住了,住久了,發(fā)現(xiàn)浴室漏水,那就得修補一下。再住久了,住了幾十年,房子舊得不成樣子了,這時候它的壽命也到了終點了。

軟件工程之所以叫軟件工程,就是因為它使用了工程學方法來幫助軟件開發(fā),建筑也是一門工程學,所以它們之間是會有些共通之處的,不信?請看:首先,我們在對土地進行測量勘察的時候,是在確定它是否適宜建房子,在軟件工程上來講,這個術語叫“可行性分析”,可行性分析的任務就是確定開發(fā)這個軟件是否在技術上可以做到,在資金上有充足支持,在市場上能夠受歡迎,如果答案是肯定的,那么就可以繼續(xù)下一步的開發(fā)步驟。規(guī)劃

房子的藍圖,在軟件工程上被分為兩個過程:“需求分析”、“設計”。需求分析就是得到軟件需要做什么,需要實現(xiàn)什么功能。而設計就是告訴開發(fā)人員怎么實現(xiàn)這些功能。也就是規(guī)劃出軟件的一個藍圖,在“編碼”階段再對其進行實現(xiàn),這就對應著建房的關鍵階段,就是按照藍圖蓋好房子啦。房子在入住前需要檢測是否合格,軟件在交付給用戶使用的時候自然也需要檢測是否合格,這個階段叫做“測試”。檢測合格了,那就可以交付給用戶使用,在市場上銷售。軟件不可能完美無缺,所以在使用過程中,一定會出現(xiàn)某些問題,這時候就要將問題提交給軟件開發(fā)人員,修復問題,這個階段就是軟件過程中的“維護”階段。過了一段時間,這段時間可能很長,也可能很短,這軟件已經(jīng)不適應生產(chǎn)力的發(fā)展了,那么就可以正式宣告這軟件壽終正寢了,至此,軟件的生命周期才正式結束。

我們還要注意,軟件生命周期包括制定計劃、需求分析和定義、軟件設計、程序編碼、軟件測試、運行維護這六個階段,是指一個計算機軟件從功能確定、設計直到不再使用該軟件的全過程。

軟件工程,正是貫穿在一個軟件的整個生命周期中的。從開發(fā)某個軟件的計劃被提起或者立項,軟件工程就開始發(fā)揮著作用,用自己的一套方法體系,來指導軟件開發(fā)的整個過程。因此軟件工程不等于編程,編程只是軟件工程整個過程中的一個重要環(huán)節(jié)而已。據(jù)統(tǒng)計,在整個開發(fā)周期中,平均編碼這個過程只占了整個周期的大約30%的時間。

3 軟件工程原則

軟件工程學主要是用來對軟件開發(fā)和維護進行指導,是為了經(jīng)濟地獲得能夠在實際機器上有效運行的可靠軟件而建立和使用的一系列完整的工程化原則。它充分的運用計算機科學、數(shù)學及管理科學等方面的知識,并借鑒傳統(tǒng)工程的原則、方法來完成開發(fā)軟件的任務,這樣就能夠最大限度的開發(fā)高質(zhì)量的軟件,并且能夠減少成本。

boehm是一位知名的軟件工程專家,在借鑒了許多的專家和學者的經(jīng)驗之后,再加上自己在開發(fā)軟件方面的經(jīng)驗,在1983年總結出了軟件工程的七條基本原理:

①用分階段的生存周期計劃嚴格管理;

②堅持進行階段評審;

③對產(chǎn)品嚴格把關;

④在技術上運用現(xiàn)代程序設計;

⑤結果能清楚地審查;

⑥開發(fā)小組的人員不要太多,但是這些人員要有真才實學;

⑦不斷對軟件工程實踐進行改進是很有必要的。

一般來說,一個軟件方法往往規(guī)定了明確的工作步驟、具體的描述方式以及確定的評價標準。軟件開發(fā)的基本方法包括結構化方法、面向?qū)ο蠓椒ǖ取?

隨著軟件工程學的發(fā)展和軟件開發(fā)的實踐,軟件開發(fā)模型依次被提出:瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、形式化方法模型等。

目前,已經(jīng)推出很多軟件開發(fā)工具,如需求分析階段的psl/psa系統(tǒng);編碼階段的各種語言編譯工具、編輯程序、連接程序等,都是軟件編碼階段的軟件工具;測試階段的測試數(shù)據(jù)產(chǎn)生程序、動態(tài)分析程序、靜態(tài)分析程序等軟件自動測試工具;維護階段的版本控制系統(tǒng)等。從廣義上來講,軟件分析、設計階段的各種圖形工具,如數(shù)據(jù)流(dfd)等也可以稱為軟件開發(fā)工具。

從技術和管理上采取多項措施后,組織實施軟件工程的最終目的是保證項目成功,即達到以下幾個主要目標:

①使開發(fā)成本最少;

②達到預期的軟件功能;

③軟件性能更好;

④使軟件易于移植;

⑤最大限度降低維護費用;

⑥按時完成開發(fā)任務,及時交付使用。

4 結束語

軟件工程的方法的意義是非常廣泛的。具體來講包括項目管理,分析,設計,程序的編寫,測試和質(zhì)量控制。有些人認為人們要認真遵守這些方法進行軟件開發(fā),但是有些人還沒有足夠的能力實施這些方法。事實上,具體運用哪種方法開發(fā)軟件是受很多方面因素的限制的。

軟件工程論文:信息系統(tǒng)開發(fā)中面向?qū)ο筌浖こ谭椒ǖ膽梅治?

隨著科學技術的不斷進步,計算機硬件也進入了高速發(fā)展階段,軟件開發(fā)方法也隨之得到不斷更新。面向?qū)ο螅╫o)方法于60年代后期被提出,但花了近乎20年才被人們廣泛認識和使用。如今,面向?qū)ο筌浖殉蔀樾袠I(yè)內(nèi)的主流,并在軟件行業(yè)中占據(jù)著非常重要的位置。傳統(tǒng)的軟件工程方法常把數(shù)據(jù)與處理的過程分開,大大增加了軟件開發(fā)的難度。面向?qū)ο蠓椒ò绍浖ぷ饕曌麟x散解空間對象的結合,并使問題空間與解空間的結構、描述模型相一致,簡化了程序的同時降低了軟件系統(tǒng)開發(fā)的難度。

目前,國內(nèi)普遍采用傳統(tǒng)的結構化分析設計和面向?qū)ο蟪绦蛳嘟Y合的方式進行項目開發(fā),并且大部分項目也取得了成功。但這種方法無法讓實現(xiàn)兩者的平滑過渡及連續(xù)性,并且不利于軟件重用、維護、測試等工作的進行。如果全過程僅采用面向?qū)ο筌浖こ谭椒?,則能確保信息系統(tǒng)開發(fā)的完整性和一致性。由于面向?qū)ο髷?shù)據(jù)庫產(chǎn)品尚未完善,因此此方法很難應用于實際中。為此,必須制定相應的規(guī)則和算法,確保面向?qū)ο蠓治?、面向?qū)ο笤O計的結果能正確地向關系數(shù)據(jù)庫轉換。

一、關于面向?qū)ο筌浖こ?

1.面向?qū)ο?。面向?qū)ο笾饕侵冈跐M足客戶需求的基礎下,將需求合理構建成獨立的業(yè)務模塊,之后利用多態(tài)、繼承、封裝、抽象的編程思想對業(yè)務邏輯進行構建,使之與業(yè)務需求相一致,最后將各模塊整合以達到最佳的預期效果。

2.面向?qū)ο筌浖こ?。面向?qū)ο筌浖こ虝r面向?qū)ο蠹夹g和軟件工程相結合的產(chǎn)物。面向?qū)ο蠹夹g貫穿到面向?qū)ο筌浖こ痰娜^程,并將過程中形成的面向?qū)ο蠓治?、面向?qū)ο笤O計和面向?qū)ο蟪绦蛟O計三部分,貫穿到軟件工程的各個相應階段。面向?qū)ο筌浖こ趟捎玫木唧w模型不外乎以下幾種:整體——部分模型、類——對象模型、對象模型、分類模型和狀態(tài)模型。

3.面向?qū)ο蟮姆椒?。隨著時代的發(fā)展,面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O計的理論和技術都得到了逐步完善,軟件開發(fā)方法也不斷地推陳出新。國內(nèi)外目前已衍生出多種的面向分析方法,其中最有影響力的主要有:booch方法、rumbaugh方法、coad和yourdon方法、jacobson方法、統(tǒng)一的ooa方法(uml)。從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O計是一個將模型逐漸擴充的過程。在這個過程中,主要考慮的是如何分析處理問題,對于與特定計算機相關的問題則可以忽略不計。面向?qū)ο笤O計可以分為高層設計和低層設計兩個階段,高層設計主要用于建立體系整體架構,低層設計則主要用于對類的詳細設計。

二、面向?qū)ο蠓椒ㄔ卺t(yī)院收費信息系統(tǒng)的應用

為了更好地理解面向?qū)ο筌浖こ谭椒ㄔ谛畔⑾到y(tǒng)開發(fā)中的應用,我們采用了醫(yī)院的收費信息系統(tǒng)為例。首先,可將醫(yī)院收費的需求構建成三個獨立的業(yè)務模塊——功能模型、動態(tài)模型、對象模型。

1.功能模型

對收費信息系統(tǒng)進行業(yè)務分類,其中主要包括劃價和查詢統(tǒng)計兩個子系統(tǒng)。分類的目的是為了業(yè)務模塊的構建更合理清晰,節(jié)省和減少了系統(tǒng)操作人員的工作時間和工作量。病人繳費以后,操作人員可通過劃價子系統(tǒng)輸出其收費單據(jù),并按有關規(guī)定將單據(jù)導入數(shù)據(jù)庫中。如果病人想清楚醫(yī)院的具體收費,操作人員可鍵入查詢條件,從而為病人輸出相關單據(jù)。

2.動態(tài)模型

醫(yī)院收費信息系統(tǒng)被劃分為兩個子系統(tǒng),其中劃價子系統(tǒng)的動態(tài)模型主要顯示為一些列的前臺操作,其主要表現(xiàn)為:病人請求→劃價員根據(jù)相關單據(jù)進行劃價;病人付款→操作人員打出收據(jù)→將信息導入數(shù)據(jù)庫→修改記錄。查詢統(tǒng)計子系統(tǒng)跟劃價子系統(tǒng)類似,主要均是由病人提出請求,操作員再根據(jù)病人需求鍵入查詢條件,從而輸出病人的相關統(tǒng)計表單。

3.對象模型

本系統(tǒng)主要涉及到的重要的類模型為——庫存類圖、人員類圖和單據(jù)類圖。

(1)庫存類圖。庫存類模型所增加的屬性(庫存量、生產(chǎn)日期、保質(zhì)期)主要跟藥物和其特性密切相關。醫(yī)院內(nèi)各種藥物及材料都標明了庫存量和保質(zhì)期,而藥品則常被細分為:西藥、中藥、中成藥。

(2)人員類圖。病人和醫(yī)院工作人員均繼承在人員類中,其中病人是醫(yī)院收費信息系統(tǒng)的主角,劃價請求、查詢請求、繳費等劃價子系統(tǒng)業(yè)務都是病人類的方法。醫(yī)院工作人員類又可細分為三個子類,包括醫(yī)生類、收費員類和操作員類。醫(yī)生類是必然的存在,病人的病情及其主治醫(yī)生,這些都需要存檔。操作員是除病人外在系統(tǒng)中的又一主角,查詢、劃價、統(tǒng)計均是其工作。由此可見,系統(tǒng)的操作運行離不開操作員。收費員的工作極為簡單,只需進行收費操作即可。

(3)單據(jù)類圖。單據(jù)可分為治療單據(jù)和收費單據(jù)。治療單據(jù)在病人治療后由醫(yī)生開出,單據(jù)上主要標有:單據(jù)號、醫(yī)生和病人的姓名、日期等項目。其中父類為單據(jù)號、醫(yī)生和病人的姓名,子類為治療項目如手術項目類、藥品項目類等。收費單據(jù)時是系統(tǒng)根據(jù)治療單據(jù)劃價、病人繳費后所打印出的憑據(jù)。其父類為收費項目類,子類則為藥品收費項目類、手術收費項目類等。由于單據(jù)的不同,子類會根據(jù)其屬性而有所變化,因而系統(tǒng)可以根據(jù)需要打印出不同類別的單據(jù)。

軟件工程論文:軟件工程在“軟件開發(fā)設計實訓”課程中的應用

筆者所在學院的軟件工程系是成立于2005年的新專業(yè),為校級特色專業(yè)。近年來,隨著對軟件工程特色專業(yè)建設進程的推進,課程體系日趨完善。針對軟件工程學科具有理論多且實踐性極強的特點,本系較大幅度地加大了實踐類課程和環(huán)節(jié)所占的比例,“軟件開發(fā)設計實訓”便是其中很重要的一門實踐課程。由于軟件工程學科發(fā)展速度很快,在軟件產(chǎn)業(yè)不斷發(fā)展,全國對高素質(zhì)的軟件人才的需求量激增的形式下,迫切需要研究和探索實踐類課程的教學模式,激發(fā)學生學習興趣,以更有效的手段和方式提高教學和指導質(zhì)量,為培養(yǎng)更加符合社會實際需要的軟件開發(fā)人才打下堅實基礎。在我校教改基金的資助下,依托軟件工程教學團隊,本文對將軟件工程應用于“軟件開發(fā)設計實訓”課程的教學模式及主要措施進行探討。

1 選擇適當?shù)能浖こ踢^程

“軟件開發(fā)設計實訓”課程的主要目的是使學生學會用面向?qū)ο蟮脑O計方法設計實際系統(tǒng)。結合軟件工程學科的發(fā)展和應用現(xiàn)狀,軟件開發(fā)過程主要采用rup(rational unified process,統(tǒng)一軟件開發(fā)過程)的方式組織軟件開發(fā)。rup是風險驅(qū)動的、基于use case(用例)技術的、以架構為中心的、迭代的、可配置的軟件開發(fā)流程。

rup分為初始、精化、構造和交付四個階段,各階段涉及多種工作流。rup的核心工作流主要包括:

需求捕獲工作流:需求捕獲通過對問題的理解和分析,確立問題涉及的信息、功能和系統(tǒng)行為,將用戶需求精確化、完全化。需求的焦點主要在初始和精化階段,在精化階段后期,需求捕獲的工作量大幅下降。

分析工作流:分析的主要工作開始于初始階段的結尾,和需求一樣是精化階段的主要焦點。精化階段的大部分活動是捕獲需求,分析工作與需求捕獲在很大程度上重疊。

設計工作流:設計的主要工作是位于精化階段的最后部分和構造階段的開始部分的主要建模活動。系統(tǒng)建模最初的焦點是需求和分析,在分析活動逐步完善后,建模的焦點開始轉向設計。

實現(xiàn)工作流:實現(xiàn)(實施)是關于把設計模型轉換成可執(zhí)行代碼的過程。從系統(tǒng)分析師或系統(tǒng)設計師的角度看,實現(xiàn)工作流的重點就是完成軟件系統(tǒng)的可執(zhí)行代碼。實現(xiàn)工作流是構建階段的焦點。

測試工作流:測試是一項相當主要的工作。測試工作流貫穿于軟件開發(fā)的整個過程。它開始于軟件開發(fā)的初始階段,而細化階段和構造階段是測試的焦點。測試是為了找出程序中的錯誤與缺限,而不能證明程序無錯。

rup就像一個元過程,通過對rup進行裁剪可以得到很多不同的開發(fā)過程,非常靈活,所以可以將其按本課程需要進行精簡,從而把深奧的理論指導融入具體軟件項目的開發(fā)設計中,讓學生更加深切地體會到什么叫學以致用,消除畏難情緒,培養(yǎng)和增強在軟件開發(fā)設計中自覺遵從軟件工程思想的習慣。本課程使用的case(computer aided software engineering,計算機輔助軟件工程)工具集采用sybase公司的powerdesigner。

2 將有價值的軟件工程知識引入課堂,教學采用項目貫通案例

為讓學生在中小規(guī)模的實訓項目中也能體會到較大型項目通常會用到的一些軟件工程技術,讓本課程更有實用價值,教師需要對學生補充一些軟件工程相關知識,包括:設計模式、架構設計、類的持久化以及數(shù)據(jù)庫設計、面向?qū)ο髮崿F(xiàn)以及文檔的書寫這四個方面。

為配合上述四個方面的軟件工程相關知識的介紹,教師采取“項目驅(qū)動的案例教學”方法【2】,在課堂講授中引入一個完整的、規(guī)模適中、難易適度的軟件項目案例。該案例需要通俗易懂而又具有實際意義,涉及的應用領域應該是學生較為熟悉的,這樣理解起來更為容易。以此案例完整的開發(fā)設計過程為主線,借助這個貫穿整個課程教學進程、文檔齊全的完整案例來將軟件項目開發(fā)設計過程中的各個環(huán)節(jié)串連起來,著重展現(xiàn)上述四個方面的知識運用,讓學生熟悉和掌握軟件開發(fā)設計的具體實施步驟和技術。

3 學生實踐環(huán)節(jié)分小組按項目方式進行

由于在本實訓課程之前學生已經(jīng)學習過一門先導課程:“軟件需求分析實踐”,所以可以把學生仍然按照在“軟件需求分析實踐”課程中的各小組成員組成來進行項目分組,這樣各小組便可將該課程中的最終成果——《軟件需求分析規(guī)格說明書》作為本課程的起點來進行,需求捕獲工作流便只需粗略進行。由于本課程側重于軟件開發(fā)過程的分析工作流和設計工作流,對實現(xiàn)工作流和測試工作流也只作粗略涉及。

每個項目小組通常為3到5人,分組時采用了優(yōu)勢互補的方式,注意合理搭配,盡量讓每組各個成員具有不同的優(yōu)勢能力,并讓其民主推選一名組長負責組內(nèi)的組織和協(xié)調(diào)【3】。

教師的項目貫通案例教學分階段間插在學生實踐過程中,每介紹一個階段的rup理論,就緊跟幾次課的學生實踐環(huán)節(jié),如此交替進行,當教師的教學案例施教完畢,學生的項目也同步進行到最后階段。

項目進行中模仿軟件公司的例會形式,定期由項目小組長召開小組討論會(如每周一次),對最近這段時間的項目進展情況和技術問題進行討論。每個開發(fā)設計階段結束時教師均要求各小組給出相應的文檔,且每個階段完畢要進行一個模擬的里程碑式的評審(教師參與作為評審團的一員)【4】。

教師還應在課程即將結束的最后課時中對各小組的項目完成情況及普遍存在的共性問題作一個分析總結,并讓各小組組長總結本組項目完成的經(jīng)驗教訓,以利于同學之間取長補短,活躍思維,提高分析總結問題的能力。

4 依托教學團隊,理論及案例部分采用輪流授課法

筆者所在的軟件工程系于2009年底成立了軟件工程教學團隊。團隊兼顧了職稱、學歷、教學、科研的合理搭配,由有大型項目開發(fā)和管理經(jīng)驗的老教師提供指導來提升年輕教師的教學能力,并讓其參與到科研項目中積累項目經(jīng)驗。本課程的任課教師均由該團隊中選出。本課程所用的《軟件開發(fā)設計實訓指導書》的編寫由各任課教師分工完成,每人負責完成一章內(nèi)容。本課程每個教學班安排30人左右,各教學班的教師全程負責該班整個課程的實踐指導環(huán)節(jié)。而理論及案例講授部分的教學則采用輪流授課法,實施方案是每個階段的課堂講授由編寫實訓指導書的相應章節(jié)的教師對全體教學班集體授課,其他教師同時到場輔導。具體各階段的課堂講授內(nèi)容安排如下:

1)rup總論以及課程概述

2)設計模式

3)常用的軟件架構風格及適用情況分析

4)對象持久化與數(shù)據(jù)庫設計

5)面向?qū)ο髮崿F(xiàn)及文檔編寫與整理

對應進行的學生的各階段實踐任務如下:

1)按既定方式確定各小組成員和組長,并且重新審核各組在先導課程“軟件需求分析實踐”中的最終成果《軟件需求分析規(guī)格說明書》,進一步完成分析模型,得出用例圖,分析類圖,序列圖及協(xié)作圖。這一階段學生需提交分析模型文檔。

2)按照設計模式重新設計類。這一階段學生需完成兩個任務:一是實現(xiàn)設計模型中的具體設計類,具體要求學生:使用設計模式和機制;創(chuàng)建初始設計類;確定持久類;定義類可視性;定義操作;定義方法;定義狀態(tài);定義屬性;定義依賴關系;定義關聯(lián);定義內(nèi)部結構;定義泛化關系;解決用例沖突。二是完成用例實現(xiàn)的設計,主要設計模型內(nèi)的協(xié)作關系,以設計類及其對象為基礎,描述各個特定用例的實現(xiàn)和協(xié)作。這一階段學生需提交設計模型、類圖和用例實現(xiàn)。

3)完成架構設計。這一階段學生需要設計包結構,完成系統(tǒng)設計模型圖的實現(xiàn)子系統(tǒng)、接口設計類及架構模型(組件圖),重新審查用例模型,得出用例模型的架構視圖。這一階段學生需提交子系統(tǒng)設計文檔、接口設計文檔及架構模型文檔。

4)根據(jù)持久類以及數(shù)據(jù)庫知識對數(shù)據(jù)庫進行設計(包括字段編碼設計)。這一階段學生需提交數(shù)據(jù)庫設計文檔。

5)本課程的最后階段。完成實施模型(部署圖);完成界面以及輸入輸出(報表等)設計;完成具體子系統(tǒng)的編程工作,并進行二次迭代重新審核前面的設計部分;整理測試報告;整理文檔并編寫軟件使用說明書。這一階段學生需提交組件圖、部署圖、輸入輸出設計說明及具體子系統(tǒng)代碼執(zhí)行程序。

5 考核方式強調(diào)過程考核,開發(fā)設計能力與書寫文檔能力并重

本課程的實訓目標是使學生能綜合運用所學的知識進行中小型應用項目的軟件開發(fā)設計。為此,我們提出了本課程考核的指導思想:重視實訓過程,看重軟件開發(fā)設計能力的提高,采用復合考核的方式,課程成績由平時考核、過程考核和項目驗收答辯成績組成。重點突出“會不會做”,強調(diào)對學生的實際開發(fā)設計能力考核,同時注意防止輕視書寫文檔的觀念。這種考核方式不但能更客觀地反映學生的學習情況,還能引導學生有意識地加強軟件開發(fā)設計技能的培養(yǎng),開發(fā)設計能力與書寫文檔能力并重,更利于達到預期的教學效果。本課程具體的課程考核成績組成如下:

1)平時成績*10%(考勤成績*50%+小組開發(fā)設計工作中的合作精神表現(xiàn)*50%);

2)階段考核成績*60%(五個階段,各階段的能力表現(xiàn)及提交的文檔各占20 %);

3)項目驗收成績*30%(項目文檔匯總整理占50%,項目答辯50%)。

6 結束語

“軟件開發(fā)設計實訓”課程是軟件工程專業(yè)實踐類課程中非常核心的一門,其實踐性和綜合性都很強,能集中訓練和提高學生進行軟件項目開發(fā)和設計的實際技能。其教學實施過程不應被視為只要學生針對項目要求能編寫出相應的軟件即可,而更應注重軟件開發(fā)設計過程的方法和技能的培養(yǎng),以培養(yǎng)具有軟件工程思想的真正符合社會需求的軟件人才。本課程應緊隨軟件工程學科的發(fā)展而不斷更新。在今后的課程開展過程中,其教學模式和措施還需要不斷創(chuàng)新、總結和改進,需要持續(xù)不斷地研究和探索。

軟件工程論文:計算機軟件工程管理工作探析

論文 關鍵詞:軟件工程管理 開發(fā)人員 組織結構用戶

論文摘要:通過對軟件產(chǎn)品特點的分析,討論軟件工程管理可能涉及的人員、組織機構、用戶、控制、文檔資料等內(nèi)容.

一、引言

軟件工程管理目前還沒有引起人們的足夠重視。究其原因:首先是人的傳統(tǒng)觀念,工程管理不為人們所重視;另一方面軟件工程是一個新興的學科領域,軟件工程管理的問題也是剛被提出的。同時,由于軟件產(chǎn)品的特殊性,使軟件工程管理涉及到很多學科。因此.對軟件工程管理,人們還缺乏經(jīng)驗和技術。但事實證明,由管理失誤造成的后果要比程序錯誤造成的后果更為嚴重。很少有軟件項目的實施進程能準確地符合預定目標、進度和預算的,這也就足以說明軟件工程管理的重要。

二、軟件工租,理的內(nèi)容

目前軟件生產(chǎn)自動化程度很低,在開發(fā)過程中人是起決定性的因素,因此,軟件工程管理很大程度上是對人的管理。我們可根據(jù)軟件產(chǎn)品的特點.分析軟件下程管理的具體內(nèi)容,它包括對開發(fā)人員、組織機構、用戶、文檔資料等方而的管理。

(一)開發(fā)人員

軟件開發(fā)人員一般分為:項目負責人、系統(tǒng)分析員、高級程序員、初級程序員、資料員和其他輔助人員.根據(jù)項目的規(guī)模人小,有可能一人身兼數(shù)職,但職責必須明確。不同職責的人,要求的素質(zhì)不同。如項目負責人需要有組織能力、判斷能力和對重大問題能做出決策的能力;系統(tǒng)分析員則要有概括能力、分析能力和社交活動能力;程序員需要有熟練的編程能力等。人員要少而精,選人要慎重。軟件生命期各個價段的活動有分工又互相聯(lián)系。因此,要求選擇各類人員既能勝任工作,又要能相互很好地配合.沒有一個和諧的工作氣氛很難完成個復雜的軟件項目。

(二)組織機構

組織機構不等于開發(fā)人員的簡單集合。這里的組織機構要求:好的組織結構、合理的人員分工和有效的通訊。軟件開發(fā)的組織機構沒有統(tǒng)一的模式。下面簡單介紹三種組織機構。

1.主程序員組織機。ibm公司提出的主程序員組是軟件系統(tǒng)結構化思想在組織上的體現(xiàn)。它的目的是為了保證全組的協(xié)調(diào)和統(tǒng)一。一位高級工程師(主程序員)主持計劃、協(xié)調(diào)和復審組的全部技術活動。技術人員(一般25人)負責分析和開發(fā)活動,一位后援工程師支持高級工程師的工作,并且在該項目繼續(xù)進行時,可以代替高級工程師工作,以減少可能的損失.

2.專家組。專家組強調(diào)每個人的才能,把每個人都看作是某一方面的專家,由這些專家組成一個開發(fā)機構。這種組織結構雖然能發(fā)揮所有工作人員的積極性,但往往有可能出現(xiàn)協(xié)調(diào)上的困難,選擇這種方式要慎重.

3.民主組織.民主組織由從事各方面工作的人員輪流擔任組長。很顯然,這種組織結構對調(diào)動積極性和個人的創(chuàng)造性是很值得稱道的。但是由于過多地進行組長信息“轉移”不符合軟件工程化的方向。

(三)用戶

我們是為用戶開發(fā)軟件的,在開發(fā)過程中自始至終必須得到用戶的密切合作和支持。作為項目負責人,要特別注意與用戶保持聯(lián)系,掌握用戶的心理和動態(tài).防止來自用戶的各種干找和阻力。

1.用戶不積極,不配合。這種表現(xiàn)通常來自對采用先進技術持懷疑態(tài)度的用戶,他們心理上的抵觸情緒會在行動上表現(xiàn)為消極、漠不關心。在需求階段,做好這部分人的工作很重要,通過他們中的業(yè)務骨千,才能真正了解到用戶的要求。要使他們認識到: 計算 機的 發(fā)展 和應用是 現(xiàn)代 化的必然趨勢,使用計算機將會帶來巨大的 經(jīng)濟 效益:讓他們掌握新的技術和方法去取代某些可能過時的或淘汰的專長。

2.用戶求快求全.這種表現(xiàn)來自對使用計算機持積極態(tài)度的人.他們中一部分人希望一個早上就能用上計算機,并且全能用上計算機。要他們認識到;開發(fā)一個軟件項目不是一朝一夕就能完成的,軟件工程不是靠人海戰(zhàn)術就能加快的工期。另外,即使計算機能夠處理的事情,系統(tǒng)也不能下于包羅萬象,貪大求全。要根據(jù)現(xiàn)有的條件量力而行。如果系統(tǒng)大而全,必然會很復雜,開發(fā)時間就拖得很長,因此可能會導致一個系統(tǒng)的失敗或性能太差.

3.用戶需求變化.在軟件開發(fā)過程中,用戶可能會不斷提出新的要求和修改以前提出的要求。從軟件工程的角度不希望有這種變化。但實際上,不允許用戶提出變動的要求是不可能的.因為一方面每個人對新事物有一個認識過程,不可能一下子提出全面的、準確的要求:另一方而還要考慮到與用戶的關系。對來自用戶的這種變化要正確對待:要向用戶解釋軟件工程的 規(guī)律 ,并在可能的條件下部分或有條件地滿足用戶的合理要求.例如:軟件需求分析階段結束后軟件的設計口標已經(jīng)確定,這時用戶要求的重大變化要導致設計目標的變化,特別是到軟件開發(fā)的后期,一般不可能滿足這種變化的要求。要向用戶解釋清楚工程的內(nèi)在規(guī)律,但對用戶提出的如性能等局部方而的要求,只要是合理的,就要加以考慮。

4控制。人員控制是對開發(fā)組織內(nèi)部人員控制。就是要保證開發(fā)人員的積極性和穩(wěn)定性。人員的頻繁更換或流動將會大大增加軟件出錯誤的機會。至少要保證軟件項目每一期工程或軟件生命期每一階段中人員的相對穩(wěn)定性。同時注意發(fā)揮每個開發(fā)人員的積極性和創(chuàng)造性。經(jīng)費控制要編制詳細的經(jīng)費預算。并在各階段進行經(jīng)費的核算。在經(jīng)費上失去控制,軟件項目就沒有經(jīng)濟保證。質(zhì)量控制與各階段的復審在意義和作用上是一致的,在此不再敘述。

5.文檔資料。開發(fā)過程的各種活動后都要反映在文檔資料上。每一個階段的文檔資料是以后各階段工作的基礎,又是對前面各階段工作的復審。軟件工程管理很大程度上是通過對文檔資料管理來實現(xiàn)的。因此,要把開發(fā)過程中的初步設計、中間過程、最后結果等建立成一套完整的文檔資料。文檔標準化是文檔管理的重要方面。

三、結束語

在當今的軟件工程時代,每個項目涉及眾多的人力和物力,管理問題日益突出。在實際工作中,不管是否正式提出管理問題。都在自覺或不自覺地進行著管理,只不過是管理的好壞程度不同而已。隨著軟件規(guī)模的不斷增大.開發(fā)人員也隨著增多,開發(fā)時間也相應持續(xù)增長。而對于規(guī)模大、人員多、開發(fā)時間長的軟件項目,必須要有良好的管理和力求在確定的時間和預算范圍內(nèi)有效地、合理地組織人力、物力.按計劃完成預定的軟件項目。

軟件工程論文:“軟件工程專業(yè)卓越工程師培養(yǎng)方案”的探索與實踐

2004年,世界工程師大會在中國召開,會議的主題是“工程師塑造可持續(xù)發(fā)展的未來”。這個主題告訴我們,“工程師”對人類未來發(fā)展的重要性,同時也告訴我們“工程教育”對人類未來發(fā)展的重要性。[1]應該看到,盡管一些應用型本科院校把培養(yǎng)“一線工程師”作為學校的辦學宗旨,并在此基礎上對教學模式、教學方法進行了一系列的教學改革,但由于與企業(yè)的結合不夠緊密,高等工程教育所培養(yǎng)出的“一線工程師”與企業(yè)、與社會的脫節(jié)比較嚴重,不能適應現(xiàn)代社會發(fā)展的需求。

2010年6月教育部基于提高工科院校專業(yè)教育教學水平而正式啟動推出的“卓越工程師教育培養(yǎng)計劃”(以下簡稱“卓越計劃”)[4]是貫徹落實《國家中長期教育改革和發(fā)展規(guī)劃綱要(2010-2020年)》和《國家中長期人才發(fā)展規(guī)劃綱要(2010-2020年)》的重大教育計劃。該計劃旨在培養(yǎng)造就一大批創(chuàng)新能力強、適應經(jīng)濟社會發(fā)展需要的高質(zhì)量各類型工程技術人才,為國家走新型工業(yè)化發(fā)展道路、建設創(chuàng)新型國家和人才強國戰(zhàn)略服務,對促進高等教育面向社會需求培養(yǎng)人才,全面提高工程教育人才培養(yǎng)質(zhì)量具有十分重要的示范和引導作用。

上海應用技術學院“軟件工程”專業(yè)從 2010 年起即著手準備,在原有專業(yè)設置基礎上不斷探索與實踐,根據(jù)it學科行業(yè)發(fā)展的特殊性,制定具有前瞻性的人才培養(yǎng)標準,并通過全面修訂人才培養(yǎng)方案、實施人才培養(yǎng)模式、教學方式、訓練方式和評價方式等的改革。

一、培養(yǎng)模式

本專業(yè)實施“3+1”校企聯(lián)合培養(yǎng)模式,學生須接受3年的在校培養(yǎng),累計1年的企業(yè)實踐和畢業(yè)設計。前三年學生在校學習學科基礎知識和軟件工程的基本理論知識和技能,打好從事軟件工程領域工作的扎實專業(yè)基礎。在校學習過程中,定期聘請企業(yè)教師參與到教學實踐中,使學生對企業(yè)的生產(chǎn)實際有初步的了解。

第四年學生將被安排在合作企業(yè)進行為期一年的學習與實踐。一些與企業(yè)聯(lián)系密切的專業(yè)課程及畢業(yè)設計在企業(yè)完成,學生參與到企業(yè)的各個項目組,隨項目組一起參與實際項目的開發(fā)。項目組負責人將視學生為自己的員工,分派合適的工作要學生隨導師或獨立完成。通過參加一個或幾個實際項目的工作,獨立地完成一部分工作,并以企業(yè)標準進行考核,使學生對軟件標準化設計的全過程有更深入的了解。增強學生的責任心,提高學生的實際工作能力。

二、培養(yǎng)標準

按照教育部“卓越工程師教育培養(yǎng)計劃”的總體工作思路和標準要求,上海應用技術學院“軟件工程專業(yè)卓越計劃”將以“培養(yǎng)面向未來國家建設需要,適應未來科技發(fā)展,德智體全面發(fā)展,掌握軟件工程學科的基本原理和基本知識,具有扎實的基礎理論、寬厚的專業(yè)知識和良好的實踐能力,獲得工程師基本訓練,能勝任軟件工程項目的規(guī)劃、設計、實施、管理、研究、教育,以及投資與開發(fā)等工作,具有創(chuàng)新精神和國際視野的卓越的專業(yè)工程師”。

三、培養(yǎng)方案架構

按照課程群和模塊化的指導思想搭建培養(yǎng)方案的課程架構,滿足不同學生、企業(yè)對知識能力培養(yǎng)的需求。培養(yǎng)方案課程體系總體架構如圖1所示。1-5學期按照課程群進行教學,滿足學生對不同知識能力的需求;第6學期根據(jù)學生實習企業(yè)對知識能力的需求分模塊進行教學;第7-8學期進入對口的企業(yè)實習并完成畢業(yè)設計。

四、校內(nèi)培養(yǎng)方案

校內(nèi)培養(yǎng)方案的設計目標是通過學習使學生具有較強的工程意識、工程素質(zhì)、工程實踐能力,成為專業(yè)知識扎實、動手能力突出、素質(zhì)優(yōu)良的卓越軟件技術人才。為了保證卓越工程師培養(yǎng)計劃的實現(xiàn),制定了卓越工程師計劃專業(yè)知識與能力的實現(xiàn)矩陣,進一步明確了本科課程體系設置,包括課程模塊的構成、具體翔實的課程教學目標以及教學考查方式。結合專業(yè)特點以及學校學院的教學平臺、 教學設施、教學創(chuàng)新實踐基地等,加強了教育教學中的基礎性、創(chuàng)新性、實踐性、國際化,使專業(yè)的教育教學更上一個新的臺階。

(一)課程群劃分

將課程劃分為三條主線進行教學:1.基本理論課群,包括操作系統(tǒng)、計算機網(wǎng)絡、離散數(shù)學、數(shù)據(jù)結構、算法、計算機原理等。本部分課程培養(yǎng)學生計算機學科的基本理論和體系結構,使學生具備堅實的理論基礎,為其今后的繼續(xù)學習和發(fā)展打下基礎,同時滿足學生考研需求。2.程序設計能力課程群,.net、java兩個主流平臺并重,再加上三門培養(yǎng)綜合設計能力的課程,以提高學生的實踐動手能力,并滿足不同企業(yè)對開發(fā)工具的需求。為了加強學生的程序設計能力,我們在課程設置上體現(xiàn)了在校學習期間三年不斷線的思想,每學期都有與程序設計有關的課程和實訓。要求學生第一年編寫代碼不少于5000行,第二年不少于10000行,第三年不少于20000行。在進入企業(yè)之時,已經(jīng)具備了較強的程序設計能力。3.軟件工程能力課程群,以提供學生軟件工程的管理與被管理能力。

(二)課程模塊劃分

根據(jù)合作企業(yè)的知識能力的不同需求劃分為若干不同模塊。通過對學生工作去向的跟蹤調(diào)查和軟件工程行業(yè)需求調(diào)查,確定了erp開發(fā)、web應用開發(fā)、手機應用開發(fā)、軟件咨詢服務等幾個方向。每個方向設立若干課程構成若干課程模塊,對應不同的去向,滿足不同企業(yè)的需求。在基本能力培養(yǎng)的基礎上,根據(jù)學生第四年去向選擇模塊,在第6學期完成,由企業(yè)方參與教學,完成學生進入企業(yè)的過渡。

五、企業(yè)培養(yǎng)方案

企業(yè)培養(yǎng)方案突出了理論和實踐綜合素質(zhì)的培養(yǎng),在教學體系上形成了企業(yè)導師教學講解、專題實訓、項目實踐的“三位一體”、工學交替的人才培養(yǎng)方案。

整個企業(yè)階段的培養(yǎng)方案劃分為企業(yè)工程教育或?qū)I(yè)特色實習(累計15周)、現(xiàn)場工程實踐和專業(yè)綜合設計(累計25周)兩個部分,共40周,其中:

1.企業(yè)工程教育或?qū)I(yè)特色實習(15周)

根據(jù)企業(yè)的業(yè)務和項目情況設置相關課程,折合15周。目的是培養(yǎng)軟件企業(yè)需要的一線工程人才。為了提高本專業(yè)特色實習的質(zhì)量,聘用計算機軟件工程專業(yè)知識過硬、實踐經(jīng)驗豐富的技術人員為教師。在實習過程中,采用案例教學法,把企業(yè)實際軟件工程項目納入學生實習范圍,讓學生接觸和開發(fā)企業(yè)實際的工程項目。為了提高實習效果,企業(yè)工程教育要做到講授、訓練、實踐穿插進行,使學生全面感受企業(yè)的工作環(huán)境、管理體制和項目開發(fā)過程,做到學生學習的專業(yè)特色內(nèi)容與企業(yè)實踐相結合。

2.現(xiàn)場工程實踐或?qū)I(yè)綜合設計(25周)

為使學生成為滿足軟件產(chǎn)業(yè)需求的創(chuàng)新型人才,專業(yè)綜合設計采用項目驅(qū)動的實習模式,專業(yè)綜合設計通過參與企業(yè)實際項目完成,共25周。專業(yè)綜合設計課題全部來源于企業(yè)的工程項目,實行1人1題,由實習單位的專業(yè)技術人員和學校的專業(yè)教師擔任設計指導教師。專業(yè)綜合設計結合實際工程問題,進行有針對性的研究與實踐,培養(yǎng)學生綜合運用所學知識和技能、分析與解決實際問題的能力,培養(yǎng)學生勇于探索的創(chuàng)新精神、嚴肅認真的科學態(tài)度和嚴謹求實的工作作風。

經(jīng)過一年多的實踐,卓越工程師人才培養(yǎng)成效顯著,一批特色鮮明、實踐能力強的工程應用型創(chuàng)新人才脫穎而出,2012屆參加卓越工程師培養(yǎng)方式的學生,在就業(yè)方面占據(jù)了明顯的優(yōu)勢。受到了企業(yè)的普遍歡迎。目前,2013屆學生參加卓越工程師培養(yǎng)計劃的工作正在進行,受到2012屆成功運作的影響,學生們積極性很高。在卓越工程師計劃的實施過程中,我們也發(fā)現(xiàn)了一些培養(yǎng)計劃中的不足之處,并在2013屆的實施中加以以調(diào)整。相信經(jīng)過幾年的努力,我們的培養(yǎng)方案會愈加成熟。

軟件工程論文:地方院校軟件工程校企合作 實訓教學改革的探索與實踐

地方院校教學目標是培養(yǎng)社會所需要的應用型人才,這是其優(yōu)勢所在。實訓教學是指獨立設課的實訓課和理論課中的實訓環(huán)節(jié),是實現(xiàn)培養(yǎng)目標的主體教學環(huán)節(jié)之一。實訓教學是培養(yǎng)學生專業(yè)技術應用能力及分析問題和解決問題能力的重要途徑,是教育過程中不可缺失的重要環(huán)節(jié)。本課題的研究基于某些國內(nèi)外知名企業(yè)提供技術服務為基礎,以梧州學院軟件工程專業(yè)為探索平臺進行的教學改革實踐。校企合作的內(nèi)容主要包括實踐教學體系建設、實訓教材建設、實訓基地建設、產(chǎn)學研等多方面。

著力打造“4+5”的實踐教學體系

學院軟件專業(yè)打破傳統(tǒng)的三段式教學,著力打造“4+5”的實踐教學體系?!?”是指突出培養(yǎng)學生四種能力(實踐能力、創(chuàng)造能力、就業(yè)能力和創(chuàng)業(yè)能力);“5”是指培養(yǎng)過程的“課程實驗—期末實訓--畢業(yè)實訓—頂崗實習—創(chuàng)新性實踐活動”五個模塊。五個模塊是根據(jù)軟件工程特點,循序漸進地培養(yǎng)四種能力,體現(xiàn)工學結合。這五個模塊和整個課程體系,都是圍繞主線來展開。其中的“創(chuàng)新性實踐活動”對軟件技術人才來說是非常重要的,一個軟件就像一個作品,必須有創(chuàng)意和實用的算法。

校企合作,共同開發(fā)實訓課程和教材

為了支持“一條主線,五個模塊”的實踐教學體系,學院軟件專業(yè)采取校企合作方式,共同開發(fā)實訓課程,分別用于各個模塊教學中。目前,已與多家企業(yè)共同建設基于任務驅(qū)動、項目導向、工作過程的《信息開發(fā)技術》課程,基于工作過程的 “教學做”一體化情景化教學的《網(wǎng)絡綜合布線》課程。與企業(yè)合作開發(fā)《信息開發(fā)技術教程》、《多媒體技術與應用實訓教程》、《網(wǎng)站規(guī)劃與設計實訓教程》、《計算機組裝與維護實訓教程》、《角色動畫教程》等教材。

校企合作,共建校內(nèi)生產(chǎn)性實訓基地

學院軟件專業(yè)采取校企合作方式,與多家企業(yè)共建網(wǎng)絡構建、服務器、綜合布線實訓室,實訓室建設貫徹先進性、真實性、工程性、開放性的建設原則,將實訓基地建成具備多類網(wǎng)絡架構真實環(huán)境,集教學、科研、工程、培訓、技能鑒定等多種功能于一體的網(wǎng)絡技術與軟件工程中心,著力培養(yǎng)學生的職業(yè)技能和創(chuàng)新能力,提高人才培養(yǎng)質(zhì)量,提升社會服務能力。

以產(chǎn)學研充實教學內(nèi)容,提高教學和管理水平

為搞好產(chǎn)學研,學院建立二級科研機構軟件開發(fā)中心,軟件專業(yè)教師在研究所兼職搞開發(fā),取得了良好的效果。先后完成了梧州市國稅限時辦結稅務系統(tǒng)、廣西財政廳的預算單位銀行賬戶管理系統(tǒng)、基于cmpp的短信系統(tǒng)的研究、廣西科技廳的nsq物流信息實時智能配對系統(tǒng)、新型農(nóng)村合作醫(yī)療信息系統(tǒng)等。在重大課題研究中積累了豐富的研究經(jīng)驗。特別是在醫(yī)療衛(wèi)生行業(yè), 建立醫(yī)療衛(wèi)生行業(yè)綜合信息平臺。醫(yī)療衛(wèi)生行業(yè)以新型農(nóng)村合作醫(yī)療、城鎮(zhèn)居民健康檔案管理系統(tǒng)為切入點,以現(xiàn)有系統(tǒng)為基礎,以國家農(nóng)村合作醫(yī)療建設政策為指導思想,以具體的信息化項目作為實際載體,參與到醫(yī)療衛(wèi)生行業(yè)“一個平臺、四大系統(tǒng)”的建設中(即建立一個包含網(wǎng)絡硬件和基礎軟件的統(tǒng)一技術基礎平臺,建立衛(wèi)生行政管理信息系統(tǒng)(衛(wèi)生電子政務)、突發(fā)公共衛(wèi)生事件應急系統(tǒng)(突發(fā)公共衛(wèi)生事件應急指揮決策、疾病預防控制、衛(wèi)生監(jiān)督、醫(yī)療救治等系統(tǒng))、醫(yī)療服務信息系統(tǒng)(醫(yī)院信息)和衛(wèi)生應用信息系統(tǒng)(合作醫(yī)療、社區(qū)衛(wèi)生、婦幼保健、醫(yī)教科研等系統(tǒng))),在加快全市公共衛(wèi)生信息化建設進程,全面提高突發(fā)公共衛(wèi)生事件監(jiān)測、應急反應、醫(yī)療救治、執(zhí)法監(jiān)督和指揮決策的能力方面作出我們應有的貢獻。

總結

軟件工程專業(yè)的“3+0.5+0.5”的教學模式的實訓環(huán)節(jié)是按照校內(nèi)半年、校外半年的方式進行組織的。校內(nèi)實訓基地引入來自企業(yè)的真實項目,學生在貼合軟件企業(yè)工作環(huán)境的實訓室中完成校內(nèi)綜合實訓。校外實訓基地由來自企業(yè)的兼職教師帶領在企業(yè)頂崗實習的學生參加企業(yè)項目的研發(fā),在實戰(zhàn)中進一步深化所掌握的專業(yè)知識。通過分方向、多層次、分階段來逐步訓練學生的專業(yè)技術能力和職業(yè)素質(zhì)。整個實訓環(huán)節(jié)包括專業(yè)認知、基本技能實訓、核心技術實訓、綜合實訓、頂崗實習幾個環(huán)節(jié),實訓涵蓋了基礎知識、專業(yè)核心技術及綜合能力培養(yǎng)等各個方面,所建立的實訓教學體系有一定的借鑒意義。

軟件工程論文:基于軟件工程開發(fā)的領域本體構建研究

目前流行的領域本體構建方法有:英國edinbunrgh大學ai應用研究所的enterprise項目組開發(fā)的“骨架法”,該方法使用middle—out開發(fā)方式提供與商業(yè)和企業(yè)有關的術語及其定義的集合;加拿大toronto大學企業(yè)集成實驗室開發(fā)了tove項目本體,通過該本體來建立指定知識的邏輯模型;bernaras等人開發(fā)的歐洲eaprit kactus項目中由應用來控制本體的開發(fā),每個應用都有相應的知識本體,這些本體即能復用其他的本體,又能集成到項目以后的本體應用中;西班牙m(xù)adrid理工大學ai實驗室開發(fā)的,methontology法構建知識級本體;美國southern california大學信息科學研究所開發(fā)的sensus法,主要通過自然語言處理,提取和合并不同電子知識源的信息而得到該領域本體的內(nèi)容。

本文借鑒了上述傳統(tǒng)領域本體構建方法中的基本思想,并在構建框架中融合了軟件工程開發(fā)方法中的結構化開發(fā)方法和原型化開發(fā)方法。

1 傳統(tǒng)領域本體構建方法分析

1.1 共同點分析

縱觀上述“骨架法”、“評估法”、“bernaras”、“methonotology”及“sensus”方法構建領域本體過程中的思路,它們之間存在以下共同點:

(1)許多本體構建方法都以一個具體任務為起點,這樣易于知識的獲取和本體功能的描述。

(2)本體構建大致可劃分為階段法(如骨架法)和演化法(如methontology法)。

(3)在構建過程中可分為“非形式化描述本體”和用正規(guī)描述語言“形式化描述本體”前后兩個階段。

(4)希望通過累積的方法構建本體,即先構建一個基礎本體,然后做進一步開發(fā)。

(5)對于由同一個基礎本體構建出的領域本體,由于高層概念的共享,本體系統(tǒng)之間具有互操作能力。

1.2 缺陷分析

ieee 1074—1995標準是軟件開發(fā)生命周期過程的標準,其中包括模型階段、項目管理階段、軟件開發(fā)階段與集成階段4個開發(fā)階段,其中軟件開發(fā)階段的具體步驟如下:

(1)開發(fā)前期:主要進行可行性研究等活動;

(2)開發(fā)階段:主要進行需求分析、設計和實現(xiàn)等活動;

(3)開發(fā)后期:主要進行軟件的安裝、試運行、操作和維護等活動。

與ieee 1074—1995標準對比而言,目前領域本體構建還遠遠沒有成為一種工程性活動,還具有如下缺陷:

(1)沒有一種方法是完全成熟的,不論是bemaras法、sensus法、骨架法、評估法,還是methontology法。

(2)缺乏工程化的本體通用構造方法和標準。由于每個研發(fā)團隊處于不同的學科領域,雖然總結出各個領域不同的開發(fā)方法和體系結構,但是各個本體開發(fā)方法都不盡統(tǒng)一,缺乏通用的標準。

本文在領域本體構建過程中揚棄上述5種領域本體構建方法中的優(yōu)缺點,而且借鑒了軟件工程開發(fā)的基本標準。

2 基于軟件工程開發(fā)的領域本體構建

2.1 構建框架

本文在領域本體框架構建的形式上采用結構化方法中分段式模式,將整個領域本體構建過程分為領域本體規(guī)劃階段、領域本體分析階段、領域本體設計階段、領域本體實施階段及領域本體運行階段,每個階段都有自己獨立的目標及主要任務,前一階段任務的完成是后一階段任務開始的前提和基礎,后一階段任務通常是對前一階段提出的解決問題方法的進一步具體化,即該過程是按照軟件工程開發(fā)的生命周期流程來逐步解決問題的。在領域本體分析階段,根據(jù)領域本體規(guī)劃階段提出的具體要求和目標,采用原型化方法不斷地對分析結果進行修改和完善。其構建框架如圖1所示。

2.2 構建框架分析

2.2.1 領域本體規(guī)劃階段

(1)確定領域本體的用途和范圍

確定領域本體范圍的方式之一是設計并填寫本體的性能調(diào)查表,以下從需求的角度對本體支持的性能調(diào)查表進行簡單的分類:

①需求細化。需求細化過程必須滿足何種標準?會產(chǎn)生多余的需求嗎?需求是客戶的清晰表述嗎?

②需求追溯能力。需求還能分解嗎?需求的來源是什么?誰記錄需求?需求在特定的設計團隊中適用嗎?

③需求滿足。需求能夠滿足嗎?兩個或多個需求間相互沖突嗎?更高抽象級別的需求怎樣滿足評估?

④文檔生成。需求屬于哪類文檔?哪些是與需求文檔中的段落相符的需求?不屬于客戶報告的需求有哪些(商業(yè)機密)?

⑤升級。這是需求的最新版本嗎?需求的舊版本有哪些?為什么還要改變需求?變化對需求文檔的一致性和完整性有影響嗎?

(2)考慮復用現(xiàn)有領域本體

一些本體已經(jīng)初具規(guī)模,可以在網(wǎng)上找到相應的本體庫及相關資料,在具體開發(fā)之前,有必要在這些本體中尋找系統(tǒng)可以重用的本體,這樣可以省去元本體和頂層本體的建立,而把本體建立的目標重點放在領域本體的建立上。

2.2.2領域本體分析階段

(1)定義類和類層次

類描述了領域的概念而非單詞。在類和類層次的定義過程中,需要依據(jù)以下8個原則:

①確保類層次的正確性

恰當使用is—a和kind-of等類間關系,is-a關系指類a是類b的子類,前提是b的每個實例也是a的實例。類的子類表示概念是kind-of父類表示的概念;層次關系間具有傳遞性,并應區(qū)分直接子類和間接子類的關系;避免類層次的循環(huán),確保類層次隨著領域發(fā)展而進化。

②分析類層次中的兄弟關系

在類層次中,兄弟關系是同一類的直接子類,并在同一抽象級別上。關于直接子類的個數(shù)并沒有明確規(guī)定,但父類一般只有2-12個直接子類,過多或過少不都合適。

③多重繼承關系

一個類可以是幾個類的子類,則子類的實例是其所有父類的實例,子類將繼承所有父類的屬性和關系約束。

④引入新類的時機

當類的子類有其父類不具有的新屬性,或有已定義的新屬性值,或覆蓋父類屬性的約束,此時可以引入一個新類。新類可以沒有任何新的屬性,沒有必要為了一個額外的限定條件來創(chuàng)建新類。

⑤新類或特性值

如果有不同屬性值的概念變成其他類中不同屬性的約束,則應該生成新類,以便加以區(qū)別;類的單個實例不應經(jīng)常改變,當使用概念的外在(非固有)屬性來區(qū)別類時,這些類的實例將需從一個類移動到另一類。

⑥類或?qū)嵗?

判斷類結束和單個實例開始依賴于知識表示中最低的粒度級,而粒度級又由本體應用來確定;如果概念已經(jīng)形成自然的層次,則應表述為類,單個實例是最特殊的概念表述,實例沒有層次性。

⑦限定范圍

確保不包括類具有的所有特性,僅在本體中表述類最突出的特性,不增添所有類(術語)間全部的關系。

⑧不相關子類

很多系統(tǒng)明確指定某些子類不相交,如果類沒有任何共同的實例,則它們不相交。

(2)定義類的屬性及其約束

類的屬性是描述類和實例的特性,也是類間區(qū)分的特性。通常有四種對象特性能變成本體中的屬性:

①固有的特性,如圓柱的半徑和高度。

②外在的屬性,如螺旋的設計者。

③局部,若對象是結構化的,物理和抽象的部分。

④與其他個體間的關系。

不同的約束可以用來描述屬性的值類型、值范圍、值基準,及值的其他特征。下面從5個方面來描述屬性普通的約束:

①屬性基數(shù)?;鶖?shù)定義屬性有多少值。有些系統(tǒng)定義單一和多個基數(shù),而有些系統(tǒng)用最小和最大基數(shù)來描述屬性值的個數(shù)。有些屬性設置最大基數(shù)為o,目的是為了表示特定子類的屬性不能有任何值。

②屬性值類型。通常屬性值類型可分為字符串型(string)、“浮點或整數(shù)”數(shù)值型(float或integer number)、“是或否”布爾型(yes或no boolean)、枚舉型或符號型(enumerated或symbol)、實例型(instance)。

③屬性的領域和范圍

屬性應能描述其領域中所有的類,屬性應能填充其范圍內(nèi)所有類的實例,同時不應指定屬性的范圍是本體中最通用的類。

④逆屬性

屬性值可能會依賴于另一屬性值,稱為逆關系,在兩個方向保存此數(shù)據(jù)是冗余的,通常使用逆屬性,可以自動填充另一逆關系的值。

⑤默認值

如果類的多數(shù)實例的特定屬性值是相同的,則可把該值定義成默認值。當類的每個新實例包含這個屬性值時,系統(tǒng)自動填充默認值,還能把此值改成約束允許的其他值。

(3)生成實例

定義類的單個實例首先需要選擇類,接著生成這些類的單個實例,最后填充屬性值。

為了使生成的類、類間層次關系、類屬性及約束、類實例等更符合構建目標和用途,并為了保障在較短時間內(nèi)適合用戶的需求,在領域?qū)<业闹笇?,采用原型化軟件工程開發(fā)方法對該階段產(chǎn)生的成果不斷修改和完善。

2.2.3 領域本體設計階段

(1)領域本體的形式化表示

一般用語義模型表示領域本體。perez等人用分類法組織領域本體,歸納出5個基本建模元語:

①類(classes)或概念(concepts)

從語義上講,它表示的是對象的集合,其定義一般采用框架(frame)結構,包括概念的名稱、與其他概念之間的關系集合、以及用自然語言對概念的描述。

②關系(relatiom)

在領域中概念之間的交互作用,形式上定義為n維笛卡爾積的子集,即:r=c1×c2×……×cn

③函數(shù)(functions)

一類特殊的關系。該關系的前n-1個元素可以惟一決定第n個元素。形式化定義為f:c1×c2×……×cn-1→cn。

④公理(axioms)

代表永真斷言,如概念乙屬于概念甲的范圍。

⑤實例(instances)

代表元素,從語義上講實例表示的就是對象。

另外,從語義上講基本的關系有4種:整體與部分關系(part—whole)、分類關系(is—a)、實例與概念關系(instance—concept)和屬性關系(attribute-of)。但在實際建模過程中,概念之間的關系不限于上述4類關系,可以根據(jù)領域的具體情況定義相應的關系。

(2)領域本體的形式化描述語言

領域本體可用自然語言、框架、語義網(wǎng)絡或邏輯語言等來描述。但對計算機來說,形式化描述語言做為一種可供計算機處理的概念模型,應具備以下條件:

①應該具有較強的表示能力,同時也應兼顧推理能力,以滿足智能檢索中進一步實現(xiàn)推理的需求。

②應該具有較強的內(nèi)在邏輯系統(tǒng)支持。

③應該具備一致的描述概念和表示數(shù)據(jù)的能力。

④應該盡可能與w3c已有標準兼容,從而保證其持續(xù)發(fā)展需求。

⑤應該具備xml語法特性,最好是基于語義web。

⑥所表示的領域知識是形式化的,即機器可讀和可理解的。

目前已經(jīng)開發(fā)了6種本體語言,有些是直接基于xml語言的語法,如簡單html本體擴展(simple html ontologyextension,shoe)、本體標記語言(ontology markup language,oml)和基于xml的本體交換語言(xml—based ontology exchange language,xol);另外有2種本體語言是建立于rdf(s)之上,以便改善rdf(s)的特征:本體交互語言(ontology interchange language,oil)和darpa主體標記語言+本體推理層(darap agent markup language with ontology inference layer,daml+oil)。最近,以oil和daml+oil語言為起點,已開發(fā)出語義網(wǎng)所用的web本體語言(web ontology language,owl)。各個本體語言之間的層次化關系如圖2所示:

(3)領域本體的文檔化構建和存儲

構建領域本體文檔,可對后續(xù)領域本體修改和進化奠定基礎。1個owl文檔由以下4個部分組成:

①本體首部:包含了文檔的元數(shù)據(jù),如導入數(shù)據(jù)、版本數(shù)據(jù)及與其他owl文檔的兼容數(shù)據(jù)。

②類的定義:通過(owl:class)標簽定義類,使用(rdfs:subclassof)來繼承1個或多個類,由此建立類的層次關系。類的語義用類的描述來表達。owl區(qū)分了6種類的描述:1個類標識,1個詳細的列舉,1個屬性的限定,2個或多個類描述的交,2個或多個類描述的并,1個類描述的補。

③屬性的定義:owl存在2種類型的屬性,即對象屬性(object property)和數(shù)據(jù)類型屬性(datatype property)。對象屬性是用來表述2個類實例之間的關系,而數(shù)據(jù)類型屬性則描述類的實例、rdf literals,以及xml schema數(shù)據(jù)類型之間的關系。屬性之間還能夠定義子屬性關系以及為屬性聲明額外的特征(傳遞屬性和逆屬性)。如能夠定義father是parent的子屬性,定義anceator為傳遞屬性,定義child為parent的逆屬性。

④個體(實例)的定義:一個個體是一個特定類的實例,并與其屬性相聯(lián)系。

2.2.4 領域本體實施和運行階段

(1)領域本體評價

這里采用gruber在1995年提出的5條準則:

①清晰性。所定義的術語應盡量客觀,避免受社會背景和客觀環(huán)境的影響;給出的定義應盡可能完整。

②一致性。即本體中定義的公理應該是邏輯一致的,概念和概念間關系在邏輯上也應該是一致的。

③可擴展性。本體應該能夠保證添加新的通用或?qū)S眯g語,而不需要修改原有的定義,即能支持在已有的概念基礎上定義新術語。

④編碼偏好程度最小。概念應該在知識層次上說明,而不應該依賴于特定的符號層次的編碼,因為不同的系統(tǒng)可能采用不同的表示風格。

⑤最小本體承諾。一般地,本體承諾只要滿足特定的知識共享需求即可,這可以通過定義約束最弱的公理及只定義交流所需的基本詞匯來保證。

(2)領域本體試運行

可針對某一應用目標,可利用初始生成的領域本體在特定的應用范圍內(nèi)進行試運行,來驗證初始領域本體是否能夠滿足領域范圍應用的需求,特別是要檢驗其一致性、完整性和可擴展性。經(jīng)過試運行,若符合要求則轉向(4);若不符合要求則要重新經(jīng)過本體分析階段,然后轉向(3)與(4)。

(3)領域本體文檔的修改

針對試運行的結果,可在owl文檔的基礎上做一些標注性的修改。

(4)領域本體應用

對于修改后的領域本體,可正式投入實際運行應用過程。

3 總結和展望

本文在總結與分析傳統(tǒng)領域本體構建方法中的基本思想及缺陷的基礎上,提出了基于軟件工程開發(fā)角度來構建領域本體的思路。其中利用結構化開發(fā)方法構建領域本體整體開發(fā)流程,充分借鑒了結構化開發(fā)方法中的用戶至上原則,結構化、模塊化、自頂向下地對系統(tǒng)進行分析和設計等優(yōu)點,但由于結構化開發(fā)方法中存在開發(fā)周期過長、不易滿足用戶需求并難易修改等缺陷,因此在領域本體構建的重要環(huán)節(jié),即在領域本體分析階段采用原型化開發(fā)方法,使用戶與開發(fā)者通過不斷地溝通盡快確定領域本體初始模型,并通過結構化開發(fā)方法所劃分的層次結構過程不斷地優(yōu)化和修改初始模型,使其能夠盡快滿足用戶的需求。

軟件工程論文:計算機專業(yè)“軟件工程”課程的教學研究

摘要:針對“軟件工程”這門課的課程特點,本文提出幾種實用的教學方法和手段,目的為了提高“軟件工程”的教學質(zhì)量。

關鍵詞:軟件工程 教學改進 實踐

中圖分類號:

1、 引言

提起軟件,在當今社會人們并不陌生,正是由于軟件的發(fā)展,使計算機應用逐步滲透到社會生活的各個角落,使各行各業(yè)都發(fā)生很大的變化。這同時也促進人們對軟件的品種、數(shù)量、功能和質(zhì)量等提出了越來越高的要求。然而,軟件的規(guī)模越大、越復雜,人們的軟件開發(fā)能力越顯得力不從心。于是,人們開始重視軟件開發(fā)過程、方法、工具和環(huán)境的研究,軟件工程應運而生。

“軟件工程”主要介紹軟件工程的基本原理、開發(fā)方法和開發(fā)工具,通過本課程的學習,使學生了解和初步掌握開發(fā)1個軟件項目所使用的方法和工具,以及“軟件工程”的發(fā)展過程和發(fā)展趨勢,為進行軟件開發(fā)打下1個良好的基礎。

2、 課程特點

1。 課程綜合性強。

軟件工程與其他計算機課程,如程序設計語言、數(shù)據(jù)結構、編譯原理、數(shù)據(jù)庫以及操作系統(tǒng)等課程都是相互作用和影響的。在1定程度上說,軟件工程討論的是在實際開發(fā)當中綜合運用這些課程中講過的理論和方法,將這些課程的理論和方法放在1個統(tǒng)1的目標下,這個目標就是在有限的時間及預算條件下,開發(fā)出高質(zhì)量的令用戶滿意的軟件。

2。 課程內(nèi)容不斷更新。

軟件工程課程的教學培養(yǎng)目標應該以市場需求為導向,使課程培養(yǎng)的學生真正能夠在軟件行業(yè)中發(fā)揮作用。因此,在授課時,我們不能拘泥于教材內(nèi)容的限制。在講解基本原理、基本概念和基本方法的同時,介紹1些新方法、新技術。這樣,有助于開拓學生的視野和培養(yǎng)創(chuàng)新意識與開發(fā)能力,使他們走向社會后不至落伍。

3。 課程的實踐性強。

軟件工程是1門實踐性很強的課程,它是各種開發(fā)經(jīng)驗的總結與提煉。在學習過程中不但應注重概念、原理、方法和技術的掌握,更應注重方法、技術的實際應用。學習軟件工程必須投身于軟件開發(fā)的實踐,才能真正領悟軟件工程的精髓。

實際教學當中,這門課的教學效果往往不是很理想,教師覺得這門課教起來較困難,學生學習中多數(shù)也覺得枯燥無味,很難達到較好的教學效果或獲得較強的實踐能力等預期目的。如何改善?結合軟件工程的課程特點,筆者認為可以從以下幾個方面來改進《軟件工程》的教學質(zhì)量。

三、軟件工程教學改進的內(nèi)容和方法

1。 教學過程引入實際案例

軟件工程課程涉及面很廣,如果不結合實際工程項目進行教學,很難把教學內(nèi)容教授給學生。因此,在教學過程中引入案例,將復雜抽象的概念用具體生動的實例進行詮釋,能夠收到事半功倍的效果。例如,在授課時教師可結合1個“學校教材購銷系統(tǒng)”實例,給學生介紹具體的開發(fā)過程和方法。

另外,學校還可邀請領域內(nèi)有實際經(jīng)驗的資深程序員,針對軟件工程中具體理論和方法在實際開發(fā)中的應用,在課堂上和學生進行面對面講座,深入淺出地作講解。這樣,學生可以更加熟悉、掌握軟件開發(fā)的過程。

2。 組織課堂討論,形成教學互動

我國有句名言:“授人以魚,不如授人以漁”。學生是教學活動的核心,教師要利用合適的方法調(diào)動學生的積極心理和參與意識,改變傳統(tǒng)的教師高高在上的教學方式,讓學生參與教學過程,有機會發(fā)表自己的看法。

比如在講授需求分析這章內(nèi)容時,可結合“學校教材購銷系統(tǒng)”這個案例,要求學生按照軟件工程教學的思想和方法認真做好需求分析。在實施過程中,首先由學生獨立思考,給出解決方案。然后在課堂上,組織學生進行討論,分析各自解決方案的優(yōu)劣,并進行綜合。最后由老師進行總結和評價,指出該案例所涉及的理論知識及其應用方法,就學生提出的問題進行解答。這樣通過組織學生討論,可使學生進1步理解和掌握課程內(nèi)容的方法和步驟,使抽象的知識變得看得見,用得著,大大激發(fā)了學生學習的興趣和自信。

3。 加強實踐環(huán)節(jié)

從本質(zhì)上看,軟件工程的實踐性和綜合性是其他相關課程難以比擬的。因此,必須結合設計項目和實際應用加以施教,才能取得良好的教學效果。那么,在把握教學進度的同時,必須及早安排好課程設計,讓學生同步開展課程設計。這樣,理論課講完了,課程設計也基本結束,學生們能從理論和實踐的結合上,加深對軟件工程知識難點、重點的理解,進1步深刻理解軟件過程和系統(tǒng)消化理論知識,訓練項目設計的思路,鍛煉實際開發(fā)能力,培養(yǎng)嚴格規(guī)范的項目開發(fā)方法和步驟,體驗文檔編寫整理、階段性評審總結以及軟件測試等各個方面的工作流程,直接培養(yǎng)了學生從事實際開發(fā)的能力。

四、結束語

在教學中,我們還應根據(jù)學生的具體情況,因材施教??傊?,通過不斷改進教學,使學生能更好地理解、掌握知識,運用所學服務社會。

軟件工程論文:如何面向?qū)W生主體與項目驅(qū)動設計軟件工程教學模式

摘要:提出了面向?qū)W生主體和項目驅(qū)動的軟件工程教學模式。從開展以學生為主體的理論教學過程、實施基于項目驅(qū)動的實踐教學環(huán)節(jié)、制定符合教學特點的課程考核體系三個方面出發(fā),對該模式進行了研究和探討。

關鍵詞:軟件工程;教學模式;軟件工程;學生主體;項目驅(qū)動

1 引言

長期以來,在我國《軟件工程》課程教學中強調(diào)理論學習而忽視實踐能力培養(yǎng)的現(xiàn)象比較普遍,現(xiàn)有的國內(nèi)不少教材對實踐能力的培養(yǎng)重視不夠,表現(xiàn)為:①教材中的案例缺乏完整性、統(tǒng)一性和實用性;②缺乏與理論教學相適應的實驗教材。evelyn等在他們的著作《project-based software engineering an object-oriented approach》中強調(diào)了學生具備開發(fā)項目經(jīng)歷的重要性,認為現(xiàn)有的教材過分強調(diào)軟件工程理論的教學,不能有效地培養(yǎng)學生的軟件開發(fā)技能。由于缺少軟件開發(fā)各個階段的經(jīng)歷,因此,學生較難理解、掌握所學的課程內(nèi)容。

我們主要圍繞《軟件工程》課程的內(nèi)容體系、教學方法、課程考核等方面對該門課程的教學模式進行了改革,其根本思想是開展以學生為主體的理論教學過程;實施基于項目驅(qū)動的實踐教學環(huán)節(jié);根據(jù)教學過程的特點,制定該課程的考核體系。我們把改革后的、新的教學模式稱為“面向?qū)W生主體和項目驅(qū)動的軟件工程教學模式”。

2 開展以學生為主體的理論教學過程

2.1 建立合理的課程內(nèi)容體系

建立合理的課程內(nèi)容體系首先應合理地選擇教材,我們選用的教材為shari lawrence pfleeger 編著的《software engineering(theory and practice)》。該教材內(nèi)容的特點是:①理論性,教材比較全面地介紹了軟件工程中的基本原理、概念和方法;②實踐性,課程的內(nèi)容體系強調(diào)基本原理、方法在實踐中的具體應用;③先進性,教材較為詳細地介紹了軟件工程中的新技術、新方法。同時,我們選用的輔助教材為清華大學張海藩編著的《軟件工程導論(第四版)》。

其次,應根據(jù)學生的培養(yǎng)方向、學時數(shù)等因素對所講授的內(nèi)容作必要地取舍。我們以傳統(tǒng)的生命周期方法學和面向?qū)ο蠓椒▽W為主線,建立了課程內(nèi)容體系,參考國內(nèi)外先進的軟件工程理論和應用實例,對教學內(nèi)容進行了必要的補充和刪減;以培養(yǎng)學生的軟件開發(fā)過程中的技能為目標,制作了內(nèi)容豐富、聯(lián)系項目開發(fā)實際的多媒體教學課件;建立了較為完善的軟件工程典型項目案例庫,為每一個案例提供詳細的分析說明;編寫了供實踐環(huán)節(jié)使用的《軟件工程項目案例實施指南》。

2.2 開展以學生為主體的案例式教學

在教學過程中,開展以學生為主體的案例式教學,克服了傳統(tǒng)的“教師教、學生學”的模式。在課程的開始,即將學生分為若干個項目小組(每個小組5至7人),并為每個小組確定一個負責人,各個項目小組選定一個互不相同的項目,并明確所選項目的總體要求及考核標準。教師以一個完整的項目案例貫穿于整個理論教學過程中,學生則帶著自己項目中的問題去理解、思考教師所講授的內(nèi)容。學生的作業(yè)主要體現(xiàn)為項目的階段性的分析和設計文檔,項目小組的成員在討論、協(xié)作的基礎上,每次均以小組的形式提交作業(yè)。

2.3 建立《軟件工程》課程教學資源平臺

該課程的教學輔助資料圍繞《軟件工程》網(wǎng)絡課程建設而展開,所建設的網(wǎng)絡課程主要內(nèi)容包括:教學大綱,教學內(nèi)容,電子教案,課程習題,模擬試題,多媒體課件,實驗部分,課程評價反饋等。建立網(wǎng)絡課程平臺的目的是為了便于學生進行網(wǎng)上自學、討論交流、作業(yè)提交、在線測試、教學效果評價等功能,充分發(fā)揮學生在學習過程中的主體作用。

通過該門課程的理論教學改革,學生普遍反映能夠較好地理解、掌握軟件工程項目的開發(fā)理論和方法,和單純的理論教學相比,改革后的教學方式更容易讓人接受,學習的主動性得到了提高。

3 實施基于項目驅(qū)動的實踐教學環(huán)節(jié)

我們把實踐教學和項目開發(fā)相結合,實施基于項目驅(qū)動的實踐教學環(huán)節(jié)。不同的項目小組開發(fā)不同的項目,學生在實踐環(huán)節(jié)中主要完成在理論學習過程中形成的分析、設計文檔,以小組成員分工協(xié)作的方式共同開發(fā)一個完整的項目。完成一個符合要求的項目是該門課程實踐考核的主要內(nèi)容。學生的學習活動是在項目開發(fā)的各項過程和活動的驅(qū)動下完成的。在具體的實施過程中應注意以下幾個問題:

(1)由項目負責人在課外時間召集項目組成員討論、進行人員分工,使項目小組的所有成員熟悉和感受軟件開發(fā)小組的組織和管理。

(2)實驗內(nèi)容應覆蓋軟件生存周期的各個階段,使學生通過實驗加深對理論知識的理解。項目小組的所有成員均應參加軟件開發(fā)的每一個階段。

(3)應保證實驗內(nèi)容具有可操作性和適當?shù)碾y度??刹僮餍员WC學生都能完成實驗,幫助學生樹立學習信心,并在一定程度上減少學生抄襲的現(xiàn)象;適當?shù)碾y度有助于培養(yǎng)優(yōu)秀學生進一步鉆研的精神。

4 制定符合教學特點的課程考核體系

傳統(tǒng)的考核方法不能在教學的過程中把握學生的學習效果,不能充分調(diào)動學生學習的主動性和提高學生的學習興趣,課程的考核應該和課程的教學特點相適應。因此,我們制定了分階段、互評定的二次考核體系,具體措施為:

(1)課程考核由三部分組成:理論考核占40%,實踐考核占40%,平時考核(作業(yè)、考勤)占20%。

(2)實踐成績的評定包括小組成績和個人成績兩部分,各占50%。小組成績?yōu)樾〗M中所有成員的第一次考核成績,個人成績?yōu)樾〗M成員的第二次考核成績。

(3)小組成績由各個小組階段成績的平均值與完成的項目的最終驗收的情況(包括系統(tǒng)是否達到需求規(guī)格說明中的功能性、非功能性要求,文檔是否全面、合理、規(guī)范等)組成。小組的階段性成績由教師和該項目組之外的其他項目組共同評定。

(4)個人成績由教師根據(jù)小組每個成員的答辯成績來評定,答辯的內(nèi)容為小組成員在項目開發(fā)中所完成的任務,其中,評定項目負責人個人成績時,還應考查其項目開發(fā)的組織、

管理能力。

考核結果表明,我們采用的考核方法提高了學生按照軟件工程的原理、方法、技術、標準和規(guī)范進行軟件開發(fā)的綜合能力和軟件項目的管理能力,特別在基礎技能、團隊協(xié)作、人際交流、項目規(guī)劃幾個方面明顯具備較強的能力。

5 結束語

《軟件工程》課程的教學模式改革主要體現(xiàn)在以下三個方面:在理論教學方面,以學生為主體的教學模式,表現(xiàn)為以分組形式的案例教學過程;在實踐教學方面,通過小組內(nèi)成員分工協(xié)作的方式,完成小組所選定的項目案例;在課程考核方面,制定了符合教學特點的課程考核體系。在整個教學過程中,學生始終處于主導地位,是學習的主體,教師處于指導和評價學生階段性學習效果的地位。從學生反饋的結果來看,通過對該門課程的教學模式進行改革,使學生經(jīng)歷了軟件開發(fā)的全過程,鍛煉和培養(yǎng)了學生的系統(tǒng)分析能力、設計能力、編程能力、測試和維護能力、團隊協(xié)作能力和文檔書寫能力,全面地提高了學生的綜合素質(zhì)。

軟件工程論文:基于軟件工程理論的信息工程監(jiān)理的研究

摘要:信息工程是企業(yè)信息系統(tǒng)中不可或缺的一部分,其包括信息網(wǎng)絡工程、信息資源工程、信息應用工程。該文將憑借著軟件工程理論,從信息工程開發(fā)的角度,進行信息工程的三維監(jiān)理,從而構建一種新型監(jiān)理模式,即“三控四管一協(xié)調(diào)”。從而使信息工程監(jiān)理走向更深入、更全面、更有效的水平。

關鍵詞:軟件工程;信息工程監(jiān)理;監(jiān)理模型

自從二零零二年十二月我國信息產(chǎn)業(yè)部頒布《信息系統(tǒng)工程監(jiān)理暫行規(guī)定》(簡稱《規(guī)定》)之后,信息工程監(jiān)理公司越來越多。根據(jù)《規(guī)定》,信息工程監(jiān)理主要是指依法設立且具備相應資質(zhì)的信息系統(tǒng)工程監(jiān)理單位,受業(yè)主單位委托,依據(jù)國家有關法律法規(guī)、技術標準和信息系統(tǒng)工程監(jiān)理合同,對信息系統(tǒng)工程項目實施的監(jiān)督管理。[1]

1 信息工程的特點

跟其他的一般的建設工程項目相比,企業(yè)信息工程有著復雜高度、能見度低等不確定因素。其主要有以下幾個特點:

1.1 組織驅(qū)動技術

企業(yè)信息工程項目的組織和建設越來越表現(xiàn)出不可分割的一面。工程項目組織要求信息工程必須嚴格確定“前期準備-工程項目規(guī)劃-工程項目設計-工程項目實施-工程項目驗收-工程項目維護”的“組織思維”過程,設立周密的“組織標準”通過這些組織標準來帶動技術標準的設立,通過組織的需求來帶動技術方面的需求,也通過組織的滿意度還評價技術方面的滿意程度。

1.2 全員全程參與

信息工程并不能跟那種“交鑰匙”工程一樣,其要求建設單位的所有員工進行全程參與。這主要是由于企業(yè)信息工程項目不并簡單,而是一個非常復雜的知識傳遞的過程,其要求建設單位的所有員工必須學習并接受相關知識;因此建設單位與開發(fā)單位之間必須相互適應、相互協(xié)調(diào),必須協(xié)同共進。企業(yè)信息工程系統(tǒng)是一個人機相結合的有機系統(tǒng),沒有建設單位人員的全程參與,信息工程系統(tǒng)將不可能實現(xiàn)其有效性、完整性、全面性。

1.3 復雜度高,不確定因素多

由于信息工程項目的需求比較復雜,其不像其他建筑工程那樣具有可見性。檢驗復雜,較長的維護期,還有其它非技術因素原因?qū)е缕髽I(yè)信息化項目失敗[2]。因此,企業(yè)的信息工程項目具有搞復雜度、低能見度,存在許多不確定的因素。

2 信息工程監(jiān)理的必要性

現(xiàn)在,我國企業(yè)實現(xiàn)信息工程項目的成功幾率還非常低,根據(jù)我國企業(yè)信息工程項目的自身特點,保證信息工程項目的成功幾率的提高,必須進行信息工程建立,即必須通過第三方監(jiān)理單位對企業(yè)信息工程項目的實施進行監(jiān)督。信息工程監(jiān)理將有利于開發(fā)單位跟企業(yè)的相互協(xié)調(diào),彼此協(xié)同共進,能確保信息工程項目的有效進行。對于信息工程監(jiān)理的必要性,主要原因在于:目前我國企業(yè)信息工程監(jiān)理對過去傳統(tǒng)的建筑工程監(jiān)理模式進行了參考,但又跟一般的建筑工程的監(jiān)理有一定的差別。第一,信息工程的可見度非常低,開發(fā)過程相當多變、復雜,其知識密度也相當高。不像建筑工程項目的監(jiān)理那樣能隨時對施工現(xiàn)場進行其質(zhì)量、進度進行監(jiān)督管理,信息工程監(jiān)理根本無法對信息工程的操作現(xiàn)場、質(zhì)量進行監(jiān)督和管理,信息工程的進合同執(zhí)行情況、軟件質(zhì)量、資金使用情況、進度等很難把握和操控。從而致使了信息工程監(jiān)理低能見度、高復雜度、差操作度等現(xiàn)象。為了解決這些監(jiān)理中出現(xiàn)的問題,必須采用軟件工程理論。通過軟件工程,可以將高復雜度的信息工程項目進行分解,對信息工程中低“能見度”的難題設置了一套有效的解題方案。根據(jù)現(xiàn)有的軟件工程平臺和工具,將能為信息工程項目的監(jiān)理提供一套“復雜度”低、“可見性”高的監(jiān)理平臺,很大程度上滿足了現(xiàn)階段我國企業(yè)信息工程項目建設的需要。

3 基于軟件工程理論的信息工程監(jiān)理模型

軟件工程是一門通過工程化的手段來維護和構建高質(zhì)量的、實用的、有效的軟件的學科。軟件工程涉及到的內(nèi)容有:設計模式、軟件標準、系統(tǒng)平臺、軟件開發(fā)工具、數(shù)據(jù)庫、程序設計語言等多個方面。在目前的現(xiàn)實生活中,軟件的應用領域非常廣泛,政府部門、航空、銀行、農(nóng)業(yè)、工業(yè)都會應用到軟件,其最具典型的軟件有:游戲、數(shù)據(jù)庫、編譯器、操作系統(tǒng)、辦公套件、人機界面、嵌入式系統(tǒng)和電子郵件等等。軟件工程的應用將對社會和經(jīng)濟有著極大的促進作用。多年的實踐證明,通過軟件工程的方法對信息工程進行監(jiān)理能更易被監(jiān)理活動過程中的三方接受,因此將軟件工程引入信息工程項目監(jiān)理中,將能為信息工程項目的監(jiān)理提供一套“復雜度”低、“可見性”高的監(jiān)理平臺。

3.1 設立信息工程監(jiān)理的目標

進行軟件工程最主要的目的是利用科學的有效的管理方法來促進軟件開發(fā)質(zhì)量的提高。其主要要求是要將過去的軟件開發(fā)模式(小作坊開發(fā)模式)進行轉變,對過去的開發(fā)模式其進行細分和分解,按照各階段的特征選用不同的方法和工具,從而使復雜度較高的軟件生產(chǎn)進行可度量、可控的設置。再者,經(jīng)過對各個階段進行嚴密的、有效的控制,從而促使一些可能出現(xiàn)的風險和問題在前期階段就得以解決和重視,從而促使軟件開發(fā)風險的降低和軟件質(zhì)量的提升。總之,企業(yè)信息工程監(jiān)理的最主要的任務就是對工程的進度、質(zhì)量、投資等進行有效的、科學的控制和規(guī)劃,其最基本的方法是進行有效的合同管理、展開合理的組織協(xié)調(diào)、實現(xiàn)工程的動態(tài)控制、完成理想的目標規(guī)劃,使監(jiān)理貫穿于整個“前期準備-工程項目規(guī)劃-工程項目設計-工程項目實施-工程項目驗收-工程項目維護”的工程項目過程。因此,信息工程監(jiān)理的最終目的是通過合同管理、質(zhì)量控制、進度控制、成本控制、信息管理來保證工程項目的有效、高質(zhì)量、順利的進行。

3.2 構建信息工程監(jiān)理的模型

根據(jù)信息工程監(jiān)理的目標,信息工程項目應該分為:項目分析、項目設計、項目實施以及項目維護等四個階段[3]?;谲浖こ汤碚摰男畔⒐こ瘫O(jiān)理并不是機械地復雜軟件工程的相關理論于信息工程的監(jiān)理中,而是根據(jù)軟件工程理論,對搞復雜度、低能見度的工程項目進行設計和管理,并將其融入到信息工程的監(jiān)理中去的一種方法。根據(jù)這中方法,從而建立基于軟件工程理論的信息工程監(jiān)理模型。該模型以信息工程項目過程控制為主線,對企業(yè)信息工程的項目分析、項目設計、項目實施以及項目維護等四個階段進行全方位控制和監(jiān)督,從管理上對其進行風險管理、需求管理、合同管理、信息管理,從控制上對其進行進度管理、質(zhì)量管理、成本控制,并從管理角度對項目階段進行總體協(xié)調(diào),形成企業(yè)信息化項目監(jiān)理的“三控四管一協(xié)調(diào)”三維監(jiān)理模型。其監(jiān)理模型如圖1所示。

4 結束語

綜上所述,軟件工程是一門通過工程化的手段來維護和構建高質(zhì)量的、實用的、有效的軟件的學科。通過軟件工程的方法對信息工程進行監(jiān)理能更易被監(jiān)理活動過程中的三方接受,因此將軟件工程引入信息工程項目監(jiān)理中,將能為信息工程項目的監(jiān)理提供一套“復雜度”低、“可見性”高的監(jiān)理平臺。進行軟件工程最主要的目的是利用科學的有效的管理方法來促進軟件開發(fā)質(zhì)量的提高。其基于軟件工程理論的信息工程監(jiān)理的模型應該以信息工程項目過程控制為主線,對企業(yè)信息工程的項目分析、項目設計、項目實施以及項目維護等四個階段進行全方位控制和監(jiān)督。

軟件工程論文:基于工作過程的軟件工程師職業(yè)課程體系研究

摘要:課程體系的研究,是通過對軟件企業(yè)軟件工程師的職業(yè)工作過程分析,建立軟件工程師的職業(yè)能力模型,然后建立針對工作領域的崗位特定能力模型、行業(yè)通用能力模型、核心能力模型。根據(jù)以上模型映射出實訓體系的四個組件:實訓教程、流行技術、職業(yè)素質(zhì)、軟件素養(yǎng),然后建立不同技術特點的課程開發(fā)標準。

關鍵詞:職業(yè)能力模型;核心能力;崗位特定能力

1 基于工作過程的課程開發(fā)模式的必要性

近年來在政府推動與經(jīng)濟發(fā)展需求的刺激下,我國高等職業(yè)教育的規(guī)模有了很大發(fā)展;全國職業(yè)教育工作會議的召開,又為高職發(fā)展迎來了新的歷史機遇。然而,我們可以在短短幾年內(nèi)建設起大量被稱為高職學校的校舍,卻無法在短期內(nèi)形成真正的高職教育。受傳統(tǒng)教育體制的影響,教材更新速度也嚴重滯后于軟件技術發(fā)展,師資素質(zhì)又得不到提高,人才培養(yǎng)模式缺乏創(chuàng)新,這種傳統(tǒng)教育模式無法真正適應軟件企業(yè)對軟件人才的需求。一方面是大批企業(yè)找不到急需的技能型、實用型、國際化、規(guī)范化的軟件職業(yè)技術人才;另一方面,學校培養(yǎng)出的軟件人才由于不能適應企業(yè)需求而找不到理想的工作。如何凸顯特色已經(jīng)成為高職發(fā)展的重大課題;如何開發(fā)一套既適合高職生學習特點,又能增強其就業(yè)競爭能力的教材,是高職課程建設面臨的另一個重大課題。

要有效地解決這些問題,建立能綜合反映高職發(fā)展多種需求的課程體系,必須進一步明確高職人才培養(yǎng)目標。為此,不能僅僅滿足于對“高職到底培養(yǎng)什么類型人才”的論述,而是要從具體的崗位與知識分析入手。高職專業(yè)的定位要通過理清其所對應的工作崗位來解決,而其課程特點應該通過特有的知識框架來闡明。也就是說,高職課程與學術性大學的課程相比,其特色不應僅僅體現(xiàn)在理論知識少一些,技能訓練多一些,而是要緊緊圍繞基于工作過程和工作目標重構其知識、技能、素質(zhì)的課程體系。

2 軟件工程師能力素質(zhì)模型

2.1 軟件工程師能力素質(zhì)模型

職業(yè)人的能力分為三層:崗位特定能力、行業(yè)通用能力、核心能力。每個具體的職業(yè)、工種、崗位和工作都會對應一些崗位特定能力。崗位特定能力從總量上是最多的,但是適應范圍又是最窄的,對每個行業(yè)來說,又存在著一定數(shù)量的通用能力,從數(shù)量上看,它比特定能力少得多,但他們的適應范圍要寬些,涵蓋整個行業(yè)活動領域。而整體上,存在著每個人都需要的,從事任何職業(yè)或工作都離不開的能力,這就是核心能力。核心能力往往是人們職業(yè)生涯中更重要的、最基本的能力,對人的影響和意義更深遠。我們在日常生活中看到的崗位特定能力,其實是浮出海面的冰山一角,而行業(yè)通用能力和核心能力則是海面下的冰山主體,它們是每個人在職業(yè)生涯中,甚至日常生活中必備的最重要的能力,它們具有普遍的適用性和廣泛的可遷移性,對人的終身發(fā)展和成就影響極其深遠,目前核心能力包括:交流表達、數(shù)字運算、革新創(chuàng)新、自我提高、與人合作、解決問題、信息處理、外語運用。

2.2 軟件工程師崗位特定能力分解

根據(jù)軟件工程從業(yè)人員的崗位不同,從java軟件工程師和.net軟件工程師兩個方面,提取了基于工作過程的能力描述。

(1)java軟件工程師

(2).net軟件工程師

2.3 行業(yè)通用能力分解

2.4 核心能力分解

3 軟件工程師課程內(nèi)涵

根據(jù)軟件工程師能力模型影射出職業(yè)課程中的四個組件:實訓教程、軟件素養(yǎng)、職業(yè)素質(zhì)、流行技術。

根據(jù)軟件工程師能力形成規(guī)律,我們分s1、s2、s3三個階段逐步實施。通過s1階段的訓練,學生具備了利用面向過程思想、面向?qū)ο笏枷敕治鲈O計解決問題的能力,掌握c/s軟件體系的程序開發(fā)方法。通過s2、s3階段的訓練,使學生具備利用b/s軟件體系結構進行軟件開發(fā)、設計的能力;掌握大型企業(yè)級應用問題的分析、設計方法。

3.1 實訓教程

“實訓教程”以項目為主線,分為learning案例、training案例、mentoring案例三種。項目案例均為企業(yè)真實項目,由經(jīng)驗豐富的軟件工程師編寫而成,在實施環(huán)節(jié)由實訓工程師帶領學生完成。

“實訓教程”重點提高學生的職業(yè)特定能力,通過項目實訓,學生能夠?qū)⒗碚撝R與實際項目相結合,不但提高了軟件開發(fā)技術水平,還能夠具備大型項目的開發(fā)經(jīng)驗與行業(yè)知識,增強團隊合作的能力。

3.2 軟件素養(yǎng)

軟件素養(yǎng)要求對軟件行業(yè)知識的認識有足夠的深度與廣度。它是軟件工程師應具備的基本素質(zhì),是軟件行業(yè)通用能力,軟件素養(yǎng)組件與大學的計算機相關課程共同培養(yǎng)學生的這一能力。

“軟件素養(yǎng)”主要包括實用操作系統(tǒng)知識,各種軟件開發(fā)團隊模型的理解與認識,項目開發(fā)流程與規(guī)范,項目文檔編寫,軟件開發(fā)中各種工具的配置與管理,設計模式的原理與實現(xiàn)等。

3.3 職業(yè)素質(zhì)

職業(yè)素質(zhì)是勞動者對社會職業(yè)了解與適應能力的一種綜合體現(xiàn),在軟件開發(fā)中包括責任心、學習能力、創(chuàng)新能力、溝通與合作能力、高效的團隊協(xié)作能力、積極主動的心態(tài)、扎實的工作作風、科學的工作方式及較強的解決問題能力等。

3.4 流行技術

it業(yè)正在以傳統(tǒng)行業(yè)七倍的速度快速發(fā)展,軟硬件技術在以摩爾定律的速度更新,即使學生在大學中學習的是最新軟件版本與技術,畢業(yè)之后,版本也已經(jīng)更新,“流行技術”正是為解決此問題而提出的,目的是讓學生與it信息同步,把自我知識與最新知識做到無縫銜接。

軟件工程論文:預審制度在軟件工程碩士學位論文質(zhì)量監(jiān)控中的作用

1. 引言

軟件工程碩士專業(yè)學位的設立,是我國學位與研究生教育改革的重大舉措。經(jīng)過近十年的發(fā)展,已經(jīng)逐漸發(fā)展壯大成為我國規(guī)模最大、覆蓋面最廣的專業(yè)碩士學位之一。隨著數(shù)量的不斷擴大, 軟件工程碩士生的培養(yǎng)中出現(xiàn)了不少問題。如導師難以對每一個碩士生進行悉心指導和嚴格要求, 而且招生生源有著不同的理論及實踐基礎。在這種情況下,碩士學位論文質(zhì)量難以提高,因此, 確保軟件工程碩士的培養(yǎng)質(zhì)量已成為一個不容忽視的問題。需要進一步對培養(yǎng)質(zhì)量進行審視,并采取切實措施,保障培養(yǎng)質(zhì)量。

2. 預審制度的必要性

碩士學位論文是綜合衡量軟件工程碩士培養(yǎng)質(zhì)量的重要標志。它體現(xiàn)了研究生綜合運用基礎理論、專業(yè)知識與科學方法、解決行業(yè)實際問題的能力,以及反映具有新思想,新方法或新進展的創(chuàng)新能力。在數(shù)量不斷擴大、培養(yǎng)質(zhì)量面臨嚴峻挑戰(zhàn)的背景下,科學公正地評價軟件工程碩士學位申請者的學位論文, 是保證培養(yǎng)質(zhì)量的一個重要環(huán)節(jié)。

2.1目前軟件工程碩士學位論文主要存在如下的問題:

論文缺乏自己的實際創(chuàng)新點和具體工作。部分論文停留在對以往研究內(nèi)容的重組或綜述的水平,缺乏對自己實際工作的闡述和驗證,技術難度和工作量不夠。論文寫作缺乏整體性思路,很多學生論文撰寫結構欠合理,對本領域內(nèi)的工程和學術動態(tài)了解不全面,缺乏實用價值和社會效益。論文格式不夠規(guī)范。主要表現(xiàn)在各級標題字號、錯別字、參考文獻引用格式不夠規(guī)范、圖標排版不符合要求等方面。

2.2目前學位論文評閱及答辯制度存在以下問題:

2.2.1校內(nèi)外評閱制度難以切實起到監(jiān)控作用:以往碩士學位論文評審實行的是校內(nèi)外專家的實名評閱制度,校內(nèi)、校外兩位專家評審意見中有一人沒有通過的,就不能直接進入答辯階段;如果兩位專家評審意見都是可以通過的,就可以直接進入答辯階段。評閱制度是對論文質(zhì)量的一種監(jiān)控方式,是對碩士生是否達到培養(yǎng)要求及質(zhì)量的檢驗,但目前現(xiàn)實情況是對評審專家沒有一套嚴格、完整的遴選機制,往往評審專家都是圈內(nèi)熟人, 甚至是碩士生指導老師的好友、課題合作人等,他們事先知道論文作者和導師是誰, 礙于情面,論文一般均可順利通過評審。即使覺得論文不符合評審要求的,也不會直接給出不同意進行答辯的意見結論。

2.2.2“雙盲”抽檢制度不能全覆蓋所有碩士學位論文:碩士學位論文“雙盲”抽檢制度(即評審專家不知道被評人、被評人也不知道評審專家),在多年實踐中的確是提高學位論文水平的一項重要舉措,實現(xiàn)并達到了非常好的效果,但由于實行的是抽檢機制,并不全部覆蓋所有的學生,抽中參加雙盲審的學生比例有限,大部分學生和導師在得知未抽中參加“雙盲”后,往往對論文的重視程度不足。

2.2.3碩士學位論文答辯流于形式:學位論文答辯成員組成盡管回避了導師,聘請了一些校外企業(yè)專家,但由于答辯專家通常是由導師聘請,會導致答辯專家們答辯時往往留面子,缺乏打破沙鍋問到底的精神, 即使有些專家堅持原則認真負責的, 但在投票時少數(shù)比率起不了作用, 結果常常是評審結論與實際水準不符, 答辯流于形式。目前碩士學位論文一旦進入答辯程序,就很少有不通過的,使得論文答辯本應該具有的權威性大有所失。

2.2.4無法確保論文修改質(zhì)量:答辯專家即使指出論文中有些較大的缺陷和問題,需要進行修改,但是由于答辯已經(jīng)完畢,并且決議通過答辯,在申請學位之前,學生就沒有動力也不會去花時間對要求修改的論文內(nèi)容去做充分的修改和完善。答辯專家組也很難在答辯之后繼續(xù)跟蹤確保對原答辯論文進行修改質(zhì)量的監(jiān)控。

目前學位論文評審方式與答辯方式不足以及時發(fā)現(xiàn)和有力遏制以上所述的問題,而學位論文作為全面衡量軟件工程碩士生培養(yǎng)質(zhì)量的主要指標,因在各環(huán)節(jié)上予以嚴格要求,并在制度上給予切實的保證。因此,有必要在正式答辯之前建立一套碩士學位論文質(zhì)量的內(nèi)部控制管理機制,以確保碩士學位論文的質(zhì)量。

3. 我們的預審制度和執(zhí)行效果

預審,就是在碩士學位論文成型之后論文正式評閱之前進行的一項審查過程,采用匿名方式請專家對論文進行評審、以決定是否可否進入答辯階段的一項論文評審制度。對于達不到要求的,就要求其繼續(xù)修改或者下一次再申請。設立預審制度的目的是想通過匿名評審專家組對碩士學位論文進行內(nèi)容和形式上的審查,發(fā)現(xiàn)問題,查找缺陷,提出改進意見,并決定可否提交正式評閱并進入答辯流程,以保證論文寫作和論文答辯的較高質(zhì)量。這是對以往論文答辯制度的一種修正、補充。它把對碩士學位論文的質(zhì)量監(jiān)控重心提前到評閱前,使得學生擁有充足的時間修改論文,并采用匿名審核,力爭做到公平公正。對保證論文質(zhì)量有較大的作用。

3.1預審制度的主要內(nèi)容

預審由碩士學位候選人提出書面申請, 經(jīng)導師同意并簽署書面意見后,于每學期開學后第3周之前(大致在每年3月31日前、9 月30 日前)向?qū)W院軟件工程碩士教學管理中心(以下簡稱管理中心)提交完備的申請材料。申請材料包括學位論文一式2份以及已發(fā)表的符合學校有關規(guī)定要求的論文復印件, 并由管理中心形式審查相關培養(yǎng)環(huán)節(jié)是否全部完成。符合條件者進人預審程序。管理中心根據(jù)論文研究內(nèi)容,選擇2名以上相關領域的教授或副教授組成預審小組進行匿名預審。導師不得作為本論文預審組成員。論文預審的主要內(nèi)容是審查論文選題、分析框架結構、研究方法、工作量、引用資料文獻數(shù)據(jù)和寫作規(guī)范、基本結論,并進行原創(chuàng)性審查,看是否存在抄襲、剽竊等問題。預審組在規(guī)定時間內(nèi)本著認真負責的態(tài)度嚴格把關論文質(zhì)量,對預審中提出的問題要求進行書面記錄并填寫《軟件學院--工程碩士學位論文預審意見表》反饋至管理中心,由管理中心及時反饋預審結論至相關導師告知答辯申請人。碩士生根據(jù)預審小組提出的問題和建議認真修改論文。

預審結論分為以下幾種:

(1)可以參加答辯:認為論文達到了碩士學位論文水平,且不需要修改,可以直接參加答辯;

(2)修改后再審:認為論文及課題工作接近碩士學位水平。但論文需要修改,并給出具體修改意見。學生需根據(jù)預審意見認真進行修改,修改后的論文經(jīng)導師審查確認后,再提交管理中心提請原預審專家組審核。符合要求的,可正常參加答辯,否則就不能參加本次答辯,需整改后下一學期再重新申請。逾期未提交修改論文的,視為自動放棄本次答辯申請;

(3)不通過:認為未達到工程碩士學位論文要求,不能參加本次答辯。導師應指導答辯申請人完善課題工作,修改論文,下一學期再申請參加論文預審和答辯。

(4)涉嫌抄襲:發(fā)現(xiàn)論文涉嫌抄襲、并經(jīng)查實的,則一律退回,并至少一年內(nèi)不得再申請答辯。如果以后再次發(fā)現(xiàn)抄襲,則直接取消答辯資格和申請學位的資格。

3.2預審制度實施效果

預審制度實施以來,迄今已經(jīng)完成了對1367位碩士學位論文申請者的審查, 其中通過預審的629人、推遲答辯的167人、需要修改的544人、抄襲27人,共授予學位1143人。從總體上看,預審制度真正起到了對論文質(zhì)量的監(jiān)控、提高作用。由于論文預審不是最終性的,且匿名進行評審,排除了論文本身之外的因素,預審專家組本著對學生負責任、幫助提高論文質(zhì)量的態(tài)度對碩士學位論文提出問題和修改建議,有助于碩士生多方位思考并對論文進行有效改進,起到了協(xié)助其導師把住質(zhì)量關的作用。論文預審不僅對當事人有很大的幫助, 并且對其他準備提交論文的學生也具有很大的促進作用,導師們也更加重視論文的質(zhì)量和指導。?

4. 預審制度實施的總結和思考

預審制度最主要的優(yōu)勢是對碩士學位申請人的論文質(zhì)量進行事前監(jiān)控,在正式答辯前,學位申請人能夠在導師指導下根據(jù)預審專家提出的修改意見對論文進行修改和完善。預審未通過的論文不許提交答辯,這在制度上將那些質(zhì)量差的論文隔離在外,有效地把好了碩士生出口的質(zhì)量。

在看到預審制度效果的同時, 我們也清醒地認識到要最大限度地發(fā)揮預審的功能, 必須同時嚴格碩士生的開題工作,只有抓牢抓實開題工作,才能在論文工作的源頭保障論文的質(zhì)量;同時引起導師及其論文作者對論文質(zhì)量的重視,導師是保障論文質(zhì)量的關鍵因素,只有導師和論文作者共同重視,才能保障培養(yǎng)的質(zhì)量。為了更好的完善論文預審制度,我們覺得今后還需要在以下方面進行進一步的改進:

(1)落實論文預審的后續(xù)檢查機制,預審結束后, 學位申請人應該嚴格按照專家提出的修改意見認真仔細地修改論文。在評閱和正式答辯階段, 評閱專家及答辯專家除了對論文的主要工作給予評價外, 也要評判碩士生的學位論文是否按預審意見進行了修改和完善。如果后續(xù)的檢查機制落實不徹底, 預審專家所提的修改意見得不到嚴格貫徹, 預審也難免會流于形式。

(2)預審過程中,為了避免論文預審的偏頗,盡量做到同一位導師所指導的學生論文分送到不同的預審組,以盡量提高論文預審的公正性和合理性。

(3)進一步細化預審復議環(huán)節(jié)的工作,對導師、學生提出的論文預審復議要求交由學科專業(yè)委員會復議,并指導導師、學生對論文做后續(xù)的修改。

(4)增強預審獎懲機制管理,促進導師持續(xù)關注論文質(zhì)量,對預審結果優(yōu)秀的老師予以適當?shù)莫剟睿粗畡t需對導師增強后續(xù)再培訓,鼓勵導師改進研究生培養(yǎng)質(zhì)量。

預審制度在我院已取得一定效果,我們將繼續(xù)總結經(jīng)驗,不斷探索和完善預審制度,切實提高我院的研究生培養(yǎng)質(zhì)量。

軟件工程論文:有關軟件工程案例教學法分析

摘要:本文就案例教學法在軟件工程中的應用作了初步的探討,同時,簡要介紹我們在嘗試軟件工程案例教學中的一些體會。

關鍵詞:軟件工程;案例教學法;分析設計

1 引言

隨著計算機應用日益普及和深化,正在運行使用著的計算機軟件的數(shù)量以驚人的速度急劇膨脹,而且現(xiàn)代軟件的規(guī)模往往十分龐大,所以指導計算機軟件開發(fā)和維護的工程學科—軟件工程,日益顯示其重要地位。然而學習者一般不好理解軟件工程的實踐性,不能將所學的知識真正應用到軟件開發(fā)過程中去。如何將理論與實際聯(lián)系起來呢?我們認為在軟件工程中采用案例教學發(fā)將會彌補這一缺憾。

案例教學法以對案例的分析解決為主線,通過對案例中的問題進行分析,激發(fā)學生的求知欲,調(diào)動學生的積極性,使學生自覺主動的學習案例,掌握原理和方法,實行科學的教育思想觀念的一種教學方式。它是一種互動式的教學方法,可以實現(xiàn)啟發(fā)式教學,能夠極大的促進學生的學習興趣,實現(xiàn)真正的教學相長。它更是實現(xiàn)理論聯(lián)系實際的現(xiàn)實可實施的途徑。案例教學法在軟件工程教學中的應用將在更大程度上激發(fā)學生學習的學習興趣和參與的積極性。同時,利于學生掌握理論知識,并運用知識解決軟件開發(fā)中的實際問題,最終提高教學質(zhì)量,達到學校教育培養(yǎng)的目標。

有鑒于此,本文試對案例教學法在軟件工程中的應用作了初步探討,以期對教育同行和廣大學習者有所啟發(fā)和借鑒。

2 案例教學法的含義

案例教學法(case methods of teaching)可簡單地界定為一種運用案例進行教學的一種方法,它是美國當今教育行業(yè)中非常盛行而有效的一種方法,在我國正在慢慢推廣開來。1910年,美國哈佛商學院最先使用案例教學,開創(chuàng)了案例教學的先河。案例教學法于20世紀80年代初傳入我國,它有利于培養(yǎng)學生分析問題、解決問題的能力,提高教學效果。

案例教學是在學生掌握了有關基本知識和分析技術的基礎上,在教師的精心策劃和指導下,根據(jù)教學目的和教學要求,運用典型案例,將學生帶入特定的現(xiàn)場進行案例分析,通過學生的獨立思考和集體協(xié)作,進一步提高識別,分析和解決某一具體問題的能力,同時培養(yǎng)學生的溝通能力和協(xié)作精神的教學方式。通過案例分析,學生可以獲得蘊涵其中的那些已形成的教育原理、教學方法等知識,同時可以提高和發(fā)展學生的創(chuàng)造能力以及解決實際問題能力。更重要的是,通過案例教學獲得的知識是內(nèi)化了的知識,是“做中學”獲得自己理解了的能駕馭的知識,不再像傳統(tǒng)教學下獲得的抽象的、過度概括化的生硬知識,它能立即被用到類似教學實踐情境中去解決處理類似的疑難教學問題。所以從美國教育家舒爾1986年在美國教育研究協(xié)會(aera)年會重要演講中發(fā)出要發(fā)展關于教學的案例知識的呼吁,時至今日,在眾多國家的教育研究領域中都能發(fā)現(xiàn)案例教學法的應用。

3 軟件工程案例的選擇

概括而言,案例是含有問題或疑難情境在內(nèi)的真實發(fā)生的典型性事件。沒有案例,案例教學無從談起,沒有好的案例,便沒有有效的案例教學,所以案例的選擇在案例教學中至關重要。一個高質(zhì)量的案例應該具備以下幾個特點。

(1)目的性。案例教學的目的是為了讓學生理論聯(lián)系實際,通過案例讓學生掌握基本的原理和概念,提高發(fā)現(xiàn)問題,解決實際問題的能力。一個好的案例應該使學生在討論中加深對教材中某一重點或難點知識的理解和把握,能利用課堂學習的理論知識來分析和解決案例中所涉及的問題。所以案例的選擇一定要圍繞教學目的和教學要求來。如果脫離這兩個中心,即使案例再生動,其教學效果也大打折扣。

(2)真實性。案例一定是現(xiàn)實中發(fā)生的真實事件,是常見又復雜的問題,有助于學生實踐能力的提高。

(3)啟發(fā)性。一個好的案例需要蘊涵一定的問題,能啟發(fā)學生思考,發(fā)現(xiàn)多種解決的途徑。問題越誘人深入,越能夠給學生留下較多的思維空間,教學效果越好。

(4)生動性。案例必須生動活潑,引人入勝,這樣才能引起學生的興趣,以便展開深入的思考。

軟件工程是采用工程的概念、原理、技術和方法來開發(fā)與維護軟件,把經(jīng)過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來。它強調(diào)使用生存周期方法學和各種結構分析及結構設計技術,所以軟件工程案例即是選擇一些典型的軟件開發(fā)系統(tǒng),介紹其開發(fā)和維護的過程。

我們根據(jù)講解軟件工程課的具體體會和開發(fā)軟件的實際經(jīng)驗,撰寫了五個案例,開發(fā)了《軟件工程案例分析》網(wǎng)絡課件,詳細介紹五個軟件系統(tǒng)的開發(fā)過程,互動的方式講述了用軟件工程的方法是如何進行分析和設計的,同時在系統(tǒng)開發(fā)的每個過程中提出大量的問題供學生思考。案例選擇了房產(chǎn)管理系統(tǒng)、財務管理系統(tǒng)、機票預定系統(tǒng)、計算機儲蓄系統(tǒng)四個應用軟件系統(tǒng),同時為了提高學習者理解開發(fā)軟件的難度,特別介紹l-simple語言編譯系統(tǒng)。采用傳統(tǒng)的生命周期方法學,從問題定義、可行性研究、需求分析、總體設計到詳細設計做了比較詳細的研究。系統(tǒng)中五個案例涉及到當前人們?nèi)粘I钪嘘P注的幾個領域:房產(chǎn)管理、財務管理、計算機儲蓄、機票預定,還有計算機的語言編譯系統(tǒng)。案例既具有典型性,同時又具有真實性。我們選擇四個應用軟件和一個系統(tǒng)軟件,一方面考慮到目前軟件市場涉及應用范圍的廣泛性,另一方面考慮到軟件工程學習者中大部分為計算機專業(yè),對于系統(tǒng)軟件也有一定愛好,對于將來開發(fā)系統(tǒng)軟件作一個鋪墊。

4 軟件工程案例教學的主要環(huán)節(jié)

案例教學的需要具備三個主要環(huán)節(jié):

閱讀案例,個人分析——分組討論,集體交流——總結歸納,消化提升

我們嘗試的軟件工程案例教學中同樣采用了這三個階段:

(1)閱讀案例,個人分析

學生首先對具體案例進行必要的基礎知識的了解,認真閱讀案例,并且要有個人的研究與分析,用軟件工程的傳統(tǒng)途徑—生命周期方法學作為理論指導,熟悉軟件開發(fā)過程各階段的基本任務。

其次,學生需要盡快進入案例情境,了解、掌握案例中揭示的有關事實、情況,自居案例中的教師角色,設身處地地分析思考案例中教師的行為及對策的合理性與不合理性。在案例的分析過程中,要注意尋找其中的因果關系,只有弄清問題產(chǎn)生的原因,才可能找到問題的合理解決手段。注意區(qū)分基本性問題和現(xiàn)時性問題?;拘詥栴}即抽象或一般的問題,常與事實背后的概念、原理、規(guī)則等有關,需要通過對案例中所包括的信息進行解釋、分析、演繹、推理和抽象以得到概括化的結論?,F(xiàn)時性問題即案例中教師所面對的特殊決定、疑難問題等要求在一定的時間范圍內(nèi)得到解決的那些問題,需將自己已有的知識或過去形成的經(jīng)驗與案例展示的背景材料、內(nèi)外部因素等整合起來進行綜合評判來提出多種經(jīng)得起別人反駁的見解、對策以及方案。

(2)分組討論,集體交流

分組討論是案例教學中非常重要的環(huán)節(jié),本質(zhì)上是一種概念或想法的交流。圍繞案例的重點,難點,疑點,進行討論,辯論和爭論。每個學生可以自由的抒發(fā)己見,相互啟迪,互相借鑒,重點是想法的交流。要求每個學生簡要介紹自己對軟件開發(fā)所做的分析設計,并提出自己對該軟件開發(fā)流程的看法,供大家討論與切磋,可以按照案例中所提出的問題一個一個討論。在教師的引導下,讓學生進行課堂發(fā)言,進行全體學生的交流。本階段要討論主要解決兩個問題:1、小組討論沒有達成共識的問題;2、按照教學目標,有意引導學生掌握軟件工程的生命周期法各階段所做的具體工作以及進行相關工作的必要性。

為了使分組討論有效地開展,教師要作好充分的課前準備。除了熟知案例陳述的事實、觀點外,還要諳知案例反映或蘊涵的原理、規(guī)則等知識,以便引導學生概括出來。要認真學習研究案例后給出的教學指南,具體擬定出課堂教學計劃,這要求教師認真思考回答以下問題:希望課堂上發(fā)生些什么?如何引導這些情況的發(fā)生?討論如何開展?時間如何安排?自己扮演什么角色?是先得結論再分析,還是相反?并對課堂討論中可能出現(xiàn)的情況作出預測。教師還要依據(jù)課程目標、案例目標及教學計劃的具體安排重點分析以下方面的內(nèi)容:案例中反映的那些重要論題、案例中易得出兩可結論的那些材料、案例中反映的情況發(fā)生的根源、案例中人物的行為、案例中所反映的而學生可能設想不到的情況等。在討論掌握上,教師要力保討論沿預期的軌道進行,把討論引導到問題的解決上去,并引導出與論題相關的理論知識,力爭班上每個學生都至少有一次發(fā)言的機會,切實做到有效參與。

(3)總結歸納,消化提升

總結歸納是軟件工程案例教學的最后階段,要求學生要對每個案例寫出學習報告。該報告中包含學生在閱讀案例中所得到的具體收獲;通過分析與設計軟件,提出自己所解決的實際問題;對理論上軟件工程概念和案例中的實際是否一一相對應;以及對軟件工程仍然存在的困惑。通過反思進一步加深對案例的認識,真正作到理論和實踐的相結合。

案例教學中,師生都要注意角色轉換,如果學生仍然熱衷于將自己置身于教學過程之外,只做一名旁觀者,案例教學也就失去了它的價值。學生只有真正地深入案例、體驗角色,才會有案例情境的“再現(xiàn)”,案例教學的價值才能被體現(xiàn)。而教師在教學過程中也要不斷變換自己的角色,可充當監(jiān)督員,激勵啟發(fā)學生,監(jiān)督案例分析、討論情況;可充當示范員,向?qū)W生演示、講解、分析案例中的事實、圖表、材料等;可充當主人翁,制定下一步的工作計劃并在實施中起主導作用;可作仲裁,解決各種爭端;可充當交警,使討論回到預定的軌道上來;等等。

5 結束語

傳統(tǒng)的“黑板教育學”越來越受到冷落,案例教學已經(jīng)提到教育改革的重要日程上來。華東師范法學教育系鄭金洲曾指出,案例教學并不是單純的一種教學方法,它實際上是以教學內(nèi)容的變革為前提條件的,正是有了形形色色的案例,才使案例教學成為可能;案例教學也并不是一種單純的教授法,它實際上也是以學生行為的轉變?yōu)榍疤釛l件的;如果學生仍然熱衷于自己先前的角色,把自己置身于教學過程之外,只是一個旁觀者,案例教學也就失去意義。

筆者從事軟件工程的教學工作,在軟件工程中進行案例教學法的嘗試,并且在實踐中得到了一定的效果。然而,在軟件工程案例教學中仍有很多問題需要進一步研究探討,比如在案例中如何體現(xiàn)軟件的測試階段,它需要具體的環(huán)境來實現(xiàn);如何在案例中能夠讓學生更深入理解軟件的維護過程等等問題,都是有待于我們進一步完善,使案例教學在軟件工程中得到進一步的推廣。

軟件工程論文:軟件工程專業(yè)“計算機組成原理”課程教學探討

計算機組成原理在我院的軟件工程系被定為專業(yè)基礎課,在學科體系中起著基礎性和準備指導性的作用。目標是通過該課程的學習,使學生掌握計算機各功能部件及整機運行的工作原理和方法,并為學生建立起整機的概念。為后期的系統(tǒng)開發(fā)的理論、實踐的學習奠定基礎。但該門課程具有概念多、知識點多、內(nèi)容抽象等特點,加上學生思想上有“偏軟”現(xiàn)象,使該課程的組織教學有一定難度。本文將對計算機組成原理的教學現(xiàn)狀、教學方法、教學內(nèi)容、及通過實踐等輔助教學手段來改進教學等方面進行闡述,以期對一般本科院校的計算機組成原理教學有一定借鑒促進作用。

一、計算機組成原理的課程的教學現(xiàn)狀

(一)課程本身的特點決定這門課程教學難度大

1、基礎概念多的特點

計算機組成原理這門課程由于內(nèi)容較多,所涉及的基礎概念也較多。在cpu模塊有微程序、微指令及流水線等系統(tǒng)類概念,其中alu部分有原碼、補碼等與編碼相關的概念;在存儲器部分,與存儲器單元相關的有ram、sram、dram、rom及各種rom設備,與存儲系統(tǒng)相關的有cache存儲器、虛擬存儲器等概念;外設部分有中斷等信息的各種傳送方法。對整個計算機系統(tǒng),有計算機的各種性能指標。對各個概念,靠單純記憶的方法很難掌握,必須放在系統(tǒng)中學習。

2、理論性強的特點

計算機組成原理這門課程首先要考慮其原理性,現(xiàn)在仍然采用馮.諾依曼式計算機模型作為基本模型,但也要考慮現(xiàn)代計算機的發(fā)展,以融入實際的需要。如何對內(nèi)容進行合理的安排、銜接,對任課教師來說,是一不小的挑戰(zhàn)。

3、內(nèi)容抽象的特點

要讓學生明白計算機的工作原理、方法和實現(xiàn),需弄清數(shù)據(jù)和信號在計算機各部件件間的流動情況,對學生來說,這看不見也摸不著,如何將信息流動的復雜情況形象、生動地向?qū)W生展示、講解,教師對此需要作出相當?shù)呐Α?

(二)學生對該們課程的認識誤區(qū)

大部分的學生認為,我們學的專業(yè)是軟件工程,專業(yè)是“偏軟”的,而計算機組成原理這門課程是“偏硬”的,對其轉為實際能力表示懷疑。由于對這門課程在學科中的作用認識不明確,在學生中就有一種印象,學習這門課程主要目的是修學分的需要,另外還有考研的需要,但考研的學生比例較小,再加上這門課程本身的學習難度,因此認真學習且能學好這門課程的人數(shù)就不多了。

二、對組成原理教學的幾點建議

(一)對學生對該門課程的認識進行相應正確引導

由于是一門基礎理論課,加上本身的教學內(nèi)容特點,可能內(nèi)容較為枯燥,因此學生可能會因為課程內(nèi)容本身而不感興趣。因此我們要在思想上要對學生加以引導,使學生認識到,學習這門課程不僅對計算機本身的運轉有更深刻的認識,更對與硬件相關的嵌入式系統(tǒng)設計,軟件的設計實現(xiàn)有基礎指導作用。并為學生在計算機領域的進一步研究和發(fā)展奠定基礎。因此,學生不能因為這門課程“偏硬”,而自己的專業(yè)和就業(yè)方向“偏軟”就否定這門課程的重要性。

(二)根據(jù)課程設置需要對教學學時進行相應調(diào)整

根據(jù)不同的專業(yè),學生的不同層次,及大部分學生的就業(yè)方向?qū)υ撜n時設置不同的教學學時。報告[3]中指出,對于多數(shù)調(diào)查對象為畢業(yè)生的調(diào)查結果,多數(shù)人認為這門課開設為64、48或32學時。而48學時的人稍多些。這與本人想法基本一致,對于非計算機專業(yè),作為導論型的,32學時足矣;對于軟件專業(yè),其目的主要是通過掌握其基本原理,能更好的為軟件系統(tǒng)的設計服務,開設48學時,其中8學時實驗較合理。而對于偏硬件的計算機專業(yè),可以根據(jù)需要,開設56或64學時。

(三)根據(jù)專業(yè)要求及課程設置對教學內(nèi)容作出調(diào)整

計算機組成原理在學科中的地位被定為專業(yè)基礎課,在學科中具有承上啟下的作用,希望通過本門課程的學習,使學生對計算機硬件的組成、各部件及各部件之間運轉情況進行了解。對于軟件專業(yè)的學生來說,為硬件相關的嵌入式系統(tǒng)設計及其他軟件的設計奠定基礎。計算機組成原理從內(nèi)容上主要分為三部分:cpu、存儲器、外設。但由于學時的限制及課程的安排(本專業(yè)開設了微機原理課,外設是其講授重點),重點講授cpu和存儲器兩部分。存儲器內(nèi)容分為主存儲器和存儲體系兩部分內(nèi)容。前者講述存儲元器件的基本原理,而后者則是cache、主存和輔存之間的區(qū)別與聯(lián)系,如果開設了計算機體系結構這么課程,這存儲體系的內(nèi)容可簡略介紹,具體內(nèi)容由計算機體系結構講解。cpu部分與存儲器一樣,在詳細介紹完其核心部件alu后,重點即是中央處理器章節(jié),即指令的運行,而指令的運行需要訪問存儲器,這就將cpu與存儲體系聯(lián)系起來了。故這兩部分又是有聯(lián)系的。由此有關硬件的內(nèi)容就脈絡清晰、分工明確了。

(四)對實驗內(nèi)容進行合理的學時分配

實驗課對于一門課程來說,主要目的是加深對知識點認識,使抽象的理論變得形象、具體。因此,對本身理論性強,內(nèi)容抽象的計算機組成原理課程,實驗課就顯得尤為重要。我們采用的是西安唐都科教儀器公司生產(chǎn)的實驗箱作為實驗設備。與其相配套的實驗有9個,其中主要包括與cpu中的與alu相關的3個實驗、靜態(tài)存儲器存取實驗、微程序控制實驗及4個模型機的設計類實驗。根據(jù)實驗學時的設置,只有8個學時的實驗課。8個學時全部完成這些實驗有一定難度,因此,可將這些試驗進行合理的學時分配,如第1、2個學時完成第一、二個實驗,因為剛開始做硬件實驗不熟悉,但第二個運算器進位實驗教簡單,可順便完成;有了前面的基礎,完成第三個運算器移位控制實驗就簡單多了,因此和第四個稍麻煩的靜態(tài)存儲器存取試驗合并在第3、4學時完成;第5個實驗內(nèi)容較復雜,可單獨安排2個學時完成;這樣就留出了2學時來研究后面的模型及設計與實現(xiàn)的實驗了。

(五)以實踐為手段帶動學生的學習積極性

為了提高學生的學習積極性,加深對知識的掌握,實踐就顯得尤為重要。對軟件專業(yè)的學生來說,利用軟件對所學知識進行模擬不失為一種好的辦法。對于計算機組成原理這門課程,實驗內(nèi)容較為抽象,不易被理解,因此,采用“硬件軟化”的方法,對課程的實驗內(nèi)容等進行模擬,既可加深對知識的掌握,又可提高大家的軟件設計、編程能力。本系為了提高大家參與的積極性,采用了學生科技立項的辦法,系里拿出一部分資金,將“計算機組成原理虛擬實驗系統(tǒng)的設計與實現(xiàn)”作為一學生科技項目,鼓勵學生組隊參加,和其他項目一起參加評比,并進行獎勵的辦法,在學生中得到了良好的響應。學生做出的項目教師可拿來作為課堂教學用,并可鼓勵學生在此基礎上進行改進,進一步完善。以后甚至可以將系統(tǒng)分塊,讓學生分組做,并作為課后作業(yè)的一部分,計入學生平時成績。以此提高學生的學習興趣和動力。

三、結語

計算機組成原理這門課程由于其本身知識點多、內(nèi)容相對抽象、知識“偏硬”等特點,對軟件專業(yè)的學生來說,普遍學習的積極性不高,對知識的掌握不能達到預期的目的。本文從對學生的引導、課時的設置、教學內(nèi)容的調(diào)整等方面進行了討論,特別提出通過“硬化軟件”的方法,提高大家學習的積極性。相信經(jīng)過多方面的努力,學生會喜歡并學好這門課程,該課程也將很好地發(fā)揮其在學科體系中的作用。