国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

韓萬江 姜立新 張笑燕

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

關(guān)鍵詞: 軟件工程;工程化;項目案例;軟件開發(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? 引言

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

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

1? 需求分析過程

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

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

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

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

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

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

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

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

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

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

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

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

4? 編碼實施過程

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

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

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

5? 安裝與部署過程

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

6? 軟件測試過程

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

其中:

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

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

測試實施—展示功能、性能測試

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

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

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

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

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

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

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

9? 結(jié)論

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

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

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

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

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

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

(6)測試文檔

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

b)Bug文件:BUPTSSE-SPM-Bug

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

d)測試報告:BUPTSSE-SPM-TestReport

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

參考文獻(xiàn)

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

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

王辰尹, 衣楊. 面向應(yīng)用型IT人才培養(yǎng)的軟件工程教改關(guān)鍵問題研究[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é)報,第45卷, 2009年10月.

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

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

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

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

猜你喜歡
工程化軟件工程
工程化原子重力儀綜述
“飛機(jī)性能課程設(shè)計”課程工程化改革研究
應(yīng)用瀑布模型的MOOC制作方法
融合APTECH體系的軟件產(chǎn)業(yè)人才培養(yǎng)探究
關(guān)于如何創(chuàng)新和完善計算機(jī)軟件工程管理的探討
軟件測試工程化模型及應(yīng)用研究
玻璃纖維增強(qiáng)復(fù)合材料工程化應(yīng)用進(jìn)展
地方高校化工專業(yè)實驗實行工程化、綜合化的探索
解譯全景世界,工程化遙感解譯又出新利器
馆陶县| 瑞金市| 南阳市| 瓦房店市| 忻州市| 万山特区| 卢湾区| 台北县| 南京市| 贵港市| 宁晋县| 庄河市| 虞城县| 琼结县| 墨竹工卡县| 澄城县| 亚东县| 银川市| 山丹县| 吴旗县| 泾川县| 阜阳市| 开原市| 安徽省| 黄大仙区| 来宾市| 安义县| 元江| 张家界市| 图们市| 思南县| 广德县| 黄龙县| 扎鲁特旗| 清新县| 嵊州市| 武宣县| 仁怀市| 岑巩县| 田林县| 鄂州市|