亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        軟件體系結(jié)構(gòu)設(shè)計(jì)能力的培養(yǎng)

        2023-04-29 00:00:00束永安
        秦智 2023年12期

        [摘要]在分析軟件體系結(jié)構(gòu)課程背景的基礎(chǔ)上,提出課程設(shè)計(jì)及優(yōu)化新方法,增強(qiáng)課程內(nèi)容的實(shí)用性以及與軟件行業(yè)相關(guān)性;針對不同的教學(xué)內(nèi)容,選擇基于問題的教學(xué)方法或基于案例的教學(xué)方法,培養(yǎng)學(xué)生的軟件體系結(jié)構(gòu)設(shè)計(jì)能力。

        [關(guān)鍵詞]軟件體系結(jié)構(gòu)設(shè)計(jì);基于問題的教學(xué);基于案例的教學(xué)

        [中圖分類號]G642""""" [文獻(xiàn)標(biāo)識碼]A

        [DOI]:10.20122/j.cnki.2097-0536.2023.12.004

        引言

        軟件體系結(jié)構(gòu)從高層次把握軟件的整體結(jié)構(gòu)設(shè)計(jì),對軟件的質(zhì)量屬性具有決定性影響[1]。軟件體系結(jié)構(gòu)課程教學(xué)的主要目標(biāo)是培養(yǎng)學(xué)生的軟件體系結(jié)構(gòu)設(shè)計(jì)能力,包括具有軟件設(shè)計(jì)和開發(fā)經(jīng)驗(yàn)、熟悉系統(tǒng)及互聯(lián)關(guān)系、能快速抓住問題并診斷出可能的錯誤根源、能夠根據(jù)上下文環(huán)境對項(xiàng)目做出重要決策的領(lǐng)導(dǎo)才能等。

        一、軟件體系結(jié)構(gòu)課程背景

        (一)課程授課對象

        本課程的授課對象是大學(xué)本科高年級學(xué)生,他們的主要學(xué)習(xí)目標(biāo)是學(xué)習(xí)實(shí)際的技能以便在實(shí)習(xí)、畢業(yè)設(shè)計(jì)、工作面試等場合有更好的表現(xiàn),將來有更好的發(fā)展。為了激發(fā)學(xué)生的學(xué)習(xí)興趣,培養(yǎng)學(xué)生軟件體系結(jié)構(gòu)設(shè)計(jì)能力,我們在課程建設(shè)中聚焦以下兩個方面:首先,課程的內(nèi)容具有實(shí)用性,學(xué)生能夠把課程中學(xué)到的技術(shù)應(yīng)用于具體的項(xiàng)目設(shè)計(jì)中,提高軟件開發(fā)能力;其次,課程的內(nèi)容具有軟件行業(yè)相關(guān)性,課程內(nèi)容能夠與時俱進(jìn),教學(xué)案例的選取能夠反映當(dāng)前軟件行業(yè)的發(fā)展動態(tài)。

        (二)課程面臨的挑戰(zhàn)

        本課程教學(xué)的一個主要挑戰(zhàn)是傳授實(shí)用的技能,學(xué)生能夠把學(xué)到的技能立即應(yīng)用到項(xiàng)目中或?qū)嵙?xí)工作中。從教師的角度來看,我們應(yīng)該認(rèn)識到傳授實(shí)用軟件體系結(jié)構(gòu)技能的重要性,要確認(rèn)課程內(nèi)容的實(shí)用性和行業(yè)相關(guān)性:這個模型是不是很重要?在什么情況下使用這種體系結(jié)構(gòu)風(fēng)格?在教學(xué)過程中,我們通常要說明或者被學(xué)生要求說明有關(guān)概念、軟件體系結(jié)構(gòu)風(fēng)格和模式、模型等如何應(yīng)用于信息系統(tǒng)和工程中。

        本課程教學(xué)的另一個挑戰(zhàn)是如何使得這些抽象的概念易于理解。軟件體系結(jié)構(gòu)設(shè)計(jì)對于學(xué)生來說是嶄新的領(lǐng)域,通過本課程學(xué)習(xí)能夠?qū)崿F(xiàn)從具體的軟件編程和低層次的軟件設(shè)計(jì)向抽象的體系結(jié)構(gòu)設(shè)計(jì)的觀念模式的轉(zhuǎn)變。學(xué)生在學(xué)習(xí)這門課之前習(xí)慣于寫代碼、然后編譯運(yùn)行得到一個確定的結(jié)果;而本課程要求學(xué)生在圖表中確定構(gòu)件間的結(jié)構(gòu)關(guān)系,證明經(jīng)過權(quán)衡的關(guān)鍵決策、沒有具體的輸出,這與以前的思維模式截然不同。

        (三)教學(xué)方法

        我們采用傳統(tǒng)的課堂講授教學(xué)與研討會相結(jié)合的教學(xué)方法,課堂教學(xué)側(cè)重于傳授架構(gòu)軟件系統(tǒng)的基礎(chǔ)知識,為學(xué)生舉行研討會提供背景知識。對于研討會,有兩種組織形式:一種采用基于問題的學(xué)習(xí)方法,另一種采用基于案例的學(xué)習(xí)方法。對基于問題學(xué)習(xí)的研討會,把學(xué)生分成5人一組,布置開放性問題,這類問題往往有多種解決方案;對基于案例學(xué)習(xí)的研討會,同樣也把學(xué)生分成5人一組,分配學(xué)習(xí)案例并要求學(xué)生課前準(zhǔn)備。當(dāng)學(xué)生討論開始偏離主題時,教師發(fā)揮引導(dǎo)者的作用,通過具有引導(dǎo)性的問題使學(xué)生回到學(xué)習(xí)主題,學(xué)生和老師協(xié)作完成學(xué)習(xí)任務(wù)并對學(xué)習(xí)的知識點(diǎn)做出結(jié)論。因此,基于問題的學(xué)習(xí)方法被稱作開放學(xué)習(xí)方法,而基于案例的學(xué)習(xí)方法被稱作引導(dǎo)學(xué)習(xí)方法;這兩種方法具有共性,即讓學(xué)生專注探索的過程,激勵學(xué)生解決問題,培養(yǎng)學(xué)生獨(dú)立學(xué)習(xí)的能力以及團(tuán)隊(duì)協(xié)作精神。在多年的教學(xué)過程中,我們一直從教學(xué)內(nèi)容的實(shí)用性以及與軟件行業(yè)的相關(guān)性角度,研究這兩種方法中哪個方法能使學(xué)生更有效地學(xué)習(xí)這門課的知識。

        (四)課程目標(biāo)

        本課程主要目標(biāo)是提高學(xué)生理解、設(shè)計(jì)和評價(jià)軟件體系結(jié)構(gòu)的能力。通過本課程學(xué)習(xí),學(xué)生具有以下能力:

        1.能夠解釋軟件系統(tǒng)的體系結(jié)構(gòu)如何適配組織或企業(yè)的業(yè)務(wù)目標(biāo)和他們的組織結(jié)構(gòu);

        2.能夠在設(shè)計(jì)軟件體系結(jié)構(gòu)時,注重通用的應(yīng)用集成構(gòu)件;

        3.能夠使用軟件體系結(jié)構(gòu)語言描述軟件體系結(jié)構(gòu);

        4.能夠通過質(zhì)量屬性及質(zhì)量屬性間的權(quán)衡關(guān)系分析軟件體系結(jié)構(gòu)。

        二、課程設(shè)計(jì)和優(yōu)化

        (一)課程內(nèi)容

        本課程內(nèi)容按照純課堂講課并輔以研討會的形式進(jìn)行[2][3],理論課教學(xué)時間中約75%以課堂講授形式進(jìn)行,約25%以研討會形式進(jìn)行;實(shí)驗(yàn)課主要以研討會形式進(jìn)行,要求學(xué)生能夠用課堂所學(xué)的知識解決特定的問題。

        (二)課程的組織

        由于本課程內(nèi)容抽象,為實(shí)現(xiàn)教學(xué)內(nèi)容實(shí)用性和行業(yè)相關(guān)性目標(biāo),我們將抽象的理論與具體的案例相結(jié)合。

        在軟件設(shè)計(jì)模式的教學(xué)中,主要介紹MVC、工廠方法、代理、觀察者等經(jīng)典的設(shè)計(jì)模式。以MVC模式為例,要求學(xué)生利用基本MVC 模式實(shí)現(xiàn)一個簡單的應(yīng)用程序,其功能是在程序界面上實(shí)現(xiàn)一個圖形化的溫度計(jì)來直觀地顯示溫度,隨著升溫按鈕和降溫按鈕的操作,要求分華氏溫度和攝氏溫度顯示。

        在軟件體系結(jié)構(gòu)風(fēng)格的教學(xué)中,首先學(xué)習(xí)客戶機(jī)/服務(wù)器、瀏覽器/服務(wù)器、事件驅(qū)動、分層系統(tǒng)等常用的傳統(tǒng)風(fēng)格。以瀏覽器/服務(wù)器風(fēng)格為例,要求學(xué)生在MyEclipse、Tomcat環(huán)境下實(shí)現(xiàn)本學(xué)院學(xué)生學(xué)籍管理系統(tǒng),然后結(jié)合當(dāng)時軟件業(yè)界的發(fā)展學(xué)習(xí)面向服務(wù)的體系結(jié)構(gòu)、微服務(wù)、機(jī)器學(xué)習(xí)、云計(jì)算、物聯(lián)網(wǎng)、大數(shù)據(jù)等新近的體系結(jié)構(gòu)參考模型。以面向Web服務(wù)的體系結(jié)構(gòu)為例,要求學(xué)生通過查詢當(dāng)前已發(fā)布的關(guān)于股票信息的Web服務(wù)接口,設(shè)計(jì)一個股票查詢的用戶界面,允許用戶輸入待查詢的股票代碼或股票名稱,顯示該股票的當(dāng)前價(jià)格、成交量、歷史最高價(jià)、歷史最低價(jià)等相關(guān)信息。在教學(xué)過程中,我們不僅解釋做什么、如何做以實(shí)現(xiàn)某個風(fēng)格,更重要的是分析使用該風(fēng)格時要考慮什么,以加深理解。

        軟件體系結(jié)構(gòu)評估關(guān)注的是系統(tǒng)的質(zhì)量屬性。對于質(zhì)量屬性的教學(xué),我們不僅需要學(xué)生理解質(zhì)量屬性,能夠描述質(zhì)量屬性的場景;還需要學(xué)生了解不同質(zhì)量屬性的權(quán)衡策略以及有關(guān)調(diào)整措施,從而增強(qiáng)本課程的實(shí)用性。比如,討論是否要把web、應(yīng)用和數(shù)據(jù)庫各層分開部署到不同的節(jié)點(diǎn)上,在節(jié)點(diǎn)間安裝防火墻以限制訪問和監(jiān)控?cái)?shù)據(jù)從而實(shí)現(xiàn)安全性;這種設(shè)計(jì)風(fēng)格雖然提高了安全性,但導(dǎo)致額外的故障點(diǎn),進(jìn)而影響了服務(wù)的獲取性,當(dāng)然服務(wù)的獲取性可以通過對多個節(jié)點(diǎn)實(shí)施集群技術(shù)來調(diào)整。又比如,開發(fā)產(chǎn)品線可以提高維護(hù)性,但導(dǎo)致額外的早期投資,當(dāng)然也可以通過重用技術(shù)來得到補(bǔ)償。我們要求學(xué)生描述其具體軟件設(shè)計(jì)的決策,討論軟件質(zhì)量、權(quán)衡以及如何在多個質(zhì)量屬性間進(jìn)行調(diào)整與折衷,這種討論有助于學(xué)生實(shí)現(xiàn)從軟件設(shè)計(jì)開發(fā)向體系結(jié)構(gòu)設(shè)計(jì)的思維模式轉(zhuǎn)變;同時也會給學(xué)生引導(dǎo)性問題讓他們進(jìn)一步思考他們的學(xué)習(xí),例如“在你們設(shè)計(jì)的體系結(jié)構(gòu)中,對安全性的設(shè)計(jì)總是對其它質(zhì)量屬性有負(fù)面的影響嗎?”

        在教學(xué)過程中注重學(xué)生軟技能的培養(yǎng)。交流和領(lǐng)導(dǎo)才能對于軟件架構(gòu)師領(lǐng)導(dǎo)、介紹、協(xié)商和證明體系結(jié)構(gòu)的設(shè)計(jì)和決策是十分重要的,讓學(xué)生輪流領(lǐng)導(dǎo)一個團(tuán)隊(duì)并在討論會上介紹他們的設(shè)計(jì),對學(xué)生的評價(jià)依據(jù)包括他們在研討會上提交的紙質(zhì)報(bào)告、在研討會上的表現(xiàn)以及是否表明已具有實(shí)際應(yīng)用所學(xué)概念和方法的能力。在這過程中,發(fā)現(xiàn)有些學(xué)生專業(yè)基礎(chǔ)知識較弱,他們論證其設(shè)計(jì)決策過程難以令人信服;而對于那些在研討會上不主動的學(xué)生也要找機(jī)會讓他們輪流展示他們的成果。

        (三)研討會的組織

        為了學(xué)生更好地理解軟件體系結(jié)構(gòu)及其實(shí)用性,我們在課程期間舉辦研討會,采用基于問題的學(xué)習(xí)方法和基于案例的學(xué)習(xí)方法。

        對采用基于問題學(xué)習(xí)方法的研討會,對每個組布置開放性體系結(jié)構(gòu)問題。在研討組內(nèi),學(xué)生需要討論設(shè)計(jì)方案,進(jìn)行進(jìn)一步的研究,向教師和其他同學(xué)報(bào)告他們的發(fā)現(xiàn)和結(jié)論。在研討會上,學(xué)生的角色是軟件架構(gòu)師,而教師的角色是學(xué)習(xí)的引導(dǎo)者,對體系結(jié)構(gòu)的設(shè)計(jì)提供必要的指導(dǎo)。

        對采用基于案例學(xué)習(xí)方法的研討會,每一個小組在課前需要閱讀有關(guān)項(xiàng)目場景的資料,需要解決項(xiàng)目場景中的給定問題,例如項(xiàng)目場景可以是架構(gòu)一個復(fù)雜的分布式信息系統(tǒng),學(xué)生需要應(yīng)用體系結(jié)構(gòu)概念,實(shí)現(xiàn)軟件的質(zhì)量需求。在研討會上,學(xué)生的角色是軟件架構(gòu)師,教師的角色是其他的風(fēng)險(xiǎn)承擔(dān)者,如公司經(jīng)理、IT團(tuán)隊(duì)成員等,其職能是明確功能需求并對體系結(jié)構(gòu)的技術(shù)設(shè)計(jì)提供指導(dǎo)。

        對于以上兩種學(xué)習(xí)方法,我們采取對等學(xué)習(xí)策略,每個小組都可以聽取來自其他組的評論。但也存在一個問題,由于報(bào)告時間的限制,學(xué)生可能不能全面了解其他組的設(shè)計(jì)方案、不能發(fā)現(xiàn)其中的問題,導(dǎo)致學(xué)生在聽報(bào)告時沒有問題,進(jìn)而不能評價(jià)設(shè)計(jì)方案。為此,我們又對研討會的組織進(jìn)行改進(jìn),把每個組的學(xué)生分為兩個小組,一個小組的學(xué)生負(fù)責(zé)解釋本組的設(shè)計(jì)方案,另一個小組負(fù)責(zé)理解指定的其他組的設(shè)計(jì)方案以便在其他組報(bào)告時準(zhǔn)備問題,這種學(xué)習(xí)方法大大促進(jìn)了學(xué)習(xí)進(jìn)程,學(xué)生也能夠吸收多個同學(xué)的經(jīng)驗(yàn)并應(yīng)用于實(shí)踐。

        (四)課程反饋及分析

        每個學(xué)生在課程結(jié)束后需要回答下列問題,每個問題評分值采用Likert5級評分法,1表示非常不滿意,5表示非常滿意。

        關(guān)于課程整體評價(jià)的問題:

        1.課程實(shí)現(xiàn)了教學(xué)目標(biāo)了嗎?

        2.這門課程很好地傳授了你們需要的知識和技能了嗎?

        3.你對本課程整體滿意度如何?

        關(guān)于研討會評價(jià)的問題:

        4.實(shí)驗(yàn)?zāi)K具有實(shí)用性和應(yīng)用性嗎?

        5.研討會提供的材料質(zhì)量如何?

        6.研討會達(dá)到預(yù)期目標(biāo)了嗎?

        7.課堂師生互動程度如何?

        我們也設(shè)計(jì)開放性問題,要求學(xué)生寫出對課程其它方面的評價(jià):

        8.你如何運(yùn)用在課程中學(xué)到的知識和技能?

        9.本課程你最喜歡的和最不喜歡的是什么?

        10.你對課程改進(jìn)有什么建議?

        關(guān)于課程的實(shí)用性以及行業(yè)相關(guān)性,我們對問題2和3的分值進(jìn)行統(tǒng)計(jì),結(jié)果顯示整體滿意度和課程實(shí)用性呈現(xiàn)向上的趨勢,表明課程設(shè)計(jì)的持續(xù)改進(jìn)有效地提升了學(xué)生對課程的滿意度。對這兩組數(shù)據(jù)的相關(guān)性分析表明,課程的實(shí)用性及應(yīng)用性與整體滿意度高度相關(guān)。

        從開放性問題的反饋中可以看出,有些學(xué)生能夠很好地理解抽象的概念,認(rèn)為教師能夠?yàn)檎n程內(nèi)容提供豐富的用例,能夠用恰當(dāng)?shù)念惐冉忉尦橄蟮母拍?;有些學(xué)生已具有體系結(jié)構(gòu)思維,能夠從較高的層次解決問題,把體系結(jié)構(gòu)的相關(guān)知識和技能運(yùn)用到具體的項(xiàng)目中。當(dāng)然,也有少數(shù)學(xué)生認(rèn)為他們難以完成難度較大的任務(wù),對此,我們會提前安排一些預(yù)習(xí)材料和課后的指導(dǎo),幫助學(xué)生做好課程準(zhǔn)備。

        三、結(jié)語

        我們以實(shí)用和保持與行業(yè)相關(guān)的方式進(jìn)行軟件體系結(jié)構(gòu)課程教學(xué)受到學(xué)生的高度認(rèn)可,使用案例研究、類比、展示和討論創(chuàng)造一個學(xué)生能夠易于理解的學(xué)習(xí)環(huán)境。從教師的角度,這種教學(xué)方式需要花費(fèi)大量的精力準(zhǔn)備課程,特別是研討會;同時也需要持續(xù)和產(chǎn)業(yè)界協(xié)作,保持課程內(nèi)容的相關(guān)性與實(shí)用性。

        參考文獻(xiàn):

        [1]瑪麗·肖,大衛(wèi)·加蘭.軟件體系結(jié)構(gòu):一門新興學(xué)科的觀點(diǎn)[M].紐約:普倫蒂斯霍爾出版社,1996.

        [2]張友生.軟件體系結(jié)構(gòu)原理、方法與實(shí)踐(2版)[M].北京:清華大學(xué)出版社,2014.

        [3]萬建成,盧雷.軟件體系結(jié)構(gòu)的原理、組成與應(yīng)用[M].北京:科學(xué)出版社,2002.

        1000部夫妻午夜免费| 在线观看麻豆精品视频| 人妻中文字幕在线网站| 国产成人无码a区在线观看视频| 欧美整片第一页| 午夜日本精品一区二区| 女同三级伦理在线观看| 成人影院yy111111在线| 四虎影院在线观看| 日本丰满少妇高潮呻吟| 日韩午夜免费视频精品一区| 亚洲av一二三四区四色婷婷| 麻豆国产人妻欲求不满| 激,情四虎欧美视频图片| 男女做那个视频网站国产| 艳z门照片无码av| 66lu国产在线观看| 中文字幕日韩精品美一区二区三区 | 国产精品综合一区久久| 欧美老熟妇喷水| 国产黄三级三·级三级| 亚洲视频不卡免费在线| 日韩女优精品一区二区三区| 精品国产一区二区三区av片| 精品视频在线观看免费无码 | 精品国产黄一区二区三区| 亚洲国产av玩弄放荡人妇| 久久av无码精品一区二区三区| 午夜av福利亚洲写真集| 国产无套内射又大又猛又粗又爽| 久久夜色精品国产噜噜av| 亚洲三级在线播放| 香港三级日本三韩级人妇久久| 久久久久久久综合综合狠狠| 亚洲欧洲日本精品| 国产av一区仑乱久久精品| 亚洲综合另类小说色区| 日日碰狠狠添天天爽超碰97| 中文字幕成人精品久久不卡| 一区二区三区在线视频观看| 亚洲人成影院在线观看|