團隊博客

雲打印團隊展現

團隊名稱: 雲打印
做業要求: 團隊做業第一次—團隊展現
做業目標:團隊配合,開發項目,加強動手實踐能力javascript

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

團隊名稱: 雲打印


團隊項目描述:打印資料就上雲打印。

php

隊員風采

隊員姓名 隊員介紹
陳宇 性格:開朗樂觀,擅長的技術:擅長javaee後端開發,編程興趣:對編程有較大的興趣,但願擔任開發,PM等,宣言:不作代碼的搬運工
陳迎仁 性格:內向;擅長的技術:會一點微信小程序,有點菜;編程興趣:通常;但願的軟工角色:開發;少熬夜,堅定不掉髮。
蔡森林 性格:隨和 技術:後端python開發 興趣:跑步 角色:開發 一句話:人生苦短,好好學習
陳詩嫺 個人性格比較內向,在努力變得開朗,擅長前端web的設計,對編程的興趣其實不大,但願擔任測試的角色。一句話宣言:學得越多就越能成功
蔡鴻鍵 性格:內向 技術:測試 前端html 興趣:喜歡解bug曾被邀請參加ioccc比賽 角色:開發和測試 一句話:不作碼農


團隊的首次合照
css

團隊的特點描述:
擁有妹子的團隊,男生敲代碼積極性很高,團隊成員大部分有獲獎經歷,代碼實踐能力較強,有較強的責任心。html

團隊做業第二次—項目選題報告

團隊名稱: 雲打印
做業要求: 團隊做業第二次—項目選題報告
做業目標:團隊配合,開發項目,加強動手實踐能力
選題報告下載
評審表下載
演示PPT下載前端

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

產品簡介

雲打印是一款以微信小程序爲基礎的在線打印服務,經過和實體打印店合做,用戶能夠經過微信小程序上傳word,ppt,pdf等文檔,後臺能夠經過代碼計算頁數而後返回給前端計算出價格,經過微信下單,付款。商家經過網頁界面接單和下載文檔,並進行打印和配送。java


發展前景

現代生活是快節奏的生活方式,低效率的服務已經逐漸被淘汰,便利快捷的服務方式逐漸被人們所認同,而在線打印就是解決了傳統的打印方式用人工打印算錢的低效率方式,利用在線支付下單,線下實體打印店打印,配送,用戶只需利用微信小程序操做,無需到實體打印店排隊,提升了打印店的打印效率,合理利用打印資源,提升盈業額。python


產品與服務 -- 微信小程序的設計

功能部分

一、文檔打印:用以打印用戶須要打印的文檔文件
二、圖片打印:用以打印用戶須要打印的圖片
三、歷史訂單:用以查詢用戶歷史打印文檔或圖片等消費記錄
四、掃一掃:待開發mysql

用戶部分

一、註冊登陸:微信受權登陸
二、用戶信息管理:用戶管理本身的帳戶和我的信息linux

微信小程序的製做

進入雲打印的首頁,有4個功能按鈕,分別爲文檔打印,圖片打印,歷史訂單以及掃一掃。選擇文檔打印或圖片打印功能,進入訂單填寫頁面,填寫我的信息,上傳須要打印的文檔或圖片以後,設置打印屬性,可選單雙面和黑白或者彩色打印,以後提交訂單,覈對訂單信息,而後進入支付頁面,支付成功後就提交訂單到服務器,服務器會將訂單實時反饋到商檢的web端,商家能夠在訂單列表中選擇訂單,而後打印訂單中的文檔,而且根據須要安排配送人員進行資料的配送。git

微信小程序的完善及發展方向

一、增長圖像文字識別功能,讓用戶隨時拍照想要的文字內容,隨時生成對應的文檔,隨時打印相應的文檔,達到即拍即印的效果。
二、增長路徑規劃功能,用戶可經過在線輸入當前所在地址,系統自動匹配距離最近的打印店供用戶選擇,提升用戶獲取資料的時效。
三、增長年度帳單功能,讓用戶知道本年度所打印文檔或圖片的相關消費記錄。
四、增長資源共享功能,讓用戶不用經過其餘途徑,直接經過本程序達到資源共享的效果。

微信小程序的創新要點

本項目將傳統的線下打印流程所有移植到線上,經過小程序一步完成,省去了本身去打印店打印的過程,並且線上上傳要打印的文件,可選單面(雙面)、黑白(彩色)打印,高度還原了打印店應有的全部服務,免去了在電腦拷貝的過程,並且不用排隊,既方便了本身,商家也更加省事。還有效地避免了一些沒必要要的麻煩,例如咱們常常在打印店打印資料時,可能會遇到下列問題:U盤會感染一些病毒,忘記帶U盤,資料缺損。。。
在技術實現上,本項目的客戶端採用了時下最流行的微信小程序,這無疑極大地方便了廣大師生的打印流程,免去了安裝app的麻煩,隨時隨地就能夠下單。商家端,本項目採用了html+css+javascript語言,展示的形式爲web,商家只需打開瀏覽器就能接單,訂單列表一目瞭然,操做方便。


NABCD模型

  • N (Need,需求)
    • 幫助用戶便捷快速的打印文件
    • 不管什麼時候何地用戶只要在微信上操做,便可下單打印
    • 用戶從微信小程序上傳文檔,下單,付款
      • 後臺計算文檔頁數和價格
      • 商家進行打印,配送
    • 商家從後臺界面,能夠進行接單,配送
    • 對商家打印訂單進行數據可視化

  • A(Approach,方法)
    • 設計一個基於微信小程序實現相關需求。
    • 用戶從手機選擇文件上傳
    • 後臺計算頁數和價格
    • 商家進行接單打印,配送
  • B(Benefit,好處)
    • 用戶能夠便捷快速的打印本身想要的材料
    • 經過微信小程序,用戶無需安裝額外軟件
    • 能隨時隨地打印

  • C(Competitors,競爭)
    • 優勢:
      • 這個創意很新穎,福州大學目前尚未一個這樣的微信小程序在大學裏面使用
      • 操做簡單方便
      • 能在任何地方打印
    • 缺點:
      • 前期和店家合做比較難達成
      • 文件上傳大小容易受到限制
      • 前期用戶數不足

  • D(Delivery,推廣)

    • 線上推廣
      • 經過寫推文進行推廣
      • 和廣告商進行合做
      • 用微信公衆號進行推廣
    • 線下推廣
      • 以簡單便捷的方式使用,提升用戶體驗,用戶互相推廣
      • 在人流量較大的位置粘貼宣傳海報

評審表

隊員貢獻

隊員學號 隊員姓名 這次做業任務 貢獻比例
221600412 陳宇 安排任務,文檔撰寫,博客撰寫,PPT製做,整理報告,演講答辯,回答問題,提問 27%
221600411 陳迎仁 文檔撰寫,問卷調查,PPT製做 24%
221600401 陳詩嫺 評審表撰寫,文檔撰寫 19%
221600409 蔡森林 文檔撰寫 15%
221600408 蔡鴻鍵 文檔撰寫 15%



選題報告下載
評審表下載
演示PPT下載

項目原型設計


格式描述


團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

項目描述

1、項目描述

1.1產品簡介

      雲打印是一款以微信小程序爲基礎的在線打印服務,經過和實體打印店合做,用戶能夠經過微信小程序上傳word,ppt,pdf等文檔,後臺能夠經過代碼計算頁數而後返回給前端計算出價格,經過微信下單,付款。商家經過網頁界面接單和下載文檔,並進行打印和配送。

1.2發展前景

      現代生活是快節奏的生活方式,低效率的服務已經逐漸被淘汰,便利快捷的服務方式逐漸被人們所認同,而在線打印就是解決了傳統的打印方式用人工打印算錢的低效率方式,利用在線支付下單,線下實體打印店打印,配送,用戶只需利用微信小程序操做,無需到實體打印店排隊,提升了打印店的打印效率,合理利用打印資源,提升盈業額。

2、市場需求分析

2.1需求調查方式

      爲了更好的瞭解用戶需求,咱們採用了發放問卷的方式。問卷主要涵蓋三個方面:我的狀況調查、打印資料習慣調查和平臺滿意度調查以及功能需求調查。其中我的狀況題1題,打印資料習慣調查4題,平臺滿意度調查1題,功能需求調查2題,意見反饋1題。

2.1.1 抽樣方式

      本着自願的原則,咱們共邀請了142名被試者。爲了使數據層次更加豐富,咱們向不一樣年級的人發放了問卷,覆蓋大一到大四學生。

2.1.2 調查時間

2019年3月18日開展調查,並於3月20日完成數據的統計分析工做。

2.2 問卷分析

2.2.1 打印資料習慣分析

      受訪的142名參與者中常常去打印店打印資料的佔42.96%,較多人仍是有去打印店打印資料的需求。在這142名參與者,較多人選擇打印試卷、練習,比例達到86.62%,論文報告以及課件等也分別佔到了60.56%、53.52%。這些打印者對於他們資料的私密性,總的來看仍是可被分享的佔絕大多數。對於資料私密性要求較高的僅有25.35%。緊接着對於打印店碰到的問題,也是咱們這個平臺想解決的用戶痛點,大部分被調查的人都遇到了打印店人多擁擠的狀況,比例佔到90.85%;還有其餘好比錯印、多印的狀況也佔到52.82%;因此去打印店打印碰到的問題仍是較多的。
是否常常去打印店打印資料?

去打印店主要打印什麼類型的材料?

資料的保密性如何

在打印店遇到的問題?

2.2.2 平臺滿意度分析

      對於開發一個平臺來解決打印者在打印店碰到的一些問題的這個想法仍是比較受到你們的歡迎以及支持;有55.63%的被調查者很是但願有這樣一個平臺來解決問題,也僅僅只有4.23%的人較爲不須要這個平臺提供幫助。


2.2.3 功能需求調查分析

      針對平臺的載體咱們進行了調查,81.69%的人更但願經過簡單的微信小程序來使用這個平臺,更加便捷和方便。針對功能上除了提供在線打印和上傳資料,他們還對配送提出了一些但願的要求,好比配送費以及時效性等。固然也提到了文件的保密問題。


NABCD模型

  • N (Need,需求)
    • 幫助用戶便捷快速的打印文件
    • 不管什麼時候何地用戶只要在微信上操做,便可下單打印
    • 用戶從微信小程序上傳文檔,下單,付款
      • 後臺計算文檔頁數和價格
      • 商家進行打印,配送
    • 商家從後臺界面,能夠進行接單,配送
    • 對商家打印訂單進行數據可視化

  • A(Approach,方法)
    • 設計一個基於微信小程序實現相關需求。
    • 用戶從手機選擇文件上傳
    • 後臺計算頁數和價格
    • 商家進行接單打印,配送
  • B(Benefit,好處)
    • 用戶能夠便捷快速的打印本身想要的材料
    • 經過微信小程序,用戶無需安裝額外軟件
    • 能隨時隨地打印

  • C(Competitors,競爭)
    • 優勢:
      • 這個創意很新穎,國內尚未一個這樣的微信小程序在大學裏面使用
      • 操做簡單方便
      • 能在任何地方打印
    • 缺點:
      • 前期和店家合做比較難達成
      • 文件上傳大小容易受到限制
      • 前期用戶數不足

  • D(Delivery,推廣)

    • 線上推廣
      • 經過寫推文進行推廣
      • 和廣告商進行合做
      • 用微信公衆號進行推廣
    • 線下推廣
      • 以簡單便捷的方式使用,提升用戶體驗,用戶互相推廣
      • 在人流量較大的位置粘貼宣傳海報

3、產品與服務

3.1 微信小程序的設計

功能部分:
一、文檔打印:用以打印用戶須要打印的文檔文件
二、圖片打印:用以打印用戶須要打印的圖片
三、歷史訂單:用以查詢用戶歷史打印文檔或圖片等消費記錄
四、掃一掃:待開發

用戶部分:

一、註冊登陸:微信受權登陸
二、用戶信息管理:用戶管理本身的帳戶和我的信息
3.2 微信小程序的製做
使用微信web開發者工具進行開發小程序
3.3微信小程序所能提供的服務
進入雲打印的首頁,有4個功能按鈕,分別爲文檔打印,圖片打印,歷史訂單以及掃一掃。選擇文檔打印或圖片打印功能,進入訂單填寫頁面,填寫我的信息,上傳須要打印的文檔或圖片以後,設置打印屬性,可選單雙面和黑白或者彩色打印,以後提交訂單,覈對訂單信息,而後進入支付頁面,支付成功後就提交訂單到服務器,服務器會將訂單實時反饋到商檢的web端,商家能夠在訂單列表中選擇訂單,而後打印訂單中的文檔,而且根據須要安排配送人員進行資料的配送。

3.4微信小程序的完善及發展方向

一、增長圖像文字識別功能,讓用戶隨時拍照想要的文字內容,隨時生成對應的文檔,隨時打印相應的文檔,達到即拍即印的效果。
二、增長路徑規劃功能,用戶可經過在線輸入當前所在地址,系統自動匹配距離最近的打印店供用戶選擇,提升用戶獲取資料的時效。
三、增長年度帳單功能,讓用戶知道本年度所打印文檔或圖片的相關消費記錄。

原型設計


使用工具: 墨刀

項目原型設計--微信小程序 (點擊左邊進入墨刀預覽)
項目原型設計--商家端 (點擊左邊進入墨刀預覽)


效能分析和PSP

PSP是卡耐基梅隆大學(CMU)的專家們針對軟件工程師所提出的一套模型:Personal Software Process (PSP, 我的開發流程,或稱個體軟件過程)。
PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 0 0
• Estimate • 估計這個任務須要多少時間 800 1000
Development 開發 0 0
• Analysis • 需求分析 (包括學習新技術) 60 90
• Design Spec • 生成設計文檔 50 60
• Design Review • 設計複審 50 50
• Coding Standard • 代碼規範 (爲目前的開發制定合適的規範) 40 45
• Design • 具體設計 500 600
• Coding • 具體編碼 0 0
• Code Review • 代碼複審 0 0
• Test • 測試(自我測試,修改代碼,提交修改) 30 35
Reporting 報告 30 30
• Test Report • 測試報告 30 30
• Size Measurement • 計算工做量 30 35
• Postmortem & Process Improvement Plan • 過後總結, 並提出過程改進計劃 30 30
合計 850 1005

向客戶推銷

    首先咱們先介紹咱們的項目是一個以微信小程序爲基礎的在線打印服務,能在線下單並配送至宿舍,接着向它演示如何使用在線打印,其次在說明傳統的打印店模式,人多,U盤容易中毒,U盤容易丟失等問題,最後推薦它註冊並使用一下小程序。

使用建議

  • 文件儘可能上傳pdf格式,以便打印格式不變
  • 上傳的文件儘可能不要含有太多圖片,以避免計算價格出錯

原型設計

咱們程序分爲小程序端和商家端 咱們小組分別對原型進行了討論並進行了設計。
首先咱們討論小程序的登陸註冊和上傳文件,接着進行了用戶界面的原型設計
其次咱們討論了商家網頁端的原型設計過程。

微信小程序原型












商家端原型






團隊的選題報告問題的回答

Question 1.很接地氣,有沒有打印預覽功能

Answer:首先打印預覽功能是一個能有效避免用戶打印出來的文件和預期打印的文件不同的功能,它能提升用戶體驗,因此這個功能咱們一直在考慮,咱們選用的微軟的在線預覽功能,能預覽常見的word,ppt,pdf等文檔。


Question 2.市場是否只侷限於福大?推廣的力度不夠

Answer:市場固然不侷限於福大,只是咱們的產品剛開始投入使用,須要事先進行試點實驗,若是於福大試驗成功,並深受學生愛戴,咱們即可有理由向其餘高校進行一系列宣傳。說到宣傳,咱們打算經過微信公衆號,qq空間,朋友圈等途徑進行推廣,讓雲打印成爲每一個同窗的資料神器。


Question 3.打印內容安全和隱私如何保障?

Answer:保密配送:

針對調查發現 25%的資料是隱私的 75%的資料是能夠公開的
能夠具體實現保密配送和非保密配送。
保密配送對於客戶的隱私保護是有一套規範和嚴格的流程的:
      1. 首先用戶使用小程序前要贊成用戶隱私協議
      二、保密文件由咱們專門的配送員派送,並會事先與您約好收貨地點,這樣就避免了貿然上門派件時遇到的尷尬狀況;
      三、在外包裝上,咱們會使用統一的文件帶包裹打印的文件,不會留下任何標示及產品說明。
      四、使用中繼號來聯繫配送和顧客。
      安全: 將配送過程分紅三方責任人
        1.商家
        2.配送
        3.顧客
經過app進行網上登記來肯定安全責任的劃分。
非隱私文件:
支持到店自取 和 打印店配送員配送至宿舍

Question 4.是否有相似的軟件競爭?

Answer:在軟件商城中我看到挺多能夠鏈接本身的打印機來打印文件的軟件,但這就須要本身有一臺打印機,與咱們小程序的功能不一樣,我認爲這類不構成明顯的競爭關係。我只找到不多的與咱們的小程序相似的高校雲打印網站,並且這些網站都是隻針對個別學校,覆蓋面比較小,我也沒有看到福州的任何一所高校有被包含在網站服務的學校以內,因此我認爲如果咱們將小程序向周邊學校擴展的話這些網站與咱們會是競爭關係,但目前只是在校內使用應該還不會產生競爭。


Question 5.打印任務的優先級如何保證?加急怎麼處理?

Answer:打印優先級在微信小程序的兩個方面來體現,一個是用戶自選擇的配送時間,另外一個能夠在小程序設置一個訂單選項,讓用戶本身選擇是否加急。若是用戶選擇加急能夠在web商家端的訂單上顯示一個加急圖標。在項目上線時,與商家老闆進行系統的簡單講解,包括優先級的圖標顯示,從而讓商家老闆根據加急文件優先打印。



解決方案預期規劃

    首先完善基礎功能,其次針對用戶打印文件可能格式出錯,和隱私問題進行鍼對性解決。對於打印文件的格式的問題,預期解決方案提供一個在線編輯的word文檔,並在用戶提交訂單後後臺自動把word轉成pdf保持文件格式不變,或者就是用戶本身上傳pdf文件格式,這兩種文件都能保持文件不變,針對用戶隱私問題,咱們會在用戶上傳的文件的時候進行提醒,並獨立出一個用戶隱私文件打印模塊,由咱們指定的商家進行打印配送。


隊員貢獻

隊員學號 隊員姓名 這次做業任務 貢獻比例
221600412 陳宇 安排任務,博客撰寫,原型設計,問題的回答,整理問題 20%
221600411 陳迎仁 小程序原型設計,問題的回答 19%
221600401 陳詩嫺 網頁原型設計,問題的回答 21%
221600409 蔡森林 小程序原型設計,問題的回答 22%
221600408 蔡鴻鍵 網頁原型設計,問題的回答 18%

博文下載.PDF

下載


團隊做業第4次-項目需求分析


格式描述


團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

總體計劃安排

  • 原型設計
    • 時間:3.23-3.30
    • 任務:完成微信小程序,登陸註冊,我的信息,上傳文件,訂單界面等原型界面設計,完成商家端,下載文件,登陸註冊,接單等原型界面的設計。
    • 狀態:已完成
  • 需求分析報告
    • 時間:3.25-4.7
    • 任務:對該項目進行需求分析,並完成類圖和用況圖。
    • 狀態:已完成
  • 系統設計與數據庫設計
    • 時間:4.8-4.14
    • 任務:肯定後臺數據庫表的結構,設計模式。
    • 狀態:未完成

里程碑 一 :實現項目核心功能

  • 基礎編碼實現
    • 時間:4.15-4.21
    • 任務:實現後臺基本功能,並和小程序對接。
    • 狀態:未完成

里程碑 二 :項目基本完成

  • Alpha衝刺
    • 時間:4.21-5.4
    • 任務:採用敏捷開發中的迭代開發,先完成一個最簡單的版本,以後不斷迭代開發。
    • 狀態:未完成

里程碑 三 :優化項目

  • Beta衝刺
    • 時間:5.5-6.1
    • 任務:完善和優化基礎功能,並逐步擴展功能。
    • 狀態:未完成

撰寫需求規格說明書的工做流程

1.首先咱們組員先進行了對需求規格說明書的內容進行討論
2.接着對這個項目的類和用況進行了分析,並進行分工
3.增改原型設計,畫出類圖、用例圖、活動圖,提交新增頁面的功能設計
4.整合文檔,製做PPT


組員分工及隊員貢獻

隊員學號 隊員姓名 這次做業任務 貢獻比例
221600412 陳宇 安排任務,需求規格說明書第一部分,博客撰寫,修改評審表,整理文檔 22%
221600411 陳迎仁 畫用況圖,ppt製做,答辯 22%
221600401 陳詩嫺 需求規格說明書第五部分,用例文本 19%
221600409 蔡森林 需求規格說明書第三部分,類圖 19%
221600408 蔡鴻鍵 需求規格說明書第二部分 18%

博文下載.PDF

下載


團隊做業第五次—項目系統設計與數據庫設計


格式描述


團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

撰寫系統設計和數據庫設計說明書

1.先針對上次答辯的問題進行了修改很整理
2.開始對系統設計和數據庫設計的分析
3.改進類圖
4.查找資料
5.組員分工
5.整理文檔
6.撰寫PPT


組員分工及隊員貢獻

隊員學號 隊員姓名 這次做業任務 貢獻比例
221600412 陳宇 安排任務,系統設計說明書,數據庫設計說明書,博客,PPT 25%
221600411 陳迎仁 數據庫設計說明書,數據庫設計說明書 23%
221600401 陳詩嫺 數據庫設計說明書本 17%
221600409 蔡森林 數據庫設計說明書數據庫設計說明書 20%
221600408 蔡鴻鍵 數據庫設計說明書 15%

博文下載.PDF

下載


團隊做業第六次—團隊Github實戰訓練

團隊名稱: 雲打印
做業要求: 團隊做業第六次—團隊Github實戰訓練
做業目標:搭建一個相對公平公正的抽獎系統,根據QQ聊天記錄,完成從統計參與抽獎人員頒佈抽獎結果的基本流程。
Github地址:Github地址

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

組員分工及組員貢獻

隊員學號 隊員姓名 這次做業任務 貢獻比例
221600412 陳宇 項目管理、後端代碼的編寫,服務器的部署 23%
221600411 陳迎仁 後端邏輯模塊的編寫,聊天記錄過濾的處理,博客文檔的編寫 21%
221600401 陳詩嫺 編寫博客文檔結構,前端美工設計 15%
221600409 蔡森林 附加功能的實現,數據處理與挖掘、編寫附加功能部分的博客文檔 21%
221600408 蔡鴻鍵 前端代碼的編寫與設計 20%

github 的提交日誌截圖






程序運行截圖





程序運行環境

  • 本項目爲web項目,搭載在阿里雲服務器上,web訪問連接爲: 項目運行地址

  • 前端:

    開發工具爲PhpStorm,開發語言爲Ajax、js、css、HTML,框架爲boostrap;運行環境爲各種瀏覽器(谷歌瀏覽器、火狐瀏覽器、IE6以上的IE瀏覽器等)

  • 後端

    開發工具爲IntelliJ IDEA Ultimate,開發語言爲java,框架爲boostrap;運行環境爲java環境


GUI界面







***

基礎功能實現

基本功能實現的核心代碼

  • 抽獎
@RequestMapping("/draw")
    public ResponseData draw(String email,String name, String document, Integer winnerNum,
                             String startTime, String endTime, String resultTime,
                             String keyWord, Integer filterType, String award,
                             HttpServletRequest request) throws ClientException, IOException, MessagingException {
        ResponseData responseData = new ResponseData();
       LotteryDrawRule lotteryDrawRule=new LotteryDrawRule(LotteryDrawFilter.getFilterTypeString(filterType),keyWord,startTime,
               endTime,resultTime, winnerNum);
        //LotteryDrawFilter lotteryDrawFilter=new LotteryDrawFilter(lotteryDrawRule,"/home/QQrecord-2022.txt");
       LotteryDrawFilter lotteryDrawFilter=new LotteryDrawFilter(lotteryDrawRule,"G:\\MyJavaWeb\\Luckydraw\\src\\main\\resources\\QQrecord-2022.txt");
       Map<String, Integer> users = lotteryDrawFilter.doFilter();
       List<User> awardUsers = LcgRandom.getResult(users,winnerNum);
       String str[] = award.split("\\,");
       int j = 0;
       for(String s : str){
           String awardName = s.split(":")[0];
           Integer awardNum = Integer.valueOf(s.split(":")[1]);
           for (int i = 0; i<awardNum;i++){
               if(j<awardUsers.size()){
                   awardUsers.get(j).setAward(awardName);
                   j++;
               }
           }
       }
       StringBuilder awardString = new StringBuilder();
       for (User u: awardUsers) {
           awardString.append(u.toString()+"\r\n");
       }
       awardString.append(" ");
       DrawLuckResult dr = new DrawLuckResult(name,document,keyWord,startTime,endTime,resultTime,winnerNum,award,
               LotteryDrawFilter.getFilterTypeString(filterType),awardString.toString());
       drawLuckResultDao.insert(dr);
       responseData.setData(dr);
       Thread t = new Thread(new Runnable() {
           @Override
           public void run() {
               try {
                   StringBuilder sb = new StringBuilder();
                   for (User u: awardUsers) {
                       sb.append(u.toString()+"</br>");
                   }
                   sb.append(" ");
                   EmailUtil.send465("中獎結果","<h1>中獎結果通知</h1></br>" + sb.toString(),email);
               } catch (MessagingException e) {
                   e.printStackTrace();
               }
               for (User u: awardUsers) {
                   try {
                       String name = u.getName();
                       String email = null;
                       if(name.contains("(")){
                           email = name.substring(name.indexOf("(") +1 ,name.lastIndexOf(")"));
                           if (!email.contains("@qq.com")){
                               email += "@qq.com";
                           }
                       }else if(name.contains("<")){
                           email = name.substring(name.indexOf("<") +1 ,name.lastIndexOf(">"));
                       }
                       // System.out.println(email);
                       // 爲了避免打擾其餘人只通知本身
                       if (email.contains("947205926")){
                           EmailUtil.send465("中獎通知","恭喜" + u.getName() + "得到" + u.getAward(),"947205926@qq.com");
                       }
                   } catch (Exception e) {
                       e.printStackTrace();
                   }
               }
           }
       });
       t.start();
        return responseData;
    }
  • Lgc隨機數
public static List<User> getResult(Map<String, Integer> users, Integer awardNum) {
        Iterator it = users.entrySet().iterator();
        List<User> listUser = new ArrayList<>();
        while (it.hasNext()) {
            Map.Entry entry = (Map.Entry) it.next();
            String name = (String) entry.getKey();
            Integer weight = (Integer) entry.getValue();
            // System.out.println(name + "  " + weight);
            listUser.add(new User(name, weight));
        }
        Random random = new Random();
        // 對全部參與的用戶進行隨機排序
        Collections.sort(listUser, new Comparator<User>() {
            @Override
            public int compare(User o1, User o2) {
                return random.nextInt(2) - 1;
            }
        });
        int i = 0;
        int size = listUser.size();
        LcgRandom lcg = new LcgRandom();
        List<User> awardList = new ArrayList<>();
        if (size > 0) {
            while (i < awardNum) {
                int ran = lcg.nextInt(size);
                // 對水羣的用戶下降獲獎權重
                if (listUser.get(ran).getWeight() > 0) {
                    listUser.get(ran).setWeight(listUser.get(ran).getWeight() - 1);
                } else {
                    awardList.add(listUser.get(ran));
                    listUser.remove(ran);
                    size = listUser.size();
                    i++;
                }
            }
        }
        return awardList;
    }

LCG算法

LCG(linear congruential generator)線性同餘算法,是一個古老的產生隨機數的算法。由如下參數組成:
| 參數 | m|a | c|X|
|:---- |:---|:----- |----- |----- |
|性質 |模數 |乘數 |加數 |隨機數 |
|做用 |取模 |移位 |偏移 |做爲結果 |
LCG算法是以下的一個遞推公式,每下一個隨機數是當前隨機數向左移動 log2 a 位,加上一個 c,最後對 m 取餘,使隨機數限制在 0 ~ m-1 內

  • 從該式能夠看出,該算法因爲構成簡單,具備如下優勢
    • 計算速度快
    • 易於實現
    • 易於寫入硬件

2、僞隨機數算法

  僞隨機數產生的方法有個逼格挺高的名字---僞隨機數發生器。僞隨機數產生器中最最最基礎的思想是均勻分佈(固然這不是惟一的思路)。通常來講,只敢說"通常來講",由於我也不敢百分百確定,現在主流的編程語言中使用的隨機數函數基本採用這種均勻分佈思想,而其中最經常使用的算法就是"線性同餘法"。

  1. 什麼是線性同餘法?

  線性同餘法基於以下線性同餘方程組

  用於產生均勻型僞隨機數的線性同餘產生器(與上面的方程符號沒有對應關係)

   

  其中,a爲"乘數",b爲"增量",m爲"模數",x0爲"種子數"。

  若是產生的是區間實在(0,1)之間的,則只須要每一個數都除以m便可,即取

  

  2. 線性同餘法產生均勻型僞隨機數須要注意什麼?

   2.1)種子數是在計算時隨機給出的。好比C語言中用srand(time(NULL))函數進行隨機數種子初始化。

   2.2)決定僞隨機數質量的是其他的三個參數,即a,b,m決定生成僞隨機數的質量(質量指的是僞隨機數序列的週期性)

   2.3)通常b不爲0。若是b爲零,線性同餘法變成了乘同餘法,也是最經常使用的均勻型僞隨機數發生器。

  3. 高性能線性同餘法參數取值要求?

   3.1)通常選取方法:乘數a知足a=4p+1;增量b知足b=2q+1。其中p,q爲正整數。 PS:不要問我爲何,我只是搬運工,沒有深刻研究過這個問題。

   3.2)m值得話最好是選擇大的,由於m值直接影響僞隨機數序列的週期長短。記得Java中是取得32位2進制數吧。

   3.3)a和b的值越大,產生的僞隨機數越均勻

   3.4)a和m若是互質,產生隨機數效果比不互質好。
反正這圖我沒有發現明顯的規律。所以這種僞隨機數在必定條件下是能夠知足隨機性性質的。

聊天記錄過濾思路

  • 基本過濾:

    首先經過正則表達式進行聊天記錄的切割,分爲用戶信息和用戶聊天內容;經過用戶信息獲取用戶的ID(暱稱+帳號);根據用戶ID的開頭進行判斷是不是系統消息、助教、教師,對這三類的對象進行過濾,不參與後續的抽獎活動,實現基本過濾。

    if (Pattern.matches("系統消息\\([0-9]+\\)", userID) || Pattern.matches("教師_.*\\(.*\\)", userID)|| Pattern.matches("助教_.*\\(.*\\)", userID))
    {
         userID = null;
    }

三種過濾選擇:

  • 不過濾

    針對抽獎名單的過濾,只實現基本過濾,並不對名單進一步的進行篩選,即只去除系統消息、教師、助教這三類對象。

  • 普經過濾

    針對抽獎名單的過濾,首先實現基本過濾,去除系統消息、教師、助教這三類用戶;其次針對只發表抽獎關鍵字的對象,也進行過濾。主要經過去除聊天記錄中的關鍵字後,若是爲空,則這條消息對應的說話人則不加入待抽獎名單。

  • 深度過濾

    針對抽獎名單的過濾,首先實現基本過濾,去除系統消息、教師、助教這三類用戶;其次針對只發表抽獎關鍵字的對象,也進行過濾;而且對於聊天內容只有圖片和抽獎關鍵字的對象也進行必定抽獎機率的下降,但不進行過濾。

基本實現:

  • 讀取文件,基本過濾處理
BufferedReader bufferedReader = openFile();
        //讀取文件
        String talkContent = null;
        String temp = null;
        while ((temp = bufferedReader.readLine()) != null) {
            if (textType.equals("USER_TALK_CONTENT")) {
                if (!(isUserInfo(temp))) {
                    talkContent += temp;
                } else{
                    //判斷髮言是否有抽獎關鍵字
                    if (hasKeyWord(lotteryDrawRule.getKeyWord(), talkContent) && userID != null) {
                        talkContentFilter(talkContent);
                    }
                    talkContent = null;
                    userID = null;
                    textType = "USER_INFO";
                }
            }
            if (textType.equals("USER_INFO")) {
                userID = getUser(temp);
                if (userID != null) {
                    //去除系統消息、教師、助教
                    if (Pattern.matches("系統消息\\([0-9]+\\)", userID)
                            || Pattern.matches("教師_.*\\(.*\\)", userID)
                            || Pattern.matches("助教_.*\\(.*\\)", userID)) {
                        userID = null;
                    }
                }
                textType = "USER_TALK_CONTENT";
            }
        }
        //測試
        for (String key : users.keySet()) {
            System.out.println(key + ":" + users.get(key));
        }
        read.close();
        return users;
  • 三種過濾的處理
*
        過濾函數
        filterType=NO_FILTER:表示不過濾;全部人蔘與抽獎
        filterType=NORMAL_FILTER:表示普經過濾;過濾只有抽獎關鍵字的用戶
        filterType=DEEP_FILTER:表示深度過濾;過濾只有抽獎關鍵字的用戶或下降只有圖片+抽獎關鍵字的用戶的獲獎機率
         */
    public void talkContentFilter(String talkContent) {
        boolean flag = true;    //判斷其需不須要被過濾
        int deepNum = 0;        //知足深度過濾的次數
        //若是爲NO_FILTER;不執行任何過濾
        if ((lotteryDrawRule.getFilterType().equals("NO_FILTER"))) {
        }
        else if((lotteryDrawRule.getFilterType().equals("NORMAL_FILTER"))){
            //去除抽獎關鍵關鍵字
            talkContent = talkContent.substring(talkContent.lastIndexOf('#')+1);
            //符合NORMAL_FILTER
            if (talkContent == null || talkContent.equals("")) {
                flag = false;
            }
        }
        else{
             //去除抽獎關鍵關鍵字
            talkContent = talkContent.substring(talkContent.lastIndexOf('#')+1);
            //符合NORMAL_FILTER
            if (talkContent == null || talkContent.equals("")) {
                flag = false;
            }
            //符合DEEP_FILTER
            if (talkContent.equals("[圖片]") && lotteryDrawRule.getFilterType().equals("DEEP_FILTER")) {
                deepNum = 1;
            }
        }
        if (!users.containsKey(userID) && flag) { // 若是該用戶id未出現過且不須要過濾
            users.put(userID, deepNum); // 存入map
        }
        else if (deepNum > 0) {       //若是該用戶知足深度過濾的要求,就保存他的言論次數,用於計算機率時下降它的獲獎權值
            deepNum = (int) users.get(userID) + 1;
            users.put(userID, deepNum);
        }
    }

附加功能實現

附加需求功能

1、聊天記錄數據分析

用戶各時間段發言統計

總體分析用戶各時間段的發言狀況,統計每一個用戶各個時間段的發言次數,而後以柱形圖形式展示,經過柱狀圖咱們很容易得出用戶在哪些時間段發言頻率較高。

def get_time(self):
        times = re.findall(r'\d{2}:\d{2}:\d{2}', self.data)#提取用戶發言時間哪小時
        Xi = [time.split(":")[0] for time in times]
        sns.countplot(Xi, order=[str(i) for i in range(0, 24)])
        plt.plot()
        plt.rcParams['font.sans-serif'] = ['SimHei']
        plt.title("各時間段發言統計")
        plt.xlabel("時間00:00—24:00")
        plt.ylabel("發言次數/次")
        plt.savefig(r"img\hour.png", format='png')
        plt.close()

活躍用戶的發言狀況

局部分析前五名活躍用戶的發言狀況,統計每一個用戶的發言次數,而後進行排序提取前五個活躍用戶的發言狀況,而後以折線圖的形式展示,經過折線圖咱們很容易發現這五個用戶在哪些時間段發言頻率較高。

def get_active(self):
        str_list = re.findall(r'\d{2}:\d{2}:\d{2} .*?\n', self.data)
        chat = {}
        i = 0
        for string in str_list:#提取用戶暱稱及其發言的時間段分佈
            size = len(string) - 1
            dict2 = {}
            if string[9:size] != "系統消息(10000)":
                if not chat.__contains__(string[9:size]):
                    i = i + 1
                    dict2[string[0:2]] = 1
                    chat[string[9:size]] = dict2
                else:
                    if not chat[string[9:size]].__contains__(string[0:2]):
                        chat[string[9:size]][string[0:2]] = 1
                    else:
                        chat[string[9:size]][string[0:2]] = chat[string[9:size]][string[0:2]] + 1
        dict3 = {}
        for key, dic in chat.items():#降序排序統計用戶活躍狀況
            count = 0
            for val in dic.values():
                count += val
            dict3[key] = count
        result = dict(sorted(dict3.items(), key=operator.itemgetter(1), reverse=True))
        colors = ['red', 'green', 'blue', 'orange', 'black']
        Xi = [str(k) for k in range(0, 24)]
        i = 0
        for key in result.keys():#遍歷前五名活躍用戶的發言狀況
            if i >= 5:
                break
            Yi = []
            for j in range(0, 24):
                Yi.append(0)
            for key2 in chat[key].keys():
                Yi[int(key2)] = chat[key][key2]
            plt.plot(Xi, Yi, color=colors[i], label=key)
            i = i + 1
        plt.rcParams['font.sans-serif'] = ['SimHei']
        plt.xticks(range(len(Xi)))
        plt.legend()
        plt.title("活躍用戶統計")
        plt.xlabel("時間00:00—24:00")
        plt.ylabel("發言次數/次")
        plt.savefig(r"img\active.png", format='png')
        plt.close()

分析聊天記錄有效關鍵詞

對用戶聊天記錄進行有效關鍵詞提取與分析,而後對這些關鍵詞進行整合分析,繪出詞雲圖,經過詞雲圖咱們很容易得出,聊天記錄中哪些關鍵詞使用頻率較高。

def get_wordcloud(self):
        pattern = re.compile(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} .*?\(\d+\)\n(.*?)\n', re.DOTALL)
        contents = re.findall(pattern, self.data)
        word_list = []
        for sentence in contents:
            sentence = sentence.replace("[表情]", "").replace("[圖片]", "").replace("@全體成員", "")
            if sentence != "" and not sentence.__contains__("撤回了一條消息") and not sentence.__contains__("加入本羣。") and \
                not sentence.__contains__('長按複製此消息,打開最新版支付寶就能領取!') and not sentence.__contains__('請使用新版手機QQ查收紅.'):
                word_list.append(" ".join(jieba.cut(sentence.strip())))
        new_text = " ".join(word_list)
        wordcloud = WordCloud(background_color="white",
                              width=1200,
                              height=1000,
                              min_font_size=50,
                              font_path="simhei.ttf",
                              random_state=50,
                              )
        my_wordcloud = wordcloud.generate(new_text)
        plt.imshow(my_wordcloud)
        plt.axis("off")
        wordcloud.to_file(r'img\wordcloud.png')

實驗結果以下

  • PlusA.txt聊天記錄數據分析


  • PlusB.txt聊天記錄數據分析


2、繪畫獲獎名單海報

一、思路分析
經過接受服務器傳來的獲獎名單json數據,而後對json字符串進行相應的處理,提取出獲獎者的暱稱,QQ號或郵箱和獎品名稱,而後對相應的模塊進行繪畫,生成海報圖。

header = '[雲打印抽獎] QQ互動'
title = '2019年4月QQ互動獲獎名單'
chapter = ['暱稱', 'QQ號', '獎品']
string = '恭喜以上獲獎的同窗,咱們將在近期發出本次活動的獎勵,請有獲獎的同窗注意關注本平臺抽獎動態,感謝您的參與,謝謝!'
n = 19
foot = [string[i:i + n] for i in range(0, len(string), n)]

# 設置字體和顏色
font_type = r'font\my_font.ttc'
header_font = ImageFont.truetype(font_type, 40)
title_font = ImageFont.truetype(font_type, 23)
chapter_font = ImageFont.truetype(font_type, 25)
email_font = ImageFont.truetype(font_type, 18)
list_font = ImageFont.truetype(font_type, 24)
foot_font = ImageFont.truetype(font_type, 20)
header_color = '#FFFFFF'
title_color = '#EE0000'
chapter_color = '#CD3333'
list_color = '#EE2C2C'
foot_color = '#EE3B3B'

# 設置圖片
img = 'img/mode.png'
new_img = 'img/scholarship.png'  
image = Image.open(img)
draw = ImageDraw.Draw(image)
width, height = image.size

# header
header_x = 38
header_y = 880
draw.text((header_x, height - header_y), u'%s' % header, header_color, header_font)

# title
title_x = header_x + 30
title_y = header_y - 140
draw.text((title_x, height - title_y), u'%s' % title, title_color, title_font)

# chapter
chapter_x = title_x - 20
chapter_y = title_y - 40
draw.text((chapter_x, height - chapter_y), u'%s' % chapter[0], chapter_color, chapter_font)
draw.text((chapter_x + 140, height - chapter_y), u'%s' % chapter[1], chapter_color, chapter_font)
draw.text((chapter_x + 270, height - chapter_y), u'%s' % chapter[2], chapter_color, chapter_font)

# 獲取student_list
data = sys.argv[1]
contents = data.split('\\r\\n')
student_list = []
size = len(contents) - 1
for i in range(0, size):
    item = []
    if contents[i].__contains__('):'):
        nick_name = re.findall(r'(.*?)\(', contents[i])
    elif contents[i].__contains__('>:'):
        nick_name = re.findall(r'(.*?)<', contents[i])
    if contents[i].__contains__('):'):
        qq = re.findall(r'\((.*?)\)', contents[i])
    elif contents[i].__contains__('>:'):
        qq = re.findall(r'<(.*?)>', contents[i])
    reward = re.findall(r':(.*?),', contents[i])
    item.append(nick_name[0])
    item.append(qq[0])
    item.append(reward[0])
    student_list.append(item)
    
list_x = chapter_x - 20
list_y = chapter_y - 40
for student in student_list:
    for i in range(0, len(student)):
        if student[i].__contains__('@'):
            draw.text((list_x + i * 140, height - list_y), u'%s' % student[i], list_color, email_font)
        else:
            draw.text((list_x + i * 140, height - list_y), u'%s' % student[i], list_color, list_font)
    list_y = list_y - 40
    
#footer
foot_x = chapter_x - 30
foot_y = list_y - 40
for i in range(0, len(foot)):
    foot_y = foot_y - 40
    draw.text((foot_x, height - foot_y), u'%s' % foot[i], foot_color, foot_font)
draw.text((chapter_x + 30, height - (foot_y - 40)), u'%s(雲打印)' % time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), foot_color, foot_font)

image.save(new_img, 'png')

二、實驗結果以下


增長功能

郵件提醒

增長了對中獎學生的郵件提醒,經過處理聊天記錄中的用戶信息,獲取用戶的郵箱信息好比qq郵箱,實現對中獎用戶的郵件提醒,提升用戶的體驗。

  • 基本實現
public class EmailUtil {
    // 發件人 帳號和密碼
    public static final String MY_EMAIL_ACCOUNT = "cy947205926@163.com";
    public static final String MY_EMAIL_PASSWORD = "**********";// 密碼,是你本身的設置的受權碼
    public static void send465(String subject,String content,String receiveEmail) throws AddressException, MessagingException {
        Properties p = new Properties();
        p.put("mail.smtp.ssl.enable", true);
        p.setProperty("mail.smtp.host", MEAIL_163_SMTP_HOST);
        p.setProperty("mail.smtp.port", "465");
        p.setProperty("mail.smtp.socketFactory.port", SMTP_163_PORT);
        p.setProperty("mail.smtp.auth", "true");
        p.setProperty("mail.smtp.socketFactory.class", "SSL_FACTORY");
        Session session = Session.getInstance(p, new Authenticator() {
            // 設置認證帳戶信息
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(MY_EMAIL_ACCOUNT, MY_EMAIL_PASSWORD);
            }
        });
        session.setDebug(true);
        MimeMessage message = new MimeMessage(session);
        // 發件人
        message.setFrom(new InternetAddress(MY_EMAIL_ACCOUNT));
        // 收件人和抄送人
        message.setRecipients(Message.RecipientType.TO, receiveEmail);
        // 內容(這個內容還不能亂寫,有可能會被SMTP拒絕掉;多試幾回吧)
        message.setSubject(subject);
        message.setContent("<h1>"+ content +"</h1>", "text/html;charset=UTF-8");
        message.setSentDate(new Date());
        message.saveChanges();
        Transport.send(message);
    }
}


遇到的困難及解決方法

  • 陳宇
    • 遇到的困難:java和python對接後端的時候出現了一些問題,部署服務器的時候遇到了一些浪費了比較多的時間。java調用shell命令出了點問題
    • 解決辦法:查詢相關資料。團隊成員一塊兒努力一塊兒解決了。

  • 陳迎仁
    • 遇到的困難:
      • 正則表達式應用不熟悉,在對於文檔的切割過程當中,常常遇到一些切割錯誤;花費了較多的時間在對聊天記錄的切割。
    • 解決辦法:
      • 經過查詢百度文檔,學習鄭重地表達式的基本語法,根據具體格式去尋找正則表達式的書寫;與團隊隊友進行商量。

  • 陳詩嫺
    • 遇到的困難:
      • 編程方面比較弱,算法單一,有不少不懂的
    • 解決辦法:
      • 作力所能及的部分

  • 蔡森林
    • 遇到的困難:對於數據分析,本身從未接觸過,不知道怎麼使用python繪製圖表;對先後端交互不是很懂;bug調試不是很熟練。
    • 解決辦法:經過網上搜索有關python繪圖知識,邊模仿邊踐行,一步一步實現聊天記錄的可視化圖表,如柱形圖,折線圖,詞雲圖和海報圖;對於先後端的交互,主要經過接口實現,以json數據格式進行數據處理;慢慢積累調bug經驗,培養獨立解決問題的能力。

  • 蔡鴻鍵
    • 遇到的困難:
      • git bash使用不便,先後端數據傳輸不順,JS參數傳輸遇到困難
    • 解決辦法:
      • 依靠隊友指導,你們一塊兒測試尋找BUG,使用搜索引擎查詢,多實踐


馬後炮

  • 陳宇

    • 若是我能力能在強一點,那麼隊友就能輕鬆一點

  • 陳迎仁

    • 若是我學java後端的進度能更快一點,那麼此次我就能獨自實踐Java後端開發以及服務器的搭建了,實現我所渴望的技術。

  • 陳詩嫺

    • 若是個人代碼能力能強一點,那麼就能爲團隊作更多事。

  • 蔡森林

    • 若是我能提早好好學python,那麼我將能爲個人團隊作得更多

  • 蔡鴻鍵

    • 若是好好學習,那麼就沒什麼BUG要解決了


PSP表格

陳宇

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 20 20
Estimate 估計這個任務須要多少時間 10 10
Development 開發 200 320
Analysis 需求分析 (包括學習新技術) 60 120
Design Spec 生成設計文檔 0 0
Design Review 設計複審 0 0
Coding Standard 代碼規範(爲目前的開發制定合適的規範) 20 30
Design 具體設計 0 0
Coding 具體編碼 160 210
Code Review 代碼複審 20 60
Test 測試(自我測試,修改代碼,提交修改) 30 120
Reporting 報告 30 40
Test Repor 測試報告 0 0
Size Measurement 計算工做量 10 10
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計劃 15 20
合計 575 960


陳迎仁

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 10 10
Estimate 估計這個任務須要多少時間 10 10
Development 開發 160 220
Analysis 需求分析 (包括學習新技術) 60 150
Design Spec 生成設計文檔 0 0
Design Review 設計複審 0 0
Coding Standard 代碼規範(爲目前的開發制定合適的規範) 5 5
Design 具體設計 0 0
Coding 具體編碼 120 160
Code Review 代碼複審 30 80
Test 測試(自我測試,修改代碼,提交修改) 40 140
Reporting 報告 40 120
Test Repor 測試報告 0 0
Size Measurement 計算工做量 10 10
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計劃 15 20
合計 500 925


陳詩嫺

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 5 10
Estimate 估計這個任務須要多少時間 0 0
Development 開發 60 60
Analysis 需求分析 (包括學習新技術) 20 40
Design Spec 生成設計文檔 0 0
Design Review 設計複審 0 0
Coding Standard 代碼規範(爲目前的開發制定合適的規範) 0 0
Design 具體設計 60 60
Coding 具體編碼 60 60
Code Review 代碼複審 10 10
Test 測試(自我測試,修改代碼,提交修改) 10 15
Reporting 報告 10 15
Test Repor 測試報告 0 0
Size Measurement 計算工做量 0 0
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計劃 10 10
合計 245 280


蔡森林

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 30 60
Estimate 估計這個任務須要多少時間 150 300
Development 開發 120 300
Analysis 需求分析 (包括學習新技術) 40 100
Design Spec 生成設計文檔 20 40
Design Review 設計複審 30 100
Coding Standard 代碼規範(爲目前的開發制定合適的規範) 10 20
Design 具體設計 40 80
Coding 具體編碼 120 300
Code Review 代碼複審 30 150
Test 測試(自我測試,修改代碼,提交修改) 30 90
Reporting 報告 20 20
Test Repor 測試報告 20 10
Size Measurement 計算工做量 15 30
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計 775 1640


蔡鴻鍵

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 30 30
Estimate 估計這個任務須要多少時間 120 300
Development 開發 120 300
Analysis 需求分析 (包括學習新技術) 40 80
Design Spec 生成設計文檔 20 20
Design Review 設計複審 20 120
Coding Standard 代碼規範(爲目前的開發制定合適的規範) 10 20
Design 具體設計 30 60
Coding 具體編碼 120 300
Code Review 代碼複審 30 120
Test 測試(自我測試,修改代碼,提交修改) 30 60
Reporting 報告 20 20
Test Repor 測試報告 20 10
Size Measurement 計算工做量 15 30
Postmortem & Process Improvement Plan 過後總結, 並提出過程改進計劃 20 40
合計 645 1510



Alpha代碼規範、衝刺任務與計劃

團隊名稱: 雲打印
做業要求: Alpha代碼規範、衝刺任務與計劃
做業目標:代碼規範、衝刺任務與計劃。

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

代碼規範

後端採用Springboot編寫 java代碼規範我一直是用阿里雲java開發手冊上的要求。(有些瀏覽器可能不支持pdf在線預覽,那就只能直接下載,我正常使用的都是Google瀏覽器)
阿里巴巴Java開發手冊記念版.pdf在線預覽

代碼規範參考阿里巴巴Java開發手冊記念版:

1、命名風格

【強制】代碼中的命名均不能如下劃線或美圓符號開始,也不能如下劃線或美圓符號結束。
反例:_name / name / $name / name_ / name$ / name
【強制】代碼中的命名嚴禁使用拼音與英文混合的方式,更不容許直接使用中文的方式。
說明:正確的英文拼寫和語法可讓閱讀者易於理解,避免歧義。注意,即便純拼音命名方式也要避免採用。國際通用的名稱,可視同英文。
反例:DaZhePromotion [打折] / getPingfenByName() [評分] / int 某變量 = 3
【強制】類名使用 UpperCamelCase 風格,但如下情形例外:DO / BO / DTO / VO / AO / PO / UID 等。
正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion
反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion
【強制】方法名、參數名、成員變量、局部變量都統一使用 lowerCamelCase 風格,必須聽從駝峯形式。
正例: localValue / getHttpMessage() / inputUserId
【強制】常量命名所有大寫,單詞間用下劃線隔開,力求語義表達完整清楚,不要嫌名字長。
正例:MAX_STOCK_COUNT
反例:MAX_COUNT
【強制】抽象類命名使用 Abstract 或 Base 開頭;異常類命名使用 Exception 結尾;測試類 命名以它要測試的類的名稱開始,以 Test 結尾。
【強制】包名統一使用小寫,點分隔符之間有且僅有一個天然語義的英語單詞。包名統一使用單數形式,可是類名若是有複數含義,類名能夠使用複數形式。
正例:應用工具類包名爲 com.alibaba.ai.core.util、類名爲 MessageUtils(此規則參考 spring 的框架結構)
【強制】杜絕徹底不規範的縮寫,避免望文不知義。
反例:AbstractClass「縮寫」命名成AbsClass;condition「縮寫」命名成 condi,此類隨 意縮寫嚴重下降了代碼的可閱讀性。
【推薦】爲了達到代碼自解釋的目標,任何自定義編程元素在命名時,使用盡可能完整的單詞組合來表達其意。
正例:在 JDK 中,表達原子更新的類名爲:AtomicReferenceFieldUpdater。
反例:變量 int a 的隨意命名方式。

2、代碼格式

【強制】大括號的使用約定。若是是大括號內爲空,則簡潔地寫成{}便可,不須要換行;若是是非空代碼塊則:
左大括號前不換行。
左大括號後換行。
右大括號前換行。
右大括號後還有 else 等代碼則不換行;表示終止的右大括號後必須換行。
【強制】if/for/while/switch/do 等保留字與括號之間都必須加空格。
【強制】採用 4 個空格縮進,禁止使用 tab 字符。

3、註釋規約

【強制】類、類屬性、類方法的註釋必須使用 Javadoc 規範,使用/**內容/格式,不得使用 // xxx 方式。
說明:在 IDE 編輯窗口中,Javadoc 方式會提示相關注釋,生成 Javadoc 能夠正確輸出相應註釋;在 IDE 中,工程調用方法時,不進入方法便可懸浮提示方法、參數、返回值的意義,提升閱讀效率。
【強制】全部的抽象方法(包括接口中的方法)必需要用 Javadoc 註釋、除了返回值、參數、異常說明外,還必須指出該方法作什麼事情,實現什麼功能。
說明:對子類的實現要求,或者調用注意事項,請一併說明。
【強制】全部的類都必須添加建立者和建立日期。
【強制】方法內部單行註釋,在被註釋語句上方另起一行,使用//註釋。方法內部多行註釋 使用/
*/註釋,注意與代碼對齊。
【強制】全部的枚舉類型字段必需要有註釋,說明每一個數據項的用途。
【推薦】與其「半吊子」英文來註釋,不如用中文註釋把問題說清楚。專有名詞與關鍵字保持英文原文便可。
反例:「TCP鏈接超時」解釋成「傳輸控制協議鏈接超時」,理解反而費腦筋。
【推薦】代碼修改的同時,註釋也要進行相應的修改,尤爲是參數、返回值、異常、核心邏輯等的修改。
說明:代碼與註釋更新不一樣步,就像路網與導航軟件更新不一樣步同樣,若是導航軟件嚴重滯後,就失去了導航的意義。

前端代碼規範

一、變量名稱用先小寫後大寫命名,如:maxStudy
二、前後端數據變量一導致用後端命名方式
三、若在小範圍的命名變量中使用三個字母的命名,如:msg
四、避免使用不易理解的數字,用有意義的標識來替代。涉及物理狀態或者含有物理意義的常量,不該直接使用數字,必須用有意義的靜態變量來代替。
五、不要使用難懂的技巧性很高的語句,除非頗有必要時。說明:高技巧語句不等於高效率的程序,實際上程序的效率關鍵在於算法。
六、css、js語句代碼後加「 ; 」斷句
七、使用空行來分割邏輯

衝刺任務與計劃(含衝刺總結)

任務 內容 時間
第一天 閱讀代碼規範,安裝相應的環境 4.24
次日 完成微信小程序登陸受權 4.25
第三天 完成微信小程序上傳文件 4.26
第四天 完成後臺計算頁數 4.27
第五天 學習微信支付接口 4.28
第六天 完成小程序微信支付接口 4.29
第七天 後端和小程序和微信支付對接 4.30
第八天 完成商家端接單和查看訂單 5.1
第九天 整合代碼,測試程序 5.2
第十天 發佈Alpha版本程序 5.3
第十一天 發佈一篇衝刺總結隨筆,描述項目預期計劃、現實進展、過程體會、組員分工及在Alpha階段的工做量比例、下階段展望。 5.4

項目Alpha衝刺(團隊1/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成了Alpha代碼規範、衝刺任務與計劃
      • 完成任務安排
      • 休整了團隊
    • 今天任務
      • 閱讀代碼規範,安裝相應的環境
      • 幫助隊友安裝相關環境;
      • 規劃日程、任務
    • 有哪些困難
      • 搭建Springboot環境遇到了一些小問題
      • 對敏捷開發的規劃、設計方式不熟悉
    • 有哪些收穫
      • 查閱百度並學習了相應的方法

  • 陳迎仁
    • 昨天完成了哪些任務
      • 閱讀了任務要求,安排了開發週期任務
    • 今天任務
      • 肯定代碼規範。
      • 安裝IDE:微信web開發者工具
      • 熟悉IDE
    • 有哪些困難
      • 第一次接觸微信小程序開發,對於一些工具及其文檔不熟悉
    • 有哪些收穫
      • 學會使用微信小程序的開發工具

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 確認團隊分工
    • 今天任務
      • 學習java
      • 閱讀代碼規範
      • 安裝相應的環境
    • 有哪些困難
      • 環境搭建的時候遇到了問題
    • 有哪些收穫
      • 意識到一開始就明確本身要作什麼很重要
      • 學會了如何搭建Springboot環境

  • 蔡森林
    • 昨天完成了哪些任務
      • 接受組長任務調配
      • 與組員討論分工
    • 今天任務
      • 安裝相應的開發工具和環境
      • 計劃分工任務
    • 有哪些困難
      • 安裝環境出錯
    • 有哪些收穫
      • 百度解決環境搭建問題

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 閱讀了任務要求
    • 今天任務
      • 肯定代碼規範。
      • 安裝IDE:phpstrom
      • 熟悉IDE
    • 有哪些困難
      • 對英文環境有些困難
    • 有哪些收穫
      • 熟悉了PHPstrom

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

閱讀代碼規範,你們一塊兒安裝好相應的環境,規劃好每一個人的任務

問題困難

第一次安裝環境遇到了好多問題,你們對敏捷開發的規劃、設計方式也都不太熟悉

心得體會

已經安裝好環境,能夠準備着手開發了,但願不要常常熬夜

項目Alpha衝刺(團隊2/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 閱讀代碼規範,安裝相應的環境
      • 安裝了相應的軟件
      • 開始着手開發
    • 今天任務
      • 完成微信小程序登陸受權
      • 完成相應的後端開發
    • 有哪些困難
      • 完成了部分日程和任務的規劃
      • 對微信小程序的設置屬性
    • 有哪些收穫
      • 學習微信小程序和java對接方法
      • 學習了相應的java後端技術

  • 陳迎仁
    • 昨天完成了哪些任務
      • 肯定代碼規範,安裝並熟悉了IDE
    • 今天任務
      • 閱讀微信小程序的官方文檔,瞭解微信小程序的組件與API以及微信小程序的項目結構,嘗試編輯第一個微信小程序的頁面
    • 有哪些困難
      • 部分組件與學過的HTML的組件形式不同,較爲不熟悉,花費的時間比較長,調試
    • 有哪些收穫
      • 學習到了微信小程序的項目結構,對於小程序的實現有了一個大概的瞭解。對於微信小程序組件與API有了一個大體的瞭解

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 閱讀代碼規範
      • 安裝相應的軟件
    • 今天任務
      • 學習java
      • 協做完成微信小程序的受權登陸
    • 有哪些困難
      • 第一次作微信小程序
      • java使用還不太熟練
      • 一開始對如何實現微信小程序的受權登陸不瞭解
    • 有哪些收穫
      • 學習如何實現微信小程序的受權登陸
      • 學習了更多的java的使用

  • 蔡森林
    • 昨天完成了哪些任務
      • 安裝相應的開發工具和環境
      • 計劃分工任務
    • 今天任務
      • 開始學習微信小程序知識
    • 有哪些困難
      • 對js知識不夠熟悉
    • 有哪些收穫
      • 初步接觸部分微信小程序知識

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 安裝熟悉了IDE
    • 今天任務
      • 嘗試編輯第一個網頁
    • 有哪些困難
      • 調試,運行網頁代碼操做不流暢
    • 有哪些收穫
      • 安裝了瀏覽器插件,使的網頁調試效率提高。

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成微信小程序登陸受權、微信小程序登陸受權後臺的相應開發和部分GUI界面

問題困難

調試,運行網頁代碼操做不流暢

心得體會

剛開始還沒遇到很難的問題,查找資料把問題都解決了,但願後續任務也能這樣

項目Alpha衝刺(團隊3/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成微信小程序登陸受權後臺的相應開發
      • 完成微信小程序登陸受權
      • 完成了部分GUI界面
    • 今天任務
      • 後端上傳文件的接口
      • 進行相應的測試
    • 有哪些困難
      • 搭建測試環境的時候出現bug
      • 上傳文件字符編碼有寫問題
    • 有哪些收穫
      • 複習了Linux進行文件操做
      • 用java進行操做文件I/O

  • 陳迎仁
    • 昨天完成了哪些任務
      • 閱讀微信小程序的官方文檔,瞭解微信小程序的組件與API以及微信小程序的項目結構
    • 今天任務
      • 按照原型編寫微信小程序的一個首頁界面
    • 有哪些困難
      • wxss的編寫與設計較爲麻煩,花費的時間長
    • 有哪些收穫
      • 完成了項目的第一個首頁,並溫習了css的一些屬性

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 協做完成微信小程序的受權登陸
    • 今天任務
      • 學習java
      • 協做完成微信小程序後端上傳文件的接口
    • 有哪些困難
      • 對用java實現接口還不熟
    • 有哪些收穫
      • 對用java實現接口更熟悉了

  • 蔡森林
    • 昨天完成了哪些任務
      • 學習部分微信小程序知識
    • 今天任務
      • 閱讀代碼規範
      • 協調隊友優化界面
    • 有哪些困難
      • ps美化圖片技術欠缺
    • 有哪些收穫
      • 初步接觸微信小程序界面設計

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 編寫了第一個網頁,安裝了調試器。
    • 今天任務
      • 按照原型編寫網頁框架
    • 有哪些困難
      • CSS編寫還原設計比較困難。
    • 有哪些收穫
      • 瀏覽了一些優秀的設計網站,藝術感獲得了提高。

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成微信小程序上傳文件、後端上傳文件的接口和相應的小程序界面

問題困難

搭建測試環境的時候出現bug、上傳文件字符編碼有些問題、按原型設計編寫CSS比較困難

心得體會

你們都專一於各自的部分,按時完成了當天的任務,在這種氛圍下敲代碼也頗有動力

項目Alpha衝刺(團隊4/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成微信小程序上傳文件
      • 完成後端上傳文件的接口
      • 完成相應的小程序界面
    • 今天任務
      • 完成後臺計算頁數 ,後端計算word頁數
      • 調用第三方庫進行轉pdf
      • 調用相應的第三方庫進行計算頁數
    • 有哪些困難
      • 在linux上轉pdf很困難
      • 計算word頁數出現不許確
    • 有哪些收穫
      • 學習了第三方Java庫進行操做文件
      • 學習了相應的服務器安裝軟件命令

  • 陳迎仁
    • 昨天完成了哪些任務
      • 按照原型完成了微信小程序端的第一個首頁界面
    • 今天任務
      • 根據原型設計功能主界面,並添加登陸接口的請求
    • 有哪些困難
      • 與後端交互的過程當中,碰到一些請求失敗的情況
    • 有哪些收穫
      • 學會了微信小程序與後端的數據請求與交互,而且完成了功能主界面

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 協做完成微信小程序後端上傳文件的接口
    • 今天任務
      • 學習java
      • 協做完成後臺計算頁數
    • 有哪些困難
      • 計算頁數出現不許確
    • 有哪些收穫
      • 瞭解並解決了頁數不許確的問題
      • 學習了更多的java的使用

  • 蔡森林
    • 昨天完成了哪些任務
      • 閱讀代碼規範
      • 協助隊友優化界面
    • 今天任務
      • 繼續學習微信小程序知識
      • 協調隊友設計界面
    • 有哪些困難
      • 語法不是很熟練
    • 有哪些收穫
      • 學習微信小程序相關語法

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 按原型設計了主頁面
    • 今天任務
      • 按照模板編寫數據流通頁面。
    • 有哪些困難
      • 沒啥困難。。。
    • 有哪些收穫
      • 和後端交流了數據擺放方式,對用戶體驗進行了提高。

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成後臺計算頁數,後端計算word頁數,調用第三方庫進行轉pdf和相應的小程序界面

問題困難

在linux上轉pdf很困難,計算word頁數出現不許確

心得體會

一邊自學一邊完成任務,你們都好棒啊!

項目Alpha衝刺(團隊5/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成後臺計算頁數
      • 後端計算word頁數
      • 相應的小程序界面
    • 今天任務
      • 學習微信支付接口
      • 後端微信支付接口
      • 督促隊友完成相應的開發
      • 協調任務進度
    • 有哪些困難
      • 微信支付須要企業認證
      • 微信支付須要押金,缺錢。。
    • 有哪些收穫
      • 學習看微信支付接口的調用方式
      • 能更好的協調隊友

  • 陳迎仁
    • 昨天完成了哪些任務
      • 根據原型設計功能主界面,並添加登陸接口的請求
    • 今天任務
      • 編寫個人界面(靜態)
    • 有哪些困難
      • wxss的編寫與設計較爲麻煩,花費的時間長。
    • 有哪些收穫
      • 完成個人界面,而且熟悉了css屬性,練就了樣式調試的耐心

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 協做完成後臺計算頁數
    • 今天任務
      • 學習java
      • 學習微信支付接口
    • 有哪些困難
      • 微信支付不是隨便想申請就能夠申請的
    • 有哪些收穫
      • 簡單得了解了微信支付接口的申請、配置和調用
      • 學習了更多的java的使用

  • 蔡森林
    • 昨天完成了哪些任務
      • 學習微信小程序語法
      • 協調隊友設計界面
    • 今天任務
      • 協調隊友設計微信支付接口
    • 有哪些困難
      • 微信支付接口不懂
    • 有哪些收穫
      • 學習微信支付接口的調用方式

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 按原型設計了數據展現部分。
    • 今天任務
      • 編寫JS的動畫效果部分。
    • 有哪些困難
      • 代碼不聽話,有時該跳出來不跳出來,有時動畫代碼卡死了。
    • 有哪些收穫
      • 收穫了耐心與冷靜,佛性調試代碼。

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成後端微信支付接口、相應的小程序界面,並實現成功的調用

問題困難

微信支付須要企業認證、須要押金,不瞭解微信支付接口

心得體會

認真的組長開始協調任務進度,看進度根據時間穩步增加,頗有繼續作下去的動力

項目Alpha衝刺(團隊6/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 學習微信支付接口
      • 後端微信支付接口
      • 相應的小程序界面
      • 並實現成功的調用
    • 今天任務
      • 完成小程序微信支付接口
      • 後端微信支付回調接口
      • 督促隊友完成相應的開發
      • 協調任務進度
    • 有哪些困難
      • 微信支付驗證流程比較麻煩
      • 請求支付的接口加密算法不熟悉
      • 回掉接口須要解密。
    • 有哪些收穫
      • 學習了常見的加密算法,能對數據進行加密
      • 瞭解了安全性對企業的重要性

  • 陳迎仁
    • 昨天完成了哪些任務
      • 編寫個人界面(靜態)
    • 今天任務
      • 配合商家端的隊友編寫文件上傳界面,以及上傳文件接口的套用
    • 有哪些困難
      • 測試時常常出現返回不了微信小程序(由於上傳文件是經過引入網頁頁面來實現)
    • 有哪些收穫
      • 完成了文件上傳接口,練就了調bug的耐心,不會那麼想砸電腦了。

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 學習微信支付接口
    • 今天任務
      • 學習java
      • 協做完成小程序微信支付接口
    • 有哪些困難
      • 微信支付接口要考慮不少東西,很差寫代碼
    • 有哪些收穫
      • 學習了新的算法,對java的使用更熟練了

  • 蔡森林
    • 昨天完成了哪些任務
      • 協調隊友設計微信支付接口
    • 今天任務
      • 學習微信小程序與後端交互知識
    • 有哪些困難
      • 對微信小程序與後端交互不瞭解
    • 有哪些收穫
      • 接觸微信小程序與後端交互知識

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 完成了部分動畫JS。
    • 今天任務
      • 編寫JS的動畫效果。
      • 編寫JS的AJAX部分。
    • 有哪些困難
      • 向後端申請數據時會有參數錯誤。
    • 有哪些收穫
      • 數據先後端接口對接熟練了。

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成小程序微信支付接口、後端微信支付回調接口和加密算法的實現

問題困難

微信支付驗證流程比較麻煩,請求支付的接口加密算法不熟悉,回調接口須要解密

心得體會

你們各部分的進度都達到預期,感受很快就能夠對接了

項目Alpha衝刺(團隊7/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成小程序微信支付接口
      • 後端微信支付回調接口
      • 加密算法的實現
    • 今天任務
      • 後端和小程序和微信支付對接
      • 督促隊友完成相應的開發
    • 有哪些困難
      • 微信支付驗證流程比較麻煩
      • 請求支付的接口加密算法不熟悉
      • 對接時接口參數有些問題
    • 有哪些收穫
      • 瞭解模塊開發的重要性
      • 沒有什麼事是熬個夜不能解決的,若是有,就通個宵

  • 陳迎仁
    • 昨天完成了哪些任務
      • 配合商家端的隊友編寫文件上傳界面,以及上傳文件接口的套用
    • 今天任務
      • 編寫訂單信息填寫頁面以及訂單基本信息的交互接口的套用
    • 有哪些困難
      • wxss的編寫與設計較爲麻煩,請求接口有時會有bug。
    • 有哪些收穫
      • 完成了填寫訂單信息頁面

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 協做完成小程序微信支付接口
    • 今天任務
      • 學習java
      • 協做實現小程序接入微信支付
    • 有哪些困難
      • 寫代碼遇到了不少錯誤
    • 有哪些收穫
      • 提升了java中發現問題和解決問題的能力

  • 蔡森林
    • 昨天完成了哪些任務
      • 學習微信小程序與後端交互知識
    • 今天任務
      • 協助隊友後端和小程序交互
    • 有哪些困難
      • 調試bug
    • 有哪些收穫
      • 積累調試經驗

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 完成了部分動畫JS。
      • 完成了部分AJAX。
    • 今天任務
      • 編寫剩餘JS的AJAX部分。
    • 有哪些困難
      • 向後端申請數據時還會有參數錯誤或者是後端的數據庫插入問題。
    • 有哪些收穫
      • 聯絡了先後端開發人員的感情。
      • 不能相互甩鍋。

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成後端和小程序和微信支付對接、填寫訂單信息頁面以及交互

問題困難

將各部分對接遇到了不少問題

心得體會

熬夜一時爽,一直熬夜一直爽。。。

項目Alpha衝刺(團隊8/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/

| 221600408 |蔡鴻鍵 |https://www.cnblogs.com/jichiwoyaochi/||


各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 後端和小程序和微信支付對接
      • 完成小程序端的GUI
    • 今天任務
      • 完成商家端接單和查看訂單
      • 後端商家端接口
      • 商家端的部分GUI
    • 有哪些困難
      • Web和後端跨域有些問題
      • 測試數據出問題
    • 有哪些收穫
      • 查詢了相關資料
      • 要合理安排時間,減小熬夜時間

  • 陳迎仁
    • 昨天完成了哪些任務
      • 完成了填寫訂單信息頁面以及交互
    • 今天任務
      • 編寫打印屬性選擇的頁面,訂單確認頁面;而且套用接口實現數據交互
    • 有哪些困難
      • 沒有什麼困難
    • 有哪些收穫
      • 完成了打印屬性選擇的頁面,訂單確認頁面,實現數據交互

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 協做實現小程序接入微信支付
    • 今天任務
      • 學習java
      • 協做完成後端商家端接口
    • 有哪些困難
      • 寫代碼仍是遇到了一些錯誤
    • 有哪些收穫
      • 解決錯誤後感受對java的使用更熟練了

  • 蔡森林
    • 昨天完成了哪些任務
      • 協助隊友後端和小程序交互
    • 今天任務
      • 協助隊友後端與web交互
    • 有哪些困難
      • 對後端與web交互不熟悉
    • 有哪些收穫
      • 積累後端與web交互經驗

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 完成了JS的大致代碼
    • 今天任務
      • 優化GUI
      • 優化用戶體驗
      • 尋找更好網頁素材代替粗略圖
    • 有哪些困難
      • 跨域問題,拒絕訪問
      • 素材比較難找
    • 有哪些收穫
      • 跨域問題的解決
      • 界面友好度提高

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

完成商家端接單和查看訂單、後端商家端接口、打印屬性選擇的頁面,訂單確認頁面以及數據交互

問題困難

Web和後端跨域有些問題,拒絕訪問

心得體會

快結束了,再肝一下

項目Alpha衝刺(團隊9/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成商家端接單和查看訂單
      • 後端商家端接口
      • 商家端的部分GUI
    • 今天任務
      • 整合代碼
      • 測試程序
      • 協調隊友完成相應的開發
    • 有哪些困難
      • 有些開發進度低於預期
      • 整合代碼時出現問題
    • 有哪些收穫
      • 要合理協調組員
      • 要實時關注組員的進度

  • 陳迎仁
    • 昨天完成了哪些任務
      • 完成了打印屬性選擇的頁面,訂單確認頁面以及數據交互
    • 今天任務
      • 完成微信支付功能的接口套接
    • 有哪些困難
      • 請求常常有失敗
    • 有哪些收穫
      • 學會了如何在微信小程序完成微信支付

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
    • 今天任務
      • 學習java
      • 測試程序
    • 有哪些困難
      • 擔憂測試不夠全面
    • 有哪些收穫
      • 對白盒測試的實際運用更熟練了

  • 蔡森林
    • 昨天完成了哪些任務
      • 協助隊友優化接口問題
    • 今天任務
      • 對微信小程序和web進行測試
      • 協調隊友完成相應的開發
    • 有哪些困難
      • 調試bug
    • 有哪些收穫
      • 積累測試經驗

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 優化了頁面
      • 解決了跨域BUG
    • 今天任務
      • 優化整合代碼
      • 刪除了一些調用速度慢的網頁
      • 刪除了一些註釋代碼
      • 刪除了一些調試代碼
      • 將JS、css、圖片文件整合成獨立文件夾
    • 有哪些困難
      • 整合代碼比較麻煩
      • 導入bootstrap框架比較麻煩
    • 有哪些收穫
      • 代碼整潔度提高
      • 開發過程當中就應該把這些文件提早整合

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

整合代碼,優化代碼,測試程序

問題困難

整合代碼時出現問題,導入bootstrap框架比較麻煩

心得體會

快結束了,你們最後肝一次

項目Alpha衝刺(團隊10/10)

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標: 完成項目Alpha版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 整合代碼
      • 測試程序
    • 今天任務
      • 發佈Alpha版本程序
    • 有哪些困難
      • 有些代碼缺乏較爲全面的測試
      • 服務器和windows環境不同,部署時容易出問題
      • 有些代碼整合在一塊兒報錯
    • 有哪些收穫
      • 須要學習新知識,來擴寬本身的知識面
      • Alpha衝刺終於結束了,終於不用肝了

  • 陳迎仁
    • 昨天完成了哪些任務
      • 完成微信支付
    • 今天任務
      • 測試
      • 優化整合代碼
      • 刪除了一些註釋代碼
      • 刪除了一些調試代碼
    • 有哪些困難
      • 沒啥困難。。
    • 有哪些收穫
      • 認識到了開發過程當中應該注意一些細節,以避免花費double的時間去解決
      • 程序跑成功時仍是很開心的

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 學習java
      • 測試程序
    • 今天任務
      • 學習java
      • 測試程序
    • 有哪些困難
      • 有些代碼不知道怎麼進行全面的測試
    • 有哪些收穫
      • 學習不少之前沒接觸過的新知識
      • 天天按計劃完成任務感受效率有提升
  • 蔡森林
    • 昨天完成了哪些任務
      • 對微信小程序和web進行測試
      • 協調隊友完成相應的開發
    • 今天任務
      • 協助隊友對程序小修小補
    • 有哪些困難
      • 整合困難
    • 有哪些收穫
      • 學到了不少知識

  • 蔡鴻鍵
    • 昨天完成了哪些任務
      • 優化代碼
    • 今天任務
      • 測試
      • 發佈A版本
    • 有哪些困難
      • 沒啥困難。。
    • 有哪些收穫
      • 在編程的時候,要考慮代碼的重用性
      • 遇到難題解決時要及時記錄下來,如博客啥的。。
      • 程序跑成功時仍是很開心的

站立式會議照片


項目燃盡圖


衝刺狀況描述

項目進展

發佈Alpha版本程序

問題困難

服務器和windows環境不同,部署時容易出問題,有些代碼整合在一塊兒報錯

心得體會

終於完成了alpha衝刺,感恩!

測試隨筆

團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
測試用例文檔下載

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

測試工做安排

模塊 測試人 測試內容
單元測試 陳宇、陳迎仁、陳詩嫺、蔡森林、蔡鴻鍵 各自編寫的代碼的覆蓋率
界面測試 陳迎仁、蔡鴻鍵 測試界面的佈局和易用性
功能測試 陳宇、蔡森林 測試功能的正確性
數據庫測試 陳迎仁 測試數據庫接口和性能
總體測試 陳宇、陳詩嫺 測試系統總體的使用是否正常

測試工具選擇和應用

模塊 測試工具
單元測試 Junit
界面測試 Instrumentation
功能測試 Jprofile
數據庫測試 mysqlslap

測試體會

  • 一開始咱們計劃是所有程序寫完後一塊兒測試,在放假前最後一次軟件工程課聽到老師教導,當天寫的代碼當天就測試,這樣的效率會很高。咱們記住了老師的教導並使用了這樣的測試方式,確實感受最後總體測試遇到的問題沒有不少,大大減小了咱們最後修改代碼的時間。

項目測試評述

  • 你們都有參與到測試當中,每一個人先負責各自的部分,這樣效率挺高的。
  • 咱們對絕大多數狀況都作了測試,但願演示的時候不會出現咱們沒測試到的問題。

Alpha衝刺總結隨筆

課程名稱:軟件工程1916|W(福州大學)
團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標:Alpha衝刺總結隨筆

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/

共享文檔地址

共享文檔地址 新

共享文檔地址 舊,麻煩填過舊連接的同窗在從新填一下新連接吧


代碼

小程序端代碼Github地址
商家端代碼Github地址
後端代碼Github地址


項目預期計劃及現實進展

項目預期計劃 現實進展
閱讀代碼規範,安裝相應的環境和開發者工具 100%
微信小程序登陸受權,後端相應的開發 100%
後端上傳文件的接口,進行相應的測試 99%
後端計算word頁數,調用第三方庫進行轉pdf和進行計算頁數 100%
學習微信支付接口 ,後端微信支付接口,督促隊友 97%
微信支付接口,後端微信支付回調接口,協調任務進度 98%
後端和小程序和微信支付對接,督促隊友完成相應的開發 98%
商家端接單和查看訂單,後端商家端接口,商家端的部分GUI 97%
整合代碼,測試程序,協調隊友完成相應的開發 99%
發佈Alpha版本程序 100%

過程體會

  • 陳宇(組長)
    在Alpha衝刺,我學到了如何更高效的管理團隊,和協調團隊成員之間的關係,明確天天本身的任務,當天的代碼當天測試,多和組員溝通,及時瞭解隊員的難處,五一放假都在忙此次的Alpha衝刺,雖然很累但也很充實,
    最後咱們團隊也按預期完成了任務。在開發過程當中也踩了不少坑,也常常熬夜,歷盡了千辛萬苦終於完成了Alpha衝刺,但願咱們的團隊能在Beta作得更好。

  • 陳詩嫺
    這一次任務感受時間很是緊,組長在第一天就分配了天天應完成的任務進度,明確本身天天要完成的工做,我爲了趕進度天天都要自主學習新知識並完成當天的工做,這一次放假也基本上都在忙項目了。這一次任務咱們終於在上課前搞完了,雖然很累,但也感受很充實,頗有成就感,在此次任務中也學到了不少新的知識,還會繼續努力的。

  • 蔡鴻鍵
    第一次你們在一塊兒作一個項目,由於什麼都不會,感受拖累了你們。還好你們耐心的幫助我,讓我感覺到了一我的寫代碼無聊與你們一塊兒寫代碼的樂趣

  • 蔡森林
    在Alpha衝刺過程當中,我學到了不少東西,開始接觸開發微信小程序,雖然本身能作得很少,只是對界面上的小修小補和一些功能測試,但願在接下來的時間裏,多學習一些微信小程序開發的相關知識,在Beta衝刺階段能爲個人團隊多作貢獻。

  • 陳迎仁
    在Alpha衝刺中,學到了不少和小程序相關的知識,先是文件上傳界面,接着是微信支付,還有一些七七八八的配置,這個階段雖然很累可是也很充實,但願本身接下來能作得更好,少熬夜。

組員分工及其工做量比例

學號 姓名 任務 百分比
221600412 陳宇(隊長) 後端開發,任務安排,撰寫博客 22%
221600401 陳詩嫺 美工,撰寫博客 17%
221600408 蔡鴻鍵 商家web端開發 20%
221600409 蔡森林 微信小程序界面美化及測試,撰寫博客 19%
221600411 陳迎仁 微信小程序 22%

下階段展望

總結經驗教訓,事先明確分工任務,作好計劃安排。針對Alpha衝刺遺留的問題,進一步完善項目結構與功能。尤爲是一些接口問題,常常會出現bug問題,須要進一步再優化。在下階段的Beta衝刺過程當中,但願能夠充分調動組員的積極性,多進行交流討論,把咱們的項目作得更好。

# alpha衝刺過後諸葛亮(團隊)

課程名稱:軟件工程1916|W(福州大學)
團隊名稱: 雲打印
做業要求: 項目Alpha衝刺(團隊)
做業目標:完成Alpha衝刺的過後諸葛亮

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600408 蔡鴻鍵 https://www.cnblogs.com/jichiwoyaochi/ 轉出
221600307 李姣 https://www.cnblogs.com/CloudLong/ 轉入

設想和目標

1.咱們的軟件要解決什麼問題?是否認義得很清楚?是否對典型用戶和典型場景有清晰的描述?

咱們軟件主要解決傳統線下打印的一些弊端,好比線下打印店人多擁擠、排隊時間長,U盤中毒、丟失,對打印機不熟悉錯印多印,商家須要時刻關注各臺打印機的打印情況等傳統弊端。對軟件功能的定位是很清晰的。主要針對目前大學生的打印場景以及目前大學生的羣體進行了清晰的調查,經過問卷和實地考察,進行清晰的描述。

2.咱們達到目標了麼(原計劃的功能作到了幾個? 按照原計劃交付時間交付了麼? 原計劃達到的用戶數量達到了麼?)

微信小程序端原計劃主要實現5個大功能模塊:文件打印、圖片打印、聯繫客服、聯繫商家、掃一掃;每一個大功能模塊下還劃分了許多子功能,好比文件上傳、微信支付、訂單列表、訂單填寫;按照原計劃a階段實現了主功能文件上傳以及微信支付即文件打印功能。原計劃達到的用戶數尚未達到。

3.和上一個階段相比,團隊軟件工程的質量提升了麼? 在什麼地方有提升,具體提升了多少,如何衡量的?

團隊軟件工程的質量提升了,對於整個軟件的開發以及管理和計劃的把握上有了必定的提升,從沒有計劃的建瓦房達到了有圖紙有規劃的建平樓,經過開發的軟件項目質量以及開發過程當中對問題的處理以及初始的計劃安排狀況來衡量

4.用戶量, 用戶對重要功能的接受程度和咱們事先的預想一致麼? 咱們離目標更近了麼?

用戶量離預期還有較大的距離,用戶對文件打印功能的接受程度與事先的預想相差很少,但在一些細節上還不夠完善,還須要進一步改進。

5.有什麼經驗教訓? 若是歷史重來一遍, 咱們會作什麼改進?

經驗教訓:初期只是規劃在10天內完成的一系列功能,粗糙地 安排天天的工做量,可是在後面的執行欠缺更加嚴格的監督,致使其中一兩天耽擱,沒有按照預期的進度去作,還好後面幾天加班完成預期功能。經過這個教訓,感覺到應該嚴格監督天天的進度。若是從新來一遍,咱們會更加合理的安排人員以及時間,清晰劃分每一個任務的deadline,嚴格監督天天進度。


計劃

1.是否有充足的時間來作計劃?

作計劃上的時間仍是挺充足的,作好計劃,有助於工程的順利進行。

2.團隊在計劃階段是如何解決同事們對於計劃的不一樣意見的?

當遇到不一樣意見時,咱們主要採用投票表決,決策出最優方案。

3.你原計劃的工做是否最後都作完了? 若是有沒作完的,爲何?

大部分任務如期完成,未作完的部分由於突發緣由或技術問題影響工程的進度。

4.有沒有發現你作了一些過後看來不必或沒多大價值的事?

這個卻是沒有遇到。

5.是否每一項任務都有清楚定義和衡量的交付件?

每一項任務基本都有明確的目標。

6.是否項目的整個過程都按照計劃進行,項目出了什麼意外?有什麼風險是當時沒有估計到的,爲何沒有估計到?

項目未徹底按照計劃進行,中間由於某些技術上的問題,致使進度有些落後。對於風險的問題,這個卻是沒考慮到。

7.在計劃中有沒有留下緩衝區,緩衝區有做用麼?

咱們計劃中留有必定的緩存區,某種程度上較好地彌補落下的工做。

8.未來的計劃會作什麼修改?(例如:緩衝區的定義,加班)

根據技術上的難度適當調整天天的工做量。

9.咱們學到了什麼? 若是歷史重來一遍, 咱們會作什麼改進?

在這個過程當中,咱們學到了微信小程序開發的相關技術,先後端交互的問題解決能力以及開發過程當中遇到的種種問題的解決經驗等


資源

1.咱們有足夠的資源來完成各項任務麼?

技術資源不夠,須要邊學習邊開發,工做量大,壓力大。

2.各項任務所需的時間和其餘資源是如何估計的,精度如何?

主要按照工程中功能實現的難易程度進行估計,精度上還須要進一步改進。

3.測試的時間,人力和軟件/硬件資源是否足夠? 對於那些不須要編程的資源 (美工設計/文案)是否低估難度?

測試時間不夠,人力和軟硬件資源湊湊有餘,對於美工、文案設計確實低估了工程難度,在界面設計中遇到了許多問題。

4.你有沒有感到你作的事情可讓別人來作(更有效率)?

這個卻是沒有,本身正在作的事情本身比較熟悉,忽然交付給別人來作,須要花費時間跟他交流討論,才能真正交接,這樣效率反而不高。

5.有什麼經驗教訓? 若是歷史重來一遍, 咱們會作什麼改進?

代碼複用性不是很好,後期修改的工做量大,若是能夠再來一次的話,咱們打算對代碼進行重構,提升代碼複用性和整潔性。

變動管理

1.每一個相關的員工都及時知道了變動的消息?

收到變動通知後,咱們及時和組員進行了溝通和交流,保證了消息的時效性,讓組員第一時間收到通知。

2.咱們採用了什麼辦法決定「推遲」和「必須實現」的功能?

根據這個功能對軟件的必要性和開會討論。

3.項目的出口條件(Exit Criteria – 什麼叫「作好了」)有清晰的定義麼?

在前面的需求分析報告,和系統分析報告中有比較清晰的定義。

4.對於可能的變動是否能制定應急計劃?

沒有,全靠熬夜加班。

5.員工是否可以有效地處理意料以外的工做請求?

在alpha衝刺中沒有遇到意料以外的工做請求。

6.咱們學到了什麼? 若是歷史重來一遍, 咱們會作什麼改進?

保證消息的時效性,制定好應急計劃。

設計/實現

1.設計工做在何時,由誰來完成的?是合適的時間,合適的人麼?

設計是在初期原型設計的時候由團隊多名隊員一塊兒完成的,是合適的時間,合適的人。

2.設計工做有沒有碰到模棱兩可的狀況,團隊是如何解決的?

有,會團隊一塊兒討論把模棱兩可的地方肯定。

3.團隊是否運用單元測試(unit test),測試驅動的開發(TDD)、UML, 或者其餘工具來幫助設計和實現?這些工具備效麼? 比較項目開始的 UML 文檔和如今的狀態有什麼區別?這些區別如何產生的?是否要更新 UML 文檔?

  • 有運用單元測試和UML等工具來幫助設計和實現。
  • 這些工具是有效的,單元測試保證了每一個部分的正確性,uml幫助咱們觀察類、對象等之間的關係。
  • UML文檔類圖的對象和方法都有不同,區別產生於老師和助教的建議後,咱們更新了UML文檔。

4.什麼功能產生的Bug最多,爲何?在發佈以後發現了什麼重要的bug? 爲何咱們在設計/開發的時候沒有想到這些狀況?

  • 小程序微信支付功能產生的bug最多,由於你們不太熟悉它的工做原理。
  • 發佈後沒有發現重要bug。

5.代碼複審(Code Review)是如何進行的,是否嚴格執行了代碼規範?

  • 代碼複審由組長審查代碼的格式、風格、命名是否符合規範。

6.咱們學到了什麼? 若是歷史重來一遍, 咱們會作什麼改進?

  • 咱們學到了微信小程序的開發,還有不少測試工具的使用。
  • 若是歷史重來一遍,咱們會更嚴格按照代碼規範編程。

測試/發佈

1.團隊是否有一個測試計劃?爲何沒有?

有。

2.是否進行了正式的驗收測試?

進行了。

3.團隊是否有測試工具來幫助測試?

有,如Junit等。

4.團隊是如何測量並跟蹤軟件的效能的?從軟件實際運行的結果來看,這些測試工做有用麼?應該有哪些改進?

有用Jprofile對軟件的功能進行測試。有用,確保了軟件功能的正確性。

5.在發佈的過程當中發現了哪些意外問題?

  • 沒有遇到意外問題。
  • 咱們學到了測試的重要性。
  • 若是重來一遍咱們會提前學習測試工具的使用,不用臨時學習

6.咱們學到了什麼? 若是重來一遍, 咱們會作什麼改進?

  • 沒有遇到意外問題。
  • 咱們學到了測試的重要性。
  • 若是重來一遍咱們會提前學習測試工具的使用,不用臨時學習。

團隊的角色,管理,合做

1.團隊的每一個角色是如何肯定的,是否是人盡其才?

每一個成員負責本身擅長的部分,充分發揮團員的優勢。

2.團隊成員之間有互相幫助麼?

3.當出現項目管理、合做方面的問題時,團隊成員如何解決問題?

團隊一塊兒溝通討論

每一個成員明確公開地表示對成員幫助的感謝 (而且寫在各自的博客裏):

  • 陳宇
    感謝chj在完成先後端的任務中給與個人幫助,即便離開了團隊也繼續完成了前端的任務。

  • 陳迎仁
    我感謝cy同窗對個人幫助, 由於在出現的一些bug的時候都是他和我一塊兒克服,還指導我學習java後端。

  • 蔡鴻鍵
    我感謝cy對個人幫助,由於某個具體的事情: 幫我一步一步改BUG。

  • 蔡森林
    我感謝cyr對個人幫助,由於某個具體的事情: 他讓我開始接觸和開發微信小程序。

  • 陳詩嫺
    我感謝cy同窗對個人幫助,由於某個具體的事情:衝刺階段寫代碼遇到bug幫我找緣由和修改方法。

總結

1.你以爲團隊目前的狀態屬於 CMM/CMMI 中的哪一個檔次?

可重複級(Repeatable)檔次。

2.你以爲團隊目前處於 萌芽/磨合/規範/創造 階段的哪個階段?

從磨合到規範的階段。

3.你以爲團隊在這個里程碑相比前一個里程碑有什麼改進?

代碼規範度更高,配合也更默契。

4.你以爲目前最須要改進的一個方面是什麼?

增長團隊成員的配合度。

5.其它軟件工具的應用,應該如何提升?

參考網絡上的教程自學,或請求掌握該工具使用的同窗的指導。

6.項目文檔的質量如何提升?

參考網絡中優秀的項目文檔是怎麼寫的。

交換組員的工做交接和培訓方案

工做交接:
1,傳給新成員原成員寫的源碼,由於原成員是web端,因此咱們把全部的HTML+CSS+JS的網頁代碼交給他。
2,由於新成員學習過基本的WEB知識,就不用另行學習。
3,由原成員帶新成員學習web使用的框架。
4,因爲新成員是作UI的,會幫派一些UI圖標優化。

培養計劃
1,溫習基礎HTML+CSS+JS知識
2,由原成員帶新成員瀏覽代碼,學習框架,並運用
3,使新成員瞭解接下來的項目需求,提出本身的看法,使加快融入小組
4,由先後端同窗交流接口,使之理解數據交付,熟悉AJAX和DOM原理等
5,自我界面美感優化

討論的照片

凡事預則立

課程名稱:軟件工程1916|W(福州大學)
團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標:Beta衝刺

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

組長重選議題組長重選議題

沒人想當。


Beta階段計劃改進完善的功能

  • 完善小程序端的界面;
  • 美化商家網頁端界面;
  • 修改了後端的代碼

Beta階段計劃新增的功能

  • 完善文件上傳接口
  • 文件下載
  • 增長訂單優先級
  • 增長裝訂屬性
  • 商家接單,完成訂單

須要改進的團隊分工

在Alpha階段中團隊的分工仍是比較明確,可是開發比較分散,雖然溝通都比較及時可是隊員不能及時處理出現的問題,會出現拖拉現象。在Beta階段,咱們團隊成員一塊兒開發,及時溝通和解決問題提升效率。

須要改進的工具流程

目前沒有比較須要改進的工具和流程

衝刺的時間計劃安排

任務 內容 時間
第一天 完善文件上傳接口 5.23
次日 文件下載 5.24
第三天 增長訂單優先級 5.25
第四天 增長裝訂屬性 5.26
第五天 商家接單,完成訂單 5.27
第六天 修改了後端的代碼,完善服務 5.28
第七天 美化商家網頁端界面,完善小程序端的界面 5.29
用戶試用的調查報告 用戶試用,完成一份用戶試用的調查報告。 5.31

項目Beta衝刺(團隊1/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完成任務安排
      • 休整了團隊
      • 花了1天進行任務安排,剩餘時間6天
    • 遇到什麼困難
      • 微信安裝上傳文件證書出現問題
    • 今天解決的進度
      • 完善文件上傳接口
      • 規劃日程、任務
    • 明天的計劃
      • 文件下載
      • 優化後端代碼

  • 陳迎仁
    • 昨天完成了哪些任務
      • 接受組長任務調配
      • 與組員討論分工
      • 花了1天進行了解任務安排,剩餘時間6天
    • 今天任務
      • 規劃beta階段所要完成微信小程序的基本功能
      • 安排開發計劃
    • 有哪些困難
      • 對於beta階段所能完成的工做量把握比較不許確
    • 有哪些收穫
      • 規劃了beta階段的微信小程序開發任務
    • 明天的計劃
      • 界面進行優化
      • 頁數計算中的一個提示
      • 字段校驗

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 確認七天的任務安排以及本身天天的任務,剩餘時間6天
    • 遇到什麼困難
    • 今天解決的進度
      • 肯定全部要優化的代碼
      • 學習java
    • 明天的計劃
      • 優化後端代碼

  • 蔡森林

    • 昨天完成了哪些任務
      • 接受組長任務調配
      • 與組員討論分工
    • 遇到什麼困難
      • 怎麼合理規劃時間
    • 今天解決的進度
      • 討論項目哪些地方須要改進
      • 學習微信小程序佈局方式
      • 計劃分工任務
    • 明天的計劃
      • 對界面進行優化
      • 進行字段檢驗

  • 李姣
    • 昨天完成了哪些任務
    • 今天任務
      • 肯定任務安排
    • 有哪些困難
    • 有哪些收穫
      • 認識了團隊成員
    • 明天的計劃
      • 接口修改

SCRUM 會議照片


對應的截圖

嵌入記錄



PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖


PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 24 隊長
221600411 陳迎仁 23
221600409 蔡森林 21
221600401 陳詩嫺 16
221600307 李姣 16

PM 報告 -- 項目程序/模塊的最新(運行)截圖


項目Beta衝刺(團隊2/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 完善文件上傳接口
      • 解決了安裝證書的問題
      • 花了1天解決了上述任務,剩餘時間5天
    • 遇到什麼困難
      • 文件太大下載時間較長
    • 今天解決的進度
      • 文件下載
      • 優化後端代碼
    • 明天的計劃
      • 增長訂單優先級
      • 進行相應的測試

  • 陳迎仁
    • 昨天完成了哪些任務
      • 規劃beta階段所要完成微信小程序的基本功能
      • 安排開發計劃
      • 花了1天解決了上述任務,剩餘時間5天
    • 今天任務
      • 界面進行優化
      • 頁數計算中的一個提示
      • 字段校驗
    • 有哪些困難
      • 獲取頁數的一個提示較爲麻煩,須要實時請求是否計算完畢
    • 有哪些收穫
      • 完成了獲取頁數時的一個進度提示、字段校驗
    • 明天的計劃
      • 添加一些打印屬性的選擇

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 肯定全部要優化的代碼,剩餘時間5天
    • 遇到什麼困難
      • 有些代碼不知道該怎麼優化
    • 今天解決的進度
      • 優化後端代碼
      • 測試優化後的代碼
      • 學習java
    • 明天的計劃
      • 繼續優化後端代碼

  • 蔡森林
    • 昨天完成了哪些任務
      • 討論項目哪些地方須要改進
      • 學習微信小程序佈局方式
      • 計劃分工任務
    • 遇到什麼困難
      • flex佈局不是很熟練
      • 字段錯誤提示有點問題
    • 今天解決的進度
      • 對界面進行優化
      • 進行字段檢驗
    • 明天的計劃
      • 添加優先級功能
      • 添加裝訂方式

  • 李姣
    • 昨天完成了哪些任務
      • 任務安排
    • 今天任務
      • 接口修改,後端修改了訂單訪問接口。修改了AJAX的訂單接口地址,更正傳輸參數了。
    • 有哪些困難
    • 有哪些收穫
    • 明天的計劃
      • 新增商家完成接口

SCRUM 會議照片


對應的截圖

嵌入記錄


PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖



PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 24 隊長
221600411 陳迎仁 23
221600409 蔡森林 21
221600401 陳詩嫺 16
221600307 李姣 16

PM 報告 -- 項目程序/模塊的最新(運行)截圖

項目Beta衝刺(團隊3/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 文件下載
      • 優化後端代碼
      • 花了1天解決了上述任務,剩餘時間4天
    • 遇到什麼困難
      • 沒有較大的問題
    • 今天解決的進度
      • 增長訂單優先級
      • 進行相應的測試
    • 明天的計劃
      • 增長裝訂屬性
      • 商家端界面

  • 陳迎仁
    • 昨天完成了哪些任務
      • 界面進行優化
      • 頁數計算中的一個提示
      • 花了1天解決了上述任務,剩餘時間4天
    • 今天任務
      • 添加一些打印屬性的選擇
    • 有哪些困難
      • 界面設計花費時間較多
    • 有哪些收穫
      • 實現了文件打印的加急處理
    • 明天的計劃
      • 修復訂單列表顯示的一個bug
      • 完成訂單列表中的支付功能

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 優化部分後端代碼,剩餘時間4天
    • 遇到什麼困難
      • 代碼優化遇到bug,多花了時間去修改代碼
    • 今天解決的進度
      • 優化後端代碼
      • 測試優化後的代碼
      • 學習java
    • 明天的計劃
      • 與隊友一塊兒修改商家端界面

  • 蔡森林
    • 昨天完成了哪些任務
      • 對界面進行優化
      • 進行字段檢驗
    • 遇到什麼困難
      • 優先級邏輯設計有點bug
    • 今天解決的進度
      • 添加優先級功能

      • 添加裝訂方式
    • 明天的計劃
      • 與後臺交互
      • 完善優先級,裝訂方式的邏輯設計

  • 李姣
    • 昨天完成了哪些任務
      • 熟悉了參數
    • 今天任務
      • 新增商家接口完成函數。在訂單列表中添加了完成按鈕,並新增函數finish,使用ajax接口返回訂單ID給後端,並刷新頁面。
    • 有哪些困難
      • JS函數調試
    • 有哪些收穫
      • JS編寫熟練。
    • 明天的計劃
      • 新增商家完成接口

SCRUM 會議照片

嵌入記錄


對應的截圖



PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖



PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 24 隊長
221600411 陳迎仁 23
221600409 蔡森林 21
221600401 陳詩嫺 16
221600307 李姣 16

PM 報告 -- 項目程序/模塊的最新(運行)截圖

項目Beta衝刺(團隊4/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 增長訂單優先級
      • 進行相應的測試
      • 花了1天解決了上述任務,剩餘時間3天
    • 遇到什麼困難
      • 微信支付回調出現異常
    • 今天解決的進度
      • 增長裝訂屬性
      • 商家端界面
    • 明天的計劃
      • 商家接單
      • 完成訂單相應的後臺代碼

  • 陳迎仁
    • 昨天完成了哪些任務
      • 添加一些打印屬性的選擇
      • 花了1天解決了上述任務,剩餘時間3天
    • 今天任務
      • 修復訂單列表顯示的一個bug
      • 完成訂單列表中的支付功能
    • 有哪些困難
      • 訂單列表中的一個支付有bug
    • 有哪些收穫
      • 對微信支付有了更深的理解
    • 明天的計劃
      • 完成訂單列表的訂單項刪除
      • 完善訂單的狀態

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 優化後端代碼,剩餘時間3天
    • 遇到什麼困難
      • 代碼優化太慢,花了不少時間
    • 今天解決的進度
      • 與隊友一塊兒修改商家端界面
      • 學習java
    • 明天的計劃
      • 修改商家接單功能

  • 蔡森林
    • 昨天完成了哪些任務
      • 添加優先級功能
      • 添加裝訂方式
    • 遇到什麼困難
      • 交互時有些bug
    • 今天解決的進度
      • 與後臺交互
      • 完善優先級,裝訂方式的邏輯設計
    • 明天的計劃
      • 完善微信支付接口問題
      • 對代碼進行重構

  • 李姣
    • 昨天完成了哪些任務
      • 接口函數完成
    • 今天任務
      • 修改了歷史訂單頁面。將歷史訂單頁面修改爲已完成訂單頁面,刪除了一些多餘函數,避免了數據重複性。
    • 有哪些困難
      • CSS實現困難
    • 有哪些收穫
      • 寫代碼時的考慮多方面因素。
    • 明天的計劃
      • 修改訂單顯示頁面

SCRUM 會議照片


對應的截圖

後端嵌入記錄

小程序端嵌入記錄

商家端嵌入記錄



PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖



PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 25 隊長
221600411 陳迎仁 24
221600409 蔡森林 22
221600401 陳詩嫺 16
221600307 李姣 13

PM 報告 -- 項目程序/模塊的最新(運行)截圖

項目Beta衝刺(團隊5/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 增長裝訂屬性
      • 商家端界面
      • 花了1天解決了上述任務,剩餘時間2天
    • 遇到什麼困難
    • 今天解決的進度
      • 商家接單
      • 完成訂單相應的後臺代碼
    • 明天的計劃
      • 修改了後端的代碼,完善服務
      • 協調任務進度

  • 陳迎仁
    • 昨天完成了哪些任務
      • 修復訂單列表顯示的一個bug
      • 完成訂單列表中的支付功能
      • 花了1天解決了上述任務,剩餘時間2天
    • 今天任務
      • 完成訂單列表的訂單項刪除
      • 完善訂單的狀態
    • 有哪些困難
      • 訂單狀態設置過程當中,出現了邏輯錯誤
    • 有哪些收穫
      • 完成訂單列表的訂單項刪除
      • 完善訂單的狀態
    • 明天的計劃
      • 添加歷史訂單功能,完善一些界面顯示

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 與隊友一塊兒修改商家端界面,剩餘時間2天
    • 遇到什麼困難
    • 今天解決的進度
      • 修改商家接單功能
      • 學習java
    • 明天的計劃
      • 修改完成訂單功能

  • 蔡森林
    • 昨天完成了哪些任務
      • 與後臺交互
      • 完善優先級,裝訂方式的邏輯設計
    • 遇到什麼困難
      • 付款異常
      • component組件使用不是很熟練
    • 今天解決的進度
      • 完善微信支付接口問題
      • 對代碼進行重構
    • 明天的計劃
      • 對微信小程序和web進行測試
      • 添加歷史訂單功能

  • 李姣
    • 昨天完成了哪些任務
      • 更新了頁面
    • 今天任務
      • 修改了首頁的數據顯示錶格。新增函數reciver,收益單數通過後臺計算後返回給前端,顯示在表格上。
    • 有哪些困難
      • 參數編寫錯誤。
    • 有哪些收穫
      • 耐心調試代碼。
    • 明天的計劃
      • 完成下載刷新的js

SCRUM 會議照片


對應的截圖

後端嵌入記錄

小程序端嵌入記錄

商家端嵌入記錄


PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖



PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 25 隊長
221600411 陳迎仁 24
221600409 蔡森林 22
221600401 陳詩嫺 16
221600307 李姣 13

PM 報告 -- 項目程序/模塊的最新(運行)截圖


項目Beta衝刺(團隊6/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 商家接單
      • 完成訂單相應的後臺代碼
      • 花了1天解決了上述任務,剩餘時間1天
    • 遇到什麼困難
      • 設計模式不是很熟悉
    • 今天解決的進度
      • 修改了後端的代碼,完善服務
      • 協調任務進度
    • 明天的計劃
      • 美化商家網頁端界面
      • 完善小程序端的界面
      • 並進行相應的測試

  • 陳迎仁
    • 昨天完成了哪些任務
      • 完成訂單列表的訂單項刪除
      • 完善訂單的狀態
      • 花了1天解決了上述任務,剩餘時間1天
    • 今天任務
      • 添加歷史訂單功能,完善一些界面顯示
    • 有哪些困難
    • 有哪些收穫
      • 基本完善小程序端
    • 明天的計劃
      • 測試微信小程序,與隊友的商家端進行同步測試

  • 陳詩嫺
    • 昨天完成了哪些任務
      • 修改商家接單功能,剩餘時間1天
    • 遇到什麼困難
      • 修改代碼出現bug
    • 今天解決的進度
      • 修改完成訂單功能
      • 學習java
    • 明天的計劃
      • 總體測試

  • 蔡森林
    • 昨天完成了哪些任務
      • 完善微信支付接口問題
      • 對代碼進行重構
    • 遇到什麼困難
      • 調試bug
    • 今天解決的進度
      • 對微信小程序和web進行測試
      • 添加歷史訂單功能
    • 明天的計劃
      • 協助隊友對程序小修小補

  • 李姣
    • 昨天完成了哪些任務
      • 更新了顯示的JS。
    • 今天任務
      • 新增了文件下載功能,在已經接單的頁面點擊文件名即可下載文件,在未接單沒法下載。
      • 經過後臺給出的網址即可如下載文件。(這種安全性很低,能夠經過接收到數據fileID,加到後臺網站地址後端,即可下載未接單文件)
    • 有哪些困難
    • 有哪些收穫
      • 邏輯代碼實踐加強
    • 明天的計劃
      • 檢查遺漏

SCRUM 會議照片


對應的截圖

後端嵌入記錄

小程序端嵌入記錄


PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖



PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 25 隊長
221600411 陳迎仁 24
221600409 蔡森林 22
221600401 陳詩嫺 16
221600307 李姣 13

PM 報告 -- 項目程序/模塊的最新(運行)截圖


項目Beta衝刺(團隊7/7)

團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標: 完成項目Beta版本

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

SCRUM部分:各成員狀況

  • 陳宇(組長)
    • 昨天完成了哪些任務
      • 修改了後端的代碼,完善服務
      • 協調任務進度
      • 花了1天解決了上述任務,剩餘時間0天
    • 遇到什麼困難
      • 進度稍微低於預期
    • 今天解決的進度
      • 美化商家網頁端界面
      • 完善小程序端的界面
      • 並進行相應的測試
    • 明天的計劃


  • 陳迎仁
    • 昨天完成了哪些任務
      • 添加歷史訂單功能,完善一些界面顯示
      • 花了1天解決了上述任務,剩餘時間0天
    • 今天任務
      • 測試微信小程序,與隊友的商家端進行同步測試
    • 有哪些困難
      • 調試bug
    • 有哪些收穫
      • 完成項目,成就感飛躍上升
    • 明天的計劃


  • 陳詩嫺
    • 昨天完成了哪些任務
      • 修改完成訂單功能,剩餘時間0天
    • 遇到什麼困難
      • 調試bug
    • 今天解決的進度
      • 總體測試
      • 學習java
    • 明天的計劃


  • 蔡森林
    • 昨天完成了哪些任務
      • 對微信小程序和web進行測試
      • 添加歷史訂單功能
    • 遇到什麼困難
      • 整合困難
    • 今天解決的進度
      • 協助隊友對程序小修小補
    • 明天的計劃


  • 李姣
    • 昨天完成了哪些任務
      • 完成了JS的大致代碼。
    • 今天任務
      • 整理文件,優化代碼。
      • 測試。
    • 有哪些困難
    • 有哪些收穫
      • 代碼整潔度提高
    • 明天的計劃

SCRUM 會議照片


對應的截圖

後端嵌入記錄











PM 報告 -- 燃盡圖


PM 報告 -- 任務總量變化線圖



PM 報告 -- 團隊貢獻比

隊員學號 隊員姓名 比例 備註
221600412 陳宇 25 隊長
221600411 陳迎仁 24
221600409 蔡森林 22
221600401 陳詩嫺 16
221600307 李姣 13

PM 報告 -- 項目程序/模塊的最新(運行)截圖












用戶使用調查


項目概述

項目測試

項目評估

項目總結


項目概述

項目名稱

微信小程序---雲打印

項目簡介

雲打印是一款以微信小程序爲基礎的在線打印服務,經過和實體打印店合做,用戶能夠經過微信小程序上傳pdf文檔,後臺能夠經過代碼計算頁數而後返回給前端計算出價格,經過微信下單,付款。商家經過網頁界面接單和下載文檔,並進行打印和配送。

項目預期目標

用戶隨時隨地能夠進行文件資料在線打印,享受配送等快捷服務。


項目測試

測試對象及時間

  • 測試對象:福州大學全校學生
  • 測試時間:2019.05.30-2019.05.31

用戶體驗及反饋

(測試對象主要是在校大學生,在此簡單列幾個測試對象)

一、福州大學數計學院學生 女

優勢: 界面簡潔明瞭,佈局也比較合理,可選的打印屬性基本具有,基本知足咱們學生文檔打印需求,用起來挺方便的。

缺點: 若是能多增長其餘格式的文檔打印功能,那就更好了。

二、福州大學數計學院學生 男

優勢: 界面簡單明瞭,功能基本能夠達到,用起來很是方便,不用排隊,能夠省掉好多時間。

缺點: 界面若是加一些好看的背景會更好看。

三、福州大學經管學院學生 男

優勢: 界面風格簡約,功能還行,能實現文件的在線打印,用起來很方便。以前去打印店打印文件,常常習慣性忘記U盤,經過這個小程序,能夠大大避免U盤的丟失,還不錯。

缺點: 要是能增長一些表格文件打印功能就更好了。

四、福州大學外國語學院學生 女

優勢: 界面還不錯,打印功能基本能實現,常常我每次去打印文件,老是出錯,要打印雙面,忘記單擊向左翻頁,結果打印成單面,好氣呀。若是用在線打印文件,將能幫我省掉許多沒必要要的麻煩,挺好用。

缺點: 主要是圖片打印功能沒實現,要是能實現會更好。

五、福州大學電氣學院學院學生 男

優勢: 界面還不錯,功能也還能夠,重要的是能幫我省掉好多時間,這樣我就不用排隊,還能夠享受文件裝訂,配送服務,挺不錯的。

缺點: 有點好奇,那個掃一掃是用來幹嗎的?

六、福州大學土木學院學生 男

優勢: 界面還行,功能也能夠,我一直討厭去打印店,排隊很痛苦,用U盤還很容易中毒,這讓我很難受。經過這個在線打印,我想我就不用擔憂U盤再中毒了,挺好用的。

缺點: 我的信息可能會泄露,安全性不是很可靠。


項目評估

測評彙總

(彙總了大部分試用者所認爲的優勢和缺點)

優勢

  • 界面簡單明瞭
  • 功能基本實現
  • 減小打印錯誤和我的過失
  • 省時方便

缺點

  • 打印文件格式只侷限pdf文件
  • 部分功能還未實現
  • 文件的安全性不是很可靠

用戶評分

用戶 評分(十進制)
1 9
2 8
3 7
4 9
5 8
6 7
平均分 8

項目總結

總結

整體來講,你們對咱們的界面和功能仍是持好評的,對此咱們的內心仍是挺高興的。

咱們的微信小程序設計的初衷就是界面簡潔、操做簡單。經過調查,咱們發現了咱們項目在功能和界面上還存在許多不足。例如上面提到的打印文件格式只侷限pdf文件,部分功能還未實現,文件的安全性不是很可靠等問題,咱們會繼續優化。

界面美觀上,咱們的設計主要以簡約風格爲主,對一些界面佈局,設計的還不是很好看,後期有時間的話,咱們會進行相應的調整,適當搭配好看的背景圖片;在功能實現上,由於時間的緣由,有些功能來不及實現,例如多種格式的文檔打印功能,後期有時間的話,咱們會進行相應的改進,增長一些實用的功能。

雲打印 對追光的人的Beta產品測試報告

課程名稱:軟件工程1916|W(福州大學)
團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標:做業集合


團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

運行截圖








回答如下問題

第一次上手體驗感受如何?可否正常運行?

能正常登陸註冊運行。

該產品具備哪些功能?

能在在平臺查到關於校園的動態,二手交易等。

該產品解決了什麼樣的關鍵問題?

解決了校園功能分散的問題,使得上大學只須要要一個APP。

分析這個軟件目前的優劣 (和相似軟件相比), 推理出這個軟件團隊在軟件工程方面能夠提升的重要方面 (具體建議)。要求把對比的結果列出一個表格,對比每一個軟件各自的優勢和缺點。

對比超級課程表,該軟件具備這些優缺點:
| 優勢 | 缺點 |
| :------|:------ |
| 功能更加豐富 | 沒有課程表 |
| UI設計簡潔|UI設計體驗不是很友好 |

建議: 完善本身自己的服務,並提升用戶體驗和產品的核心競爭力。

以爲該產品有哪些須要改進的地方

給出一個評價:

好,不錯

列舉你找到的兩個bug,配圖更佳

沒有比較明顯的bug
就是功能不是很完善,擴展功能沒有實現。

評分
根據你的體驗和項目的完成狀況,

方面 分數
用戶體驗方面 7
UI界面美觀度 8
核心功能 8
完成度 7
合計 30

隊伍測試分工表

隊員學號 隊員姓名 分工 備註
221600412 陳宇 下載,安裝,體驗,測試 隊長
221600411 陳迎仁 體驗,測試
221600409 蔡森林 體驗,測試
221600401 陳詩嫺 下載,安裝,體驗
221600307 李姣 下載,安裝,體驗

雲打印 對Echo的Beta產品測試報告

課程名稱:軟件工程1916|W(福州大學)
團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標:做業集合


團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

運行截圖








回答如下問題

第一次上手體驗感受如何?可否正常運行?

能正常登陸運行。界面簡潔明瞭

該產品具備哪些功能?

微信小程序:查看小區公告、便民電話、個人工單、以及物業報修
web:管理學生、更改維修狀態、問卷推送等

該產品解決了什麼樣的關鍵問題?

解決了校園物業信息更新不及時,致使一些不方便

分析這個軟件目前的優劣 (和相似軟件相比), 推理出這個軟件團隊在軟件工程方面能夠提升的重要方面 (具體建議)。要求把對比的結果列出一個表格,對比每一個軟件各自的優勢和缺點。

對比福大易班和山園物業,該軟件具備這些優缺點:
| 優勢 | 缺點 |
| :------|:------ |
| 具備物業通知功能,可以及時通知住戶一些停水之類 | 功能更少一些 |
| UI設計簡潔|web端的設計較爲簡陋 |

建議: 完善本身自己的服務,並提升用戶體驗和產品的核心競爭力。

以爲該產品有哪些須要改進的地方

給出一個評價:

好,不錯,具備較高的實用性

列舉你找到的兩個bug,配圖更佳

修改學生的宿舍時有問題

擴展功能沒有實現,web端的界面須要進一步優化

評分
根據你的體驗和項目的完成狀況,

方面 分數
用戶體驗方面 8
UI界面美觀度 7
核心功能 8
完成度 8
合計 31

隊伍測試分工表

隊員學號 隊員姓名 分工 備註
221600412 陳宇 體驗,測試 隊長
221600411 陳迎仁 體驗,測試
221600409 蔡森林 體驗,測試
221600401 陳詩嫺 體驗,測試
221600307 李姣 體驗,測試

Beta衝刺總結

課程名稱:軟件工程1916|W(福州大學)
團隊名稱: 雲打印
做業要求: 項目Beta衝刺(團隊)
做業目標:Beta衝刺總結

團隊隊員

隊員學號 隊員姓名 我的博客地址 備註
221600412 陳宇 http://www.cnblogs.com/chenyuu/ 隊長
221600411 陳迎仁 https://www.cnblogs.com/yinen/
221600409 蔡森林 https://www.cnblogs.com/csl8013/
221600401 陳詩嫺 https://www.cnblogs.com/orangepoem/
221600307 李姣 https://www.cnblogs.com/CloudLong/

代碼

小程序端代碼Github地址
商家端代碼Github地址
後端代碼Github地址


項目Beta預期計劃及現實進展

項目預期計劃 現實進展
完善文件上傳接口 100%
文件下載 100%
增長訂單優先級 99%
增長裝訂屬性 100%
商家接單,完成訂單 97%
修改了後端的代碼,完善服務 98%
美化商家網頁端界面,完善小程序端的界面 98%
商家端接單和查看訂單,後端商家端接口,商家端的部分GUI 97%
用戶試用的調查報告 99%
發佈Beta版本程序 100%

答辯照片

過程體會

  • 陳宇(組長)
    此次衝刺主要在調試上次衝刺的bug和問題,主要在微信支付和文件上傳,新功能的增長比較少,主要完善了核心功能,我的感受一個微信小程序應該先把核心功能作好作精,因此Beta對擴展功能關注比較少,另外一方面也是時間安排不合理,對任務的預期不許確,好比安裝https證書,原本預期一個小時搞定,結果硬生生調了一天才完成。總之,時間不夠,熬夜來補。

  • 陳詩嫺
    Beta階段感受主要是對Alpha階段出現的問題進行修改,例如微信回調接口在Alpha階段存在異常。代碼方面隊員都幫了我不少,如今對於java的使用比剛開學時熟練了不少,也自學了不少課本上沒有的知識,接下來會繼續加油的。

  • 李姣
    此次β衝刺我做爲新成員首先遇到的難點是如何短期內上手一個全新的項目。此前在原來的小組我負責的是ui和界面的修改,主要是安卓端,而到新的組以後接手的工做是web端。幸虧以前web端也有必定的知識積累,不至於啥也作不了給小組拖累。web端是商家端的一些基礎功能實現,α階段已經完成了大部分,我只需對細節進行修飾和增改便可。也感謝新的小組成員對個人幫助,讓我能儘快上手,瞭解項目結構,更好地完成工做。

  • 蔡森林
    通過Beta衝刺,我學到了不少東西,對於微信小程序的佈局有更進一步的理解,以及一些請求接口的交互,常常須要不斷調試,但每一次的調試,對本身都是一種成長。在接下來的日子裏,我會繼續不斷努力,讓本身不斷成長。

  • 陳迎仁
    雖然在此次軟工實踐吃盡了苦頭,花費了大把的時間和心思,可是最後看到本身產品可以完整的運行,內心的成就感仍是很是知足的,雖然項目作出來可能沒有其餘組的酷炫華麗,但在這個過程當中和隊友學習了不少知識,不只提升了本身敲代碼的課外能力,也實踐到了一些軟件工程的理論知識,也是由於本身對軟件項目管理的工程量把握不許確,致使兩個階段的開發時而緊張時而輕鬆,因此經過此次實踐,吸收教訓,提升本身。痛並快樂着!

組員分工及其工做量比例

學號 姓名 任務 百分比
221600412 陳宇(隊長) 後端開發,任務安排,撰寫博客 22%
221600401 陳詩嫺 美工,撰寫博客 16%
221600307 李姣 商家web端開發 21%
221600409 蔡森林 微信小程序界面美化及測試,撰寫博客 19%
221600411 陳迎仁 微信小程序 22%

總結

總結經驗教訓,事先明確分工任務,作好計劃安排。及時跟隊員進行溝通協調進度。小組多人合做方面也存在不少問題,先後端合做不完美,前端也在改,後端也在改,每一次前端把代碼給我,我也不知道前端修改了啥,啥沒有修改,這樣致使我得從新把前端代碼都換掉,挺麻煩了;而後就是任務分工方面,有的任務不能嚴格的分給前端或者後端,必須先後端合做,這樣就得倆人共同協做,而後是現實老是很不理想,心不齊,固然解決不了問題。仍是那句話,團結起來力量大。

相關文章
相關標籤/搜索