需求分析:算法
軟件的最終目的是用來解決用戶的某些問題,需求分析就是要理解要解決的問題,真正明確用戶需求。下面是咱們初步的需求分析:數據庫
1、訪問軟件項目的真實用戶(至少10個),確保軟件真正體現用戶的需求,爲軟件最終可用奠基基礎。服務器
作了如上圖所示的線上採訪,大部分人都認爲微信點名的方式不錯,能夠方便老師,可是也存在缺點,好比同窗手機沒電或者二維碼掃不到,甚至有人提出沒有智能機該怎麼辦的問題,這樣的問題只能直接和老師提出,咱們認爲就這個問題能夠作一個手動添加的功能。微信
二、參考《軟件需求規格說明書》國標規範文本,撰寫對應項目的軟件需求規格說明書。提供《需求規格說明書》的Git連接。網絡
需求規格說明書地址:https://coding.net/s/69146190-b6ac-44af-ba80-646fdc4f1674架構
3、NABCD 寫做,視頻微信公衆平臺
NABCD以下:函數
(1)N(Need 需求)工具
1.傳統紙質點名存在不少缺點,好比數據丟失、多人代點。編碼
二、老師口頭點名比較耗時。
三、微信點名可以使點名更便捷更完善,避免教師手動統計,減小工做量。
(2)A(Approach,作法)
一、咱們的項目主要實現:
1.1.我的微信號可與學號或工號綁定
1.2後臺可生成帶時效性的二維碼
1.3可利用地圖定位肯定人員所在地點
1.4在容許定位偏差範圍內經過掃描生成的二維碼完成簽到
二、系統的設計與實現
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.代碼複審:各成員之間進行相互的代碼交換複審,並相互提出意見進行改進。