網站首頁 工作範例 辦公範例 個人範例 黨團範例 簡歷範例 學生範例 其他範例 專題範例

軟體工程碩士開題報告範文

欄目: 開題報告 / 釋出於: / 人氣:1.2W

一、課題的意義

軟體工程碩士開題報告範文

選擇一個適合的產品開發過程對於成功完成產品開發有著至關重要的作用。一個定義良好的過程,可以有效地指導和監控產品開發實踐活動,提高產品開發的效率、質量和可預測性。但是,如果過程定義不合理,卻會反過來制約我們的工作,導致挫折、低效、低質量甚至失敗。

產品開發是一個多學科綜合的過程。以消費電子產品為例,在產品開發過程中,軟體、硬體、結構件和定製件等各個學科和專業小組的活動互相依賴、交叉並行。傳統的產品開發過程往往採用序列、離散、重量級的方法,存在著以下問題:

序列的產品開發過程不能有效支援產品開發的迭代本質,專案的風險往往在後期集中爆發,導致專案進度失控或產品草率交付。

傳統產品開發過程把各個學科和專業小組的活動視為一系列靜態的、離散的過程,對於多學科交叉並行活動缺少有效綜合與協調。

傳統產品開發過程採用的重量級方法導致大量的文件工作和漫長的開發週期,難以快速交付高質量的產品。

隨著產品的智慧化、自動化和資訊化程度越來越高,產品的功能和結構日趨複雜,其開發難度也不斷增大。同時,技術和工藝水平的飛速提高,以及激烈的市場競爭導致產品的更新換代更加頻繁,也使得開發時間日益縮短。在開發難度提高和開發時間縮短的雙重壓力下,傳統的產品開發過程已經不能滿足消費電子產品開發的需要。因此,建立一個高效的產品開發過程有著重大的意義。

二、國內外現狀分析

為了解決傳統序列的產品開發過程導致的產品設計改動量大、開發週期長、成本高、質量差等問題,人們提出了並行工程(Concurrent Engineering)與整合產品和過程開發(Integrated Product and Process Development, IPPD)的思想,這些思想對於建立產品開發過程有著重要的指導意義。但是並行工程與IPPD本身並沒給出具體的產品開發過程定義,尤其是對於產品開發的迭代本質和多學科交叉並行特性缺乏具體的過程方法予以支援。

在產品開發中,系統工程(Systems Engineering)起著統領全域性,綜合、協調各個學科和專業小組的關鍵作用。對於產品開發過程方法的研究和實踐,是系統工程的重要組成部分。在系統工程領域,現有的各種系統生命週期模型和系統工程過程模型從各個不同的方面對產品開發過程進行了描述,現有的重量級的產品開發過程大多數正是在這些模型的基礎上建立起來的。但這些模型本身比較抽象化和一般化,不足以作為產品開發過程定義。同時,由於系統工程長期以來主要應用於大型/超大型系統(如武器系統、太空梭等),在應用這些模型進行產品過程定義時必須非常小心,否則容易產生過於重量級的過程。

反觀軟體工程(Software Engineering)領域,對於軟體開發過程的研究和實踐近年取得了很大的進展,迭代開發正取代傳統的瀑布模型逐漸成為軟體過程方法的主流。基於迭代開發的產品化的軟體開發過程——RUP的出現,標誌著迭代開發方法的成熟。以迭代開發為核心的一批敏捷方法(Agile Methods),代表著軟體開發過程研究和實踐中極為活躍的部分。但是這些過程和方法主要關注於軟體開發過程,對於其他學科的活動通常只是作為軟體開發過程的外部環境加以考慮,而不是從全域性上予以綜合和協調。

產品開發、系統工程、軟體工程3個領域的過程方法各有所長,但都滿足不了消費電子產品開發過程的要求,尤其對於多學科綜合的迭代開發方法都缺乏具體的解決方案。

三、研究目標和內容

本課題的研究目標是為消費電子產品建立一個能夠有效支援產品開發迭代本質、有效綜合與協調多學科交叉並行活動、輕量級的產品開發過程。

由於現有的過程方法都滿足不了消費電子產品開發過程的要求,尤其對於多學科綜合的迭代開發方法都缺乏具體的解決方案。因此,我們在綜合產品開發、系統工程、軟體工程等領域先進的過程方法的基礎上,提出了一個適合於消費電子產品的、基於迭代開發方法的、多學科綜合的開發過程——多學科整合迭代過程(Multidisciplinary Integrated Iterative Process, MIIP)。在這裡:

“多學科”是指MIIP能夠有效綜合與協調多學科交叉並行的開發活動;

“整合”有兩方面的含義,一是MIIP在產品開發過程中集成了各個學科和專業小組的活動,二是MIIP在過程方法上集成了RUP、敏捷方法、系統工程、並行工程、IPPD等多種過程方法的先進思想和經典實踐;

“迭代”是指MIIP基於迭代開發方法。

本課題的研究內容主要包括:

1. 分析消費電子產品開發的多學科整合迭代特徵,併為之建立合適的過程;

2. 研究迭代過程在多學科交叉並行情況下存在的問題,並尋求解決方案;

3. 將多學科整合迭代過程應用到具體的專案中,在實踐中檢驗和完善;

4. 總結多學科整合迭代過程應用的經驗教訓,為企業乃至整個行業的過程改進提供經典實踐。

[注:一般研究內容3-6個,每個研究內容要展開來陳述一下]

四、關鍵技術研究

[注:關鍵技術研究是指要解決的關鍵問題,不是要使用的主要技術]

多學科整合迭代過程(MIIP)以軟體工程領域的RUP和敏捷方法為基礎,將其擴充套件到系統工程領域,同時吸收了並行工程與IPPD的思想。MIIP的研究需要深入分析並解決好以下幾個問題:

1. 消費電子產品開發過程具備什麼樣的過程特徵?

2. 如何為消費電子產品開發過程建立合適的過程?

3. 對於消費電子產品,產品開發過程應具備什麼程度的敏捷性?

4. 軟體開發的迭代過程是否同樣適用於硬體、結構件和定製件等其他學科的產品元件的開發?

5. 在多學科交叉並行的情況下如何進行迭代?

6. 各個學科如何在迭代之間進行協同?

7. 各個學科在獨立並行和同步協調之間如何進行權衡?

8. 在實踐中,產品開發如何實現從傳統的序列過程到迭代過程的轉變?

[注:關鍵問題3個以上,並建議每個問題要展開來陳述一下]

五、研究方案

本課題的研究方法主要包括:

1. 文獻閱讀:大量閱讀文獻,瞭解業界成熟的過程理論、經典實踐和最新研究進展,建立充實的理論基礎。

2. 過程資產分析:分析Z公司(一個大型的消費電子產品提供商)過程資產庫中的現有過程定義文件,並將其與實際執行結果相比較。

3. 專案歷史資料分析:分析Z公司專案歷史資料,特別是專案計劃、監控、度量結果和技術類工作產品,瞭解專案的實際執行過程。

4. 人員訪談:訪談Z公司專案經理、開發人員和過程改進人員,瞭解現有過程模型存在的問題及其根源和人們的期望。

5. 過程定義:在分析消費電子產品開發過程的特徵之後,建立與之相適應的多學科整合迭代過程。

6. 討論和評審:在新過程的設計過程中定期與相關專業人員進行討論和評審,集思廣益。

7. 過程試點:在Z公司選擇一個現有專案進行試點,在實踐中檢驗和完善過程定義。

8. 試點總結:總結多學科整合迭代過程應用的經驗教訓,為Z公司乃至整個行業的過程改進提供經典實踐。

1. 基於複用定義軟體匯流排架構

2. 面向快速軟體服務的個體敏捷過程擬包括以下子過程:

a) 需求與元件池的匹配過程

b) 派生元件的開發過程

c) 需求的驗證過程

d) 快速服務交付過程

e) 元件反饋維護過程

3. 借鑑CMMI和PSP來建立面向快速軟體服務的個體能力成熟度模型,並進行評估

[注:如果是開發系統,則可畫個系統結構圖,並說明開發語言、工具、框架等]

本課題的研究經費來自Z公司的過程改進費用,Z公司有一支專職的過程改進隊伍,並且已經具備一定的過程資產和專案歷史資料,過程的試點專案已經選定,多學科整合迭代過程的核心思想已經開始在該專案中應用。課題研究各方面的資源已基本具備,可以支援研究工作的開展。

六、計劃進度

[注:一般從開題到答辯是一年時間]

2019.10 開題

2019.12 定義面向快速軟體服務的個體敏捷過程

2019.03 定義面向快速軟體服務的個體敏捷過程中個人能力成熟程度

2019.04 選擇2-3個專業服務專案進行推廣試點

2019.06 對試點專業服務專案進行評估與改進

2019.07 撰寫學術論文

2019.08 部門內部推廣

2019.10 學位論文定稿和答辯準備

參考文獻

[2] 熊光楞,徐文勝,張和明,範文慧。並行工程的理論與實踐。清華大學出版社,施普林格出版社,2019

[3] 傅立豐,張耀宗,劉長紅。並行工程的發展及應用。機械加工與自動化,2019(9)

[4] R. Winner, J. PenneU, H. Bertrand, M. Slusarczuk. The Role of Concurrent Engineering iWeapons System Acquisition. IDA Report R-338, Institute for Defense Analyses, 1988

[5] 朱煥立,劉玉賓。並行工程的產生、應用及研究現狀。中州大學學報,2019(4)

[6] 萬立,鄭霞,劉清華。產品全生命週期管理平臺的整合產品開發流程實現研究。計算機輔助工程,2019(6)

[7] International Council oSystems Engineering. Systems Engineering Handbook, Versio2a. INCOSE, 2019

[9] International Council oSystems Engineering. Guide to the Systems Engineering Body of Knowledge.

[10] Alexander Kossiakoff, William N. Sweet. Systems Engineering Principles and Practice. Wiley-Interscience, 2019

[11] Systems Thinking and Systems Engineering.

[12] Watts S. Humphrey. Managing the software process. Addison-Wesley, 1989

[13] WintoRoyce. Managing the Development of Large Software Systems. Proceedings of IEEE Westcon, 1970

[14] Frederich P. Brooks Jr.. The Mythical Man-Month. AddisoWesley Longman, 1995

[15] Roger S. Pressman. Software Engineering: A Practitioner’s Approach, Fifth Edition. McGraw-Hill Companies, Inc., 2019

[16] Steve McConnell. Rapid Development: Taming Wild Software Schedules. Micosoft Press, 1996

[17] Walker Royce. Software Project Management: A Unified Framework. AddisoWesley Longman, 1998

[18] Barry W. Boehm. A Spiral Model of Software Development and Enhancement. IEEE computer, 1988(5): 61~72

[19] Craig Larman. Agile & Iterative Development: A Manager’s Guide. PearsoEducation, Inc., 2019

[20] Barry W. Boehm. Anchoring the software process. IEEE computer, 1996(7): 73~82

[21] Philippe Kruchten. The Rational Unified Process: AIntroduction, Second Edition. Addison-Wesley, 2019

[22] Ivar Jacobson, Grady Booch, James Rumbaugh. The Unified Software Development Process. AddisoWesley Longman, Inc., 1999

[23] 沈備軍,陳誠,居德華。敏捷軟體過程的研究。計算機研究與發展,2019(11)

[24] Manifesto for Agile Software Development.

[26] 錢樂秋,張敬周,朱三元。Agile方法研究綜述。計算機應用與軟體,2019(6)