小棒棒和小忙忙(紀念一次噁心的軟工作業)

小摘要

我們的目的是創造一個面向大學生的幫助平臺(比如領外賣、快遞啥的),利用幫助積分與現金的不等價互換來達到開發者自身的收益,這樣的一個系統。

可行性分析

技術可行性

數據庫:阿里雲 sql server 2012 r2 管理後臺數據
前臺界面設計、後臺數據庫的接口、數據的錄入、查詢瀏覽:
Power builder12

需求可行性

對於西電學生,個人空閒時間不確定和許多服務行業營業的侷限性,學生不一定在自己有空的時間內,去相應的地方完成自己的事情。我們提出的方案,可以利用互相空閒的時間。從而達到各自的需求。

經濟可行性

快遞行業的滯留帶來大量無形中的倉儲成本。大學生人口流動密度大帶來大量的空閒人力與個體經濟之間存在可協調性。

操作可行性

該系統設計清晰,有良好的用戶界面,操作簡潔,有完善的異常處理機制和提示信息機制,大學生軟件的學習能力較強,因此操作方面可行。

法律可行性

本系統沒有違反國家相關法律規定,法律方面可行。

需求分析

系統功能分析

本系統應具有如下功能:

  1. 登錄
    用戶在登錄模塊中輸入賬號和密碼,系統根據管理員事先爲此賬號設置好的權限返回一個確定以後操作的權限參數。
  2. 校園認證:
    需要提供身份證,一卡通等身份信息的認證。
  3. 檔案管理
    存儲每個人的當前的數據狀態。和平臺的信息發佈狀態。
  4. 收費管理
    使用真實貨幣與虛擬幫助積分的不等價兌換,創造差值收益。即當使用真實貨幣兌換虛擬幫助積分時:1真實貨幣兌1積分,但是用虛擬幫助積分兌出真實貨幣時:1積分兌0.9真實貨幣。最終實現0.1的差值收益。
  5. 維修管理
    對平臺定期進行維護 通過維護來保證住平臺的正常運行。
  6. 設備管理
    雲端平臺作爲數據儲存庫 在雲端上進行平臺維護來降低設備成本
  7. 綜合查詢
    對可查詢的信息進行綜合查詢,個人積分狀況,平臺內的訂單狀況
  8. 權限管理
    作爲一個功能齊備的軟件,我們把權限管理作爲一個
    獨模塊列出進行開發。主要用途是通過權限來限制軟件操作人員的工作範圍和職能。增加平臺的安全性
  9. 系統維護
    此模塊的功能主要是對系統的數據庫進行備份等操作,防止以外情況數據庫的破壞而時信息丟失。系統要求在實現上述功能的基礎上,力求界面友好美觀,操作方便快捷,儘可能地使該系統實用完美。

安全性分析

  1. 用戶權限安全性:系統設置了管理員、操作員兩個操作級別。管理員能對所有模塊進行各種操作,並能給操作員分配權限。操作員只能在管理員分配的權限下進行操作。
  2. 系統的處理過程嚴格按照事務(Transaction)處理機制執行,對異常操作通常發出警告然後取消操作。同時對輸入首先進行合法性檢查不合法則發出錯誤提示,最大限度的滿足數據的安全,保證系統的穩定。

系統的數據流圖

頂層圖

在這裏插入圖片描述

基本數據流圖

在這裏插入圖片描述

數據字典

任務數據字典

在這裏插入圖片描述

用戶數據字典

在這裏插入圖片描述

軟件概要設計

引言

編寫目的

對學生而言,個人空閒時間不確定並且好多時候自己所要辦的事對於所在的位置自不如其他順路的學生方便,學生不一定在自己有空的時間內,去相應的地方完成己的事情。我們提出的方案,可以利用互相空閒的時間。對於一些想兼職的同學,也有可以做的比較自由的事。

背景

快遞行業的滯留成本,和學生取快遞的時間成本。是一個快遞業亟待解決的問題。由此我們提出小棒幫和小忙忙交互網站來解決這個問題。

定義

小幫幫和小忙忙是一個旨在方便同學,同時減少物流滯留問題的一個網站。

參考資料

《軟件工程》教科書,《網站編寫——從入門到精通》,《java在網站中的應用》

軟件結構圖

在這裏插入圖片描述

總體設計

需求規定

可以上網的電腦一臺、網頁瀏覽器一個、基本的顯示功能和數據處理功能,鍵盤等輸入設備。

運行環境

Windows XP及以上、Macos、Linux、安卓、ios.(由於採用網頁形式,對系統的要求不高,可移植性較強)

基本設計概念和處理流程

本網站設計如下:通過想要被幫忙去快遞的人(寫文述爲發佈者)提交信息(快遞或者相關幫忙請求),通過平臺審覈後發佈到網頁上,想要接受任務的人(下文述爲接收者)通過自己閒暇時候在網頁上讀取信息並領取相應任務。完成後由發佈者更改信息狀態,平臺進行操作做的形式,將已經做完的任務從平臺取消,並由發佈者提供任務完成度評分,最後更改各自的信息狀態,如積分情況、信譽度等。(具體可視化模型見圖)

結構

結構上大體分爲三部分,即發佈者、接收者、平臺,相關處理包括任務信息發佈的傳遞、任務接收信息的傳遞、任務完成信息的傳遞、任務滿意度反饋信息的傳遞、積分的更新、任務的信息更新等。

接口設計

用戶接口

本產品爲網站屬性,在各種系統、設備的兼容性強。只需日常使用的電腦和手機即可,無需額外的用戶接口。

外部接口

服務器的接口、數據庫的接口、面部識別api(後期的設計中可能加入一些有趣的元素,如人臉識別)等。

內部接口

外部輸入接口數據傳輸接口、已處理完數據的傳輸接口、內部信息到輸出的接口。

運行設計

運行模塊組合

任務檢驗、發佈者信息檢驗、任務發佈、接收者認領、接收者信息檢驗、任務完成度評價

運行控制

任務是否合理、發佈者信息是否達標、接收者信息是否達標、任務完成度是否達到要求。

運行時間

1、任務檢測:過程比較影響任務的完成效率,但是爲了安全我們人工進行評審,安排爲每3分鐘一個任務檢測;
2、發佈者信息查詢:因爲數據庫中的會員信息存在,且爲定量數據,可直接通過計算機讀取基本可以做到實時;
3、任務發佈同上;
4、接收者信息檢測同上;
5、任務完成度評價:爲達到較好的評價標準,採用人工評價和客戶評價相結合的形式。時間定爲每三分鐘一個任務。

系統數據結構設計:

邏輯結構設計

主要是任務信息(時間、地點、大小)、發佈者信息(積分、信譽度、地點等)、接受者信息、(積分、信譽度、地點等)、完成情況。(具體見數據流圖)。

物理結構設計

1、物理邏輯上發佈者和接收者之間存在完成任務時的實際物品交換信息。
2、發佈者與平臺之間存在任務信息和任務完成反饋信息、積分信息更新
3、接收者與平臺之間存在任務信息和任務完成反饋信息、積分信息更新

數據結構與程序的關係:數據結構是程序設計骨架,整個系統圍繞數據的傳遞、數據的交互進行設計。程序是數據的載體,是信息處理的關鍵。

系統出錯處理設計

出錯信息與補救措施

可能出現的錯誤包括任務審查出錯、發佈者信息審查出錯、接收者信息審查出錯數據丟失等
1、對於任務審查出錯:及時撤下任務並重新回到任務審查環節。
2、對於發佈者信息審查出錯:如果已被髮布,已被認領,及時下架相關任務。並聯系接收者。
對於已被髮布,未認領成功的重新回到發佈者信息審查階段即可。
3、對於接收者信息審查出錯:如果已被髮布,未被認領,重新回到接收者信息審查階段即可。
對於已被髮布,已認領成功的,及時聯繫接收者。

系統恢復設計

每隔五分鐘系統保存一次當前的信息狀態(確保無誤後),如果出現意外,及時回覆到5分鐘前保存狀態的一次數據備份即可。並重新進行這幾分鐘內所進行的操作(按照正常、正確的流程)。

軟件詳細設計

引言

在概要設計說明書的基礎上進一步明確系統結構,詳細的介紹系統的各個模塊,爲進行後面的編碼和測試做準備。

程序系統的組織結構

後端程序主要包括:獲取任務模塊、獲取接收者模塊、任務結果產生模塊。先是需要獲取合格的任務和信譽度達標的接收者,然後再是對於任務進行狀態進行展示,對於完成的任務需要發任務者對任務進行評估,然後再根據結果進行積分分配和接收者的信譽度調整

模塊設計

後端的模塊設計

獲取任務模塊

模塊主要是用來對於輸入任務進行篩選,挑出合格的任務來放大任務板上。

僞代碼
input:task

while(1)
	if(task_ask == 1)
		if(test(ta k)==possible)
		then init task ,add task in task board
		else do nothing
		end if
	end if
end while
PAD圖

在這裏插入圖片描述

獲取接收者模塊

模塊主要是用來對於輸入接收者進行篩選,挑出信譽度合格的接收者,並對任務板的任務進行刪除和對任務進行板的任務進行添加。

僞代碼
input:receiver

while(1)
	if(receiver_ask == 1)
		if(test_credit(receiver)>=admissible mark)
			then add receiver in the task , delete the task in task board , add the task in  
task_doing_abroad
			else do nothing
		end if
	end if
end while
PAD圖

在這裏插入圖片描述

任務結果產生模塊

對正在進行中的任務進行更新,並對完成的任務進行積分分配和信譽度更新。

僞代碼
input:task

while(1)
	if(task_doing_abroad!=none)
		for task in task_doing_broad
			if(status(task)==not_finished)
				then updata task status in task_doing_board
				else 
				begin
					delete the task in task_doing_board
					receive and show task evaluation ,
					do point distribution ,
					receiver's credit change
				end
			end if
		end for
	end if
end while
PAD圖

在這裏插入圖片描述

前端的模塊設計

登入界面的模塊設計

在實際的登錄界面中,用戶只需要填寫學號和密碼進行登錄,點擊登錄後會產生以下三種結果:
1.若系統檢測到信息檢測到信息正確則轉向下一界面
2.若系統檢測到信息錯誤則提示用戶名或密碼錯誤,並提示重新嘗試輸入
3.若系統沒有檢測到有效(已註冊)學號的情況下則跳轉到註冊界面

在這裏插入圖片描述

註冊界面的模塊設計

若在登錄界面產生結果3則跳轉到註冊界面
註冊界面需要有四個輸入:學號,用戶名,密碼,確認密碼
當用戶輸入完四項後,點擊立即註冊按鈕,系統進行如下操作

  1. 系統判斷該學號是否爲有效學號,即是否爲實際在校生,若是則進行下一步,若不是則輸出您不是在校生用戶沒有限權進行註冊。
  2. 系統判斷密碼和確認密碼是否一致,若一致則進行下一步,若不一直則輸出密碼前後不一直請重新輸入。
  3. 系統進行用戶創建並進行信息錄入。

在這裏插入圖片描述

任務信息的模塊界面

當用戶有信息發佈的需要是點擊信息發佈按鈕,出現如下界面
用戶需進行四步輸入

  1. 填寫發佈人,可以是用戶名,也可以是學號
  2. 填寫聯繫方式,可以是電話號碼,也可以是QQ微信或者郵箱
  3. 填寫本次任務的報酬,輸入你想支付的積分數量
  4. 填寫任務具體要求,將用戶自己想要的需要幫助的任務寫清楚,以便小幫幫用戶進行幫助。填寫清楚後進行任務發佈。

在這裏插入圖片描述

任務公佈板塊的模塊設計

任務發佈之後任務名稱會被分類到三個地址板塊:竹園區,海棠區,丁香區,並顯示在首頁界面上,所有的用戶都會看到。
如果小幫幫用戶選擇到了適合自己的任務,就點擊該任務名稱,進行任務信息查看,若滿意則點擊接受任務,匹配成功。
任務名稱會在首頁隱藏,小忙忙用戶會看到任務被接收,並可以聯繫小幫幫用戶。
若小忙忙用戶取消任務,則該任務名稱會在首頁被刪除,也可以重新編輯再發布。
若小幫幫用戶取消任務,則該任務名稱會重新在首頁進行顯示並可以被其他小幫幫用戶進行選擇。

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章