團隊做業3需求改進與系統設計

第一部分、需求與原型改進

1.1改進的原型

1.1.1改進的說明前端

        相較上一次的原型,這一次咱們肯定了主題顏色,而且使功能一眼就能看懂,讓新用戶能很快上手。vue

1.1.2高保真原型java

 

1.1.3 高保真原型下載地址web

         https://pan.baidu.com/s/1pp1-OdedHYaKU0Uof9lS7gajax

1.2改進的需求規格說明書

1.2.1改進說明算法

一、原版:數據庫

 

改進版:apache

 

理由:json

       不把使用人羣僅僅侷限在在校學生中,能夠將使用人羣的範圍擴大到學生輔導員上。我校如今多數爲研究生畢業後留校當輔導員,因此咱們的輔導員年齡跟咱們大學生差很少大,而且也是剛剛結束學業走向工做崗位。所以,他們的經濟實力也不高,也會有衝動消費的時候。因爲輔導員與在校大學生的年紀相仿,咱們購買東西的方向也許類似,所以咱們的輔導員也能夠加入此平臺。小程序

二、原版:

 

改進版:

 

理由:

       應用目標新增了人羣——學生輔導員,所以用戶角色分析表中也應該增長相應人羣。

三、原版:

 

改進版:

 

理由:

       隨着該APP的發展運營,用戶的需求量會變得愈來愈多,咱們的工做量也將會變得愈來愈大。並且如今不少人都對二手交易網站以及APP有着不一樣的想法,所以咱們的軟件也會有不斷地創新以及提高。所以,咱們小組以現有的人數必定是不足夠的。因此,咱們不只要在技術上有所進步,之後在人數上也要有所擴展。

1.2.2需求規格說明書下載地址

        https://pan.baidu.com/s/1zzqwn7t_xECmPUfUYoW7bg

第二部分、系統設計

2.1系統架構設計

2.1.1設計摘要說明

 

咱們架構層分爲前端UI,展現層,業務層,數據層,數據庫,運行環境。

 

部分架構層的說明:

 

 

前端UI

  因爲咱們開發的是一款微信小程序,因此在前端UI設計上,咱們運用小程序支持的wxml,wxss進行開發,同時加入js實現動態交互。

 

展現層

  小程序基於vue.js,爲了讓程序具備可擴展性,咱們將數據動態渲染進來,方便使用者進行修改,即模板渲染引擎。

同時在微信小程序中,前端頁面運用ajax技術和後端進行交互,將數據異步刷新進來。這樣在減小服務器刷新壓力的同時,實現先後端分離。

 

業務層

  包含了系統所須要的全部功能上的算法和計算過程,並與數據訪問層和表現層交互。咱們的業務層主要服務於商品的查詢,商品的管理,訂單的查詢,訂單的管理,評論的管理。

 

數據層

  咱們將採用MySQL關係數據庫管理系統,進行數據庫的設計。經過用戶表,訂單表等與業務層中的下單處理以及各類查詢操做進行交互。

 

 

 

2.2.2數據庫相關設計

 

 數據聯繫

 

數據庫表結構設計以及E-R圖

 

 

 

 

2.1.3平臺架構設計

       咱們選用的Web服務器是apache-tomcat-9.0.6。

  Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是不少的場合下被廣泛使用,是開發和調試JSP 程序的首選。Tomcat是Apache 服務器的擴展,但運行時它是獨立運行的,而運行tomcat 時,它實際上做爲一個與Apache 獨立的進程單獨運行的。咱們平時也是採用的這樣的服務器,熟悉操做便於項目進展。

 

功能基本描述

購物車業務設計

 

 

 

 

  1. 加入購物車: 加入購物車插入到庫中一條購物記錄,同時插入到緩存中,緩存的key是記錄的id
    未登陸狀態: 用戶未登陸時點擊加入購物車,將productId ,skuId,buyNum 轉換成json存到cookie中(同一件商品不一樣的skuId視爲兩個商品,相同的skuId和productId視爲相同商品數量累加),用戶登陸成功的時候接收用戶的消息將cookie中的商品信息保存到數據庫中,而後清空cookie數據(京東)否則會出現登陸成功後刪除購物車商品而後退出,購物車中顯示問題 ;      登陸狀態: 點擊加入購物車將long userId,long productId,long skuId,int count 存到庫中,相同的productId和skuId 數量累加,不一樣的skuId新增一條 addToCart(long userId,long skuId,int count); //加入sku到購物車商品
  2. 修改商品數量:
    未登陸狀態:用戶未登陸時,點擊加減數量,根據productId和skuId從cooike中將商品數量進行加減,注意校驗cooike中的數量不能小於0,不能大於庫存數量                             登陸狀態:用戶登陸狀態時,點擊加減數量productId和skuId,userId將用戶購物車中某個sku的數量增長或減去differ值,注意校驗庫存數量 updateAmount(long userId,skuId,int differ,List selectedSkuIds); //將用戶購物車中某個sku的數量增長或減去differ值。此方法更新商品後,會根據selectedSkuIds從新計算一遍購物車價格,返回知足條件的優惠券
  3. 刪除購物車記錄
未登陸狀態:用戶未登陸時,根據productId和skuId刪除cookie中的記錄 deleteCart(long userId,long skuId, List selectedSkuIds); //將某個sku從用戶購物車移除。此接品,在清除後臺會重複計算selectedSkuIds價格,並會返回選中的sku列表與未選中的sku列表集合。及相應優惠券。                                                                                登陸狀態:登陸狀態下,直接根據productId和skuId以及userId刪除庫中數據

  4.購物車列表展現

未登陸狀態:從cookie中取出productId以及skuId列表展現商品信息
登陸狀態:登陸狀態下根據用戶id查詢庫中的記錄數getCart(long userId,list selectedSkuIds); //查詢用戶購物車。此接口會從新計算selectedSkuIds,並返回選中與未選中sku列表集合,返回相應的知足條件的優惠券信息。

 

  5.訂單提交成功後更新購物車數量以及修改購物車狀態;訂單提交成功後接收訂單成功消息,更新購物車狀態和數量刪除緩存記錄

  6.商品下架後,更新庫存狀態,顯示失效;商品下架後接收消息修改購物車裏的商品狀態爲失效

 

基本功能劃分

 

2.2任務分解WBS

一、團隊項目的WBS

 

二、團隊成員估計各自任務所需時間

 

第三部分、測試計劃

奶牛易物測試報告

1、概述

測試背景:

        咱們小組已經完成了對該微信小程序的需求分析,採用多種方法進行了詳實可靠的用戶調研並從男女比例、省份比例、年及比例等各個方面進行了數據統計與分析,確保獲得更加有說服力的結果;根據調研結果,咱們進行了需求分析說明書的撰寫,進一步分析了產品的開發目標、用戶特色,並作出功能模塊規定、細化的輸入輸出要求以及對該微信小程序的數據管理能力、故障處理能力、運行環境問題、接口問題作出規定與要求;規定功能模塊後,小組人員又對該微信小程序進行了精心的原型設計。

       從功能模塊上看,主要分爲三大板塊:首頁(進行商品的瀏覽、搜索)、購物車(可將選擇好想要購買的商品加入購物車)、個人易物(分爲個人購買和個人出售)。

測試目的:

       在開發過程當中,咱們會對代碼的每一個具體方法、局部功能進行測試。除此以外,咱們將會在每一個模塊完成之後進行模塊化測試,對首頁的測試目標是:在沒有輸入關鍵字進行搜索時,能夠根據搜索量順序羅列出物品。進行關鍵字搜索後,查找到相關物品;對購物車的測試目標是:瀏覽商品後選中,點擊「加入購物車」,在購物車頁面進行瀏覽,查看商品是否被加入,若是成功加入商品,則選中商品進行結算,查看結算效果是否正確;對個人易物的測試目標是:點擊進入頁面後,能夠查看本身售賣的商品記錄和購買的商品記錄。

 

測試人員:

成員姓名 職務
趙莉 開發人員、營銷人員、測試人員
王文雨 開發人員、測試人員、版本控制人員
李庭娟 開發人員、營銷人員、測試人員
吳建瑜 開發人員、測試人員、版本控制人員
祁晨 開發人員、營銷人員、測試人員

 

測試術語:

       Junit、單元測試、算法正確性測試、Alpha測試、Beta測試、兼容性測試、性能測試

2、測試環境

硬件環境:正常或更好配置的移動端(支持微信);

軟件環境:微信5.3版以上、JProfiler測試軟件、Junit、LoadRunner和Apache JMeter測試工具;咱們小組計劃使用微信WEB開發者工具進行開發,該工具上對於程序調試主要有三大功能區:模擬器、調試工具和小程序操做區,咱們會使用該開發工具進行程序的測試;

測試環境需求:配套齊全的開發工具,包括jdk、Tomcat服務器、遠程雲服務器、MySQL數據庫等。

3、測試人員

 

奶牛易物測試分工表:

測試員 測試員任務
王文雨 展現界面佈局測試
吳建瑜 展現界面交互測試(超連接、表單等)
祁晨 首頁功能測試
李庭娟 購物車算法測試
趙莉 個人易物管理測試

測試人員要求:

(1)熟悉業務,瞭解系統,可以對系統進行全面的測試

(2)用客觀的思考方式站在用戶的角度分析問題、需求

(3)多思考,不要拘束於慣性思惟,可以考慮到極端狀況

(4)不要閉門造車,充分利用各類學習資源進行充電

(5)善於對測試過程當中出現的問題或者學到的知識感悟進行記錄,以便與他人進行交流分享

4、測試安排

佔用時間:

       在開發過程當中,咱們會對代碼的每一個具體方法、局部功能進行測試。除此以外,咱們將會在每一個模塊完成之後進行模塊化測試。最後,咱們會對總體間的交互及全部的模塊功能進行測試。可見,測試工做在整個代碼開發過程當中是時刻伴隨的。

 

測試方法:

       自動化測試、手動測試;白盒測試、黑盒測試;中斷測試、臨界測試、壓力測試等,對程序的覆蓋有如下幾個方面:數據覆蓋、邏輯覆蓋、語句覆蓋、斷定覆蓋、條件覆蓋等。能夠劃分等價類把全部可能的數據輸入劃分爲若干部分,而後從每一部分選擇少數具備表明性的數據做爲測試用例。

(1)有效等價類合理,有意義的輸入數據構成的集合,檢驗程序是否實現規格說明預先規定的功能和性能。

(2)無效等價類不合理,無心義的輸入數據構成的集合,檢驗程序的容錯能力。邊界值分析大量的錯誤發生在輸入或輸出的邊界上,而不是某個範圍的內部。

對程序的覆蓋以下:

(1)語句覆蓋:設計若干個測試用例,運行所測程序,使得每一可執行語句至少執行一次,語句覆蓋是最弱的邏輯覆蓋準則。

(2)斷定覆蓋:設計若干測試用例,運行被測程序,使得程序中每一個判斷的取真分支和取假分支至少經歷一次,即判斷的真假值都能知足If…else 語句。

(3)條件覆蓋:設計若干測試用例,運行被測程序,要使判斷中的每一個條件的可能取值至少知足一次。如:if..else   For(..)  while()等語句。

(4)路徑覆蓋:覆蓋全部可能的路徑。

(5)斷定-條件覆蓋:使得每一個條件的全部可能至少出現一次,而且至少每一個判斷自己的判斷結果出現一次。

 

功能測試的經常使用方法以下:

(1)頁面連接檢查,每個連接是否有對應的界面

(2)相關性檢查,刪除/增長一項會不會對其餘項產生影響,若是產生影響,是否正確

(3)檢查按鈕功能是否正確

(4)字符串長度檢查,輸入超出需求所說明的字符串長度的內容,看系統是否檢查,會不會出錯。

(5)字符類型檢查

(6)標點符號檢查

(7)中文字符處理,亂碼或出錯

(8)檢查帶出信息的完整性,在查看信息和update信息時,查看所填寫的信息是否是所有帶出,帶出信息和添加的是否一致等。

 

工具引用:

       功能模塊測試採用Junit單元測試進行測試,性能測試引用JProfiler,壓力測試工具引用LoadRunner和Apache JMeter測試工具。

5、測試總結

參考文獻:

易物模型及其求解算法

http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CJFQ&dbname=CJFD2010&filename=JLDX201004028&uid=WEEvREcwSlJHSldRa1FhcTdWajFtaXRldUNZU3lFZzlBaGE2OWpuOXhBUT0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4ggI8Fm4gTkoUKaID8j8gFw!!&v=MjczOTBoMVQzcVRyV00xRnJDVVJMS2ZZdVJuRmlEblVyM0pMeUhQZHJHNEg5SE1xNDlIYklSOGVYMUx1eFlTN0Q=

大學生校園以物易物平臺的設計與實現

http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CJFQ&dbname=CJFDLAST2015&filename=JGZK201503018&uid=WEEvREcwSlJHSldRa1FhcTdWajFtaXRldUNZU3lFZzlBaGE2OWpuOXhBUT0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4ggI8Fm4gTkoUKaID8j8gFw!!&v=MDg5MTJUM3FUcldNMUZyQ1VSTEtmWXVSbkZpRG5VTHpJTHlyUlpiRzRIOVRNckk5RWJJUjhlWDFMdXhZUzdEaDE=

校園易物網絡平臺建設的研究及實現路徑

http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CJFQ&dbname=CJFD2012&filename=BFJJ201224016&uid=WEEvREcwSlJHSldRa1FhcTdWajFtaXRldUNZU3lFZzlBaGE2OWpuOXhBUT0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4ggI8Fm4gTkoUKaID8j8gFw!!&v=MTQwMTZyV00xRnJDVVJMS2ZZdVJuRmlEblViN0xKeXZCWkxHNEg5UE9xNDlFWW9SOGVYMUx1eFlTN0RoMVQzcVQ=

測試資源:

       人力方面——目前咱們小組成員5人,其中有4人來自校工做室,均有必定的代碼能力,均承擔過java web系統的開發工做,工做認真嚴謹,積極進取。可是對於測試工做,項目小組成員大多沒有作過太多的訓練,在對項目的測試工做方面還需進行進一步學習。

        時間方面——此次項目總體開發週期不長,也並不符合正規的開發週期,咱們小組成員也非專業測試人員,所以要想將各個模塊、各個開發時間段作到完善是存在較大難度的,所以在時間上相對來講是比較匆忙的,須要小組成員共同努力。

相關文章
相關標籤/搜索