| 這個作業屬於哪個課程 | <軟件工程綜合實踐> |
|---|---|
| 這個作業要求在哪里 | <作業要求> |
| 這個作業的目標 | 設計好系統和數據庫,並制定好計划和明確分工 |
| 作業正文 | 如下 |
| 團隊的github倉庫鏈接 | github倉庫 |
團隊項目的預期開發計划時間安排
| 周次 | 團隊目標與產出 | 進度狀態 |
|---|---|---|
| 第十一周 | 注冊小程序appID,搭建雲開發環境,統一團隊編碼和命名規范 微信小程序官方文檔和網絡視頻自學習 前端背景、圖片icon、音樂等剪切 |
待完成 |
| 第十二周 | 前端代碼編寫 圖書館原始數據清洗、規約並導入雲數據庫生成集合 |
待完成 |
| 第十三周 | 前端代碼編寫 核心業務雲函數代碼編寫、前端調用並測試雲函數 |
待完成 |
| 第十四周 | 前端代碼編寫 調用雲數據庫並測試數據有效性和可用性,功能測試、代碼優化 |
待完成 |
| 第十五周 | 挑選體驗者體驗開發版 反饋后重新優化並測試,發布正式版 |
待完成 |
團隊項目的預期開發計划分工安排
| 組員 | 角色 | 預期分工 |
|---|---|---|
| 鄢宇航 | 后端、數據庫 | 雲函數、雲數據庫編寫與維護 |
| 李明特 | 前端 | javascrip事件處理 |
| 吳家勁 | 前端 | wxml搭建頁面結構 |
| 呂洽聞 | 前端 | wxml搭建頁面結構 |
| 林凱斌 | 前端 | 布局設計,wxss樣式設計 |
| 安澤銘 | 后端 | 圖書館原始數據清洗、挖掘 |
體系結構設計+功能模塊層次圖、設計類圖
-
由於開發團隊技術棧參差不齊,為了讓每位團隊成員都投入體驗開發過程,本系統摒棄了傳統的自建服務器,在系統功能和技術架構上進行簡化。采用當下較為流行的雲開發模式,這種技術架構體系可以弱化開發人員的技術要求,通過雲數據庫和雲函數弱化后端和運維,只需要維護核心業務代碼,依托雲端快速上線應用。順應了敏捷開發、擁抱雲原生等人人都是開發者的開發理念。
-
技術架構圖

-
應用架構圖

-
功能模塊層次圖

-
功能類圖

-
系統邏輯與使用流程

ER分析+表結構設計、系統安全和權限設計

權限管理:
通過區分不同的訪問者、不同的訪問類型和不同的數據對象,進行分別對待而獲得的數據庫安全保密設計考慮。數據庫由專門數據庫管理員對數據庫操作。管理員權限最大,可以控制所有數據。
管理端,或者叫管理員,其實便是指雲開發中的雲函數環境的執行權限。因為是在雲函數中執行,安全系數較高,因而獲得了最高的權限,也就是所謂的管理端權限。這個權限包括了對於所有的數據進行增、刪、改、查的能力。
創建者,則指的是創建某條數據的用戶,一般來說,是指在小程序端創建數據的用戶。數據和用戶之間的綁定是基於數據中的 _openid 來實現的,程序在執行中,當前用戶的 openid 與數據的 _openid一致時,就認為這個用戶是數據的創建者。
所有人,指的是除了管理員以外的用戶,這個用戶一般而言,也是指小程序端的用戶。數據和用戶之間並不具備直接的關聯關系。用戶僅能通過數據庫權限配置后的開放讀取到用戶。
數據安全:
在小程序里所有的數據交換都是通過微信私密協議來進行了,這種方式保證了數據交換過程的安全性,請求被篡改或者偽造的難度非常大。
雲開發的數據庫中每一條由小程序段完成添加的數據都有一個字段 _openid,我們在進行數據庫查詢時,系統會自動替我們完成這個字段的對比,如果對比不上,再去查詢對應集合的權限控制,看是否給予了非創建者可讀寫的權限。
上次需求分析作業中老師助教給項目提出的問題
1、你們團隊的系統是否有WEB端
由於我們系統的功能比較單一,僅僅只是依托圖書館一年中積累的歷史數據展示用戶的年度借閱賬單,因此沒有提供web端給管理員使用。
2、你們原型中這些功能是不是全部都要實現呢?
考慮到開發周期和團隊自身的技術壓力,我們刪減了一些功能並對原型進行重構,參考第九小組的設計思路,我們的小程序也采用單頁面作為主界面的模式,其他功能以彈窗的形式與用戶交互。
我們主要有年度賬單和借閱查詢兩個大模塊,之后依托原型圍繞這兩個功能進行開發。
- 重構后的原型

完成這次作業的工作流程、組員分工、組員貢獻度比例
| 姓名 | 工作內容 | 貢獻度 |
|---|---|---|
| 鄢宇航 | 系統和技術架構設計,博客和說明書的撰寫與審核,github倉庫管理 | 25% |
| 李明特 | 原型重構,撰寫數據庫說明書 | 18% |
| 林凱斌 | ppt制作,系統說明書部分編寫 | 15% |
| 吳家勁 | 功能模塊層次圖和類圖 | 15% |
| 呂洽聞 | 系統說明書格式修訂 | 12% |
| 安澤銘 | 數據庫說明書格式修訂 | 15% |
文檔地址
系統設計說明書.pdf
提取碼:qjaq
數據庫設計說明書.pdf
提取碼:s396
