201671010456-張瓊 實驗十四 團隊項目評審課程學習總結

博文簡要信息表

項目內容
這個作業屬于哪個課程http://www.cnblogs.com/nwnu-daizh/
這個作業的要求在哪里https://www.cnblogs.com/nwnu-daizh/p/11093584.html
課程學習目標掌握軟件項目評審會流程,反思總結課程學習內容。

任務一

驗收意見表GitHub倉庫地址https://github.com/snxfd123/designfile/tree/master/word

任務二

1、對實驗一問題的解答及闡述

(1) 《實驗一 軟件工程準備提出》的問題鏈接
https://www.cnblogs.com/zhangqiong/p/10512047.html
(2) 《實驗一 軟件工程準備提出》的問題解答
1.PSP(prsonal software process)的基本流程是什么?第二章中提到個人開發流程,那么作為一名大學生在設計軟件工程作業時要注意哪些方面的拓展?標準又是怎么樣的呢??? PSP是一種可用于控制、管理和改進個人工作方式的自我持續改進過程,是一個包括軟件開發表格、指南和規程的結構化框架。PSP與具體的技術相對獨立,其原則能夠應用到任何的軟件任務中。PSP能夠說明個體軟件過程的原則,幫助軟件工程師做出準確的計劃。PSP為個體的能力也提供了一個階梯式的進化框架,以循序漸進的方式介紹過程的概念,每一級別都包含了更低一級別中的所有元素,并增加了新的元素。這個進化框架是學習PSP過程基本概念的好方法,它賦予軟件人員度量和分析工具,使其清楚地認識到自己的表現和潛力,從而提高自己的技能和水平。 ?? 作為一名學生在設計軟件工程作業時要注意以下方面,首先是概念化與分析,任何軟件產品的核心都是解決用戶需求問題的,在這個階段,要明確軟件的使用目的。首先,小組同學之間要密切合作,制定出明確,簡介的用戶需求分析以及軟件的開發方案。然后徐討論這些方案的可行性。如果用戶的一些需求在技術上是可行的,如果提出的方案都可以實現,還應該評估企業的成本投入是否能夠承受。其次是設計上,軟件開發的設計階段要對軟件系統進行概述,并確定其關鍵要素,作為后者的結果,團隊技術規范-功能的詳細描述,將其分解成為更小的模塊來開發。在實施階段,一旦軟件開發的要求及規范已經交給開發團隊,技術人員就可以進行編碼。整個團隊的工作分工基本是一樣的,這時候小組的負責人也就是組長要將開發任務細化給團隊每個人,將流程和報告上報給負責人,及時了解進度。軟件測試與開發要同時進行,每次功能開發完之后,可以立即進行測試,以盡可能早的檢測和修復錯誤。最后部署時,也要模擬真實的場景,編寫技術手冊,用戶手冊等。總之一切步驟都要嚴格遵守軟件工程的標準進行。 2.一個初級軟件工程師怎樣一步一步成為一個卓越的高級工程師?需要做哪些方面的努力?證書真的那么重要嗎???成為一名初級軟件工程師都是不容易的,在學完了這門課程之后才明白,各個方面都還非常欠缺,代碼、文檔編寫、理論、對各個階段的把控,都很缺經驗。現在的我需要的是腳踏實地,關于努力,各個方面齊頭并進吧。證書什么的只是一個證明而已,就算有了也只能說明考試過了,和能力和實際操作能力關系都不大。因為就計算機等級考試而言,背題庫也可以過,就算是有點技術了,也還是要多多實踐才行,現在的我,實踐的基礎薄弱,還需要多方面的經驗。所以多學習技術才是硬道理,證書什么的就只是一個見證而已,自己到底是怎樣的情況,只有自己知道,只有實戰才能顯示出能力。 3.在寫代碼的過程中,應注意哪些規范?并談談規范的重要性。??寫代碼的過程中要遵守的規范如下:類的私有成員變量必須以m_開頭,而且其后的內容必須與相對應的屬性名相同,也就是說第一個字母必須大寫,屬性實現中的Get和Set方法的內容不可寫在一行中,“{”必須寫在第二行;每一段程序與下一段程序之間必須且只能有一行空行;using部分的內容必須進行分段,相同的內容放到一段中,現在可以參考的規則是:System放到一塊,MicroSoft放到一塊,Newegg放到一塊,各個塊之間要加一行空行,而且相同的內容要盡量放到一塊,例如System要和System.Data要放到一塊;類的私有成員變量定義要放到類的最前面,且之間不需要加空行;注釋的上部沒有空行,注釋的下部要與using之間有一行空行;實體類和接口中不需要注釋,除非非常有必要說明;文件名必須與主體類的名稱相同;對于相同功能的變量,名稱必須一致;在一個類中,如果沒有非常的必要,不要加region;操作符的兩邊必須要加一個且只能加一個空格,包括:枚舉必須單獨定義一個類,且必須單獨放在一個文件中,可以烤爐建立一個Enum目錄,將所有的枚舉類放到這個目錄下;定義的枚舉類型必須顯示的指定枚舉的類型和每一個枚舉的數值;每一個屬性或方法的屬性定義(DataContract,DataMember,DataMapping,ServiceContract,OperationContract等等)必須與定義相連,不許有空行;DataMaping放在DataMember的上方;定義實體類時私有變量的順序盡量與屬性的順序一致;每一個方法要加注釋,注釋在方法之上,與方法相連,之間沒有空行;每一次代碼修改盡量加注釋;在CheckIn時,必須加注釋;在try catch中定義Exception的變量名稱一律用ex;如果返回值是List類型,則不可返回Null。代碼規范的重要性是不言而喻的,遵守以上規范,可以減少bug的產生,可以降低維護成本,有助于代碼審查,還能提高程序員本身的技能,更好的發展。
(3) 學習過程及方法
??在學習的過程中,因為以前并沒有基礎過大型的項目,所以就按照老師的要求,首先對構建之法那本書進行詳細的研讀,在后面做項目的過程中,再參照軟件工程導論這本書,結合老師講解的內容,對軟件項目的開展過程有了大概的了解,然后就是每周一次的實驗,通過實驗,進行對理論方法的實驗,在整個過程中,對軟件項目的流程進度都有很深的理解。在經驗方面還有不足。在學習方法上,在開始是使用好工具,然后是學習工具背后的方法,在然后是掌握其本質,最后是用最簡單易懂的方式傳遞給他人。學習軟件工程,需要先有一個全景的印象,他的核心是什么?是有哪幾塊構成的,這樣才能更好的理解每個知識點和彼此之間的聯系。采用做中學(在工作中學習),自下而上;從教中學(技術分享或指導同學時),自上而下。軟件工程是一門為了應對軟件危機而產生的學科。主要是聚焦于質量,構建和維護高質量的軟件。核心的知識點主要是三大要素:過程、方法和工具,也就是圍繞軟件開發過程,產生的方法學和工具。用一個簡單的公式來理解的話,那就是:軟件工程=工具+方法+過程。
(4) 原來提出的問題是否還不明白? 學習中產生的新的問題
??前面提出的問題都已經理解了。在學習中產生的最多的也能算是問題,倒可以說是困惑。比如怎樣分配任務才是最合理的,各個小組成員之間才不會有怨言,怎樣分配才算是最能展現個人能力的?對于已經做了的工作,是不是都應該被重視?這些已經做了但是又不滿意的工作會導致做的人喪失信心,從而懷疑自己的能力,這時候應該怎樣改變現狀呢?在整個團隊合作完成項目的過程中,如果有人的意見不被采納,這樣一來的話本來就因為學到不夠好才常常被忽視,越忽視越學不好,導致惡性循環,這種現象只靠自我調節嗎?...類似這樣的困惑,似乎在每個項目中都有,可能還需要不斷的適應吧。

2、在項目的各個階段中學到的“知識點”

可行性分析階段技術可行性、經濟可行性、管理可行性的分析,以及對各種風險的預測評估
需求分析階段需求獲取方式、需求分析、編寫需求規格說明書的方法及需求驗證
軟件設計階段軟件需求的理解、表述、設計時要注意軟件可擴展性、靈活性、可維護性和軟件成本等
實現階段軟件部署實施方案的編寫、用戶手冊的編寫、維護手冊的編寫、回歸測試
測試階段測試文檔的編寫規范、測試的幾種方式,如單元測試、模塊測試、回歸測試等
項目驗收階段驗收方式、驗收文檔,驗收階段雙方的交涉、用戶驗收、安全檢測

3、個人項目/結對編程/團隊項目的個人經歷及心得體會

??個人項目:在個人項目作業中,遇到的困難很多,花費的時間也很多,因為對語言的不熟悉,所以參考了網上的代碼。剛剛拿到這個作業時不會做,翻書復習了java,對個人項目的流程有了一定的掌握。那時候柱狀圖的功能并沒有實現,只實現了最簡單的單詞總數統計和詞頻統計。 里面涉及到了好多函數的應用,有很多都是不會的,意識到數據結構的重要性,而自己對這部分知識的掌握還僅僅停留在做題上。但是也有收獲,對GitHup的操作流程也熟悉了。??結對項目:在結對項目合作中,我們首先是互相評論了彼此的上一次作業,找到了優點和不足,用于那次試驗完成時要借鑒的技術和改正的地方。先找到不足,然后改正。接著我們規劃了要實施的步驟,首先完成任務一,因為相對來說簡單些,也只有在任務一完成的基礎上才能開始任務二的作業。接著是任務二的需求分析,相對來說較簡單,就是在實驗二的基礎上加上前端界面。然后是概要設計和詳細設計,我們是打算放在一起進行的,主要設計程序的類和各個模塊,以及各個模塊之間的交互,還有Java后臺和前端的交互。在后臺和前端交互的時候,因為不知道要用什么接口合適,所以我們查找了很多的資料,看到可以用數據庫,也可以用json,ajax等,最終選擇了一個特殊的類servlet作為實現java后臺和前端的交互。在這個過程中花費了大量時間。那次實驗中我和搭檔合作探究,過程很愉快,更體會到了團隊意識的重要性。??團隊項目:這學期的軟件工程教會了很多東西,不僅是在編程方面的提升,還懂得了在一個開發團隊中怎樣互相協作。同時讓我了解到一個軟件的開發并不是當你擁有編程能力就可以完成開發的,在開發前需要準備很多東西像調查問卷,需求分析等,只有經過這些科學的方法,我們才能開發出用戶需要的軟件。在項目開發中我們會遇到很多的難題,和同伴們解決這些難題也是非常快樂的事。在這之中我們也得了很多經驗,這對我們在以后的工作中有很大的幫助。

4、軟件工程的實踐總結和提升

(1) 統計在軟件工程實踐中,你完成了多少行的代碼;
??寫代碼是我的弱項,在整個實踐中,我基本沒有參與代碼的編寫,只是編輯文檔和博客,也對部分代碼進行了測試。
(2)哪一次作業讓你印象最深刻?為什么?
??讓我印象深刻的作業是最后一次團隊作業,也就是實驗十三,這次作業的量很大,需要查找很多資料,看很多文獻才可以做出來,我們團隊成員分工之后,每人都要寫兩到三個文檔,然后還有PPT的編寫,博客的編寫,最后還要把各個文檔匯總成為一個文檔,所以是很費時間的一件事,因為作業的量很大,所以那天是一天都沒有出門,到晚上寫完所有文檔都已經九點多了,外面下著小雨,在淅淅瀝瀝的雨聲中做完了所有工作,思緒良多。
(3) 累計花了多少個小時在軟件工程實踐上?平均每周花多少個小時?
??累計花費的時間要超過200個小時,每周的作業時間加上學習的時間,看慕課視頻的時間,實踐中的記錄是瑣碎的,要一點一點收集的,所以大概平均每周花費的時間大概為10個小時。
(4)你學習和掌握的新語言、新平臺;
??新語言HTML,這是種網頁語言,可以用來做網頁,也可以進行博客的編寫,簡單方便易用。新平臺博客,慕課,對于博客的編寫,現在已經非常熟練了。慕課網上有大量的可供學習的視頻,是學習的很好的平臺。另外還有墨刀,燃盡圖看板等工具。

(5)你在軟件工程實踐的各次作業分別花了多少時間?(做一個列表)

各次試驗花費時間(h)各次試驗花費時間(h)
實驗一軟件工程準備5實驗八基于原型的團隊項目需求調研與分析25
實驗二軟件工程個人項目8實驗九團隊項目需求改進與需求設計15
實驗三作業互評與改進6實驗十團隊項目需求改進與詳細設計22
實驗四軟件工程結隊項目8實驗十一團隊項目設計完善30
實驗五軟件研發團隊的組建10實驗十二軟件測試與alpha沖刺21
實驗六團隊項目選題12實驗十三beta沖刺與團隊項目驗收15
實驗七團隊項目原型設計與開發15實驗十四團隊項目評審&課程總結7

(6) 填寫下表,總結一學期的學習中,你學習或使用的軟件工程開發工具、開發方法和建模方法;

軟件開發工具、項目管理工具軟件開發方法軟件建模方法
eclipse、墨刀、Visio、GitHub面向對象分析的軟件開發方法結構化建模方法,面向對象建模方法

5、其他方面的收獲或提升。

??在選用工具方面知道了很多,比如墨刀,比如Visio,這些常用工具可以幫助我們在以后的項目中更便捷的呈現自己的想法。還有就是友誼的提升,由于項目的不斷接觸,我們都記住了彼此的笑容,收獲良多。

6、你認為目前的課程存在哪些問題,你有什么更好的建議。

??我覺得目前課程在進行的方式上對我們學習軟件工程很有幫助,通過實驗的方式實踐,也能讓我們積累經驗。代老師在教學過程中的態度認真嚴謹,一絲不茍,這種精神是我所敬仰和喜歡的,但是每周的作業量有些大,每周都要花費很多的時間在軟件工程作業上面,從開始到做完,不知不覺間一個下午,有時候還得到晚上。希望能適當減輕作業量。

轉載于:https://www.cnblogs.com/zhangqiong/p/10687672.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248625.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248625.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248625.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

強大的APIClound云修復——告別繁瑣的編譯打包流程

小編接到一項目的二期開發任務,拉下代碼開始熟悉大概的框架、技術、上線流程等前期工作,本app是通過vue技術進行開發,使用ui是 vant 庫,打包上線則是使用的 APIClound 平臺; 在我們的app上線后,如果我們改…

研究下貝塞爾曲線

今天研究了下貝塞爾曲線,感覺還是很有價值的。 這里貝塞爾曲線是幾個用法: 1.模擬曲線擬合。將折線找一個平滑的方案獲得曲線的效果。聯想可以獲知,可以作為工程設計的一種方式。 2.模擬拋物線和實際場景中的一些物理特性,即物理上…

你對ES6究竟了解多少?—— 有這一篇就夠用了

1. ES6相關概念(★★) 1.1 什么是ES6 ES 的全稱是 ECMAScript , 它是由 ECMA 國際標準化組織,制定的一項腳本語言的標準化規范。ES6 是ES2015以后的泛稱 1.2 為什么使用 ES6 ? 每一次標準的誕生都意味著語言的完善,功能的加強。JavaScrip…

科創板基礎知識

交易制度 1、上市前5個交易日不設將跌幅限制;其后漲跌幅限制為 20%; 2、單筆申報不小于 200股。 參考資料: 科創板圖文解讀 科創板投教長圖文系列(四):詳解科創板股票交易的特別規定 上交所投教&#xff1a…

0_0 保留字

引自《 JavaScript 權威指南》2.4 / P28 ~ 29 保留字 部分 保留字 JavaScript 把一些標識符拿出來用作自己的關鍵字。因此,就不能再在程序中把這些關鍵字用作標識符了: 保留字 Part1.txt123456breakdelete functionreturntypeofcasedoifswitchvarc…

JavaScript 高級——詳談面向對象

1.面向過程與面向對象 1.1面向過程 面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候再一個一個的依次調用就可以了。 1.2面向對象 面向對象是把事務分解成為一個個對象,然后由對象之間分工與合作。…

UVa202Repeating Decimals (循環小數)

解答&#xff1a; 因為除數是固定的&#xff0c;所以只要判斷被除數是否出現過即可。 #include<iostream> #include <cstdio> #include <cstring> using namespace std; int m,n,vis[5000],res[5000],temp[5000],num,t,x; int main() {while(scanf("%d%…

構造函數、原型、繼承原來這么簡單?來吧,深入淺出

構造函數 小編上篇博客中介紹到的通過關鍵字class方式定義類&#xff0c;然后根據類再創建對象的方式&#xff0c;是ES6中語法&#xff0c;現在很多瀏覽器對ES6的支持還不是很好&#xff0c;所以也要學習通過構造函數&#xff08;構建函數&#xff09;的方式創建對象 問&…

[網絡流24題] 航空路線問題 (費用流)

洛谷傳送門 LOJ傳送門 這道題的圖還挺好想的吧 反正都是無向邊&#xff0c;起點走到終點再回到起點&#xff0c;就相當于從起點走$2$次到達終點&#xff0c;且這兩次不經過相同的點&#xff0c;還要經過盡可能多的點 很經典的費用流建圖 限制點通過次數->拆點連邊&#xff0…

Go語言字符串和正則表達式

字符串相關方法 獲取字符串長度 注意: Go語言編碼方式是UTF-8,在UTF-8中一個漢字占3個字節package main import "fmt" func main() { str1 : "lnj" fmt.Println(len(str1)) // 3 str2 : "lnj" fmt.Println(len(str2)) // 12 } 如果字符串中包含中…

你疏漏的 JS 函數硬核知識?這里幫你總結了

重點 更多前端知識 誠邀各位前端從事者愛好者加入前端大佬技術交流社區&#xff0c;本社區主要分享技術棧、個人心得、技術交流、問題解惑等前端體系交流 點擊下方文字加入 前端大佬技術交流社區 1. 函數的定義和調用 1.1 函數的定義方式 方式1 函數聲明方式 function 關鍵…

7 月 1 日

7 月 1 日 今日內容 1.計算機基礎知識 2.python簡介 3.快速入門 昨日回顧 無內容詳細 1.計算機基礎知識 輸入輸出設備 CPU 硬盤 電源 中央處理器 處理各種數據 相當于人的大腦 內存 存儲數據 硬盤 存儲數據的 什么是操作系統 控制計算機工作的流程 軟件 什么是應用程序 安裝在操…

再見了 React、Angular,Vue3 才是 yyds

切記一定要看到最后&#xff01;&#xff01;&#xff01; 最近看到一篇文章上面是一作者資訊一位IT前輩&#xff0c;問他怎么看待工作 2 年的前端開發&#xff0c;月薪就高達 30k、40k 的現狀。 他說&#xff0c;在眾多編程技術中&#xff0c;前端算比較容易入門和提升的&am…

HBase實戰:記一次Safepoint導致長時間STW的踩坑之旅

本文記錄了HBase中Safepoint導致長時間STW此問題的解決思路及辦法。上篇文章回顧&#xff1a;HBase Replication詳解?過 程 記 錄現象&#xff1a;小米有一個比較大的公共離線HBase集群&#xff0c;用戶很多&#xff0c;每天有大量的MapReduce或Spark離線分析任務在進行訪問&a…

scrapy 第一個案例(爬取騰訊招聘職位信息)

import scrapy import jsonclass TzcSpider(scrapy.Spider):# spider的名字&#xff0c;唯一name tzc# 起始地址start_urls [https://hr.tencent.com/position.php?keywordspython&tid0&lid2268]# 每個url爬取之后會調用這個方法def parse(self, response):tr resp…

系統帶你學習 WebAPIs 第一講

Web APIs 本篇學習目標&#xff1a; 能夠通過ID來獲取元素 能夠通過標簽名來獲取元素 能夠通過class來獲取元素 能夠通過選擇器來獲取元素 能夠獲取body和html元素 能夠給元素注冊事件 能夠修改元素的內容 能夠區分innerText和innerHTML的區別 能夠修改像div這類普通元素的屬性…

react-webpack config webpack@3.4.1

1.最重要的一點 yarn add webpack3.4.1 -g 2. 解決跨域請求 webpack.json 中添加 https://segmentfault.com/q/1010000008190876?_ea1579884 webpack config less -----框架 ----查看考鏈接 https://blog.csdn.net/mjzhang1993/article/details/79013430轉載于:https://w…

系統帶你學習 WebAPIs 第二講

Web APIs 本篇學習目標&#xff1a; 能夠說出排他操作的一般實現步驟 能夠使用html5中的dataset方式操作自定義屬性 能夠根據提示完成百度換膚的案例 能夠根據提示完成全選案例 能夠根據提示完成tab欄切換案例 能夠區分元素節點、文本節點、屬性節點 能夠獲取指定元素的父元素 …

在微信瀏覽器中 location.reload() 不刷新解決方案(直接調用方法)

1、問題 在微信瀏覽器中&#xff0c;需要時刷新當前頁面。 正常情況下我們直接使用 location.reload 方法來刷新。 2、解決方法 function realod(){var {search,href} window.location;href href.replace(/&?t_reload(\d)/g,)window.location.href href(search?&:…

Python爬蟲學習筆記1:request、selenium、ChromeDrive、GeckoDriver等相關依賴安裝

系列學習筆記參考&#xff1a;python3網絡爬蟲開發實戰 requests # pip install requests import requestsselenium Selenium是一個自動化測試工具&#xff0c;利用它我們可以驅動瀏覽器執行特定的動作&#xff0c;如點擊、下拉等 操作 。 對于一些 JavaScript誼染的頁面來說&a…