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

項目 內容
這個做業屬於哪一個課程 >>2016級計算機科學與工程學院軟件工程(西北師範大學)
這個做業的要求在哪裏 >>實驗十四 團隊項目評審&課程學習總結
課程學習目標 1.掌握軟件項目評審會議流程;2.對本學期全部知識進行回顧和梳理; 3.經過所學知識對以前所存在的疑惑進行再次思考並嘗試解答。

1、對實驗一所提問題的回答

實驗一 讀《構建之法》後的疑惑問題的回答:
Q1:
書上說,軟件=程序+軟件工程,那麼如今已經學了一學期的軟件工程了,軟件應該如何理解呢?軟件是一系列按照特定順序組織的計算機數據和指令的集合。通常來說軟件被劃分爲編程語言、系統軟件、應用軟件和介於這二者之間的中間件。正如前面的公式所講,軟件等於程序加軟件工程,程序又等於數據結構加算法,而軟件工程包括用戶體驗、用戶界面設計等,一些軟件開發活動如構建管理、源代碼管理、軟件設計、軟件測試、項目管理等相關內容是軟件工程的核心部分。如今再回頭看這些問題,不可貴出,程序(算法、數據結構)是基本功,在算法和數據結構之上,軟件工程又決定了軟件的質量。
Q2:關於團隊和領導力,之前我是不太接觸的,因此不太懂,由於之前咱們的學習不多有這種團隊合做的經歷,可是這學期咱們的不少課程尤爲是軟件工程這門課都是小組合做學習的,因此如今學完軟件工程,可能比較更能理解團隊和領導力。在一個團隊中,咱們講求人員的少而精,也就是說咱們的團隊不須要不少成員,可是每個成員都得有本身負責的模塊,要都盡本身的一份力,可是通過實踐才發現,事實要作成這樣很是困難。由於幾乎每一個小組裏面確定總有那麼幾個不幹活的,他加入小組只是讓本身不落單,甚至不掛科。因此,在小組的學習當中,咱們就要好好地去權衡,好比分配任務應該怎麼分配纔會更加合理。在我看來,每一個人的能力是不同的,確定有咱們人人都羨慕的那種學習好的「學霸」的存在,固然確定也有「學渣」的存在(並無針對我的,只是舉個例子),那麼在小組分配任務的時候,我以爲能夠稍微不公平一點,由於咱們既要學習還要幫助同窗,咱們能夠給學習稍微差一點的同窗分配一些他本身能作的會作的工做,咱們也不比較這個任務量少仍是很多難度大仍是不大,咱們要因人而異,應該給他們更多的機會,帶動學習能力稍微差一點的同窗,這樣才能你們一塊兒走向更高更遠的地方,畢竟小組是一個團體,就要有團結的氛圍以及行動,你們一塊兒進步纔是雙贏的局面。
Q3:學生在學習階段,好比說我做爲計算機專業的一名學生,自從上了大學讀了這個專業,天天就會面對不少名專業課,幾乎天天都跟編程脫離不了關係,咱們學過Python、C語言、Java和彙編語言等等語言。因此說在學習階段,能夠說具體編碼上花費的時間是很是多的,甚至要比工程師還多。可是,自從學了軟件工程這門課以後,咱們也知道,除了編碼,需求分析以及相關的一些文檔也是極其重要的。可是咱們以前一直注重編碼的工做而丟了其餘的學習,到用的時候就是一片空白。而反觀工程師們,他們在需求分析和測試上花的時間是比較多的,因此說,跟咱們一對比,好像感受兩個都是極端,是比較相反的。所以,我認爲做爲一名學生,咱們在學習的時候必定要抓重點,不能只學同樣東西而丟了其餘的,不能由於學某一個知識而只學這個知識卻跟別的知識脫節,咱們的學習都是相通的,包括各學科之間也是有着各類聯繫的,所以本身在學的時候作一個平衡,一塊兒學,而不是分開學把它們一刀兩斷。html

2、總結知識點

軟件開發的過程主要包括可行性分析、需求分析、概要設計、詳細設計、實現、運行和維護七大步驟:算法

  • 可行性分析:可行性分析是經過對項目的市場需求、資源供應、建設規模、工藝路線、設備選型、環境影響、資金籌措、盈利能力等方面的研究,從技術、經濟、工程等角度對項目進行調查研究和分析比較,並對項目建成之後可能取得的財務、經濟效益及社會環境影響進行科學預測,爲項目決策提供公正、可靠、科學的軟件諮詢意見。主要從經濟、技術、社會環境等方面分析所給出的解決方案是否可行,當解決方案可行並有必定的經濟效益和/或社會效益是纔開始真正的基於計算機的系統的開發。
  • 需求分析:需求分析就是把軟件計劃期間創建的軟件可行性分析求精和細化,分析各類可能的解法,而且分配給各個軟件元素。需求分析是軟件定義階段中的最後一步,是肯定系統必須完成哪些工做,也就是對目標系統提出完整、準確、清晰、具體的要求。任務是藉助於當前系統的邏輯模型導出目標系統的邏輯模型,解決目標系統的「作什麼」的問題。分析系統的數據要求,導出系統的邏輯模型,修正系統的開發計劃。
  • 概要設計:描述了軟件的總的體系結構就是概要設計,概要設計階段要把軟件「作什麼」的邏輯模型變換爲「怎麼作」的物理模型,即着手實現軟件的需求,並將設計的結果反映在「設計規格說明書」文檔中,因此軟件設計是一個把軟件需求轉換爲軟件表示的過程。
  • 詳細設計:詳細設計是對概要設計的一個細化,就是詳細設計每一個模塊實現算法和所需的局部結構。詳細設計的主要任務是設計每一個模塊的實現算法、所需的局部數據結構。詳細設計的目標有兩個:實現模塊功能的算法要邏輯上正確和算法描述要簡明易懂。
  • 實現:軟件實現就是將代碼利用編譯器編譯生成的軟件。
  • 運行和維護:軟件維護主要是指根據需求變化或硬件環境的變化對應用程序進行部分或所有的修改,修改時應充分利用源程序.修改後要填寫程序改登記表,並在程序變動通知書上寫明新舊程序的不一樣之處。包括正確性維護、適應性維護、完善性維護和預防性維護。
  • 測試:軟件測試是使用人工操做或者軟件自動運行的方式來檢驗它是否知足規定的需求或弄清預期結果與實際結果之間的差異的過程。它是幫助識別開發完成(中間或最終的版本)的計算機軟件(總體或部分)的正確度(correctness) 、徹底度(completeness)和質量(quality)的軟件過程;是SQA(software quality assurance)的重要子域。
  • 項目驗收:項目的驗收是軟件開發結束後用戶對軟件產品投入實際應用之前進行的最後一次質量檢驗活動。它要回答開發的軟件產品是否符合預期的各項要求以及用戶可否接受的問題。因爲它不僅是檢驗軟件某個方面的質量,而是要進行全面的質量檢驗,而且要決定軟件是否合格,所以驗收測試是一項嚴格的正式測試活動。須要根據事先制訂的計劃,進行軟件配置評審、功能測試、性能測試等多方面檢測。項目開發方應該提供《需求分析說明書》、《概要設計說明書》、《詳細設計說明書》、《數據庫設計說明書》、《測試計劃》、《測試報告》、《程序維護手冊》、《用戶操做手冊》、《項目總結報告》等一系列的文檔說明。數據庫

    3、心得體會

  • 我的項目:在個人我的項目中,我完成了詞頻統計軟件。其實就我我的而言,編程能力是比較薄弱的,因此從一開始上這個課真的挺吃力的,在作這個軟件的過程當中,我一直都遇到各類本身無法解決的困難。因此,第一個項目是比較迷茫的,也不知道有些地方爲何這樣作,也沒有更多地去思考。
  • 結對編程:結對編程是跟令外一名同窗合做完成的,在結對編程中,有了第一次的我的項目,再加上合做的同窗對個人指導與幫助,慢慢地我開始理解軟件工程是什麼樣的一套流程,須要作什麼東西,有什麼步驟,在編碼前要準備些什麼。隨着兩人的合做,對軟件工程的瞭解也在加深。
  • 團隊項目:軟件工程這門課這學期的重頭戲就數咱們的團隊項目了。咱們五我的爲一小組,作了一個宿舍管理系統,相比前面的我的項目和結對項目而言,這個就顯得比較複雜比較難。在五我的的合做過程當中,咱們一直都是在合做中共同窗習又「各司其職」,一個團隊的合做很重要,可是我以爲分工也必不可少。在整個系統開發過程當中,咱們的團隊力量就顯得很是重要,畢竟一個團隊的靈魂就是團隊的力量,只有你們一塊兒合做才能讓團隊發揮出巨大的力量。編程

4、總結和提高

1.在軟件工程實踐中我完成的代碼

在軟件工程實踐中我大概完成了兩千多行代碼數據結構

2.在軟件工程的各次做業中所花的時間

做業 所花的時間(min)
>>實驗一 讀《構建之法》後的疑惑 120
>>201671030106 詞頻統計軟件項目報告 350
>>201671030106何啓芝 實驗三做業互評與改進報告 200
>>201671030106何啓芝 《英文文本統計分析》結對項目報告 400
>>《隊長說得隊》第一次做業:團隊亮相 60
>>《隊長說得隊》第二次做業:團隊項目選題報告 80
>>《隊長說得隊》第三次做業:團隊項目的原型設計 200
>>《隊長說得隊》第四次做業:項目需求調研與分析 200
>>《隊長說得隊》第五次做業:項目需求分析改進與系統設計 120
>>《隊長說得隊》第六次做業:團隊項目系統設計改進與詳細設計 120
>>《隊長說得隊》第八次團隊做業Alpha衝刺 100
>>《隊長說得隊》第九次團隊做業:Beta衝刺與驗收準備 120
>>實驗十四 團隊項目評審&課程學習總結 200

3.印象最深入的一次做業

我印象最深入的一次做業是《隊長說得隊》第八次團隊做業Alpha衝刺,此次做業是咱們《隊長說得隊》小組共同完成的,此次做業的要求是任選連續的五天進行Alpha衝刺,天天發一篇博客,天天都分配任務。咱們小組正好五我的,本來計劃的是五我的天天一我的負責發博客(可是工做你們都要作),可是實際上咱們那幾天的做業無論是博客也好仍是下來作的項目任務也好,從頭至尾都是咱們五我的一塊兒完成的,咱們一塊兒討論、一塊兒學習、一塊兒進步。經過此次的做業讓我感覺到了團結就是力量,而且真正地詮釋了什麼是「團隊」。咱們是一個團隊,是不可分割的一個總體。時間飛快,一學期已經結束了,可是我相信,咱們《隊長說得隊》會一直都在,會一直進步,愈來愈好!數據庫設計

4.在軟件工程上累計花的時間以及每週花的時間

在這學期的軟件工程開發上我累計花費的時間是48h,平均每週話費的時間是2.6h。編程語言

5.學習和掌握的新語言、新平臺

在這學期的學習過程當中,我學習和掌握的新語言是JavaWeb,學習到的新平臺是博客園、GitHub、中國大學MOOC、Markdown、雨課堂工具

6.總結軟件工程的開發工具、開發方法和建模方法

軟件開發工具、軟件管理工具 軟件開發方法 軟件建模方法
Github,MyEclipse,MySQL,墨刀,mockplus 面向對象方法,Jackson方法,軟件重用,原型方法 數據流圖,數據庫建模,面對對象建模,結構化建模

7.其餘方面的收穫和提高

經過這一學期的學習,我學習到的額外的收穫就是利用MOOC網進行自主學習,也體會到了老師的翻轉課堂教學模式。性能

5、對課程的建議

一學期的課程很快結束了,在學習軟件工程這門課的過程當中,我學到了不少。首先,我以爲代老師是很是認真負責的一位老師,並且教學方式也很是新穎,真正作到了翻轉課堂。還有幾位助教老師也很負責任,全力以赴地爲咱們批改做業,任務量很大,可是他們真的是盡職盡責,認真地給每位同窗評論,這讓我很敬佩,感謝老師們的指導與幫助。其次,這門課的學習可能花費的時間是比較多的,由於做業的任務量比較大比較耗時間,可是在這個過程當中我學到的知識也是不少的。可是我以爲一學期下來,老師的翻轉課堂對咱們來說,可能真的不是很適合,也多是咱們一時適應不了,可是感受效果不是很好。總之,感謝代老師這一學期的教導!學習

相關文章
相關標籤/搜索