軟工個人總結

目錄

  • 一、個人提升
  • 二、寫下屬于自己的人月神話
  • 三、對下一屆、后來人、自己的建議
  • 四、我的團隊——Clover
  • 五、關于代碼質量
  • 六、學過軟件工程?
  • 七、自我介紹
  • 八、個性發揮

一、個人提升

1. 開學初的目標

希望通過團隊合作領會團隊合作的內在精神,希望在分工完成項目的過程中鍛煉自己的專業實踐能力,能在團隊中發揮作用。學習完成一個軟件項目的流程,細節。

實現了嗎??

  • 實現了,Clover的分工從模糊到明晰,開發一個APP涉及方方面面,文檔、美工、編碼,每個人興趣不一樣,都有用武之地,Clover已經逐漸有了凝聚力,有了一個共同目標:開發PMD。從需求分析、確定選題、編碼規范、系統結構設計、github項目管理、兩個階段沖刺及審核、用戶體驗報告、宣傳文案,整個流程走了一遍,仔細想想,編碼只占20%是有道理的,創造一個有生命的軟件需要需要技術科學,也需要管理科學。之前學了java基礎,現在入門安卓,編碼實踐有一定的提升入門,后續繼續努力,從入門到精通,拒絕從入門到停滯。

項目可以用于解決實際問題,滿足一定數量的用戶需求。

實現了嗎??

  • 基本實現,PMD在復習的時候自己用著還是挺不錯的,很多用戶反饋說其實在開學初那個階段可能更有用,期末大家還是會好好專心學習的。

2.學習和使用的新軟件

  • Xmind思維導圖
  • 墨刀原型設計

3.學習和使用的新工具

  • github,學會用github管理項目,進行編碼協作,發布issue、建立milestone、版本管理,現在在合作其他實踐項目時也會想到用github協作。

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

  • 安卓
  • Android Stdio

5.統計一下,你在這門軟件工程實踐中,完成了多少行的代碼

github顯示2755++/924--,核心不多。

6.學習和掌握的新方法

  • NABCD需求分析方法
  • JUnit單元測試

7.其他提升

  • 實踐過程中,在老師的時間安排,加上自己的時間安排,有序地完成任務,增強了合理安排時間按時完成任務的意識;編碼命名規范意識增強,現在寫代碼都會注意命名問題,努力提高自己代碼的可讀性,李先僧一直強調命名規范問題,嗯,我會好好注意的,認真看他的編碼規范;寫了挺多博客作業,文檔能力有了提升,會注意排版,內容組織,把自己做的事用文字表達出來,用文字記錄。

二.寫下屬于自己的人月神話

1.需求分析與選題確立

選題確立是經過小組討論決定的,每個人提出自己的想法,大家一起分析討論可行性,最后確定做實踐管理軟件。寫需求規格說明書的時候,按照國標寫,里面有很多要求,整份需求分析報告20多頁,我們的項目算比較小的,最后做出來的軟件界面和書里不一樣,已經顛覆,app核心思想沒變,功能實現基本符合需求書所寫的,有一些點還沒實現。需求分析很重要,應該要找真實有需求的用戶。我們小組打算繼續開發PMD,在繼續開發前應該再仔細做下需求調研分析,尋找PMD最真實的用戶,分析開發可持續性,再決定具體怎么做,減小風險。

2.編碼規范、系統結構設計

看李先僧的mvp代碼框架,模模糊糊懂了系統結構這東西了,大腦里有了系統結構這一概念,前端后臺分工獨立開發確實提高效率,代碼結構好,可維護性增強。alpha階段沒有看李先僧的編碼規范,那時候確實沒有團隊編碼規范的概念,有了經驗教訓,現在編碼規范意識增強了很多,在自己寫代碼的時候也會注意命名規范。

3.沖刺階段

在沖刺階段,由于自己的缺少安卓編碼經驗,做的只是簡單的界面編碼,測試,編碼經驗關鍵在于平時的積累,之后要加強自己的編碼實踐。由于有java基礎,所以入門安卓較快,遇到問題問李先僧,問度娘,學習過程中了解了怎樣使用庫,使用別人造好的車輪,也學習別人的代碼,試著自己寫了自定義view,希望自己能保持這種學習敲代碼的精神,學精一門語言。

4.用戶體驗報告

做真實用戶體驗的時候,發現我們離滿足用戶需求還有一定距離,前期需求分析要做得全面,在開發過程中,要階段性和用戶交流。

5.宣傳推廣文案

宣傳要找到宣傳點,自己的app要有殺手功能吸引用戶,這些問題在需求分析、軟件設計時就要考慮好。


三、對下一屆、后來人、自己的建議

  • 對下一屆:選題的時候可以要確定核心功能,功能點在精不在多,要確保2個沖刺能夠完成,尤其是殺手功能,這樣子才能較為完整地走過軟件構建過程。

  • 對后來人:大一大二課余時間還是比較多的,自己多做一些編碼實踐,至少學好一門語言,除了學書上的語法知識,自己要認認真真完成幾個小項目,有助于深入理解編程語言,在大三綜合實踐較多的時候就不用花很多時間在語言學習上,把時間花在提升專業能力上。推薦“做中學”的軟件工程教學模式。整理了博客鏈接,博客作業量蠻大的,所以要積累寫博客(寫文檔)經驗,提高表達能力,提高效率。

  • 對自己:多學習,多實踐

  • 感謝棟哥,助教,隊友~。很充實的一學期,當時選這門課是希望可以得到更多的鍛煉,目標達成。


四.我的團隊——Clover

1020753-20161231230342851-869089717.jpg

  • 隊友說這張圖P得很像全家福,是挺溫馨的,笑容很可愛,很溫暖。和這張圖一樣團隊相處十分和睦。我們成員來自3個宿舍,除了和舍友,和其他人都是不熟悉的,第一次選題會議大家都很靦腆,見面、站立式會議的時候也是靦腆的。最欣喜的是beta的那次會議,大家很自然地聊天,應該是在共同完成一個目標過程中增進了彼此的了解,所以大家可以敞開心扉了~李先僧說得沒錯,Clover缺少激情和活力。Clover成員的分工已經明晰了,大家相互配合,各盡所能。還沒吵過架,起過強烈爭執,所以覺得我們沒有經過磨合階段,又有點處在規范階段的樣子。軟工的另一個大收獲是認識了這個團隊的人~

五.關于代碼質量

  • 評價代碼的指標有:完整性,可移植性,可重用性,可讀性、正確性、可測試性等,指標很多,這幾個指標應該是自己首先要努力達標的。可讀性是首要,自己的代碼命名一開始不符合編碼規范(很不想去看編碼規范,作死),可讀性不高,閱讀編碼規范,逐漸改進中;正確性和可測試性基本達標了;可重用性很重要,積累自己的代碼庫,但是這點達標率為0,要做到這點還需多學習、多實踐。

六、學過軟件工程

1. 研發出符合用戶需求的軟件

PMD符合一部分人的需求,還需要改進

2.通過一系列工具,流程,團隊合作,能夠在預計的時間內發布 “足夠好” 的軟件
有項目規劃/需求/設計/實現/發布/維護,有定時的進度發布 ; 而不是: 通過臨時熬夜,胡亂拼湊,大牛一人代勞,延遲交付等方式糊弄

  • PMD有完整的需求規格說明書,編碼規范文檔;
  • 用github進行項目管理:里程碑設定、issue發布、版本管理;
  • PMD編碼是團隊成員通過github協作完成;
  • 沖刺階段任務燃盡圖顯示,個人進度匯報;
  • 在alpha、beta階段驗收都能正常演示;
  • PMD完成后交付用戶并收集用戶反饋,進行是否繼續開發及如何完善的分析。

3.并且通過數據展現軟件是可以維護和繼續發展的。

github鏈接

  • github上有PMD相關文檔、源碼,可以繼續開發、維護。

七、自我介紹

姓名:林錦
自我介紹:對許多事物抱有好奇心,喜歡大自然,隨性不隨意。希望自己不忘初心。


八、個性發揮

  • 想放一張圖,不知道放什么圖,后來選了這張自己拍的這張圖片。原因是自己挺喜歡這張圖,清新,有自然的味道。貼近自己總結時的心情:平和、滿意。上完軟工課后似乎增進了和代碼的感情。
    1020753-20161231233419929-1908761369.jpg

轉載于:https://www.cnblogs.com/linjin/p/6235680.html

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

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

相關文章

Tomcat上下文JUnit @Rule

創建測試上下文的JUnit Rule的初稿。 這可以用Spring上下文規則可用于 這個帖子 創建集成測試一個完整的Spring上下文。 import org.apache.commons.dbcp.BasicDataSource; import org.apache.log4j.Logger; import org.junit.rules.TestRule; import org.junit.runner.Descrip…

排序算法之(7)——堆排序

【堆排序的思路】 堆排序主要是利用了堆的性質。對于大頂堆:堆中的每一個節點的值都不小于它的孩子節點的值,具體可參考我的還有一篇博客http://blog.csdn.net/adminabcd/article/details/46880591,那么大頂堆的堆頂元素就是當前堆中全部元素…

HTML基礎:基本標簽簡介(3)

html中有很多標簽&#xff0c;下面介紹最基本的幾個標簽。 1、meta 是head標簽中的一個輔助性標簽。 有2個重要屬性&#xff1a; &#xff08;1&#xff09;name 可以優化頁面被搜索到的可能性。name中可以指定屬性&#xff0c;content是屬性值。 <html><head><…

java 字符碼_Java字符編碼

編碼原理介紹(中文編碼雜談)&#xff1a;int -> byte可以直接使用強制類型轉換: byte b (byte) aInt;這個操作是直接截取int中最低一個字節&#xff0c;如果int大于255&#xff0c;則值就會變得面目全非了byte -> int這里有兩種情況&#xff0c;一種是要求保持值不變&am…

重新登錄:重新登錄

嗨&#xff0c;我再次回到日志中來&#xff0c;這是任何應用程序設計和開發的固有部分。 我是堅強的基礎知識的忠實擁護者&#xff0c;在我的拙見中&#xff0c;日志記錄是任何企業級應用程序中經常被忽略但基本的關鍵要素之一。 我已經寫在此之前這里 。 為了理解當前文章&…

eclipse 下使用git clone

方法一&#xff1a;eclipse安裝好git插件后&#xff0c;直接import-git-project from git- clone url-輸入github的網址等就可以了方法二&#xff1a;使用git軟件&#xff0c;到指定的目錄&#xff0c;右擊git bash here&#xff0c;git clone 加帶有網址的文件.git,如&#xf…

linux -unrar解壓縮

解壓縮命令unrar的使用&#xff1a; $unrar --help用法: unrar <command>-<switch 1> -<switchN> <archive><files...><listfiles...><path_to_extract\><命令>e 解壓文件到當前目錄l[t,b] 列出壓縮文檔信…

終極JPA查詢和技巧列表–第3部分

在閱讀第三部分之前&#xff0c;請記住本系列的第一部分和第二部分 JPA&#xff1a;通過查詢創建對象 JPA允許我們在查詢內創建對象&#xff0c;并帶有所需的值&#xff1a; package com.model;public class PersonDogAmountReport {private int dogAmount;private Person pe…

分治1--二分查找

分治1--二分查找 一、心得 二、題目和分析 三、代碼和結果 1 #include <iostream>2 using namespace std;3 int a[10]{1,2,4,5,7,8,9,10,13,20};4 5 6 //非遞歸 7 int find(int i){8 int l0,r9;9 int mid(lr)/2; 10 while(l<r){ 11 mid(lr)/2; 12…

隱式意圖啟動一個Activity

隱式意圖是通過指定一組動作或者屬性實現&#xff0c;主要用于跨應用使用。 1.創建一個意圖對象 Intent intent new Intent();2.設置意圖過濾器 intent.setAction("android.intent.action.testActivity"); //對應于action intent.addCategory("android.intent.…

Spring自定義命名空間

Spring自定義命名空間提供了一種很好的方式來簡化用于描述Spring應用程序上下文的bean定義的xml文件。 這是一個相當古老的概念&#xff0c;最初是在Spring 2.0中引入的&#xff0c;但值得不時地進行審查。 考慮一種情況&#xff0c;必須為沒有自定義名稱空間的Spring MVC應用程…

java二叉樹代碼_JAVA語言實現二叉樹生成的代碼教程

本文主要向大家介紹了JAVA語言實現二叉樹生成的代碼教程&#xff0c;通過具體的內容向大家展示&#xff0c;希望對大家學習JAVA語言有所幫助。給定某二叉樹三序遍歷中的兩個&#xff0c;我們即可以通過生成該二叉樹&#xff0c;并遍歷的方法&#xff0c;求出剩下的一序&#xf…

一個回到頂部的錨點

一般網站的右下角都會有一個回到頂部的錨點&#xff0c;但是在沒有學bootstrap的時候&#xff0c;我還是會想著用定位來做這個東西&#xff0c;但是現在用bootstrap來做的&#xff0c;所以將它記錄下來。 <!DOCTYPE html><html> <head><title>附加導航…

jquery jgrid filterToolBar beforeSearch 修改postData

beforeSearch: function() { var posted_data $("#mygrid").jqGrid(getGridParam,postData); posted_data ["testp"]"helloTest"; }轉載于:https://www.cnblogs.com/qiumingcheng/p/7141671.html

預告片:裸指關節SOA

我正在研究這個想法&#xff0c;但我不知道它是否對你們有吸引力。 我想就您是否需要進一步探討提出您的意見。 達成協議&#xff1a;我遇到過一些團隊&#xff0c;他們在使用SOA技術時由于其工具的復雜性而陷入泥潭。 我只在Java中看到過這種情況&#xff0c;但是我從一些C&am…

網頁轉圖片 java_java-網頁轉圖片

對比了網上常用的好幾種網頁轉圖片的開源插件&#xff0c;最后效果還不如使用原生的java直接寫來得好&#xff0c;上代碼&#xff0c;很簡單&#xff0c;中間需要考慮網頁加載延遲的問題&#xff0c;所以需要加上thread.sleep&#xff0c;休眠一下等待網頁加載完成了&#xff0…

開一個新坑吧

每天讀讀日志 給自己動力 開個新坑&#xff08;外星殖民&#xff09; 無聊時寫一寫 轉載于:https://www.cnblogs.com/dandansang/p/7143489.html

JMX和Spring –第1部分

這是三篇文章的第一篇&#xff0c;這三篇文章將展示如何通過JMX支持為Spring應用程序賦能。 Maven配置 這是用于設置此示例代碼的Maven pom.xml&#xff1a; <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSche…

maven exclude java_java – Maven:從shade插件中排除依賴項

我在mvn clean install之后看過下一個字符串Including com.sun.jersey.contribs:jersey-multipart:jar:1.5 in theshaded jar問題&#xff1a;即使我已經為maven-shade-plugin添加了exlusion,我也無法使它沒有陰影(參見下面的代碼)我的maven-shade-plugin&#xff1a;org.apach…

JMX和Spring –第3部分

本文是本系列的最后一篇。 看一下第1 部分和第2部分 。 在本系列的最后一篇文章中&#xff0c;我將展示如何在JDK中使用本機JMX支持來實現一種通知機制&#xff0c;該機制可以在HEAP內存超過特定閾值時向偵聽器發出警報。 正如我在上一篇文章中討論的那樣&#xff0c;這種方法…