本站小編為你精心準備了主題圖的軟件工程教程機制研討參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
軟件工程是一門工程性很強的專業(yè),為了培養(yǎng)高素質(zhì)的軟件工程應用型人才,依據(jù)CDIO教學大綱標準和國家教育部軟件工程專業(yè)規(guī)范來制定SE-CDIO人才培養(yǎng)方案是一種有效的教學改革措施。筆者重點從教學的角度對軟件工程專業(yè)的課程體系進行建模,基于TopicMaps著重刻畫軟件工程專業(yè)工程化的實踐體系。通過所提出的課程體系建模方式,可為進行教學研究的工作者分析教學體系的內(nèi)涵與關(guān)系,合理規(guī)劃課程和教師分工等內(nèi)容提供一種有效途徑。
TopicMaps相關(guān)概念
TopicMaps最初的思想是希望建立起智能化電子索引,并能支持這些索引間的相互融合。近年來,TopicMaps已經(jīng)不再局限于索引領(lǐng)域,而成為一套用來組織信息的方法,使用這套方法可以描述知識結(jié)構(gòu)和關(guān)聯(lián),及其相關(guān)的信息資源。TopicMaps于2003年成為ISO標準,并了其基于XML的描述方式XTM。目前XTM最新的版本于2007年。TopicMaps中的基本概念包括:
1)主題(Topic):廣義上講,任何事物都可以是一個主題。嚴格地講,“主題”表示TopicMaps中指代事物的對象或節(jié)點。在一個TopicMap中,主題可以是零或多個主題類型的實例。主題通常具有顯式的名稱,但沒有也可以。一個主題可以在不同的上下文中具有不同的名稱。
2)關(guān)聯(lián)(Association):一個主題關(guān)聯(lián)用于指定2個或多個主題之間的關(guān)系。關(guān)聯(lián)類型可自定義。參與關(guān)聯(lián)的每個主題在該關(guān)聯(lián)中發(fā)揮不同的作用,稱為關(guān)聯(lián)角色。
3)資源(Occurrence):一個主題可以用某種方式去鏈接一至多個信息資源。這些資源稱為該主題的Occurrence。資源可以分類。主題可以在特定的上下文中關(guān)聯(lián)特定的資源。TopicMaps將知識劃分為2層:上層是概念層,描述各種概念及關(guān)系;下層是資源層,描述概念層中各個Topic所關(guān)聯(lián)的具體資源。
軟件工程課程體系模型
通過TopicMaps對課程體系進行建模,可以有效地實現(xiàn)學科知識管理和分析工作。在此,建立一個簡化的課程體系模型,用以說明TopicMaps建立模型的方法。
1基本概念
為了不產(chǎn)生混淆,本文給出如下定義。定義1“教學實體”:指教學中涉及的各種對象類型和具體對象所對應的概念,不涉及具體內(nèi)容。例如,“必修課”是一種課程類型,“C語言”是一門必修課。兩者在模型中都是一個教學實體。課程體系模型中涉及的基本教學實體包括:①抽象類實體:Teacher(教師)、Course(課程)、Resource(資源,如書籍、音頻和視頻等教學輔助資源)和Group(課程組)等,用于表示實體的類型。需要特別說明的是,在教學體系中,經(jīng)常會劃分課程組,課程組包含一系列相關(guān)課程,這樣有助于教學質(zhì)量的提高和教師隊伍的發(fā)展。②具體實體:表示一個具體的實體對象,一般是某個抽象類實體的實例。例如,表示各個具體課程的實體。定義2“教學資源”:指教學實體對應的具體信息和關(guān)聯(lián)的各種資源。例如,“C語言”課程關(guān)聯(lián)的“教學大綱”文件和課程網(wǎng)站等都屬于具體的教學資源。
2模型結(jié)構(gòu)
課程體系中涉及的教學實體非常多,實體除了有自己的基本描述外,實體間還會存在各種關(guān)聯(lián)關(guān)系,并且每個實體還可能會有一系列的相關(guān)參考資源。理清和描述各種教學實體之間的關(guān)聯(lián),是高效地分析專業(yè)方向和教學規(guī)劃、相關(guān)課程依賴關(guān)系,合理配置教學資源和優(yōu)化課程體系的基礎(chǔ)。因此,如何將各種教學實體和資源做有效的描述和關(guān)聯(lián),是建模的重點。
TopicMaps在建模時,采用分層的形式將資源層和概念層分離。分層的結(jié)構(gòu)有助于清晰地描述教學體系。
1)概念層:在概念層中,主要描述概念及概念之間的關(guān)系。在課程體系中,即各種教學實體和實體間的關(guān)系。這是模型中相對穩(wěn)定的部分。2)資源層:在資源層中,描述各種教學資源,是各個教學實體的具體信息描述。例如,教師的個人主頁、教學大綱文檔、具體的視頻、音頻對象等。由于教學內(nèi)容需要緊跟科技的發(fā)展,因此教學資源需要及時更新和補充。這部分在模型中的動態(tài)變化性較高。由于TopicMaps模型中的概念之間可以存在很多的關(guān)系類型,所以概念和關(guān)系會構(gòu)成一個復雜的圖結(jié)構(gòu)。為了簡要說明模型的結(jié)構(gòu),給出了一個簡化的課程體系模型的雙層結(jié)構(gòu)示意圖,如圖1所示。其中省略了很多主題、關(guān)系和資源。在課程體系模型中,需要定義一些主題用于描述類別,屬于抽象概念,如Course(課程)、Teacher(教師)、Video(視頻)等。在此基礎(chǔ)上,定義各個表示具體教學實體的主題,如概念層中表示具體課程的主題“C++”、“軟件工程”等,表示具體教師的主題“T1”和“TN”等。在課程體系模型中必備的關(guān)聯(lián)類型包括:1)“Class-Instance”關(guān)系。用于描述一個具體的概念是另一個概念的實例。定義RC-I(a,b)。對任意主題a和b,如果RC-I(a,b)成立,則表示a和b之間是“Class-Instance”關(guān)系。在該關(guān)系中a扮演“Class”的角色,b是實例“Instance”的角色。圖1中用帶箭頭的實線表示RC-I(a,b),起點為a,終點為b。每個具體的課程都是“Course”的一個實例,如RC-I(Course,C++)。
2)“Teach-TaughtBy”關(guān)系。用于描述具體的教師與其所授課程之間的關(guān)系。定義RT-TB(a,b),對任意主題a和b,如果RT-TB(a,b)成立,則表示a和b之間是“Teach-TaughtBy”關(guān)系,即教師a教授課程b,而課程b由教師a教授。圖1中用帶箭頭的虛線表示RT-TB(a,b),起點為a,終點為b,如RT-TB(TN,C++)。利用主題圖中概念和資源分層的機制,在對課程體系進行建模時,將相對穩(wěn)定的課程體系信息置于模型的概念層,將各種教學資源置于模型的資源層,可使經(jīng)常動態(tài)變化的教學資源不會對課程體系的穩(wěn)定性產(chǎn)生過多的影響,能滿足對專業(yè)課程體系研究、分析和動態(tài)調(diào)整的需求。2.3以實踐課程為主體的課程體系在SE-CDIO培養(yǎng)方案中,特別重視和強化工程實踐能力。其課程體系中以實踐教學為主線,將各種專業(yè)核心課程緊密結(jié)合在一起。課程體系中設(shè)置了項目實踐、綜合項目實踐和企業(yè)社會實踐、畢業(yè)設(shè)計等不同層次的實踐類課程,以此來強化學生的動手能力、工程能力、協(xié)同能力和職業(yè)素質(zhì)的培養(yǎng)。
為了清晰地說明如何利用TopicMaps來描述軟件工程專業(yè)的工程化教育理念,圖2僅給出課程體系模型概念層的一部分,其中重點描述了專業(yè)實踐體系的主體結(jié)構(gòu)。想要突出這種以實踐課程為主線的工程化教育理念,還需要定義更多的主題類型和關(guān)系類型。在TopicMaps模型中定義的部分主要概念如下:
1)抽象概念Group(課程組)和Project(項目)。
2)具體課程組的主題:為每個具體的課程組建立一個主題,在圖2中用虛線橢圓節(jié)點表示。某個具體的課程組g是Group的實例,即滿足3)課程主題:為每門專業(yè)核心課程建立一個主題,在圖2中用實線橢圓節(jié)點表示。每個具體的課程a是Course的實例,即滿足4)實踐類課程主題:為每門實踐性課程建立一個主題,在圖2中用實線矩形節(jié)點表示。某個項目課程b是Project的實例,該關(guān)系描述在圖2中省略,即滿足在模型中還需要至少定義如下關(guān)聯(lián)類型:1)“Pre-Next”關(guān)系。用于描述課程之間的先后關(guān)系。定義RP-N(a,b)表示主題a和b之間是“Pre-Next”關(guān)系,即表示a是b的前驅(qū)課程,而b是a的后繼課程。圖2中用帶箭頭的實線表示RP-N(a,b),起點為a,終點為b。2)“Whole-Part”關(guān)系。用于描述整體和部分之間的關(guān)系。例如,一個課程組由若干具體課程組成。
定義RW-P(a,b)表示主題a和b之間是“Whole-Part”關(guān)系,即表示a包含b,而b是a的一部分。圖2中用圖形的“包含”表示整體和部分。例如,課程組“GroupA”中包含課程“A1”、“A2”、“A3”和實踐性課程“PA”,即滿足在一個合理的培養(yǎng)方案中,各種知識的教授是存在前后順序和關(guān)聯(lián)的。因此,“Pre-Next”關(guān)系在課程體系建模中是必需的一種關(guān)聯(lián)。圖2所示的模型可以說明每個實踐類課程需要一系列先驅(qū)課程為其進行知識儲備,而該實踐類課程的設(shè)置目的則是其所屬課程組中前驅(qū)課程知識的綜合培養(yǎng)和訓練。例如,為了培養(yǎng)學生設(shè)計和實現(xiàn)信息系統(tǒng)的能力,學生首先需要學習編程語言、數(shù)據(jù)庫和軟件建模知識。
這樣,“信息系統(tǒng)的設(shè)計與實現(xiàn)”是一門實踐類課程,而其他相關(guān)課程是該課程的前驅(qū)課程。圖2還描述了不同實踐類課程之間也存在“Pre-Next”關(guān)系,這樣可以體現(xiàn)實踐類課程的不同層次。即每個項目實踐類課程是重點對某幾門課程知識綜合能力的培養(yǎng)和訓練,綜合項目實踐和企業(yè)社會實踐是培養(yǎng)和訓練學生在工程中運用所學專業(yè)知識的能力以及協(xié)同能力和職業(yè)素質(zhì),而畢業(yè)設(shè)計是用于檢查學生最終對本專業(yè)知識綜合運用的能力。
培養(yǎng)方案中各種基礎(chǔ)課程和核心專業(yè)課程的設(shè)置都是為了實現(xiàn)最終的培養(yǎng)目標。為了清晰地刻畫各個核心專業(yè)課程對專業(yè)能力培養(yǎng)目標所做的貢獻,便于分析各個專業(yè)課對學生某種實踐能力培養(yǎng)(體現(xiàn)在實踐類課程中)所做的貢獻,模型中定義了Group(課程組)的概念和“Whole-Part”關(guān)系。每個課程組中的課程都是為了重點教授、培養(yǎng)和訓練學生的某種實踐能力。每門實踐性課程與其前驅(qū)課程即為一個課程組。需要說明的是,每門實踐性課程是為了重點培養(yǎng)和訓練學生在該實踐課的前驅(qū)課程中所學知識,但仍然可能會運用到其他知識。例如,在GroupA中學生學習了某種編程語言,而在GroupB中的實踐性課程PB中仍然可能會用到。
課程體系模型的應用
TopicMaps技術(shù)便于知識的導航和檢索,基于TopicMaps創(chuàng)建課程體系模型可以為培養(yǎng)方案的設(shè)置和分析、教學資源的配置等工作提供一種便捷的分析手段。下面以查找課程組GroupA中所有課程的任課教師為例,說明如何基于TopicMaps模型方便地進行信息檢索。查找過程如下:最終得到的集合T即GroupA中所有課程的任課教師。TopicMaps的概念層是一個圖結(jié)構(gòu),在進行信息檢索時可利用各種圖的算法以提高搜索速度。因此,信息檢索效率的實用性可以保證。
結(jié)束語
提出基于TopicMaps的軟件工程專業(yè)課程體系模型,其中不但具有一般課程體系建模所需的共性,還結(jié)合了SE-CDIO教育模式,重點刻畫了課程體系中以實踐課程為主線的工程化教育理念。該模型采用雙層結(jié)構(gòu),將相對穩(wěn)定的課程體系信息置于模型的概念層,將各種教學資源置于模型的資源層,可使經(jīng)常動態(tài)變化的教學資源不會對相當穩(wěn)定的課程體系產(chǎn)生過多的影響。基于模型的形式化描述,可以方便高效地對課程體系中的各種教學實體和資源進行檢索、定位,能滿足對專業(yè)課程體系進行研究、分析和動態(tài)調(diào)整的需求。
作者:侯霞單位:北京信息科技大學計算機學院