• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于工程化的軟件工程教學(xué)案例研究

      2019-10-08 09:01:51韓萬江姜立新張笑燕
      軟件 2019年3期
      關(guān)鍵詞:工程化軟件工程

      韓萬江 姜立新 張笑燕

      摘? 要: 針對(duì)目前軟件工程教育實(shí)踐性弱的問題,本文基于某軟件項(xiàng)目(簡稱SPM)案例的開發(fā)過程,介紹了軟件工程化的流程,說明了軟件生存期中各軟件過程的任務(wù)和交付成果. 闡述了需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼實(shí)施、集成與部署,系統(tǒng)測試、試運(yùn)行,維護(hù)等軟件過程。整個(gè)案例將軟件工程的開發(fā)流程與建筑工程的實(shí)施流程進(jìn)行了對(duì)比了,提出了實(shí)現(xiàn)軟件工程化的可行性,為軟件工程的案例化教學(xué)提供基礎(chǔ)。

      關(guān)鍵詞: 軟件工程;工程化;項(xiàng)目案例;軟件開發(fā)流程

      【Abstract】: Aiming at the problem of weak practice in software engineering education at present, this paper introduces the process of software engineering based on the development process of a software project (SPM) case, and explains the tasks and deliverables of each software process in the software lifetime. The software processes such as requirement analysis, outline design, detailed design, coding implementation, integration and deployment, system testing, trial operation and maintenance are described. The whole case compares the development process of software engineering with the implementation flow of construction engineering, and puts forward the feasibility of realizing software engineering, which provides the basis for the case teaching of software engineering.

      【Key words】: Software engineering; Project case; Software development process

      0? 引言

      目前軟件工程教育存在理論與實(shí)踐脫節(jié)的現(xiàn)象,急需在軟件工程教學(xué)過程中加強(qiáng)實(shí)踐教學(xué)的可操作性,建立可行的案例庫,而基于案例驅(qū)動(dòng)的教學(xué)模式可以有效提高學(xué)生的實(shí)際分析問題能力和動(dòng)手能力,被更多人推崇和認(rèn)可。本文介紹了我們開發(fā)的一個(gè)基于工程化的軟件項(xiàng)目案例,以此為典范, 可以推進(jìn)以案例庫為導(dǎo)向的現(xiàn)代軟件工程案例庫教學(xué)模式.本案例是針對(duì)某軟件項(xiàng)目(暫稱為SPM項(xiàng)目:https://pan.baidu.com/s/10aOJobW4N149zSiqjy9kOQ)的工程化的軟件開發(fā)過程,展示了各個(gè)階段的任務(wù)和交付結(jié)果,本案例被評(píng)為了全國軟件工程優(yōu)秀

      案例。本案例主要包括項(xiàng)目需求的提出、任務(wù)分配、需求分析、概要設(shè)計(jì)、任務(wù)細(xì)分、詳細(xì)設(shè)計(jì)、開發(fā)實(shí)施、集成測試、試運(yùn)行等環(huán)節(jié),如圖1所示,整個(gè)案例將軟件工程的開發(fā)流程與建筑工程的實(shí)施流程進(jìn)行了對(duì)比了,直觀易懂,以此體現(xiàn)了軟件工程化的理念。

      1? 需求分析過程

      項(xiàng)目需求是軟件開發(fā)的基礎(chǔ),項(xiàng)目第一步是用戶需求提出,類比房屋工程項(xiàng)目:例如某學(xué)校希望建設(shè)一個(gè)教學(xué)樓,校方就需要提出建設(shè)教學(xué)樓的要求。SPM項(xiàng)目用戶提出的需求是建設(shè)一個(gè)課程網(wǎng)站,這個(gè)階段,用戶和開發(fā)方對(duì)需求進(jìn)行一定的交流。為了更好與用戶溝通需求,并進(jìn)行需求分析,可以建立需求原型,案例中展示了采用Axure RP工具進(jìn)行原型開發(fā)過程,如圖2所示,可以類比建筑工程項(xiàng)目的沙盤模型。

      通過原型方法與用戶確定了需求,進(jìn)行需求分析,編寫基于UML的需求規(guī)格,完成了第一個(gè)過程的交付成果:SPM項(xiàng)目的需求規(guī)格,案例中介紹和展示了SPM項(xiàng)目的需求規(guī)格,如圖3所示。

      2? 概要設(shè)計(jì)過程

      需求規(guī)格完成之后,進(jìn)行概要設(shè)計(jì),概要設(shè)計(jì)主要包括架構(gòu)設(shè)計(jì)、模塊設(shè)計(jì)、接口設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、界面設(shè)計(jì)等等。類比教學(xué)樓工程項(xiàng)目:概要設(shè)計(jì)相當(dāng)于教學(xué)樓的主體設(shè)計(jì)。

      本項(xiàng)目的系統(tǒng)架構(gòu)采用的是多層的SSH架構(gòu),類比教學(xué)樓工程項(xiàng)目:架構(gòu)設(shè)計(jì)相當(dāng)于教學(xué)樓的架

      構(gòu)設(shè)計(jì),如圖4所示。一個(gè)房屋架構(gòu)有很多,例如木結(jié)構(gòu)、磚混結(jié)構(gòu)、鋼筋混凝土、鋼結(jié)構(gòu),結(jié)構(gòu)不同,施工環(huán)節(jié)不同。軟件系統(tǒng)也有很多架構(gòu),軟件架構(gòu)設(shè)計(jì)決定了后續(xù)開發(fā)的邏輯思路。

      本項(xiàng)目的模塊設(shè)計(jì),采用自上而下的設(shè)計(jì)方法,通過E-R設(shè)計(jì)進(jìn)行數(shù)據(jù)庫設(shè)計(jì),也有界面流設(shè)計(jì),如圖5所示。

      由此,完成第二軟件過程的交付成果:基于多層架構(gòu)的SPM項(xiàng)目概要設(shè)計(jì)文檔,案例中有對(duì)概要設(shè)計(jì)文檔的介紹和展示,如圖6所示。

      3? 詳細(xì)設(shè)計(jì)過程

      如果概要設(shè)計(jì)不夠詳細(xì),還可以進(jìn)行詳細(xì)設(shè)計(jì),類比教學(xué)樓工程項(xiàng)目:這個(gè)詳細(xì)設(shè)計(jì)相當(dāng)于教學(xué)樓的各個(gè)單元房間的設(shè)計(jì)。詳細(xì)設(shè)計(jì)的主要任務(wù)是設(shè)計(jì)每個(gè)模塊的實(shí)現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu)。如圖7所示。

      SPM項(xiàng)目的詳細(xì)設(shè)計(jì)描述了概要設(shè)計(jì)中模塊在界面層、控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層等的實(shí)現(xiàn)邏輯,如圖8所示。詳細(xì)設(shè)計(jì)描述可以采用流程圖或者偽代碼等形式。

      最后完成本過程的交付成果:詳細(xì)設(shè)計(jì)文檔,如圖9所示。案例中有對(duì)詳細(xì)設(shè)計(jì)文檔的介紹和展示。

      4? 編碼實(shí)施過程

      類比教學(xué)樓工程項(xiàng)目按照?qǐng)D紙施工, 軟件項(xiàng)目的編碼實(shí)施的圖紙就是概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),如圖

      10所示。施工有施工規(guī)范,編碼有編碼規(guī)范,例如地面、墻面、管道等等需要遵守統(tǒng)一的規(guī)范,軟件編碼過程也一樣,大家必須遵守統(tǒng)一的規(guī)范。圖11是案例項(xiàng)目的編碼規(guī)范。

      開發(fā)過程需要安裝配置開發(fā)環(huán)境, 案例中有學(xué)生操作和講述開發(fā)環(huán)境的安裝和配置過程。編碼實(shí)施過程中版本管理過程是非常重要的要素,案例中也說明了SPM項(xiàng)目的編碼過程:開發(fā)環(huán)境安裝好之后,進(jìn)入開發(fā)過程,所有開發(fā)人員從SVN服務(wù)器上下載系統(tǒng)代碼及其代碼環(huán)境,每個(gè)模塊完成之后,通過配置文件可以將模塊插入系統(tǒng)中,實(shí)現(xiàn)了靈活開發(fā)模式。模塊開發(fā)完成之后,將代碼提交到SVN服務(wù)器,集成運(yùn)行。如圖12所示,案例中展示了幾個(gè)模塊的編碼實(shí)施操作,如圖13(a)所示,同時(shí)也強(qiáng)調(diào)代碼檢查環(huán)節(jié),如圖13(b)所示。案例中展示了本過程的交付成果:工程文件代碼,如圖14所示。

      5? 安裝與部署過程

      模塊全部開發(fā)完成之后,在SVN服務(wù)器上集成,形成項(xiàng)目最后的JAR包,然后將這個(gè)JAR包安裝部署到Web服務(wù)上,系統(tǒng)就可以運(yùn)行了,項(xiàng)目案例中有學(xué)生的操作講述過程。如圖15所示。

      6? 軟件測試過程

      類比教學(xué)樓工程項(xiàng)目:測試過程相當(dāng)于對(duì)教學(xué)樓的質(zhì)量驗(yàn)收過程。軟件測試是根據(jù)軟件開發(fā)各個(gè)階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批測試用例,并利用這些測試用例運(yùn)行程序以及發(fā)現(xiàn)錯(cuò)誤的過程。項(xiàng)目案例也給出項(xiàng)目的測試基本流程,如圖16所示。

      其中:

      測試需求—明確測試內(nèi)容(功能、性能),

      測試設(shè)計(jì)—根據(jù)需求規(guī)格,設(shè)計(jì)測試用例

      測試實(shí)施—展示功能、性能測試

      測試結(jié)果—提交測試結(jié)果(Bug、執(zhí)行記錄)

      測試報(bào)告—根據(jù)測試過程,統(tǒng)計(jì)測試結(jié)果,給出測試結(jié)論

      項(xiàng)目案例中也展示了針對(duì)SPM項(xiàng)目的測試步驟和交付成果,如圖17-19所示。

      7? 軟件試運(yùn)行過程

      案例中類比教學(xué)樓工程項(xiàng)目:上線試運(yùn)行相當(dāng)于教學(xué)樓全部完工,達(dá)到使用的條件。一般項(xiàng)目有試運(yùn)行階段,試運(yùn)行的目的是全面驗(yàn)證和確認(rèn)系統(tǒng)是否能使用,根據(jù)需要可以增加上線測試,上線測試是在試運(yùn)行階段對(duì)系統(tǒng)的測試過程,是系統(tǒng)正式運(yùn)行前的最后測試,以保證測試系統(tǒng)將來可以正確運(yùn)行,為突出重點(diǎn),上線測試重點(diǎn)可以放在測試系統(tǒng)的性能上,當(dāng)然也有功能方面的測試。

      8? 軟件維護(hù)過程

      類比教學(xué)樓工程項(xiàng)目,在使用過程中,可能需要維護(hù),軟件也一樣,軟件維護(hù)的工作從軟件產(chǎn)品的試運(yùn)行就開始了,所謂維護(hù)是為了保證軟件系統(tǒng)在一個(gè)相當(dāng)長的時(shí)間內(nèi)正常運(yùn)行而做的工作。由于本系統(tǒng)的設(shè)計(jì)考慮了可維護(hù)性,所以,對(duì)于系統(tǒng)的某些維護(hù)是很方便的。

      9? 結(jié)論

      總之,本文對(duì)基于工程化項(xiàng)目案例的實(shí)施過程進(jìn)行了描述,說明了軟件項(xiàng)目的整個(gè)工程化流程,以及相應(yīng)的交付成果,總結(jié)案例項(xiàng)目(SPM)交付成果如下:

      (1)需求規(guī)格: BUPTSSE-SPM-SRS

      (2)概要設(shè)計(jì):BUPTSSE-SPM-HLD

      (3)詳細(xì)設(shè)計(jì):BUPTSSE-SPM-LLD

      (4)代碼規(guī)范:BUPTSSE-SPM-CodeStd

      (5)項(xiàng)目工程代碼:BUPTSSE-SPM_Project.rar

      (6)測試文檔

      a)測試用例:BUPTSSE-SPM-TestCase

      b)Bug文件:BUPTSSE-SPM-Bug

      c)測試用例執(zhí)行文件:BUPTSSE-SPM-Test CaseResult

      d)測試報(bào)告:BUPTSSE-SPM-TestReport

      通過這個(gè)案例的實(shí)施流程可以加深對(duì)軟件工程化的理解,為真正實(shí)現(xiàn)工程化軟件項(xiàng)目提供基礎(chǔ)。后續(xù)還會(huì)在案例的各個(gè)階段的實(shí)施過程以及相應(yīng)的,設(shè)計(jì)和開發(fā)更加獨(dú)立化的,標(biāo)準(zhǔn)化處理模塊,為將來建立軟件統(tǒng)一模型提供實(shí)踐基礎(chǔ)。

      參考文獻(xiàn)

      韓萬江, 姜立新. 軟件工程案例教程[M]. 北京: 機(jī)械工業(yè)出版社, 2017年6月.

      趙輝, 李萬龍, 鄭山紅. 項(xiàng)目導(dǎo)向案例驅(qū)動(dòng)”的軟件工程教學(xué)模式[J]. 計(jì)算機(jī)教育2012年10期.

      王辰尹, 衣楊. 面向應(yīng)用型IT人才培養(yǎng)的軟件工程教改關(guān)鍵問題研究[J]. 計(jì)算機(jī)教育2014年08期.

      王靜, 以案例庫為導(dǎo)向的“現(xiàn)代軟件工程”教學(xué)模式探索[J]. 教育教學(xué)論壇, 2018年16期.

      鄭麗萍, 王社偉, 趙玉娟. 面向軟件工程專業(yè)的Java課程群教學(xué)規(guī)劃研究[J]. 軟件導(dǎo)刊, 2015年12期.

      韓萬江. 系統(tǒng)化的軟件工程教學(xué)模式[J]. 南京大學(xué)學(xué)報(bào),第45卷, 2009年10月.

      韓萬江, 張笑燕. 基于SPOC的混合式教學(xué)模式課程建設(shè)初探[J]. 工業(yè)和信息化教育, 2015. 11.

      韓萬江. 軟件工程專業(yè)認(rèn)證的新思路研究[J]. 軟件, 第36卷第3期, 2015年3月.

      韓萬江. 《軟件項(xiàng)目管理》課程中理論與實(shí)踐的交融關(guān)系[J]. 軟件, 第35卷第2期, 2014年2月.

      馮杰, 屈志毅, 李志輝. 基于分類稀疏表示的人臉表情識(shí)別[J]. 軟件, 2013, 34(11): 59-61.

      猜你喜歡
      工程化軟件工程
      工程化原子重力儀綜述
      “飛機(jī)性能課程設(shè)計(jì)”課程工程化改革研究
      新課程研究(2016年1期)2016-12-01 05:51:57
      依托工作室的軟件工程實(shí)踐教學(xué)研究
      應(yīng)用瀑布模型的MOOC制作方法
      融合APTECH體系的軟件產(chǎn)業(yè)人才培養(yǎng)探究
      基于工程教育認(rèn)證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
      關(guān)于提高軟件工程實(shí)踐教學(xué)質(zhì)量的幾點(diǎn)思考
      關(guān)于如何創(chuàng)新和完善計(jì)算機(jī)軟件工程管理的探討
      軟件測試工程化模型及應(yīng)用研究
      玻璃纖維增強(qiáng)復(fù)合材料工程化應(yīng)用進(jìn)展
      中國塑料(2015年3期)2015-11-27 03:41:42
      肥城市| 新密市| 牟定县| 循化| 延寿县| 菏泽市| 江源县| 彰武县| 淅川县| 稷山县| 莆田市| 安丘市| 东源县| 襄樊市| 突泉县| 长宁县| 长治市| SHOW| 平安县| 阿拉尔市| 宁夏| 苗栗市| 阿勒泰市| 辛集市| 鄯善县| 小金县| 四平市| 隆尧县| 文山县| 老河口市| 马山县| 马尔康县| 衡南县| 新安县| 监利县| 信宜市| 阳东县| 丹寨县| 厦门市| 资兴市| 东宁县|