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

貫穿式案例實踐教學法在軟件體系結構課程中的應用

2020-01-05 07:00:06黃佳佳李鵬偉
軟件導刊 2020年11期
關鍵詞:教學實踐

黃佳佳 李鵬偉

摘 要:針對當前軟件體系結構課程特點和教學過程中存在的難點,提出貫穿式案例實踐教學法。通過設計一套可貫穿軟件體系結構課程各主要知識點的若干案例,組織學生分組實踐,設計軟件架構,解決現有教學模式存在的問題。該教學模式將理論與實踐相結合,幫助學生理解理論知識,培養學生動手實踐能力,在實際教學中取得較好效果。

關鍵詞:軟件體系結構;貫穿式案例;實踐教學法;教學實踐;軟件工程

DOI:10. 11907/rjdk. 201493??????????????????????????????????????????????????????????????????????????????????????????????????????? 開放科學(資源服務)標識碼(OSID):

中圖分類號:G434 ?? 文獻標識碼:A?????????????????????????????? 文章編號:1672-7800(2020)011-0249-03

The Application of Penetrating Case and Practical Teaching Method

in Software Architecture Course

HUANG Jia-jia, LI Peng-wei

(School of Information Engineering, Nanjing Audit University, Nanjing 211815, China)

Abstract: Focusing on the course features of software architecture and difficulties in the teaching processing of this course, this paper proposes a penetrating case and practical teaching method. We try to solve current teaching problems through designing a series of cases that are able to penetrate the main points of software architecture course and designing software architecture in practice by dividing students into groups. This teaching method can both improve students cognition of software architecture theory and enhance their practical ability, which acquires promising result in teaching practice.

Key Words: software architecture course; penetrating case; practical teaching method; teaching practice; software engineering

0 引言

軟件工程專業作為計算機科學與技術一級學科的一個分支學科,較為偏重軟件開發的工程性與實用性,要求學生不僅學習相關理論知識與實踐技能,還要熟悉軟件開發的一整套流程,包括軟件項目管理、軟件需求分析、軟件架構設計與細化、產品測試及后期維護等[1]。在軟件工程本科生培養方案中,最能綜合體現該專業工程性與實踐性的課程即軟件體系結構。通過學習51或34個學時的軟件體系結構課程,使學生掌握常用的軟件體系結構風格及其特點、軟件體系結構設計與評估理論知識。此外,結合UML設計與設計模式等課程,使學生能依據特定的軟件需求設計出軟件架構,并對該架構進行相關評價[2]。

軟件開發產業一般要求應聘者“熟悉軟件工程領域理論知識,熟悉大型軟件系統架構知識及實現方法,熟悉軟件框架的設計和編碼論證”[3],這要求高校在培養軟件工程專業學生時加強工程實踐技能培養,使其從一個合格的程序員逐步過渡為軟件架構師。眾多教育者從各種角度探討不同的教學方案,對培養軟件架構人才進行研究,如強調案例庫建設與項目實踐重要性[4-5]、提出以培養學生編程能力為中心[6]增強學生學習興趣[7]的教學改革方案等。在軟件體系結構課程改革中,清華大學覃征教授2009年提出“抽象與實踐相結合”教學思想,強調將專題研究作為講授線索[8]。在隨后的課程改革探討中,相關學者也認為軟件體系結構課程應以案例式教學為主[9-12],以開源軟件的設計與分析為實踐案例。

本文基于軟件工程專業人才培養需求與軟件體系結構課程特點,提出貫穿式案例實踐教學法,從頂層設計上推進實踐教學模式創新,培養適應軟件行業發展需求的軟件工程人才。

1 軟件體系結構課程特點及存在的問題

與軟件工程其它基礎或核心課程不同,軟件體系結構課程具有知識面廣、抽象程度高、實踐要求強等特點。

(1)軟件體系結構課程一般開設于大三,這是因為該課程涉及到數據結構、數據庫設計、計算機網絡、程序設計與編程語言等課程知識,要求學生較為熟練地掌握這些已學過的核心知識并靈活運用。

(2)軟件體系結構課程本質是對一款軟件的頂層架構進行設計與細化,這種設計思想與單一的算法設計及其編碼實現的思維方式差異較大。該課程要求學生能夠從軟件需求出發,以UML等為設計工具,靈活運用所學的軟件架構風格和各類設計模型/思想,為某款軟件設計一個合理有效的架構方案并逐步細化該方案。這一過程抽象程度較高,要求靈活運用知識點且設計方案不唯一,學生往往難以真正掌握。

(3)軟件體系結構課程要求理論與實踐相結合。理論知識可輔助學生進行體系架構的細節設計,但是如何為軟件規劃一個合理的架構需要學生在過去的軟件開發經驗中尋找靈感。僅依賴課堂的理論知識講解和做習題而不進行軟件項目開發實踐,學生很難從整體上理解和把握這門課程精髓,進而很難將其運用到軟件設計中[9]。

筆者發現當前軟件體系結構課程多采用傳統教學模式,即以“老師課堂講解,學生聽課、記筆記、做練習”為主[13],輔以少量的實驗教學,如使用UML設計軟件架構的部分模塊,這種教學模式存在如下問題:①以知識點為中心的理論教學較為枯燥。在傳統教學模式下,軟件體系結構課程涉及知識點較多且分散,若教師在課堂上逐一講解各章節知識點但缺乏較為形象的實驗案例,學生的學習注意力不易集中、學習熱情較低;②學生對軟件系統的整體設計框架理解不足。由于軟件架構一般結構宏大,而在課堂教學中往往只針對部分知識點設計相應的小型案例。這些案例之間獨立設計,無法將離散的知識有效貫通起來,因而學生往往只能理解一款軟件架構的部分設計細節,很難理解其總體設計思想;③學生綜合實踐能力較差。由于教師在教學過程中以理論講解為主,缺乏實戰經驗,容易忽視案例的趣味性和系統性,導致學生不能很好消化這些理論知識。此外,由于課時限制和實踐機會欠缺,學生往往無法將所學知識點與軟件架構設計真正結合起來。

2 貫穿式案例實踐教學法

案例教學是一種開放、互動的新型教學方式,其通過模擬和重現生活中的一些場景,將學生納入案例場景中,從而使學生能夠深刻體會所學知識點的內涵和價值。案例學習是知識遷移的重要方式,特別是在創新工程教育背景下,基于問題解決的案例教學在工程教育中具有重要作用[14]。在案例教學中,教師需要根據教學目標和所學知識點設計學生能理解的教學案例[15]。學生通過對這些案例的討論和交流增強分析和解決問題的能力。

軟件體系結構課程包含章節和知識點較多,若只針對每個知識點設計相應案例會使整個課程案例之間關聯性差,無法解決學生對軟件架構整體框架理解不足的問題。為此,本文從連貫性和系統性出發設計一個或若干個完整案例,將課程知識點有序串聯起來,使課程理論與實踐更好地結合。

案例設計遵循以下幾點原則:①難度適中,案例既要符合大三本科生的認知水平,也要符合當前軟件架構發展趨勢;②案例能夠將課程中的主要知識點囊括進來,通過案例使學生加深對理論知識的認知;③設計與案例難度相匹配的練習題,增強學生運用知識點能力;④學生根據軟件需求以分組作業形式設計軟件架構體系。

與傳統扁平式分章節教學相比,貫穿式案例實踐教學法圍繞課程的核心知識點展開縱深模式教學。這種方式對知識點詳略把握得當、對知識點之間的區別與聯系理解更加深刻、對理論知識與實踐方案的結合運用更加靈活。學生通過案例學習到特定問題的解決方法,熟悉特定工作領域業務流程,身臨其境地進行系統分析與決策,能更好激發學生的學習熱情和獨立思考能力,提升團隊協作能力和實踐開發能力,同時豐富該課程教學形式與教學內容,提高教學質量。

3 教學目標及案例設計

3.1 軟件體系結構課程教學目標

軟件體系結構課程主要學習內容包括體系結構概念、“4+1”視圖模型、軟件體系結構風格、UML建模與應用、基于體系結構的軟件開發與評估等。在51個學時的學習過程中實現如下教學目標:①學生掌握該課程的核心理論知識,如什么是軟件體系結構?不同體系結構風格的優缺點、異同點是什么?②能將所學理論用于軟件體系結構細節設計中,如使用UML設計軟件的用例模型和類圖,根據軟件需求設計軟件的邏輯視圖與開發視圖等;③在通學所有知識點后根據某款軟件的需求設計一個體系架構方案。這一目標需要學生不僅具有對課程知識點的靈活運用能力,還需要學生具有分組協作能力。在這一過程中,學生通過充分的溝通交流和分工協作為軟件選擇某種體系結構風格并自頂向下(或自底向上)設計。

3.2 貫穿式案例選擇

基于該課程的教學目標及案例設計原則,本文選擇Hassan編著《軟件建模與設計:UML、用例、模式和軟件體系結構》[16]一書中的“ATM系統”和“在線購物系統”案例作為本課程貫穿式教學主案例。選擇這兩個案例理由:①這兩個系統所隱含的軟件需求較為清晰簡潔,貼合學生認知水平;②這兩個貫穿式案例都是從需求分析入手,遵循“選擇風格→設計頂層結構→設計”4+1“視圖(如用例模型、類圖等)→設計具體細節(如數據庫表單設計、服務設計等)→架構評估”這一過程。通過剖析子案例可將所學的大部分知識點貫穿起來,形成一個統一的架構方案;③這兩個案例分別使用“客戶/服務器”和“面向服務”風格實現軟件架構的頂層設計,而這兩種風格及其應用正是學生需要掌握的最重要且有一定難度的軟件設計風格;④在整個案例講解過程中,學生能夠將設計模式、UML建模、面向對象思想等軟件工程專業的知識融入到軟件設計實踐,提升軟件開發能力。

3.3 分組實踐

貫穿式案例實踐教學法不僅要求教師在教學過程中設計貫穿式案例,還要求學生能夠將所學理論知識應用到軟件架構開發實踐中,為此設計若干個軟件架構設計課題,學生以自愿分組形式選擇某個課題,其整體思路如圖1所示,包括組隊(3~5人)、選題、設計架構方案、撰寫架構文檔、總結與展示、交叉評價架構方案等5個環節。其中,設計架構方案包括細化需求分析、選擇體系結構風格、設計頂層架構、設計視圖、設計類/包/服務、設計數據庫等模塊。

在分組協作完成課題過程中,需要根據興起愛好自由組隊并推選一名組長開展組織協調工作,小組設定需求分析師、架構師、模塊開發員、文檔撰寫員和架構評估員等不同角色。通過團隊合作,培養學生溝通協作能力、文檔撰寫能力和軟件開發能力。

項目完成后,教師采取綜合評定方式對每個小組實踐課題進行打分,并從教師、項目組內部和項目組之間3個維度進行評分。首先,小組成員自行分配各自對課題的貢獻度;其次由教師和其它小組分別為組織軟件架構方案展示答辯打分,將兩類分數加權并按內部貢獻度劃分給每個小組成員,作為其在該實踐課題中的綜合得分。

3.4 教學效果

貫穿式案例教學法與軟件體系結構設計實踐相結合,不僅能有效提升學習效果,還能促進對理論知識的應用能力。通過生動形象又有機統一的貫穿式案例,能夠讓學生對各知識點逐步加深理解,提升學習主動性和積極性;課堂教學過程不再是教師的“獨奏”,而是在與學生的積極互動與共同探討中度過。分組設計軟件架構方案使學生不再被動式學習,而是帶著任務和問題主動尋求解決方案。此外,分組實踐鍛煉了學生的合作交流能力和良性競爭意識。

4 結語

針對軟件工程專業核心主干課程軟件體系結構的特點和教學現狀,結合學生在該課程學習過程中存在的難點,本文對貫穿式案例實踐教學法進行了探索。該教學方式能夠在教學過程中將軟件體系結構課程中的重要知識點和軟件設計與開發的核心思想有機結合,根據課程特點對教學案例進行針對性設計,學生由被動接受轉為主動學習。然而該教學方案案例設計仍有較大改進空間,需在后續實踐中不斷優化。

參考文獻:

[1] 陳海鵬,呂穎達,王玉,等. 軟件工程應用型人才特點及培養方式研究[J]. 計算機教育,2016,15(11):61-64.

[2] CLEMENTS P R,KAZMAN? M? KLEIN. Evaluating software architectures:methods and case studies[M]. Boston:Addison-Wesley,2002.

[3] 應時,李小紅,劉偉,等. 軟件工程專業教學思考與實踐[J]. 軟件導刊,2020,19(1):15-17.

[4] 毛燕琴. 軟件工程專業案例啟發式教學實踐框架研究[J]. 計算機教育,2015,14(7):22-24.

[5] 侯雪梅,李志博,于磊,等. 軟件工程課程群案例庫建設和實踐教學方法研究[J]. 大學教育,2019,18(10):11-13.

[6] 楊愛民,鄧芳,高飛. 軟件工程專業人才培養模式的研究與探討[J].? 計算機教育,2016,15(3):64-67.

[7] 方芳,劉袁緣,趙一石,等. 基于 MOOC 的軟件工程專業教學模式創新實踐[J]. 計算機教育,2018,19(8):82-85.

[8] 覃征, 刑劍寬. 《軟件體系結構》課程教學:抽象與實踐的協調與統一[J]. 中國大學教學,2009, 18(7):14-15.

[9] 李暾,文艷軍,劉萬偉,等. 《軟件體系結構》課程教學改革規劃與實施[J]. 計算機教育,2015,14(6):19-21,37.

[10] 朱澤民,張青,何中林. 《軟件體系結構》課程教學改革探討[J].? 軟件導刊,2014, 13(12):171-172.

[11] 李天科.? 應用型本科《軟件體系結構》課程教學內容設計[J].? 計算機教育,2018, 17(6):120-123.

[12] 孫耀,陳圣國,王智鋼,等.? 基于真實項目案例的《軟件體系結構》課程建設[J]. 金陵科技學院學報(社會科學版),2018, 32(4):58-62.

[13] 吳建斌, 陳中育, 葉榮華, 等.? 軟件工程類課程教學模式改革探索[J]. 中國信息技術教育, 2013,12(5): 119-121.

[14] 安榮,王梅. 基于問題解決的工程案例教學[J]. 高等工程教育研究,2007,25(1):133-135.

[15] 陳亮,穆楠. 基于貫穿式案例及合作學習的 Web 課程教學研究[J]. 計算機教育, 2018, 17(9):87-91.

[16] GOMAA H. 軟件建模與設計:UML、用例、模式和軟件體系結構[M]. 彭鑫,吳毅堅,譯. 北京:機械工業出版社,2014:282-347.

(責任編輯:杜能鋼)

猜你喜歡
教學實踐
小學數學體驗性學習的教學實踐
低年級衛生習慣的培養
基于三維軟件和云班課APP的機械設計課程教學實踐
職業(2016年10期)2016-10-20 22:23:49
中職職業生涯規劃課程的教學反思
職業(2016年10期)2016-10-20 21:59:29
試論類比推理在高等數學教學實踐中的應用
《單片機原理與應用》課程教學改革與實踐
科技視界(2016年22期)2016-10-18 16:51:33
中職計算機應用課程教學改革與反思
科技視界(2016年21期)2016-10-17 18:57:24
淺論高中化學生活化教學的實踐與思考
考試周刊(2016年79期)2016-10-13 23:10:24
淺談初中物理實驗教學與學生創新能力的培養
考試周刊(2016年79期)2016-10-13 23:09:42
測量平差課程教學改革探討與實踐
考試周刊(2016年79期)2016-10-13 21:37:05
主站蜘蛛池模板: 国产一区自拍视频| 国产91高清视频| 欧美日韩国产在线人成app| 日本五区在线不卡精品| 国内毛片视频| 国产成人狂喷潮在线观看2345| 日韩第九页| 亚洲色图另类| 999福利激情视频| 国产成人综合亚洲欧美在| 亚洲va欧美va国产综合下载| 久久综合九色综合97婷婷| 欧美一级大片在线观看| 亚洲品质国产精品无码| 99这里精品| 国产欧美视频综合二区| 亚洲中文字幕手机在线第一页| 五月天久久综合| 91在线激情在线观看| 亚洲男人天堂久久| 亚洲日本韩在线观看| 国产精品无码AV中文| 国产亚洲美日韩AV中文字幕无码成人| 国产女人18毛片水真多1| 国产免费黄| 香港一级毛片免费看| 男女男精品视频| www亚洲天堂| 久久中文电影| 久久婷婷人人澡人人爱91| 日韩成人免费网站| 黄色片中文字幕| 亚洲欧洲日韩综合色天使| 永久在线精品免费视频观看| 曰韩人妻一区二区三区| 国产欧美日韩在线一区| 欧美色香蕉| 亚洲一区二区三区国产精品 | 欧美日韩精品一区二区在线线| 天堂在线视频精品| 欧美精品另类| 99热最新网址| 中文成人在线| 国内精品久久久久鸭| 久久国产精品夜色| 亚洲人网站| AV不卡无码免费一区二区三区| 亚洲欧洲日韩综合| 国产乱人伦精品一区二区| 久久国产成人精品国产成人亚洲| 久久亚洲中文字幕精品一区| 在线观看av永久| 香蕉在线视频网站| 影音先锋亚洲无码| 精品国产网| 毛片国产精品完整版| 亚洲精品在线91| 欧美日韩成人在线观看 | 91成人在线观看视频| 国产成人久久777777| 国产女同自拍视频| 婷婷亚洲天堂| 特黄日韩免费一区二区三区| 免费无码AV片在线观看中文| 久久久久久高潮白浆| 五月婷婷丁香综合| 亚洲AV色香蕉一区二区| 无码AV动漫| 日韩一区精品视频一区二区| 亚洲精品天堂自在久久77| 无码粉嫩虎白一线天在线观看| 波多野吉衣一区二区三区av| 亚洲色图狠狠干| 欧美人与牲动交a欧美精品 | 欧美笫一页| 国产男人的天堂| 国产91精品调教在线播放| 国产精品真实对白精彩久久| 四虎综合网| 国产精品第三页在线看| 日本在线欧美在线| 亚洲AV成人一区二区三区AV|