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

        ?

        融合開源軟件思想與實例的軟件工程課程教學研究

        2024-01-02 08:35:16黃浩煒
        軟件導刊 2023年12期
        關鍵詞:開源軟件分析

        黃浩煒,姚 衛(wèi),張 錦

        (長沙理工大學 計算機與通信工程學院,湖南 長沙 410114)

        0 引言

        當前,軟件發(fā)展的趨勢已轉變?yōu)椤败浖x一切,軟件無處不在”,軟件成為現(xiàn)代文明的新載體之一。因此,為軟件行業(yè)發(fā)展培養(yǎng)高素質(zhì)專業(yè)人才變得尤為關鍵,已然成為我國高等教育的一項重要任務。軟件工程是高等院校計算機科學教育中的一門重要學科,涉及程序設計語言、數(shù)據(jù)庫、軟件開發(fā)工具、系統(tǒng)平臺、設計模式等多個方面。學生通過軟件工程課程的學習,可以掌握軟件設計相關知識和方法,理解軟件開發(fā)全過程,在實際軟件開發(fā)中提高開發(fā)效率和質(zhì)量。傳統(tǒng)軟件工程教學主要通過課堂授課、實驗實踐和項目作業(yè)相結合的方式進行,幫助學生建立對軟件工程領域的基礎認識。然而,這種傳統(tǒng)教學方法在當前軟件研究和開發(fā)迅速變化的關鍵時期存在一定局限性,可能無法充分培養(yǎng)學生對于開源軟件的理解和認識、協(xié)同綜合能力和創(chuàng)新思維。因此,當前軟件工程教學也應考慮引入更多與時俱進的教學方法和開源軟件實踐,更好地培養(yǎng)學生的綜合素質(zhì)和實際項目開發(fā)能力。

        長沙理工大學軟件工程概論課程教學著重引入開源軟件思想,并將開源軟件實例貫穿于軟件工程課程教學全過程,同時引入虛擬仿真實驗以培養(yǎng)學生軟件需求分析的真實能力。課程內(nèi)容主要包括開源軟件思想的基本概念,如開放源代碼、自由使用、自由修改、共享知識等,引導學生學習并使用一些常見的開源工具和平臺,如Git 版本控制系統(tǒng)、GitHub 等,幫助學生了解開源項目的管理和協(xié)作;在課程中引入由國防科技大學開發(fā)的“空巢老人看護”系統(tǒng)ElderCarer 開源項目并將其作為案例,將整個案例貫穿于需求分析、軟件設計基礎、軟件體系結構設計、用戶界面設計和軟件詳細設計等各階段的理論學習,讓學生從項目需求分析、設計、開發(fā)到測試各階段都能全面深入地理解軟件工程;在軟件需求分析部分的學習過程中,引入面向互聯(lián)網(wǎng)醫(yī)院的真實需求分析虛擬仿真實驗平臺,多方位培養(yǎng)學生需求分析能力,取得了較好的教學效果。

        總體而言,通過貫穿整個軟件工程概論課程的開源軟件思想和實例,讓學生從傳統(tǒng)的理論教學中解放出來,讓他們能夠通過參與開源項目培養(yǎng)實踐能力、協(xié)作能力和創(chuàng)新思維,為將來從事軟件工程領域相關實踐和研究奠定堅實基礎。

        1 相關工作

        軟件工程教學的核心是將理論授課與項目實踐有機統(tǒng)一起來,幫助學生建立軟件工程領域的理論和實踐基礎。當前應用得較為廣泛的教學方式是運用分組實踐、實際項目支撐、開源軟件支持和智能化教學輔助等多種方式,并取了很好的教學成效。毛新軍等[1-2]聚焦軟件工程課程實踐教學,以面向?qū)ο筌浖こ碳夹g為基礎,利用開源軟件和開源社區(qū)中的軟件開發(fā)知識著重介紹基于群智的軟件工程實踐教學理念;王靜等[3]、李保環(huán)等[4]基于新工科背景下的軟件工程案例教學模式,將學生置于實際項目場景中,采用基于項目的學習和協(xié)作學習方法,促進學生夯實理論基礎并提升實踐技能和創(chuàng)新能力,以適應行業(yè)趨勢和學生的實際需求;張帥[5]將大數(shù)據(jù)和互聯(lián)網(wǎng)等先進技術充分融入軟件工程教學,提升學生的分析能力和工程實踐能力,著力培養(yǎng)高層次的軟件人才;楊波等[6]將軟件工程理論與人工智能實驗相結合,通過分析研究現(xiàn)狀并介紹實驗案例,提高軟件工程課程的總體教學質(zhì)量;周張泉等[7]、張翼飛等[8]、張睿等[9]、崔穎安等[10]嘗試使用不同的教學方法以提升軟件工程課程教學質(zhì)量,如三階段試誤法、漸進式PBL 教學法、“互鎖式”教學模式、基于CDIO 等新的教學探索;劉力[11]提出一種基于項目組和案例的軟件工程教學模式,并通過問卷調(diào)查驗證教學效果;王方麗等[12]、白曉穎等[13]則更加關注軟件工程領域具體技術上的教學探索,結合具體實踐項目加深學生對UML 建模技術和面向?qū)ο箝_發(fā)理論的掌握,著重強調(diào)敏捷開發(fā)模式,基于真實項目持續(xù)跟蹤反饋和指導評估,著重夯實學生軟件工程中的項目開發(fā)能力。

        以上方法是當前主流的軟件工程課程教學理論與實踐相結合的先進教學方法,在教學中取得了較好成效。為進一步突出新時代軟件工程教育的特點,順應不斷變化的軟件開發(fā)模式和要求,本文結合學生專業(yè)背景并基于長沙理工大學教學實踐,引入融合開源軟件思想和實例的軟件工程概論課程教學方法,采用針對需求分析階段的虛擬仿真實驗進一步提升學生軟件工程領域綜合能力。

        2 開源軟件思想

        2.1 強化培養(yǎng)開源軟件思想

        20 世紀80 年代,美國麻省理工大學的Richard Stallman 創(chuàng)建了自由軟件基金會[14],從此在全球范圍內(nèi)掀起自由軟件運動??缛?1 世紀以來,開源軟件繼續(xù)蓬勃發(fā)展,越來越多大型科技公司設計的開源軟件廣泛應用于人工智能[15]、大數(shù)據(jù)[16]、云計算[17]等領域,各類開源項目不斷涌現(xiàn)。當今,開源軟件已成為計算機科學和軟件工程領域的主流,在全球范圍內(nèi)得到支持和貢獻。同時,開源軟件的生態(tài)系統(tǒng)不斷壯大,吸引了更多開發(fā)者參與其中。長沙理工大學軟件工程概論課程教學著重引導學生深刻理解開源軟件思想并注重開源軟件能力培養(yǎng),增設“群體化軟件開發(fā)”專題講授,為學生深入講解當前主流的開源軟件,如Ubuntu、Eclipse、Kubernetes、MySQL 等,幫助學生深刻認識“幾乎你想到的重要軟件都可以找到開源軟件的對應物”,將開源軟件思想貫穿于軟件工程概論課程教學過程并根植于學生心中。

        2.2 助力形成開源軟件能力

        開源軟件開發(fā)是依托互聯(lián)網(wǎng)平臺吸引、匯聚、組織和管理互聯(lián)網(wǎng)上的大規(guī)模軟件開發(fā)人員,通過競爭、合作、協(xié)商等多種自主協(xié)同方式,讓他們參與軟件開發(fā)、分享軟件開發(fā)知識和成果、貢獻智慧和力量的一種新穎軟件開發(fā)方法。在課程實踐過程中,從自主選擇目標軟件、閱讀文檔和獲取源代碼、編譯安裝與運行、參與社區(qū)交流并貢獻代碼和持續(xù)學習與經(jīng)驗分享等多個方面幫助學生了解開源項目的管理和協(xié)作方式,指導學生進行開源軟件實踐從而逐步形成開源軟件能力。

        (1)自主選擇目標軟件。該課程指導學生從知名的代碼托管平臺如GitHub、GitLab、Bitbucket 或開源社區(qū)Apache、Mozilla、GNU 中瀏覽項目列表,學生根據(jù)知識背景和自身興趣選擇合適的開源軟件項目。

        (2)閱讀文檔和獲取源代碼。選擇目標開源軟件項目后,學生需要通過閱讀項目的描述、安裝說明、下載說明、使用方法等文檔,學會如何獲取該項目的源代碼,例如,可以通過代碼托管平臺上的“Clone”或“Download”按鈕獲取代碼。

        (3)編譯安裝與運行。學生需要按照項目文檔中提供的指引進行編譯和安裝,使開源軟件能夠在本地環(huán)境中正常運行,通過運行在本地的示例代碼,學生可以進一步了解軟件的基本用法。

        (4)參與社區(qū)交流并貢獻代碼。開源軟件社區(qū)對于學習和提高技能至關重要。學生通過課程實踐學會如何加入郵件列表、論壇或聊天室,與其他開發(fā)者交流經(jīng)驗、提出問題并學習其他人的見解。如果對該項目有深入理解還可以貢獻代碼,加入分支嘗試解決已知問題或增加新功能。

        (5)持續(xù)學習與經(jīng)驗分享。開源軟件是不斷演化的,學生需要持續(xù)學習并跟蹤項目更新,有能力的學生可以在一定范圍內(nèi)維護開源軟件并在開源社區(qū)分享解決問題的經(jīng)驗。

        學生通過以上幾個方面的實踐學習,初步了解主流開源代碼托管平臺和開源社區(qū);掌握一定規(guī)模軟件的下載、編譯、安裝和測試等多個流程;具備一定能力的學生可以主動參與開源社區(qū)討論并作出一定量的代碼貢獻,總體上幫助學生強化了開源軟件思想,培養(yǎng)學生開源軟件使用及開發(fā)能力。

        3 開源軟件實例貫穿軟件工程教學

        在軟件工程概論課程教學中引入由國防科技大學設計實現(xiàn)的“空巢老人看護”軟件ElderCarer,將其實例貫穿于軟件工程教學各部分,包括需求分析、軟件設計基礎、軟件體系結構設計、用戶界面設計和軟件詳細設計等階段。在需求分析階段的學習中引入面向互聯(lián)網(wǎng)醫(yī)院的虛擬仿真實驗,讓學生置身真實軟件需求分析場景,充分提升學生的積極性和學習效果。

        3.1 引入開源軟件實例

        “空巢老人看護”系統(tǒng)是一款將計算機軟件、自主機器人、智能手機等設備緊密結合的綜合軟件。它借助機器人對獨居老人進行監(jiān)護,及時發(fā)現(xiàn)老人出現(xiàn)的異常狀況,通過移動互聯(lián)網(wǎng)將實時信息傳送到家屬或者醫(yī)生的智能手機端,同時支持老人與遠端家屬進行語音和視頻交互。這是一款具備良好結構的開源軟件,無論從應用背景還是實現(xiàn)方式上都比較容易理解,非常適用于軟件工程教學。通過將該實例貫穿于軟件工程課程教學全過程,有利于幫助學生更加直觀深入地理解軟件工程各階段。

        3.1.1 軟件需求分析階段

        通過空巢老人看護系統(tǒng)“用戶登錄”用例幫助學生理解在軟件需求分析階段如何分析和建立對象和類以及對象類之間的相互關系。一般而言,軟件需求用例描述了特定的業(yè)務邏輯,主要涉及邊界類、控制類和實體類以及它們之間的交互協(xié)同。在教學過程中引入圖1,用順序圖表示“用戶登錄”用例的交互模型,其中邊界類LoginUI 負責用戶身份驗證,控制類LoginManager 負責處理用戶登錄請求,實體類UserLibrary 負責保存系統(tǒng)中所有用戶的賬號密碼信息。學生可以很好地將抽象的類與具體應用建立對應關系,加深理解。

        Fig.1 The interactive model of use case “user login”圖1 “用戶登錄”用例交互模型

        3.1.2 軟件設計基礎階段

        通過介紹“空巢老人看護系統(tǒng)”包含的兩個子系統(tǒng)以及各子系統(tǒng)包含的構件和設計類,幫助學生理解需要確定的軟件設計模型和設計元素。通常而言,軟件設計元素按照不同粒度可劃分為構件、子系統(tǒng)、類、屬性和方法等?!翱粘怖先丝醋o系統(tǒng)”主要包含兩個子系統(tǒng)即部署在手機端的老人狀況監(jiān)控終端子系統(tǒng)和與機器人相連接的“機器人感知和控制”子系統(tǒng)。通過實際應用場景舉例可以進一步幫助學生理解軟件不同粒度的設計元素和各個元素的相互關系,使學生對于抽象的概念有更深刻的認識。

        3.1.3 軟件體系結構設計階段

        軟件體系結構設計的學習要求學生根據(jù)軟件需求給出宏觀的解決方案,教學難點在于體系結構的宏觀性容易使得學生的理解產(chǎn)生偏差。在這部分的學習中,該課程引入“空巢老人看護系統(tǒng)”體系結構設計,如圖2 所示。將整個軟件劃分為3 個層次,即用戶界面層、業(yè)務邏輯層和基礎服務層,各層次既有清晰的定義和邊界,也有對應具體的功能,學生可以直觀地將宏觀的軟件體系結構設計映射到具體應用之上,學習效果優(yōu)于傳統(tǒng)的理論講授方式。

        Fig.2 Software architecture of elder care system圖2 “空巢老人看護系統(tǒng)”軟件體系結構

        3.1.4 軟件詳細設計階段

        在軟件詳細設計階段,進一步應用上文所使用的實例即“用戶登錄”用例的實現(xiàn)設計方案,將設計元素中的邊界類、控制類和實體類加以細化和精化,形成邏輯更為完整的順序圖,如圖3 所示?;谠撨^程可以幫助學生更加深刻地理解基于軟件需求到形成類圖的全過程,而且每一個階段都有具體實例和應用場景幫助理解,取得較好的教學效果。

        Fig.3 Sequence diagram of use case “user login”圖3 “用戶登錄”用例實現(xiàn)順序圖

        在軟件工程概論課程教學實踐中,將一個開源軟件實例貫穿于整個教學實踐中,一方面突出了開源軟件的基本思想,另一方面將開源軟件開發(fā)的整個過程呈現(xiàn)在學生面前,極大加深了學生對于軟件工程實踐的全面認識。

        3.2 面向需求分析的虛擬仿真實驗

        在軟件開發(fā)過程中,需求分析通常是一個非常關鍵的部分,是軟件開發(fā)成功的關鍵,只有通過全面完善的軟件需求分析,才能將軟件功能和性能的總體概念描述為具體的軟件需求規(guī)格說明,奠定軟件開發(fā)基礎。在軟件工程課程教學過程中,學生通常缺乏大規(guī)模軟件開發(fā)經(jīng)驗,從而難以理解需求分析的重要性。因此,軟件工程概論課程引入需求分析虛擬仿真實驗平臺,多方位培養(yǎng)學生需求分析能力。

        虛擬仿真實驗的目的主要包括以下幾個方面:①在知識方面,掌握與用戶溝通獲取需求的方法及工具,通過虛仿實驗,學生要掌握訪談等與用戶溝通獲取需求的基本方法,以及主流需求分析工具的使用;②在能力方面,能整體掌握需求分析的規(guī)范流程,通過虛仿實驗對需求分析規(guī)范流程的模擬,引導學生從系統(tǒng)設計師、業(yè)務和用戶等多個視角深入理解需求分析的規(guī)范流程,包括項目背景調(diào)研、領域知識獲取、用戶溝通、需求確認等;③在素養(yǎng)方面,鍛煉迅速獲取領域本質(zhì)需求的素養(yǎng),針對特定領域,通過給定項目資料及檢索迅速熟悉該領域,鍛煉快速獲取該領域的本質(zhì)需求。

        實驗以互聯(lián)網(wǎng)醫(yī)院業(yè)務平臺為對象,設計了完整體現(xiàn)需求分析標準流程的虛擬仿真實驗,實驗者逐步完成需求分析各個環(huán)節(jié),最終完成互聯(lián)網(wǎng)醫(yī)院業(yè)務平臺的需求分析說明書;虛仿系統(tǒng)通過需求分析的過程質(zhì)量和結果質(zhì)量這兩個維度對實驗者的需求分析能力進行綜合評估,給出有針對性的需求分析能力分析報告,幫助學生通過實驗不斷提高需求分析能力。如圖4 所示,面向互聯(lián)網(wǎng)醫(yī)院業(yè)務平臺的需求分析,虛擬仿真實驗平臺包括通用服務層、仿真層、數(shù)據(jù)層和支撐層。通用服務層主要面向用途提供各項管理和交流等功能;仿真層主要包括可視化模塊和仿真軟件等以提供仿真支持;數(shù)據(jù)層主要存儲用戶數(shù)據(jù)、規(guī)則庫和元數(shù)據(jù)等;支撐層主要負責用戶權限管理、數(shù)據(jù)管理、域管理等底層服務。

        Fig.4 Architecture of virtual simulation experiment system圖4 虛擬仿真實驗系統(tǒng)架構

        4 結語

        本文將開源軟件思想和開源實例貫穿于軟件工程概論課程教學:在理論課程中,突出開源軟件思想和群體化開發(fā)方法;在實踐教學中,引入開源軟件課程實踐,幫助學生深入理解軟件需求分析這一重要階段;同時,指導學生在開源代碼倉庫下載、編譯和測試開源軟件,幫助學生參與開源社區(qū)的貢獻。這樣的教學方式符合當前軟件工程教學發(fā)展方向,相較于傳統(tǒng)軟件工程課程教學,更全面地培養(yǎng)了學生在軟件開發(fā)各階段的綜合能力,提升了軟件工程課程教學效果。

        下一步,將以解決復雜工程問題能力為目標,根據(jù)軟件工程的發(fā)展不斷挖掘適合學生學習的開源軟件項目,以進一步促進學生自主學習。同時,嘗試引入小組討論式學習,通過對開源項目的貢獻度評估學生學習效果,持續(xù)改善學生學習行為,提升課程教學效果。

        猜你喜歡
        開源軟件分析
        禪宗軟件
        英語文摘(2021年10期)2021-11-22 08:02:26
        隱蔽失效適航要求符合性驗證分析
        五毛錢能買多少頭牛
        軟件對對碰
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        電力系統(tǒng)及其自動化發(fā)展趨勢分析
        大家說:開源、人工智能及創(chuàng)新
        開源中國開源世界高峰論壇圓桌會議縱論開源與互聯(lián)網(wǎng)+創(chuàng)新2.0
        開源計算機輔助翻譯工具研究
        談軟件的破解與保護
        精品(2015年9期)2015-01-23 01:36:01
        长腿丝袜在线观看国产| 国产在线 | 中文| 国産精品久久久久久久| 黑人巨大videos极度另类| 久久精品国产亚洲AV高清wy| 国产一区二区在线中文字幕| 国产三a级三级日产三级野外| 777米奇色狠狠俺去啦| 日本久久久免费观看视频| 亚洲一区二区三区尿失禁| 亚洲色欲久久久综合网| 黑人巨茎大战欧美白妇| 国产高清吃奶成免费视频网站| 亚洲天堂av社区久久| 日本一区二区免费高清| 国产精品毛片va一区二区三区| 波多野42部无码喷潮在线| 五十路熟妇高熟无码视频| 狠狠躁夜夜躁无码中文字幕| 亚洲五月七月丁香缴情| 一区二区三区亚洲免费| 伊人久久综合无码成人网| 日韩少妇内射免费播放18禁裸乳| 日韩成人极品在线内射3p蜜臀| 日本高清色惰www在线视频| 亚洲专区一区二区三区四区五区| 久久精品人妻少妇一二三区| 午夜视频在线在免费| 亚洲成AⅤ人在线观看无码| 青青草手机成人自拍视频| 亚洲不卡高清av网站| 日日噜噜夜夜狠狠va视频| 麻豆av传媒蜜桃天美传媒| 亚洲免费人成网站在线观看 | 日本顶级metart裸体全部| 国产真实伦在线观看| 亚洲欧美精品伊人久久| 色琪琪一区二区三区亚洲区| 亚洲一区二区三区ay| 亚洲成人中文字幕在线视频| 亚洲av无码久久精品狠狠爱浪潮|