需求分析:
軟件的最終目的是用來解決用戶的某些問題,需求分析就是要理解要解決的問題,真正明確用戶需求。下面是我們初步的需求分析:
1、訪問軟件項目的真實用戶(至少10個),確保軟件真正體現用戶的需求,為軟件最終可用奠定基礎。


做了如上圖所示的線上采訪,大部分人都認為微信點名的方式不錯,可以方便老師,但是也存在缺點,比如同學手機沒電或者二維碼掃不到,甚至有人提出沒有智能機該怎么辦的問題,這樣的問題只能直接和老師提出,我們認為就這個問題可以做一個手動添加的功能。
2、參考《軟件需求規格說明書》國標規范文本,撰寫對應項目的軟件需求規格說明書。提供《需求規格說明書》的Git鏈接。
需求規格說明書地址:https://coding.net/s/69146190-b6ac-44af-ba80-646fdc4f1674
3、NABCD 寫作,視頻
NABCD如下:
(1)N(Need 需求)
1.傳統紙質點名存在很多缺點,比如數據丟失、多人代點。
2、老師口頭點名比較耗時。
3、微信點名能夠使點名更便捷更完善,避免教師手動統計,減少工作量。
(2)A(Approach,做法)
1、我們的項目主要實現:
1.1.個人微信號可與學號或工號綁定
1.2后台可生成帶時效性的二維碼
1.3可利用地圖定位確定人員所在地點
1.4在允許定位誤差范圍內通過掃描生成的二維碼完成簽到
2、系統的設計與實現
2.1 系統開發環境
采用 PHP 語言開發公眾帳號服務器接口程序,使用MySQL作為數據存儲系統。
2.2 系統架構
本系統的架構主要由三個部分組成:
(1)系統是基於微信APP建立的微信公眾平台,通過微信公眾平台接口的開發,代碼實現自定義菜單,用戶可通過在手機端上下載微信APP並關注微信公眾號;然后選擇加入群組或者創建群組。
(2)學生通過微信公眾號綁定學號后,使用微信群組里面的簽到功能,掃描給出的隨機二維碼,可以通過拍照上傳假條。教師則可以通過添加群組管理簽到和請假。
(3)將數據存放於數據庫中,記錄學生的課堂簽到情況,最后傳回微信,以網頁形式顯示給用戶。
(3)B(Benefit,好處)
微信公眾平台具有很大的優勢: 微信(WeChat) 是騰訊公司於2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,支持跨通信運營商、跨操作系統平台通過網絡快速發送免費語音短信、視頻、圖片和文字。2012 年 8 月微信推出了公眾平台,通過打造微信公眾賬號可以實現和特定群體的溝通、互動,旨在為用戶提供服務。其優勢特點如下:
① 小眾傳播,傳播有效性更高
微信公眾平台是通過精確查找而進行關注的。用戶是真實的,更有價值的。同時,微信公眾平台是一對多的傳播,開發者只需要建立一套完整的系統或者是編輯一個完整的信息,便可以直達成千上萬的用戶手中。
②不干擾用戶,用戶的認可度高
微信公眾平台不會產生爆炸式的信息,信息的推送更為私密,用戶對信息的抓取更為主動。
③用戶規模龐大
微信公眾平台的建立是以微信為基礎的,微信在2014年的活躍用戶數就已經超過4億,用戶規模遙遙領先。
④開發成本低廉,自定義功能豐富
微信公眾平台的申請和使用門檻低,高級開發模式為開發者的自定義功能設計提供無限可能。
注:這一小段微信優勢引用自:這篇文章
(4)C(Competitors,競爭)
目前我們所了解的還未有實現此需求的軟件,雖然這樣一來看似市場潛力大,前途光明,但競爭仍然很激烈。這款產品的競爭比較少,主要的就是教師點名方式和Android的APP。
(5)D(Delivery,推廣)
1.我們的平台一開始可以在集大計算機學院普及,然后在集美大學推廣,之后不斷的完善。
2.最后可以向各大高校進發,做宣傳。
3.推廣后需做進一步的調研來不斷改進。
4、團隊協作,加強分工,需要描述每個成員的具體分工及占整個文檔任務的工作量比例。
林燕,主要負責需求分析中的NABCD模塊的撰寫,戰整個文檔的15%
代澤旭,主要負責原型設計方面,占整個文檔任務的20%
林至賢 ,主要負責分工、整合各成員的文檔,代碼規范設定以及最后進行博客的撰寫和發表,占整個文檔任務的15%
王李煥,主要負責需求分析中的用戶采訪部分,占整個文檔任務的20%
原型設計:
微信作為我們日常使用頻率最高的App產品,每天的啟動次數與使用時長幾乎占據了使用移動終端的一半時間。傳統的點名方式有較多的弊端,對於人數較多的班級,老師的點名不僅耗時,耗力,耗神,而且代替簽到等作弊行為也層出不窮,老師點名的效率低,記錄繁瑣。 針對以上問題,結合學生日常習慣,我們以手機為工具,以微信為平台,結合網頁后台的教師點名系統,以方便老師的點名,大大提高了點名效率,且自動生成相應的考勤紀律,操作簡單,可用性強。 資源包括項目源代碼、數據庫腳本、軟件開發文檔。
編碼規范:
(一)代碼風格規范:首先要堅持代碼風格的原則:簡明,易讀,無二義性。
1.縮進: 四個空格,不要使用tab鍵
2.行寬:100字符。
3.括號:在復雜的條件表達式中,用括號清楚地表示邏輯優先級。
4.斷行與空白的{ }行:每個“{”和“}”都獨占一行。
5.分行:不把多行語句放在一行上。
6.命名:可以用匈牙利命名法來進行命名。
7.注釋:每個重要的函數、算法或是他人可能較難理解的地方進行注釋
(二)代碼設計規范
1.函數:絕大部分功能都在函數中實現。
2.錯誤處理:考慮到多種情況,按實際編寫錯誤處理代碼。特別是在參數的處理上。
3.代碼復審:各成員之間進行相互的代碼交換復審,並相互提出意見進行改進。
