實驗十四 團隊項目評審&課程學習總結

 

項目 內容
這個做業屬於哪一個課程 任課教師博客主頁連接
這個做業的要求在哪裏 做業連接地址
做業學習目標

(1)掌握軟件項目評審會流程html

(2)反思總結課程學習內容算法

 

 

 

 

 

 

 

一.對實驗一問題回答

 

實驗一 通讀教材後提問數據庫

 

(1)在構建之法P63頁提到的軟件概要設計和軟件詳細設計有什麼區別?編程

答:概要設計就是設計軟件的結構,包括組成模塊,模塊的層次結構,模塊的調用關係,每一個模塊的功能等等。同時,還要設計該項目的應用系統的整體數據結構和數據庫結構,即應用系統要存儲什麼數據,這些數據是什麼樣的結構,它們之間有什麼關係。
詳細設計階段就是爲每一個模塊完成的功能進行具體的描述,要把功能描述轉變爲精確的、結構化的過程描述。
概要設計階段一般獲得軟件結構圖
詳細設計階段經常使用的描述方式有:流程圖、N-S圖、PAD圖、僞代碼等。數據結構

 

 

(2)書上P96頁提到一個完整軟件開發流程須要哪些步驟?框架

答:軟件開發通常分爲五個階段:
1.問題的定義及規劃
此階段是軟件開發與需求放共同討論,主要肯定軟件的開發目標及其可行性。
2.需求分析
在肯定軟件開發可行性的狀況下,對軟件須要實現的各個功能進行詳細需求分析。需求分析階段是一個很重要的階段,這一階段作的好,將爲整個軟件項目的開發打下良好的基礎。「惟一不變的是變化自己」,一樣軟件需求也是在軟件愛你開發過程當中不斷變化和深刻的,所以,咱們必須定製需求變動計劃來應付這種變化,以保護整個項目的正常進行。
3.軟件設計
此階段中偶要根據需求分析的結果,對整個軟件系統進行設計,如系統框架設計、數據庫設計等。軟件設計通常分爲整體設計和詳細設計。還的軟件設計將爲軟件程序編寫打下良好的基礎。
4.程序編碼
此階段是將軟件設計的結果轉化爲計算機可運行的程序代碼。在程序編碼中一定要制定統1、符合標準的編寫規範。以保證程序的可讀性、易維護性。提升程序的運行效率。
5.軟件測試
在軟件設計完成以後要進行嚴密的測試,一發現軟件在整個軟件設計過程當中存在的問題並加以糾正。整個測試階段分爲單元測試、組裝測試、系統測試三個階段進行。測試方法主要有白盒測試和黑盒測試。數據庫設計

 

 

(3)書上P223頁提到軟件的設計與實現包括哪幾個步驟?工具

 答:第一步,一個對軟件的全局觀點。系統經過逐步求精使得設計陳述逐漸接近源代碼。這裏有兩個基本步驟,第一步是初步設計(Preliminary design) ,關注於如何將需求轉換成數據和軟件框架。佈局

第二步是 詳細設計(Detail design),關注於將框架逐步求精細化爲具體的數據結構和軟件的算法表達。發生中的設計行爲、數據、算法和程序設計都須要由現代程序所需的界面設計這一清晰的行爲來結合起來。界面設計(Interface design) 創建程序佈局和人機交互機制。貫穿設計過程的質量由一系列的正式技術評定(formal technical reviews)或設計排演(design walkthroughs)來評價。單元測試

 

 

二.知識點總結

 

    • 可行性分析:可行性分析的過程分爲三個步驟:首先須要進一步澄清問題,而後導出系統的邏輯模型,最後得出系統實現方案。可行性主要分爲操做可行性、經濟可行性、技術可行性及法律可行性,採用NABCD方法對系統進行初步分析,爲將邏輯模型轉化爲物理模型,咱們還學習了數據流圖。
    • 需求分析:需求分析是軟件定義時期的最後一個階段,它的基本任務是準確的回答「系統必須最什麼」這個問題。在需求分析階段結束以前須要編寫需求規格說明書,以書面形式準確的描述軟件需求,在需求分析過程當中,應用mockplus創建了軟件原型。
    • 軟件設計:軟件設計主要是軟件概要設計和詳細設計。在概要設計時主要是根據需求分析階段的成果將系統進行功能結構的劃分。首先須要進行系統設計,從數據流圖出發設想完成系統功能的若干合理的物理方案,而後和用戶選定一個最佳方案,而後進行軟件結構的設計,肯定軟件有哪些模塊組成以及這些模塊的之間的動態調用關係。能夠用層析方框圖來描述習題的整體結構,在面向對象的設計中也能夠採用類圖,用例圖,活動圖,順序圖等來描述。在軟件詳細設計階段主要是肯定怎麼具體地實現用戶須要的軟件。結合具體的開發模式細化每一個模塊的算法流程,數據結構,和接口設計。在面向對象設計中,主要是完善類圖,精化類的屬性和操做,詳細定義類中服務參數和具體實現邏輯,依據軟件開發環境調整類的層次關係和關聯關係,定義軟件數據庫表結構等
    • 實現:主要包括編碼何測試部分。編碼主要是把軟件設計的結果翻譯成用某種高級語言書寫的程序,所以,程序的質量主要取決設計的質量,可是高級語言對選擇,特別是書寫程序的風格,也對程序的質量有很大的影響。測試主要是發現程序中的錯誤,主要測試方法有白盒測試和黑盒測試。
    • 驗收:項目驗收主要是咱們對本身項目成果的一個交付,在驗收時開發方也要有好的溝通能力,儘可能向客戶展現本身的成果,讓驗收方滿意。

 

三.心得體會

  • 轉眼間一學期就結束了,經過這學期的學習,我受益不淺。記得剛上這門課的時候,老師佈置了第一個任務就是申請本身的我的博客,提出本身經過通讀構建之法遇到的問題,當時咱們花費了不少時間在編輯博客上面,再到後來每次的博客撰寫的流暢,其實這也是一種收穫。再到後來的項目需求分析的編寫,利用mockplus製做項目原型設計、項目的編碼及測試,每一次的做業我都參與了其中,因此多多少少都有一些收穫。經過一學期的學習,我最大的收穫是親身經歷了一個完整的項目的誕生的過程,經過一系列的說明書的設計,我大概瞭解了編寫需求分析說明書、系統詳細設計說明書、編碼規範說明書的規範等等說明書的規範。學習了一些工具的使用,好比利用mockplus進行項目的原型設計,採用輕量級的Visio建模工具進行項目的建模。
  • 在咱們進行結對編程和團隊項目的過程當中,我最大的收穫是明白了拿到一個項目時須要先對它進行分解,再對每一個小模塊進行詳細劃分和設計,這樣作的好處就是目標明確、思路清晰、一個小模塊出錯不會影響其餘模塊,方便修改。再者,團隊合理分工也很重要,這會使得效率提高不少,但在作的過程當中也須要小組成員的共同協做,共同探討與研究。若是每次的任務你們都去參與,每一個人去承擔一點任務,這樣做業作起來也容易不少,還有一個問題就是在項目設計的過程當中小組成員要團結協做,遇到意見不統一時你們要及時溝通,努力去聽取別人中肯的意見,不能獨斷獨行。

 

四.總結

 

    • 1.統計在軟件工程實踐中,你完成了多少行的代碼。
      大約3500多行代碼。
    • 2.你在軟件工程實踐的各次做業分別花了多少時間?

      實驗 用時(h)
      實驗一 軟件工程準備 5
      實驗二 軟件工程我的項目 15
      實驗三 做業互評與改進 7
      實驗四 軟件工程結對項目 16
      實驗五 軟件研發團隊組建 7
      實驗六 團隊項目選題 5
      實驗七 團隊項目原型設計與開發 15
      實驗八 基於原型的團隊項目需求調研與分析 15
      實驗九 團隊項目需求改進與系統設計 15
      實驗十 團隊項目系統改進與詳細設計 15
      實驗十一 團隊項目設計完善與編碼 20
      實驗十二 軟件測試與Alpha衝刺 20
      實驗十三 Beta衝刺與團隊項目驗收 20
    • 3.哪一次做業讓你印象最深入?爲何?
      我印象最深入的一次做業是實驗十 團隊做業6:團隊項目系統設計改進與詳細設計,我在編寫代碼的時候,遇到了不少困難,好比添加酒店繳費功能時須要彈出一個窗口填寫相關信息,我在編寫代碼的時候,窗口老是沒法跳出,不顯示。以後,經過詢問學姐,解決了這個問題。還有以後的數據庫連接,因爲電腦的環境配置不合適,借用了同窗的電腦進行調試。此次做業,讓我深深的意識到請求別人幫助的重要性。
    • 4.累計花了多少個小時在軟件工程實踐上?平均每週花多少個小時?
      本學期總共在軟件工程實踐上用時150h,平均每週用時9h。
    • 5.你學習和掌握的新語言、新平臺。
      語言:Java Web、Java
      平臺:博客園、GitHub、中國大學MOOC
    • 6.其餘方面的收穫或提高
      經過本學期的學習我在編程能力、文檔撰寫能力、任務規劃能力、團隊協做的能力,自我學習能力等都有了進一步的提升,更多的是學會了在團隊合做中和其餘成員之間的交流和溝通以及遇到問題時自我解決的能力。
    • 7.填寫下表,總結一學期的學習中,你學習或使用的軟件工程開發工具、開發方法和建模方法

軟件開發工具、項目管理工具 軟件開發方法 軟件建模方法
Visio,墨刀、mockplus,GitHub,leangoo 原型方法、面向對象方法 UML建模、結構化建模

五.課程意見

  在時間進度安排方面很符合課程的進度,除了詳細設計那一階段時間有些倉促,畢竟你們之前接觸的項目比較少,要是真的對起手來會有點吃力,但願能夠增長一週時間。同時助教工做態度很好,會很細心的發現咱們的錯誤,並提示咱們及時改正。

相關文章
相關標籤/搜索