999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件體系結構課程教學探討

2008-12-31 00:00:00陳長清
計算機教育 2008年22期

摘要:本文在分析軟件體系結構課程特點和面臨問題的基礎上,從提高學生學習興趣、課程銜接、組建以設計師為主的開發團隊、構建實踐教學平臺和師資隊伍建設等五個方面分析了課程教學中所運用的方法和手段。

關鍵詞:軟件體系結構;案例教學;實踐教學平臺

中圖分類號:G642文獻標識碼:B

建大廈必須進行設計,而建平房則不需要設計。傳統觀點認為需求分析是項目開發成敗的一個關鍵,項目的失敗或夭折主要是由于需求分析不充分造成的,但對如何做好需求分析卻苦無良策。在軟件開發的早期,軟件代碼量不大,對設計重要性的認識也不充分,程序員可以設計、編碼一肩挑,但隨著軟件規模的擴大,人們在大型軟件的開發面前顯得力不從心,因而產生了軟件體系結構理論。現代觀念認為通過需求與設計之間的迭代,并根據設計建立系統原型,能夠較為充分地理解需求并得到滿足需求的設計。

軟件體系結構的設計在中大型軟件項目中更易于顯示它的意義,這也是軟件體系結構課程產生的原因。“軟件體系結構”作為高等學校軟件工程專業的一門核心課程,是根據人們的軟件設計經驗總結出來的理論與實踐相結合的課程。“上梁不正下梁歪”,體系結構的設計是現代軟件開發中最為重要的一環,它設計得是否合理直接關系到軟件的成敗。隨著軟件規模變得越大越復雜,軟件開發對軟件架構師提出了更高的要求。

1課程特點與面臨的問題

1.1軟件體系結構課程的特點

(1) 軟件體系結構的設計原則、技術、方法較為抽象

軟件體系結構的設計原則、技術、方法可以應用在不同的軟件項目中,其目的是為了在給定的時間、經費等條件限制下設計出高質量的軟件,它們位于所有具體項目之上,針對全體軟件項目,因而是抽象的。

(2) 軟件設計的效果體現在軟件開發的后續階段中

軟件生命周期包括可行性分析、需求分析、設計、編碼、測試、運行維護等多個階段,設計對軟件成敗的影響往往在這個階段反映不出來。設計階段做出的一個決定,可能要到編碼、測試甚至是后續的維護階段才能顯現它的效果。

(3) 軟件體系結構的設計往往是折衷與權衡的產物

軟件中的一些質量要素經常是相互沖突的,即軟件的質量要素之間既有正相關,也有負相關,因此在實際的軟

件系統設計過程中,必須根據具體情況對各種要素進行折衷與權衡,從而得到總體上滿足用戶要求的軟件。怎么折衷和權衡,必須結合具體項目,根據項目的實際情況去把握。

1.2教學中面臨的問題

(1) 軟件體系結構的抽象理論容易使學生感到枯燥乏味

由于授課對象是大三學生,項目開發經驗有限,學生很難在頭腦中將軟件體系結構的抽象理論和實際聯系起來,因此較難對這門課產生興趣。在接受抽象的理論時,容易產生枯燥乏味的感覺。

(2) 學生缺乏完整項目的體驗

學生參與的課程設計實踐一般僅限于小型項目,很少有機會參與軟件開發和運行的全過程,難以體會到軟件體系結構設計中關于正反經驗的總結。例如,可維護性是軟件的一個重要質量指標,但學生很少有機會去參與真正的軟件維護,所開發的系統大多只是給任課教師大概地檢查一下,一般不會交付使用,沒有經受用戶的真正檢驗,設計里的很多錯誤被隱藏起來了。但學生看不到錯誤,就不能對這些錯誤進行維護,也就不能體會到設計階段工作對可維護性造成的影響。而且對于經驗欠缺的多數學生來說,軟件設計中的折衷與權衡難以想象,不容易理解和把握,包括各種質量屬性之間以及與很多非技術因素的折衷與權衡。

如何搞好這門課的教學,是擺在教師面前的一道緊迫課題,對教學方法、手段和個人經驗都提出了很高的要求。我們提出通過本課程學習要達到以下三個目標:

(1) 幫助學生了解軟件架構的基本概念,初步掌握中大型軟件系統構架的分析與設計方法。

(2) 使學生了解軟件系統的成敗不僅取決于用戶的功能需求是否被滿足,還和各種外部約束條件有關,如設計師的素質與經驗、開發組織的目標以及政策法規限制等,從而提高軟件設計的基本素養。

(3) 引導學生認識系統的性能、可用性、安全性等質量屬性都是受軟件構架制約的,或者說這些屬性的實現影響著設計師的設計選擇。

2強化案例教學,建設符合學生接受能力的案例

本課程較為抽象,要求學生有一定的軟件設計經驗,為了彌補學生在設計經驗上的不足,我們在本課程中采用以案例教學為主的方法和手段,盡量將理論講授和實際案例結合起來。案例選取有三方面的要求:一是要選取學生能聽得懂、能理解的案例,案例本身不能過于復雜,超出學生的可接受范圍;二是案例不能太簡單,應稍高于學生的現有經驗,這樣才能提高學生的學習興趣并幫助學生提高;三是案例要和每階段的教學內容相匹配。經過幾年的教學積累,我們以實際系統為基礎,建立了多個符合學生理解和接受能力的案例,如軟件學院的研究生選課系統、軟件學院的圖書管理系統、學生宿舍管理系統、訂票系統、軟件學院校友管理系統、超市進銷存系統等。這些系統都是真實的,也是學生經常接觸的,有很強的參照性,學生容易接受。我們還把這些系統作為課程實踐的選題,提供原有設計方案和源代碼,讓學生使用并提出意見,找出原先設計的不足并改進,大大提高了學生實踐的感知能力。

在學時分配方面也做到向案例教學傾斜,本課程總共48學時,除了8個學時的專門案例分析和8個學時的上機實踐,在課堂理論教學時還穿插大量案例,案例教學占課堂授課比例的40%左右。我們還采用啟發式教學手段,在課堂上留有一定時間專門就案例展開討論,鼓勵學生通過爭論來比較和掌握軟件構架設計方。例如,學生都實際使用過選課系統,選取該系統作為案例,學生就很樂意參與討論并給出建議。這些手段的采用取得良好的教學效果,加深了學生對抽象的軟件架構設計思想的理解。

3教學內容與教學手段

(1) 激發學習興趣和熱情

我們從課堂氣氛、內容選擇、語言表達三個方面入手。在營造課堂氣氛方面,講解時盡量營造探究氣氛,鼓勵學生參與討論,避免學生被動地聽,增強教師與學生的交流互動。在內容選擇方面,選一些容易引起學生興趣的素材。例如,在講到架構風格時,我拿了一個自己編寫的對戰游戲程序給學生看,由于這種游戲學生普遍都感興趣,因此在講解架構風格時,學生注意力都很集中,收到了較好的教學效果。語言表達方面,在講課時多用一些形象、有趣的事例或類比來說明或代替那些抽象、枯燥的理論陳述。例如,在談到滿足不同質量屬性需要權衡時,列舉了斑馬為什么有黑白條紋的例子。

(2) 注意與其他課程的銜接

軟件體系結構的教學內容與軟件工程、軟件項目管理以及軟件文檔寫作等課程緊密相關、甚至有部分重疊,我們針對不同課程的特點進行了妥善安排,在教學內容上注意相關課程內容的相互滲透。大三上學期首先講授軟件工程,使學生對軟件工程有一個初步認識,緊接著是軟件文檔寫作的訓練。大三下學期軟件體系結構和軟件項目管理同步講授,要求學生運用軟件體系結構的理論、技術和方法進行軟件設計和評審,同時運用項目管理的知識組織項目開發,最終驗證軟件設計的合理性。設計和實現的題目鼓勵沿用軟件工程課程上所用的項目、人員組成也鼓勵保持一致,使學生對某個項目能保持一個學年左右的長期接觸。

(3) 建立以設計師為主的開發團隊

以小組(四人為一組)為單位開展課程實驗,每個人扮演不同角色。首先他們是一個設計師團隊,但其中要有一人負責,這也是軟件設計的一條重要原則;其次,還有項目經理、需求分析師、程序員和測試員等角色需要擔當,也就是說每個人要承擔多個角色。實驗綜合運用軟件工程、軟件體系結構設計、軟件文檔寫作、軟件項目管理以及其它課程的知識,來體會如何圍繞軟件體系結構進行開發,體會軟件體系結構設計的原則和方法。

(4) 建立實踐教學平臺

軟件體系結構的教學應使學生通過對這門課的學習,加上對其他專業知識的綜合運用,能夠在實際工作中應付真正的項目設計,因此有必要讓學生參與一個長期(不少于一學年)的軟件項目。為此我們設計多個規模較大的、完整的軟件項目作為實踐教學平臺,這種項目包括分析、設計、實現、軟件維護、軟件重用、對現有軟件的擴展,以及團隊合作、項目管理等等。讓學生長期接觸某個項目,使他們可以在這個平臺上觀察和動手實踐自己的軟件設計方案,或者對現有方案進行改進,這樣既有機會獲得正面成功經驗,也有機會得到反面失敗的教訓。

實驗與教學進度保持匹配,使學生在實驗中主動運用所學設計理論,并和傳統設計方法進行對比,幫助學生迅速地把所學知識轉換成實際的軟件設計能力。設計過程要求采用Raional等工具進行分析和設計。

課程結束時,安排專門的時間,由每個團隊向全班同學演示自己的實驗成果,并由學生和教師共同對實驗結果進行評價和給分,極大地調動了學生的積極性,評分過程中的議論則幫助學生進一步加深了對軟件架構設計方法的理解。

團隊提交的實踐結果:需求說明書、體系結構設計說明書、體系結構評審報告、個人總結報告、演示Demo,要求說明每個人的角色和工作量。

評分標準:項目文檔描述60%;個人總結報告20%;Demo20%。

上述評分標準以團隊為基礎,改變了傳統的針對個人實踐結果的考評模式,避免了相互抄襲。通過以團隊評分為主,個人表現為輔的評價方式,達到培養學生學會與他人合作,培養團隊精神的目的;通過以軟件文檔評分為主,以實踐結果為輔的評分體系,達到學生對軟件設計過程和方法的掌握。

其次,讓學生參與教師的研究課題,加強實踐基地建設,構建課程實訓環境,鼓勵學生到社會上的軟件公司去實習、兼職。學院已與國內外多家軟件領域的著名公司和研發基地建立了合作關系,建立了全方位、多層次的課程實踐教學環境。

(5) 構建高素質的師資隊伍

根據國家示范性軟件學院工程型人才的培養目標,考慮軟件體系結構設計課程實踐性很強的突出特點,構建了三三制的師資隊伍結構,即專職教師、IT公司教師和境外教師。完善了校內專任教師到軟件企業一線參與實際軟件項目研發和交流、軟件企業的工程技術和項目管理人員到學校兼職授課的制度和機制,形成了一支了解行業需求、教學經驗豐富、專兼結合、國內國外、校企聯合的高素質的教師隊伍。

4教學效果

我院針對軟件體系結構課程教學中存在的不足,從教學方法、手段等方面提出了改進方案,融理論、案例與實踐為一體,系統地闡述了軟件體系結構的設計過程,體系結構設計師的主要工作和職責,輔助以實際案例向學生傳授軟件架構的理論、方法和技巧,并以小組為單位完成課程實驗。通過本課程學習,學生可以在較短時間內掌握軟件體系結構的基本知識和實踐能力。

參考文獻

[1] 裴小兵. 基于軟件開發團隊的軟件工程教學實踐研究[J]. 計算機教育,2008,(2):55-56.

[2] 林.巴斯著,車立紅譯. 軟件構架實踐(第2版)[M]. 北京:清華大學出版社,2004.

主站蜘蛛池模板: 国产成人免费视频精品一区二区| 999国产精品| 欧美成人A视频| 国产激情影院| 久久99国产精品成人欧美| 四虎成人免费毛片| 国产欧美日韩精品综合在线| 自拍偷拍欧美| 久久不卡精品| 国产精品久久久久久影院| 亚洲精品在线观看91| 精品国产三级在线观看| 国产网站免费| 国内精自视频品线一二区| 天堂成人在线| 中文字幕亚洲电影| 亚洲第一区在线| 亚洲男人天堂2018| 国产亚洲精品自在久久不卡| 国产视频大全| 欧美在线免费| 欧美国产综合色视频| 中美日韩在线网免费毛片视频| 2021国产精品自产拍在线观看| a欧美在线| 伊人91在线| 成人字幕网视频在线观看| 91国内外精品自在线播放| 婷婷午夜影院| 毛片手机在线看| 成人精品免费视频| 欧美成人区| 在线观看视频一区二区| 粗大猛烈进出高潮视频无码| 免费aa毛片| 国产人成午夜免费看| 在线中文字幕日韩| 色屁屁一区二区三区视频国产| 伊人成人在线| 操国产美女| 色噜噜久久| 啪啪免费视频一区二区| 久久亚洲日本不卡一区二区| 欧美va亚洲va香蕉在线| 欧美一级高清片久久99| 久久精品娱乐亚洲领先| 久久国产乱子伦视频无卡顿| 国产高清色视频免费看的网址| 国产综合另类小说色区色噜噜| 日本不卡视频在线| 日韩天堂网| 一级黄色片网| 熟女日韩精品2区| a色毛片免费视频| 福利视频一区| 久久亚洲欧美综合| 看av免费毛片手机播放| 亚洲AV无码久久精品色欲| 青青青亚洲精品国产| 四虎精品国产AV二区| 在线播放精品一区二区啪视频| a毛片在线| 中文字幕亚洲无线码一区女同| 欧美综合中文字幕久久| 国产麻豆福利av在线播放| 国产精品短篇二区| 久久福利片| 又爽又黄又无遮挡网站| 国产三级视频网站| 亚洲αv毛片| 亚洲中文字幕久久无码精品A| 无码电影在线观看| 天天综合亚洲| 午夜福利视频一区| 亚洲欧美一区二区三区麻豆| 素人激情视频福利| 日韩精品中文字幕一区三区| 亚洲日韩每日更新| 国产99热| 日韩精品久久无码中文字幕色欲| 国产在线精品香蕉麻豆| a级毛片免费看|