石鳳貴
(馬鞍山師范高等專科學校軟件工程系,馬鞍山243041)
《軟件建模技術(shù)》課程是軟件技術(shù)專業(yè)一門必修課,具有較強的操作性,以基本理論為基礎,培養(yǎng)學生實踐操作能力。該課程應從軟件行業(yè)對從業(yè)人員崗位要求出發(fā),以軟件開發(fā)過程為脈絡設計課程知識,使學生能夠掌握軟性建?;局R和技能。凸顯《軟件建模技術(shù)》課程的技能性和應用性,體現(xiàn)地方技能型大學特色,始終堅持與軟件行業(yè)對軟件人才的需求變化同步發(fā)展,為國家培養(yǎng)卓越軟件人才。課程教學效果影響專業(yè)人才培養(yǎng)質(zhì)量。因此,課程設置后需要深入研究課程知識結(jié)構(gòu)。
安徽高等職業(yè)教育正處于深化改革、科學快速發(fā)展時期。依據(jù)國家《關(guān)于加快發(fā)展現(xiàn)代職業(yè)教育的決定》、《中長期教育改革和發(fā)展規(guī)劃綱要(2010-2020)》、安徽省《關(guān)于建設高等教育強省的若干意見》、安徽教育廳聯(lián)合財政廳共同頒布的《安徽省高等教育振興計劃》等,按照院校辦學層次立項建設一批特色型、應用型和技能型地方高水平大學,分類發(fā)展,增強促進地方經(jīng)濟社會發(fā)展能力[1]。
2015年,馬鞍山師范高等??茖W校獲得安徽省首批“地方技能型高水平大學”項目立項,這將進一步深化學校課程改革,凸顯專業(yè)、課程的技能性。建設地方技能型高水平大學必須依據(jù)學校自主辦學定位,準確把握“地方”“技能型”“高水平”三個核心內(nèi)涵定位,“立足地方、面向地方、融入地方、服務地方”,辦學主體為地方政府,職業(yè)院校就是為了服務地方經(jīng)濟社會發(fā)展[2]。
大學是高等教育學府,培養(yǎng)高素質(zhì)人才,有學術(shù)研究型、專業(yè)應用型和職業(yè)技能型三類。地方技能型高水平大學旨在培養(yǎng)在生產(chǎn)、管理和服務一線的職業(yè)技術(shù)性人才,屬于第三種類型大學。
地方性指的是院校隸屬于地方政府,要立足地方、服務地方,為地方經(jīng)濟、人才培養(yǎng)、文化發(fā)展服務,學校定位要同步地方發(fā)展戰(zhàn)略,專業(yè)建設與產(chǎn)業(yè)做到無縫對接。為地方培養(yǎng)高素質(zhì)、高技能、高技術(shù)人才,服務于地方經(jīng)濟建設和社會發(fā)展。強化校企合作,改革人才培養(yǎng)模式,加大實訓環(huán)節(jié)和實訓基地建設,打開校門開放式辦學,開展聯(lián)合培養(yǎng)或訂單式培養(yǎng),建立“校中廠、廠中?!盵2]。
《安徽省教育廳關(guān)于高水平大學立項建設分類發(fā)展的意見》指出,地方技能型高水平大學應當服務地方產(chǎn)業(yè),為地方培養(yǎng)技能型人才,促進就業(yè)創(chuàng)業(yè)。技能型人才應當具有扎實的專業(yè)知識,精湛過硬的操作技能,能夠解決生產(chǎn)技術(shù)難題,推動技術(shù)革新。“技能型”是地方技能型高水平大學的突出特征,也體現(xiàn)了經(jīng)濟社會發(fā)展新常態(tài)對高職教育改革發(fā)展的需求。突出特征主要體現(xiàn)在培養(yǎng)創(chuàng)新型、技能型人才,工學結(jié)合,從深度和廣度上開展校企合作,聯(lián)合培養(yǎng),滿足地方對高質(zhì)量人才的需求。科學技術(shù)要不斷創(chuàng)新,與時俱進,產(chǎn)學研一體化協(xié)同發(fā)展。同時對職業(yè)素質(zhì)提出了新要求,重視技能型教師的比重,注重在技能培訓、技能競賽、專業(yè)實踐、定崗鍛煉等方面加大工作力度,引進企業(yè)能工巧匠、行業(yè)精英。地方高水平大學要充分向國內(nèi)外一流的技能型大學看齊[3]。
《軟件建模技術(shù)》是軟件技術(shù)專業(yè)必修課,以程序員崗位應具備的軟件分析與設計能力為培養(yǎng)目標。學生通過該課程的學習,掌握面向?qū)ο蠹夹g(shù)、UML軟件建模技術(shù)的基本理論,在此基礎上進行系統(tǒng)建模。在軟件項目建模實踐中強化知識技術(shù)運用能力和團隊溝通協(xié)作能力,培養(yǎng)綜合職業(yè)素養(yǎng)。
《軟件建模技術(shù)》課程位于《面向?qū)ο蟪绦蛟O計》與《軟件測試技術(shù)》兩者之間,承上啟下?!盾浖<夹g(shù)》是一門專業(yè)實踐課程,涉及面廣、實用性強,目的是使學生在具備面向?qū)ο蟮闹R基礎上,加深對面向?qū)ο蠹夹g(shù)的理解,能夠利用UML對系統(tǒng)進行分析、設計,為學生從事IT相關(guān)工作打下良好的基礎。按照軟件開發(fā)過程,以軟件開發(fā)者的視野利用著名的建模工具進行建模[4]。
軟件開發(fā)從單個人的“藝術(shù)制造”到軟件工程思想組織的軟件開發(fā)團隊的集體制品貫穿了軟件技術(shù)的發(fā)展歷程,推動軟件開發(fā)技術(shù)進步的思想其實很難簡單,就是提高開發(fā)效率、保證軟件質(zhì)量、按時交付軟件產(chǎn)品。軟件開發(fā)技術(shù)不斷發(fā)展,軟件技術(shù)知識在不斷更新。對開設《軟件建模技術(shù)》課程的高職高專院校進行調(diào)查發(fā)現(xiàn),課程知識和教材講授的知識依舊是UML1.4和Rational Rose。然而UML當前已發(fā)展到UML2,Rational Rose被IBM收購后不再支持UML2,IBM發(fā)布了新的支持UML2的建模工具IBM Rational Software Architect(RSA)。一些教材和院校的課程知識體系沒有考慮到高職院校和軟件行業(yè)從業(yè)人員的實際情況,講解UML所有的圖,學生被眾多UML圖搞得云里霧里,費了好大勁學會的UML圖在軟件開發(fā)過程中不知如何使用進行軟件建模。軟件建模不只是軟件設計師的事,需要全員參與,軟件模型是軟件開發(fā)團隊成員間溝通交流工具。
《軟件建模技術(shù)》課程總體目標包括專業(yè)能力、方法能力和社會能力。專業(yè)能力包括掌握面向?qū)ο蟮幕靖拍詈吞卣?,掌握面向?qū)ο蟮姆治?、設計和編碼方法,熟悉UML發(fā)展、特點、結(jié)構(gòu)和視圖,能夠進行簡單系統(tǒng)的靜態(tài)和動態(tài)建模并能繪制相應模型圖,掌握軟件建模工具(如IBM RSA、ROSE)的使用。方法能力包括培養(yǎng)學生謙虛好學的品質(zhì),勤于思考、認真做事的良好作風,良好的職業(yè)道德,按時、守時的軟件交付觀點(合約精神),閱讀設計文檔、UML模型圖的能力。社會能力包括遵守職業(yè)道德,適應能力,履職能力,解決問題嫩理工,審美能力。
根據(jù)軟件行業(yè)程序員職業(yè)崗位要求,程序員應具備識別UML圖能力和簡單的軟件系統(tǒng)建模能力,以一個真實完整項目建模過程為載體來開展課程教學內(nèi)容,實施項目化教學。課程考核分為項目實施過程中的表現(xiàn)和項目最終完成情況兩個階段,綜合評判。
面向?qū)ο蠓椒ㄊ钱斍败浖こ讨饕椒?,對客觀世界事物的狀態(tài)和行為進行抽象封裝為一個對象,使用UML建模工具繪制軟件系統(tǒng)模型。UML(Unified Modeling Language,統(tǒng)一建模語言)是一種面向?qū)ο蟮慕UZ言,已成為軟件建模標準,在IT行業(yè)得到廣泛使用。UML統(tǒng)一了Booch方法、OMT方法、OOSE方法,用于軟件開發(fā)的全生命周期。
《軟件建模技術(shù)》課程主要培養(yǎng)學生具備軟件系統(tǒng)分析和設計能力,使用UML建立系統(tǒng)模型能力。課程內(nèi)容要體現(xiàn)專業(yè)職業(yè)能力、職業(yè)素養(yǎng)、從業(yè)人員要求、操作實踐性,不能按照章節(jié)設計多個案例,采用一個完整案例分解到各個知識章節(jié)。
軟件建模主要繪制系統(tǒng)模型圖,包括用例圖、活動圖、類圖、時序圖、狀態(tài)圖、組件圖、部署圖等。課程內(nèi)容還應該包括新技術(shù)、新標準,強化內(nèi)容的實踐性,以培養(yǎng)學生職業(yè)能力和職業(yè)素養(yǎng)為目標[5]。
(1)軟件生命周期。軟件產(chǎn)品需要經(jīng)歷孕育、誕生、成長、成熟、衰亡等過程,這一系列過程就成為軟件生命周期。軟件生命周期中每個階段具有明確的任務,從而使得軟件項目的開發(fā)容易管理和控制。軟件生命周期劃分為軟件定義、軟件開發(fā)和運行維護三個階段,每個階段又包括若干過程,詳細情況如圖1所示。
圖1 軟件生命周期
(2)UML組成結(jié)構(gòu)。UML描述軟件系統(tǒng)設計,構(gòu)建系統(tǒng)“藍圖”。UML2包含13種模型圖,這些模型圖可以按照視圖進行分類。UML組成結(jié)構(gòu)如圖2所示。
圖2 UML組成結(jié)構(gòu)
(3)課程知識結(jié)構(gòu)。《軟件建模技術(shù)》是高職高專軟件技術(shù)專業(yè)一門必修課,在《軟件建模技術(shù)》課程前不單獨開設《軟件工程》課程,因此在該課程知識內(nèi)需要增加軟件工程相關(guān)知識。知識體系結(jié)構(gòu)如圖3所示。課程知識最后以一個完整項目作為實訓,加強對所學知識的鞏固和運用。UML建模工具優(yōu)先選用支持UML2的RSA建模工具。
圖3 軟件建模技術(shù)知識體系
《軟件建模技術(shù)》課程教學中廣泛使用案例教學,也是行之有效的教學模式。針對當前高職高專院校開設的《軟件建模技術(shù)》課程教學大綱和教材進行調(diào)查分析,發(fā)現(xiàn)存在一些問題需要去解決。構(gòu)建一體化案例貫穿整個課程教學和實訓。
《軟件建模技術(shù)》課程或所選用的教材使用的案例需要具備相關(guān)領(lǐng)域的專業(yè)知識,然而學生缺乏社會經(jīng)歷和專業(yè)知識,不熟悉業(yè)務和業(yè)務流程,因此學生對所學知識不易理解。另外,大多教材不同章節(jié)采用不同案例,案例之間缺乏關(guān)聯(lián)性。如需求分析時使用“網(wǎng)上商城”,系統(tǒng)分析階段使用“圖書管理系統(tǒng)”。無論是需求分析還是系統(tǒng)分析,首先都需要熟悉業(yè)務流程。這樣學生需要花時間和精力去熟悉業(yè)務需求,各章節(jié)知識不能前后融合貫通,因此也就導致了學生不能將面向?qū)ο蠹夹g(shù)應用到一個具體的案例中,不能真正體會完整的軟件系統(tǒng)開發(fā)過程。而且課后實訓(作業(yè))是另外一個項目。
案例的選擇相當關(guān)鍵,案例是否合適,將直接影響課程教學效果。因此,《軟件建模技術(shù)》選擇的案例應當具有較強的實踐性,系統(tǒng)業(yè)務學生有所接觸和體會,最好能貼近學生學習和生活,這樣學生更加熟悉系統(tǒng)業(yè)務流程,激發(fā)學習興趣,有利于項目的進行,同時有利于培養(yǎng)學生的創(chuàng)新能力[6]。選擇的案例要難度適中,要結(jié)合專業(yè)課程教學體系,符合學生專業(yè)知識狀況。若知識面過寬或難度大,會打消學生的積極性,降低學生的參與度。應選擇一個完整的案例,貫穿整個課程教學,包括課堂演示、課堂實訓,課后實訓任務,按照軟件開發(fā)過程將面向?qū)ο蠓治雠c設計知識串聯(lián)起來。
因此,可以選取學生比較熟悉的領(lǐng)域案例,如“高校圖書管理系統(tǒng)”、“網(wǎng)上購物商城”、“高校學生住宿管理系統(tǒng)”等。這些系統(tǒng)均比較貼近學生的學習和生活,學生對其中的業(yè)務流程比較熟悉。選取的案例應進行適當?shù)奶幚?,更符合用于教學,確保學生容易掌握、理解。
課程知識的設計至關(guān)重要,如果設計不合理將嚴重影響學習效果,達不到課程預期效果,也影響專業(yè)人才的培養(yǎng)?!盾浖<夹g(shù)》課程是一門技術(shù)性和技能性都很強的課程,需要強化實踐能力,同時結(jié)合高職院校培養(yǎng)特點和學生情況設計課程知識,緊緊圍繞軟件行業(yè)崗位需求。根據(jù)近幾屆畢業(yè)生和企業(yè)反映,學生到企業(yè)實習和頂崗實習很快能上手。因為經(jīng)歷過課程中項目集中訓練,學生在工作中很快能完成小組劃分的任務,能將所學知識應用到實際的項目中。通過課程的學習,學生軟件建模技能得到了訓練,實習就業(yè)時能很快上手,發(fā)展成為了企業(yè)的骨干。課程對人才的培養(yǎng)時刻緊密聯(lián)系企業(yè)需求,為推動社會經(jīng)濟發(fā)展服務。