軟件工程是指導(dǎo)計算機軟件開發(fā)和維護的工程學(xué)科。軟件工程一直以來都缺乏一個統(tǒng)一的定義,很多學(xué)者、組織機構(gòu)都分別給出了自己的定義。比較認(rèn)可的一種定義認(rèn)為:軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護軟件,以及如何把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。軟件工程一直以來都缺乏一個統(tǒng)一的定義,很多學(xué)者、組織機構(gòu)都分別給出了自己的定義。如何寫好軟件工程論文?具體如下:
軟件工程方向的專業(yè)論文選題,按照目前培養(yǎng)方案的要求,必須是與軟件工程有關(guān)的內(nèi)容。
所謂與軟件工程有關(guān)的內(nèi)容包括:
1. 軟件的開發(fā)
這是最常見的選題方向,也是最正規(guī)、最容易得到認(rèn)可的方向。一般來說,軟件開發(fā)的題目,可以是一個系統(tǒng),也可以是一個或者幾個模塊。不過,不論是系統(tǒng)還是模塊,都要包括如下幾個階段:
a) 需求分析
b) 概要(總體)設(shè)計和詳細(xì)設(shè)計
c) 編碼(是指重要的、關(guān)鍵的算法部分)
d) 部署和測試
2. 軟件工程的其它方向內(nèi)容
例如:
a) 軟件需求管理、變更
b) 軟件體系架構(gòu)
c) 軟件測試 (軟件測試方向的論文大綱參見博文《軟件測試相關(guān)碩士論文大綱》)
d) 軟件過程改進
e) 更多內(nèi)容,參見《軟件工程知識體系指南》
論文的素材
需要特別強調(diào)的是,論文絕不是一周兩周閉門造車就能寫出來的。日常工作中要不斷撰寫相關(guān)工作的需求分析、概要設(shè)計、詳細(xì)設(shè)計、數(shù)據(jù)庫設(shè)計、關(guān)鍵算法、測試用例、測試結(jié)果等方面的文檔。這些文檔,都是論文的素材。
論文工作所描述的軟件開發(fā)可以是一個完整系統(tǒng),也可以是某個系統(tǒng)中的多個模塊。最好能夠按照瀑布模型,覆蓋需求、設(shè)計(概要/詳細(xì))、編碼及測試這幾個階段。
摘要 【關(guān)于摘要的寫法,參見博文《如何撰寫論文的摘要》】
1. 序言
介紹論文的課題來源、課題實施的背景、課題預(yù)期達(dá)到的目標(biāo)等
1.1 課題背景(課題來源、選題目的和意義)
1.2 課題任務(wù)(本課題的整體研究/開發(fā)內(nèi)容)
1.2.1 課題內(nèi)容(介紹課題的主要內(nèi)容)
1.2.2 本人承擔(dān)任務(wù)(作者在該課題中所做的主要工作。作者的工作可能僅是課題研究內(nèi)容的一部分。這一部分必須有,是評閱人及答辯委員重點看的內(nèi)容)
1.3 論文結(jié)構(gòu)(描述論文的整體結(jié)構(gòu),以及每一章節(jié)的主要內(nèi)容)
2. 相關(guān)技術(shù)
介紹論文中用到的所有重要的技術(shù),對其原理及使用方法做簡單介紹 (但是不要介紹這些常見技術(shù):Android、
注意:在論文其它章節(jié)不可再出現(xiàn)原理性的技術(shù)介紹
3. 需求分析(功能需求、性能/安全//界面需求等):必須使用用例圖分析!
3.1 業(yè)務(wù)建模(如果需要的話,可以在本節(jié)中描述使用本軟件系統(tǒng)的企業(yè)/組織機構(gòu)在執(zhí)行業(yè)務(wù)時的流程。業(yè)務(wù)建模重點描述企業(yè)執(zhí)行某種業(yè)務(wù)時要遵循的流程以及涉及到 的人員和角色。這里基本不涉及到軟件,也不需要描述軟件。即,企業(yè)不使用軟件,也要遵循的業(yè)務(wù)流程)
3.1.1 組織圖(畫出本軟件相關(guān)業(yè)務(wù)中所涉及的企業(yè)組織結(jié)構(gòu)圖,在這個組織圖中,包含業(yè)務(wù)涉及到的人員及其角色,然后說明這些角色的任務(wù)職責(zé)等)
3.1.2 業(yè)務(wù)流程1 (使用活動圖/流程圖描述業(yè)務(wù)流程)
3.1.3 業(yè)務(wù)流程2
3.1.n 業(yè)務(wù)流程k
3.2 總體需求(給出總體用例圖,然后描述每個用例的執(zhí)行流程)
3.3 功能1需求分析(給出功能1的細(xì)化用例圖,描述每個子用例的執(zhí)行流程)
3.4 … (功能n需求分析)(給出功能n的細(xì)化用例圖)
3.5 性能需求(如果有)
3.6 安全性需求(如果有)
3.7 界面需求(描述界面設(shè)計的一些基本要求,比如色彩、布局、字體等。具體的界面設(shè)計,放到詳細(xì)設(shè)計階段處理)
3.8 … (其它需求)
補充說明:
1)關(guān)于需求分析的具體寫法,不要自己編,或者將項目工程建議書中的東西直接拿來使用。請點擊【百度文庫中的文檔】
2)在需求分析章節(jié)中,不可出現(xiàn)“模塊”、“子系統(tǒng)”等字樣。這些字樣是設(shè)計階段才應(yīng)該有的概念。
4. 概要設(shè)計(包括系統(tǒng)架構(gòu)。若系統(tǒng)架構(gòu)特別復(fù)雜,也可單列一章。概要設(shè)計內(nèi)容,可以參見百度百科的“概要設(shè)計”詞條)
4.1 系統(tǒng)整體結(jié)構(gòu)(本節(jié)必須有,否則論文不合格)(本節(jié)內(nèi)容必須要有功能結(jié)構(gòu)圖,即用一張圖表現(xiàn)系統(tǒng)中各個功能模塊/子系統(tǒng)之間的層次、先后關(guān)系)
4.2 模塊間接口設(shè)計
4.3 數(shù)據(jù)庫總體設(shè)計(本節(jié)指數(shù)據(jù)庫整體設(shè)計,給出ER圖并簡要說明即可,也可以在ER圖之外再增加對每張表的簡要說明。但是不涉及表的具體結(jié)構(gòu),僅說明表間關(guān)系,以及數(shù)據(jù)庫與其他模塊間關(guān)系)
4.4 系統(tǒng)部署結(jié)構(gòu)(一般是指你的軟件系統(tǒng)所運行的服務(wù)器群組及網(wǎng)絡(luò)環(huán)境的拓?fù)洌?br/> 4.5 界面結(jié)構(gòu) (這里是對界面需求的細(xì)化和展示。這里展示的是軟件總體上的界面結(jié)構(gòu),而不是每一個功能、頁面的界面結(jié)構(gòu)。比如,可以用線框圖描繪一個基于web的界面分為三個部分:上面的LOGO區(qū),左側(cè)的導(dǎo)航區(qū),右側(cè)的功能展示區(qū),下部的輔助鏈接區(qū)。但是,也僅僅局限于一個大致的、抽象的結(jié)構(gòu)。)
4.6 …
5. 詳細(xì)設(shè)計(包括各個模塊/類/函數(shù)的設(shè)計,以及數(shù)據(jù)庫的設(shè)計)
5.1 xxx模塊設(shè)計
5.2 xxx模塊設(shè)計
5.3 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(具體的表結(jié)構(gòu))
5.4 數(shù)據(jù)庫查詢接口設(shè)計(如果有)
5.5 人機交互接口設(shè)計(如果有)
5.5 xxx接口設(shè)計
5.6 界面設(shè)計 (這里可以用線框圖描繪每一個模塊/功能頁面的界面布局、色彩、文本、字體要求。!!!但是絕對不可以用截圖!!! 因為截圖是實現(xiàn)階段才有的!)
5.7 …
6. 實現(xiàn)(其中可以包括關(guān)鍵算法的少量代碼,論文所有代碼不超過100行),盡量避免粘貼代碼,代之以相應(yīng)的流程圖或者活動圖。非關(guān)鍵的代碼會被認(rèn)為有“刷論文”的嫌疑,答辯時必然會被要求從論文中刪除。
6.1 xxx模塊實現(xiàn)(具體算法、流程說明;界面截圖及其說明(如果有的話);流程圖或者活動圖)
6.2 xxx模塊實現(xiàn)
6.3 xxx算法實現(xiàn)
6.4 …
7. 部署和測試(比較復(fù)雜的軟件系統(tǒng)需要描述部署環(huán)境。部署部分有時也可以與 ch6 放在一章。測試一般要給出測試用例、測試結(jié)果)
7.1 軟硬件環(huán)境
7.2 部署流程
7.3 測試用例
7.3.1 xxx模塊測試用例設(shè)計
7.3.2 xxx模塊測試用例設(shè)計
7.4 測試結(jié)果及分析
7.4.1 xxx測試結(jié)果及分析
7.4.2 xxx測試結(jié)果及分析
8. 結(jié)語
8.1 工作總結(jié)(對論文所述工作進行總述總結(jié))
8.2 工作不足與展望(對論文工作的不足之處進行總結(jié),并且說明改進的方向)
一篇工程碩士論文最好能夠包含上述內(nèi)容,這樣,結(jié)構(gòu)上比較完整。在寫作時,章節(jié)可以略微調(diào)整(例如,將詳細(xì)設(shè)計和實現(xiàn)合并為一章,或者將概要設(shè)計與詳細(xì)設(shè)計合并為一章)。大部分論文的章節(jié)數(shù)量均在6-7章左右,過多或者過少均不好。
論文行文風(fēng)格
論文的文字要通順,不得有錯別字,這是將論文提交給導(dǎo)師之前必須達(dá)到的標(biāo)準(zhǔn)。方法有二:
a) 利用word的語法檢查功能,所有在檢查后有波浪線的文字,都需要仔細(xì)審核
b) 與其它同學(xué)合作,兩個人在同一個屏幕前,共同通讀一篇論文,這樣,98%以上的錯誤都能夠檢查出來。
最后對于錯別字,我的處理方式是:1. 第一次審稿,發(fā)現(xiàn)三個錯別字,打回去重新檢查,推遲一周復(fù)審;2.復(fù)審又發(fā)現(xiàn)達(dá)到或者超過3個錯別字,打回去重新檢查,推遲兩周復(fù)審;3.三審發(fā)現(xiàn)還有3個或者3個以上錯別字,那么論文會被推遲到最后一刻審核,并且在論文的導(dǎo)師意見中有如后字樣:“該生治學(xué)態(tài)度隨意,論文錯別字較多,論文寫作能力難以達(dá)到工程碩士要求”.