Springboot家政服務管理系統

摘?要

科技進步的飛速發展引起人們日常生活的巨大變化,電子信息技術的飛速發展使得電子信息技術的各個領域的應用水平得到普及和應用。信息時代的到來已成為不可阻擋的時尚潮流,人類發展的歷史正進入一個新時代。在現實運用中,應用軟件的工作規則和開發步驟,采用java技術建設家政服務管理系統。

本設計主要實現集人性化、高效率、便捷等優點于一身的家政服務管理系統,完成首頁、服務項目、服務分類、訂單信息、訂單評價等功能模塊。系統通過瀏覽器與服務器進行通信,實現數據的交互與變更。本系統通過科學的管理方式、便捷的服務提高了工作效率,減少了數據存儲上的錯誤和遺漏。家政服務管理系統使用Java語言,采用基于 MVVM模式的spring boot技術進行開發,使用 Eclipse 2017 CI 10 編譯器編寫,數據方面主要采用的是微軟的MySQL數據庫來作為數據存儲媒介,配合前臺HTML+CSS 技術完成系統的開發。

關鍵詞:Java開發語言;springboot框架技術;家政服務管理系統;

Abstract

The rapid development of science and technology has caused tremendous changes in people’s daily lives. The rapid development of electronic information technology has made the application level of electronic information technology in various fields popular and applied. The arrival of the information age has become an irresistible fashion trend, and the history of human development is entering a new era. In practical application, the working rules and development steps of the application software are used to build a housekeeping service management system using Java technology.

This design mainly implements a housekeeping service management system that integrates the advantages of humanization, efficiency, and convenience, and completes functional modules such as home page, service items, service classification, order information, and order evaluation. The system communicates with the server through a browser to achieve data interaction and change. This system improves work efficiency and reduces errors and omissions in data storage through scientific management methods and convenient services. The housekeeping service management system uses Java language, uses spring boot technology based on MVVM mode for development, and uses Eclipse 2017 CI 10 compiler for writing. In terms of data, it mainly uses Microsoft’s MySQL database as the data storage medium, and cooperates with the front-end HTML+CSS technology to complete the system development.

Key words:Java development language; Spring boot framework technology; Domestic service management system;

目 ?錄

第1章 緒論

1.1?系統開發背景

1.2?系統開發意義

第2章 相關技術介紹

2.1 B/S架構

2.2 springboot框架介紹

2.3 MySQL數據庫

第3章 系統分析

3.1?可行性分析

3.1.1?技術可行性

3.1.2?經濟可行性

3.1.3?操作可行性

3.2?系統功能需求

3.3?系統性能需求

第4章 系統設計

4.1?總體目標

4.2?總體結構設計

4.3?功能模塊設計

4.4?數據庫設計

4.4.1?概念設計

4.4.2?邏輯設計

第5章 系統實現

5.1?登錄模塊的實現

5.2?用戶首頁模塊的實現

5.3?注冊模塊的實現

5.4?密碼修改模塊的實現

5.5?評論模塊的實現

5.6?服務項目收藏模塊的實現

5.7?公告管理模塊的實現

5.8?用戶管理模塊的實現

5.9訂單信息管理模塊的實現

5.10訂單評價管理模塊的實現

第6章 系統測試

6.1?測試目的

6.2?測試用例

6.2.1?用戶登錄測試

6.2.2?創建數據測試

6.2.3?修改數據測試

6.2.4?查詢數據測試

6.3?測試結果

第7章 結論

參考文獻

致謝

  1. 緒論
    1. 系統開發背景

近年來,隨著家政服務行業在國內的普及,越來越多的家政服務機構在中國大地上生根發芽。這么多的機構和公司給需求者帶來了很大的便利,同時也給更多的需求者帶來了很大的困惑。如,我該選擇哪家機構,哪家機構的家政服務人員都是哪里的,哪家機構的家政服務人員的工作認真、態度好。

此類問題的產生多數是由于家政服務機構對家政服務人員的信息的管理不當引起的。很多機構都采用記賬本的方式來記錄、管理員工的信息,這樣就可能會導致信息的丟失、被隨意串改等情況,對需求者的需求帶來很大的不安定因素。在采用計算機的管理技術后,在很大程度上將會減少這類事情的發生,也提高了信息的可信度和安全性而且對于管理者來說這樣的管理方式可以提高自己的工作效率。

其實在國外,家政服務行業早已是一個很繁榮的行業,更有日本學者說他們有一個服務行業的時代。

這正是因為國外的家政服務公司都有一個適合自己企業發展的管理系統,將員工的信息進行系統的、安全的管理和讓需求者有適合自己需求選擇,這樣不僅減少了對管理者人力的要求,大大提高了公司的口碑、信譽和發展速度。

    1. 系統開發意義

對于正在發展中的家政服務行業,一個公司的家政服務人員的信息管理是一個很重要并且很繁瑣環節,這樣就需要大量的人力去進行統計和管理。但浦東申江家政服務管理系統通過使用數據庫這個平臺,可以將大量的數據進行統–管理并且可以很便捷的查找到所需要的信息。這樣可以大大減少管理者的工作時間并提高工作效率。

同時該系統支持需求者在網上進行對家政服務人員的信息查詢和雇傭操作,和傳統的打電話雇傭方式相比,大大減少了人工接聽和處理的操作,讓:工作效率變得更高。安全、方便、快捷的管理系統可以給家政公司的發展帶來很大的效益。

  1. 相關技術介紹
    1. B/S架構

B/S架構(瀏覽器/服務器)是當前應用最為廣泛的一種架構,能夠使系統的開發變得容易、易操作、易于維護。當你在你的電腦上安裝一個數據庫和幾個非常常見的瀏覽器時,你就可以使用這個結構。B/S結構可以直接用于 B/S系統,并且 B/S架構可以在實際應用中大大降低了系統的運行維護。在 B/S平臺上,各數據庫彼此獨立,具有很高的安全性。由于 B/S架構可以清晰地觀察到系統所處理的業務,使管理者可以及時做出決定,從而避免了企業的虧損。B/S架構的本質特征是集中式管理,用戶通過系統產生的數據,將其存入數據庫,便于以后的應用,從而達到了各種需要。

B/S模型由一個瀏覽器、一個網絡服務器、一個數據庫服務器三個層級構成。數據管理采用了當前大部分現有B/S系統的表現層、應用層和數據層,Web瀏覽器是為了滿足用戶的要求而設計的,在數據處理和邏輯過程中使用的中間應用層,從而形成分布式的運行模式。B/S體系結構的邏輯是:在前端完成的處理,將主要的業務邏輯交給后臺,而前端只負責少量的請求、渲染等。由于因特網技術的迅速發展,B/S體系結構使得任何時間、任何地點都能訪問到該系統。

圖2-1 B/S模式三層結構圖

    1. springboot框架介紹

Spring框架是Java平臺上的一種開源應用框架,提供具有控制反轉特性的容器。盡管Spring框架自身對編程模型沒有限制,但其在Java應用中的頻繁使用讓它備受青睞,以至于后來讓它作為EJB(EnterpriseJavaBeans)模型的補充,甚至是替補。Spring框架為開發提供了一系列的解決方案,比如利用控制反轉的核心特性,并通過依賴注入實現控制反轉來實現管理對象生命周期容器化,利用面向切面編程進行聲明式的事務管理,整合多種持久化技術管理數據訪問,提供大量優秀的Web框架方便開發等等。Spring框架具有控制反轉(IOC)特性,IOC旨在方便項目維護和測試,它提供了一種通過Java的反射機制對Java對象進行統一的配置和管理的方法。Spring框架利用容器管理對象的生命周期,容器可以通過掃描XML文件或類上特定Java注解來配置對象,開發者可以通過依賴查找或依賴注入來獲得對象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時運行時可配置;AOP框架主要針對模塊之間的交叉關注點進行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無法與AspectJ框架相比,但通過與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務管理、遠程訪問等功能均可以通過使用SpringAOP技術實現。Spring的事務管理框架為Java平臺帶來了一種抽象機制,使本地和全局事務以及嵌套事務能夠與保存點一起工作,并且幾乎可以在Java平臺的任何環境中工作。Spring集成多種事務模板,系統可以通過事務模板、XML或Java注解進行事務配置,并且事務框架集成了消息傳遞和緩存等功能。Spring的數據訪問框架解決了開發人員在應用程序中使用數據庫時遇到的常見困難。它不僅對Java:JDBC、iBATS/MyBATIs、Hibernate、Java數據對象(JDO)、ApacheOJB和ApacheCayne等所有流行的數據訪問框架中提供支持,同時還可以與Spring的事務管理一起使用,為數據訪問提供了靈活的抽象。Spring框架最初是沒有打算構建一個自己的WebMVC框架,其開發人員在開發過程中認為現有的StrutsWeb框架的呈現層和請求處理層之間以及請求處理層和模型之間的分離不夠,于是創建了SpringMVC。

    1. MySQL數據庫

科技的進步,給日常帶來許多便利:教室的投影器用到了虛擬成像技術,數碼相機用到了光電檢測技術,比如超市貨物進出庫的記錄需要一個信息倉庫。這個信息倉庫就是數據庫,而這次的物流信息管理系統也需要這項技術的支持。

用MySQL這個軟件,是因為它能接受多個使用者訪問,而且里面存在Archive等。它會先把數據進行分類,然后分別保存在表里,這樣的特別操作就會提高數據管理系統自身的速度,讓數據庫能被靈活運用。MySQL的代碼是公開的,而且允許別人二次編譯升級。這個特點能夠降低使用者的成本,再搭配合適的軟件后形成一個良好的網站系統。雖然它有缺點,但是綜合各方面來說,它是使用者的主流運用的對象。

  1. 系統分析
    1. 可行性分析

可行性分析也是為了分析項目的開發系統是否對開發有價值,以及是否真的需要改進管理系統在信息聽寫方面的不足。以本項目家政服務管理系統的設計目標和實施過程為例,如果開發該系統,希望能很好地解決用戶的管理信息問題,并且如果這使家政服務管理系統可以發展出最大價值學說,并且還可以變相的解決了用戶在一定程度上的問題,那么這個項目的研發系統也就是最有價值有意義的系統。但研發目標又是不是達到了所期望的結果,以及科研任務在實現后的最大效用和價值,它是否等于所有總成本。因此,研發階段本質上就是研發體系能否真正設計的階段。

      1. 技術可行性

技術可行性是指所確定的科學技術或決策方法中的科學技術均未突破組織掌握或相關人員熟悉的科學技術資源的界限。在技術研究過程中,應注意全面調查系統研發過程中包含的各種關鍵技術問題,盡可能選擇成熟技術,認真引用先進技術,關注特定的研究平臺和開發人員,評估關鍵技術的有效性。

Java技術對于該家政服務管理系統的設計和實施很是關鍵,基于、B/S架構的和MySQL數據庫管理,對于前臺的應用和后臺的數據庫管理都是至關重要的,要想有效應用該程序,就需要保持功能全面、易懂易簡單使用的特性。構建數據庫管理時,需要確保數據分析信息完全、數據分析信息穩定性好、數據分析信息穩定性較高的庫。在早期,人們對Java的基本重要知識點就有理解和熟悉,對MySQL數據庫發生過簡要的掌握、熟悉,在早期對軟件工程測試,以及UML語言等基礎課程發生過大致的掌握和練習,經過對上述課程練習,就能夠對上述課程有相應的信息系統開發、檢驗和判斷。

Java可以和MySQL結合起來研發一個家政服務管理系統,一定是合理而且有效的。

      1. 經濟可行性

實施國民經濟的可行性主要包括兩個方面:一是從要實施的某個計劃中獲取和利用國民經濟各種資源的潛在可能性,二是實現國民經濟發展政策總體目標的潛在可能性;二是為完成某一國民經濟發展政策實施方案,所要花費的經濟成本及其所獲得的利益。由于政府的財務資源是限制的,每一種從國民經濟發展政策實施方案中所獲取和利用的財政資源也是限制的。于是,每一項公眾政策措施中都面臨著一種爭奪公共財政資本的問題。但總的來說,"公眾政策措施的社會經濟資源的占用量與其政策措施目標的預期價值成正比例關聯。"當然,這還觸及到了一種成本效率提問。假如某一方法的總成本等于利潤,顯然這種社會經濟政策措施就是不有效的。

這個項目開發的初衷是省錢,是我一個人做的,基本上不需要啟動資金。此外,項目開發的整個過程是一個自學的過程,這是一個雙贏的結果。因此,綜上所述,本項目的研發優勢大于劣勢,符合我國當前社會主義市場經濟發展的實際情況。

      1. 操作可行性

家政服務管理系統的注冊與登陸頁面設計簡潔容易應用,可以通過最常見的頁面窗口來登陸頁面,并利用過計算機實現登陸功能,因此使用者只要平時利用過計算機都可以實現登陸應用。此操作系統的研發工作環境運用了Java技術,并運用了B/S結構,這些研發工作環境都使得此系統功能更為完整,使整個設計更為個性化,使用者功能也更為簡潔方便。本管理系統具備了易于運行、容易管理、交互性較好的優點,在實際操作上也是非常簡單的。因此,本管理系統也可進行商業設計。

綜上所述,該設備的研發符合技術、工藝和技術要求,因此其研發具有可操作性。

    1. 系統功能需求

注冊用戶信息用例圖如下所示。

desc
圖3-1 注冊用戶信息用例圖

管理員用例圖如下所示。

desc
圖3-2 管理員用例圖

員工用戶用例圖如下所示。

desc
圖3-3?員工用戶用例圖

表3-1 公告瀏覽用例描述

描述項

說明

用例名稱

公告查詢

用例描述

用戶可以查看公告的詳情

參與者

用戶

前置條件

使用者是學生用戶類型并成功進入該系統

后置條件

瀏覽成功

主事件流

(1)用戶可以瀏覽公告的模塊、公告的內容

(2)用戶點擊公告可以對公告進行詳情閱讀

異常事件流

e1.報500錯誤

e2.數據庫連接異常

表3-1 個人信息管理用例描述

用例名稱

管理和修改個人信息

參與者

用戶

描述

用戶查看、修改個人信息

前置條件

用戶已登錄到系統中

后置條件

事件流

(1)用戶查看個人信息

(2)用戶修改個人信息

補充說明

(a)用戶可修改密碼

(b)用戶可修改個人資料,例如姓名,頭像等

表3-1 評論用例描述

用例名稱

評論

參與者

用戶

描述

用戶發表評論

前置條件

用戶已登錄

后置條件

評論內容不違規

事件流

(1)在評論頁輸入評論數據,提交評論

(2)更新并顯示評論板

補充說明

(a)評論內容不能為空

表3-1 收藏用例描述

用例名稱

收藏

參與者

用戶

描述

用戶將內容加入收藏夾

前置條件

用戶已登錄

后置條件

事件流

(1)在收藏頁加入收藏

(2)更新并顯示收藏夾

補充說明

表3-1 用戶管理用例描述

描述項

說明

用例名稱

用戶操作

用例描述

管理員正確登錄后臺管理的條件下,對用戶進行管理

參與者

管理員

前置條件

管理員登錄成功并跳轉到后臺主界面

后置條件

操作成功

主事件流

管理員跳轉用戶管理頁面,查詢用戶詳情的信息

管理員可以刪除用戶信息

異常事件流

e1.報500錯誤

e2.數據庫連接異常

表3-1 訂單信息管理用例描述

描述項

說明

用例名稱

訂單信息操作

用例描述

管理員正確登錄后臺管理的條件下,對訂單信息模塊進行管理

參與者

管理員

前置條件

管理員成功登錄

后置條件

操作成功

主事件流

(1)管理員進入訂單信息管理頁面,查詢訂單信息的信息

(2)管理員可以對訂單信息進行增刪除和編輯訂單信息操作

(3)管理員新增訂單信息,添加成功跳轉到查詢頁面

異常事件流

e1.報500錯誤

e2.數據庫連接異常

表3-1 服務項目管理用例描述

描述項

說明

用例名稱

服務項目操作

用例描述

管理員正確登錄后臺管理的條件下,對服務項目模塊進行管理

參與者

管理員

前置條件

管理員成功登錄

后置條件

操作成功

主事件流

(1)管理員進入服務項目管理頁面,查詢服務項目的信息

(2)管理員可以對服務項目進行增刪除和編輯服務項目操作

(3)管理員新增服務項目,添加成功跳轉到查詢頁面

異常事件流

e1.報500錯誤

e2.數據庫連接異常

表3-1 資訊管理用例描述

描述項

說明

用例名稱

資訊操作

用例描述

管理員正確登錄后臺管理的條件下,資訊模塊進行管理

參與者

管理員

前置條件

管理員成功登錄

后置條件

操作成功

主事件流

(1)管理員進入資訊管理頁面,查詢資訊內容的信息

(2)管理員可以對資訊進行刪除操作

異常事件流

e1.報500錯誤

e2.數據庫連接異常

表3-1 公告管理用例描述

用例名稱

公告管理

參與者

管理者

描述

管理者提供新增、修改、刪除、查閱等功能

前置條件

  1. 管理者成功登錄系統
  2. 管理者只能對已存在的公告進行修改和刪除

后置條件

事件流

(1)管理者查看修改公告

(2)管理者添加公告

(3)管理者刪除公告

補充說明

(a)新添加的公告不符合要求時會添加失敗

(b)修改的公告不符合要求時會修改失敗

表3-1 評論管理用例描述

描述項

說明

用例名稱

評論操作

用例描述

管理員正確登錄后臺管理的條件下,評論模塊進行管理

參與者

管理員

前置條件

管理員成功登錄

后置條件

操作成功

主事件流

(1)管理員進入評論管理頁面,查詢評論內容的信息

(2)管理員可以從用戶評論中刪除數據

異常事件流

e1.報500錯誤

e2.數據庫連接異常

表3-1 文件上傳用例描述

用例名稱

文件上傳

參與者

用戶

描述

用戶上傳文件至服務器

前置條件

用戶已登錄

后置條件

事件流

在文件上傳頁點擊“上傳”按鈕

補充說明

    1. 系統性能需求

第一,友好界面。家政服務管理系統開發設計,界面的友好性比較重要,滿足這一要求才能體現出人性化設計特征,和用戶應用系統便捷性相適應,動態的人機交互設計,用戶應用系統的時候能感受到操作的便利,提高用戶的體驗良好感受,才能有助于將系統開采設計的作用價值充分發揮出來。

第二,穩定性要求。開發設計的家政服務管理系統,需要保持其穩定,系統應用穩定才能有助于各項管理工作高效率完成,提升系統使用體驗度。系統運行保障因外部異常造成系統崩潰,系統發生問題后數據能及時備份,第一時間恢復數據信息,保障系統良好運行。

第三,可擴展性。家政服務管理系統的開發設計,需要滿足可擴展性的要求,系統的設計需要考慮未來系統業務擴展問題,在測試不斷應用下,功能需求會不斷擴展,通過良好擴展性作用發揮,滿足多樣化的需要。

第四,滿足需求。為能有效加強對大用戶的需求,在開發家政服務管理系統的過程中,要能和實際應用的需求緊密對接,保障系統的實用性。系統開發要能有前瞻性,由于管理系統建設是長期工程,不同階段需要有先導發展藍圖以及行動綱領為指導。預見性地考慮教材訂購信息管理的重要問題。系統的開發要能滿足靈活性應用的需要,將系統的價值充分發揮出來。

  1. 系統設計
    1. 總體目標

家政服務管理系統主要服務于家政的家政服務管理系統,利用網絡改變家政服務管理系統模式,簡化家政服務管理系統管理流程,減輕傳統家政服務管理系統帶來的工作負擔和降低大量資源的消耗。本系統達到的目標主要有以下幾點:

(1)通過簡單的頁面設計和便捷的功能操作,保證系統的簡單性和實用性,形成良好的用戶體驗。

(2)本系統主要針對家政服務管理系統需求進行設計開發,突出較強的針對性。

(3)能夠具有一定的安全機制,保證問題記錄的安全性。

    1. 總體結構設計

層次框圖是一系列由多層矩形框架組成的樹,其頂部為矩形框架,表示整個數據結構,下方的長方形立方體表示獨立的數據,下方的長方形表示該數據的實際數據(不能進行分割)。由于這個架構的精煉,層級方塊圖描述的資料結構也愈加詳盡,這個模型很好地滿足了需求分析的要求。首先對最上層的信息進行分類,然后在圖表中的每個路徑上重復地進行優化,直至完整的數據結構被確定。

這個系統由兩個模塊組成,一個是管理員,二個是學生用戶,這二個部分看起來是獨立的,實際上卻是連接著數據庫,每個模塊都有自己的權限,唯一不同的,就是訪問的方式不同。在調研資料的基礎上,完成了各個模塊的功能。在對上述功能進行分析的基礎上,本系統提出了兩個主要的模塊,每個單元可劃分為若干小單元。

系統的功能結構圖如下圖所示。

desc
圖4-2 系統功能結構圖

    1. 功能模塊設計

1.登錄模塊:

本家政服務管理系統的用戶登錄涉及到三類信息的判斷:第一類是用戶名和密碼是否為空;第二類是驗證碼是否錄入和正確;第三類就是用戶登錄信息、驗證碼和權限是否匹配通過。在該用戶登錄流程對會對用戶名和密碼是否為空進行判斷,以及驗證碼是否正確進行判斷,只有以上的幾類信息中的一種存在問題的情況下都是無法登錄成功的。

2.公告管理模塊:

本家政服務管理系統中的公告管理,管理方式都是對信息的三種基本操作:一種是完成公告信息的添加,在這里會對公告信息的錄入情況來判斷;一種是對公告信息的修改,另一種就是對公告信息的刪除。其后兩種操作都是要建立在第一種操作而生成的公告列表的基礎上完成的。

3.服務項目管理模塊

本家政服務管理系統中的服務項目管理,管理方式都是對信息的三種基本操作:一種是完成服務項目的添加,在這里會對服務項目的錄入情況來判斷;一種是對服務項目的修改,另一種就是對服務項目的刪除。其后兩種操作都是要建立在第一種操作而生成的服務項目列表的基礎上完成的。

    1. 數據庫設計
      1. 概念設計

借助先進的系統,ER圖使其他用戶可以快速輕松地了解系統的功能以及他們之間的關系。根據家政服務管理系統分析結果,整個家政服務管理系統包括以下各個單元:用戶、評論、訂單信息、服務項目、訂單評價、公告等。

系統的主要實體間關系E-R圖如下圖所示。

desc
圖4-3 總體ER圖

      1. 邏輯設計

所有系統的應用數據相互區分。一旦在相應的系統中實現,它們將與自己相應的網絡和服務器通信。所以這個系統可以連接這些數據。當我們選擇橋梁截面時,以下將簡要介紹如何建立系統。在單擊上一個按鍵的時候,就會自動在對話框中彈出數據源的名字,之后再單擊下一個按鍵時,就在填寫相對應的身份驗證和登錄信息。按照系統功能設計的特點與職能模塊的分類,家政服務管理系統的總體設計和實施過程一共涉及到了幾個資料表格。

以下就介紹了一些根據各類別主要數據庫表的設計結構以及基本功能建立數據庫

表collect (收藏)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

collect_id

int

10

0

N

Y

收藏ID:

2

user_id

int

10

0

N

N

0

收藏人ID:

3

source_table

varchar

255

0

Y

N

來源表:

4

source_field

varchar

255

0

Y

N

來源字段:

5

source_id

int

10

0

N

N

0

來源ID:

6

title

varchar

255

0

Y

N

標題:

7

img

varchar

255

0

Y

N

封面:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

表comment (評論)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

comment_id

int

10

0

N

Y

評論ID:

2

user_id

int

10

0

N

N

0

評論人ID:

3

reply_to_id

int

10

0

N

N

0

回復評論ID:空為0

4

content

longtext

2147483647

0

Y

N

內容:

5

nickname

varchar

255

0

Y

N

昵稱:

6

avatar

varchar

255

0

Y

N

頭像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

9

source_table

varchar

255

0

Y

N

來源表:

10

source_field

varchar

255

0

Y

N

來源字段:

11

source_id

int

10

0

N

N

0

來源ID:

表employee_users (員工用戶)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

employee_users_id

int

10

0

N

Y

員工用戶ID

2

job_number

varchar

64

0

Y

N

工號

3

full_name

varchar

64

0

Y

N

姓名

4

service_items

text

65535

0

Y

N

服務項目

5

employee_status

varchar

64

0

Y

N

員工狀態

6

examine_state

varchar

16

0

N

N

已通過

審核狀態

7

recommend

int

10

0

N

N

0

智能推薦

8

user_id

int

10

0

N

N

0

用戶ID

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表hits (用戶點擊)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

hits_id

int

10

0

N

Y

點贊ID:

2

user_id

int

10

0

N

N

0

點贊人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

5

source_table

varchar

255

0

Y

N

來源表:

6

source_field

varchar

255

0

Y

N

來源字段:

7

source_id

int

10

0

N

N

0

來源ID:

表notice (公告)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

notice_id

mediumint

8

0

N

Y

公告id:

2

title

varchar

125

0

N

N

標題:

3

content

longtext

2147483647

0

Y

N

正文:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

表order_evaluation (訂單評價)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

order_evaluation_id

int

10

0

N

Y

訂單評價ID

2

order_number

varchar

64

0

Y

N

訂單號

3

service_name

varchar

64

0

Y

N

服務名稱

4

service_type

varchar

64

0

Y

N

服務類型

5

user

int

10

0

Y

N

0

用戶

6

service_staff

int

10

0

Y

N

0

服務員工

7

score

varchar

64

0

Y

N

評分

8

evaluation_content

text

65535

0

Y

N

評價內容

9

recommend

int

10

0

N

N

0

智能推薦

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表order_information (訂單信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

order_information_id

int

10

0

N

Y

訂單信息ID

2

order_number

varchar

64

0

Y

N

訂單號

3

service_name

varchar

64

0

Y

N

服務名稱

4

service_type

varchar

64

0

Y

N

服務類型

5

user

int

10

0

Y

N

0

用戶

6

contact_number

varchar

64

0

Y

N

聯系電話

7

service_address

varchar

64

0

Y

N

服務地址

8

service_time

datetime

19

0

Y

N

服務時間

9

order_notes

text

65535

0

Y

N

訂單備注

10

service_staff

int

10

0

Y

N

0

服務員工

11

employee_phone

varchar

64

0

Y

N

員工電話

12

examine_state

varchar

16

0

N

N

未審核

審核狀態

13

examine_reply

varchar

16

0

Y

N

審核回復

14

recommend

int

10

0

N

N

0

智能推薦

15

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

16

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表praise (點贊)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

praise_id

int

10

0

N

Y

點贊ID:

2

user_id

int

10

0

N

N

0

點贊人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

5

source_table

varchar

255

0

Y

N

來源表:

6

source_field

varchar

255

0

Y

N

來源字段:

7

source_id

int

10

0

N

N

0

來源ID:

8

status

bit

1

0

N

N

1

點贊狀態:1為點贊,0已取消

表registered_users (注冊用戶)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

registered_users_id

int

10

0

N

Y

注冊用戶ID

2

full_name

varchar

64

0

Y

N

姓名

3

gender

varchar

64

0

Y

N

性別

4

examine_state

varchar

16

0

N

N

已通過

審核狀態

5

recommend

int

10

0

N

N

0

智能推薦

6

user_id

int

10

0

N

N

0

用戶ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表service_classification (服務分類)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

service_classification_id

int

10

0

N

Y

服務分類ID

2

service_type

varchar

64

0

Y

N

服務類型

3

recommend

int

10

0

N

N

0

智能推薦

4

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表service_items (服務項目)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

service_items_id

int

10

0

N

Y

服務項目ID

2

service_name

varchar

64

0

Y

N

服務名稱

3

service_type

varchar

64

0

Y

N

服務類型

4

picture

varchar

255

0

Y

N

圖片

5

services_include

varchar

64

0

Y

N

服務包含

6

charging_standard

varchar

64

0

Y

N

收費標準

7

service_introduction

longtext

2147483647

0

Y

N

服務介紹

8

hits

int

10

0

N

N

0

點擊數

9

praise_len

int

10

0

N

N

0

點贊數

10

recommend

int

10

0

N

N

0

智能推薦

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表slides (輪播圖)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

slides_id

int

10

0

N

Y

輪播圖ID:

2

title

varchar

64

0

Y

N

標題:

3

content

varchar

255

0

Y

N

內容:

4

url

varchar

255

0

Y

N

鏈接:

5

img

varchar

255

0

Y

N

輪播圖:

6

hits

int

10

0

N

N

0

點擊量:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

表upload (文件上傳)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

upload_id

int

10

0

N

Y

上傳ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

訪問路徑

4

file

varchar

255

0

Y

N

文件路徑

5

display

varchar

255

0

Y

N

顯示順序

6

father_id

int

10

0

Y

N

0

父級ID

7

dir

varchar

255

0

Y

N

文件夾

8

type

varchar

32

0

Y

N

文件類型

表user (用戶賬戶:用于保存用戶登錄信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

user_id

mediumint

8

0

N

Y

用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據

2

state

smallint

5

0

N

N

1

賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷)

3

user_group

varchar

32

0

Y

N

所在用戶組:[0,32767]決定用戶身份和權限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登錄時間:

5

phone

varchar

11

0

Y

N

手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時

6

phone_state

smallint

5

0

N

N

0

手機認證:[0,1](0未認證|1審核中|2已認證)

7

username

varchar

16

0

N

N

用戶名:[0,16]用戶登錄時所用的賬戶名稱

8

nickname

varchar

16

0

Y

N

昵稱:[0,16]

9

password

varchar

64

0

N

N

密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成

10

email

varchar

64

0

Y

N

郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時

11

email_state

smallint

5

0

N

N

0

郵箱認證:[0,1](0未認證|1審核中|2已認證)

12

avatar

varchar

255

0

Y

N

頭像地址:[0,255]

13

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

表user_group (用戶組:用于用戶前端身份和鑒權)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

group_id

mediumint

8

0

N

Y

用戶組ID:[0,8388607]

2

display

smallint

5

0

N

N

100

顯示順序:[0,1000]

3

name

varchar

16

0

N

N

名稱:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述該用戶組的特點或權限范圍

5

source_table

varchar

255

0

Y

N

來源表:

6

source_field

varchar

255

0

Y

N

來源字段:

7

source_id

int

10

0

N

N

0

來源ID:

8

register

smallint

5

0

Y

N

0

注冊位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

  1. 系統實現
    1. 登錄模塊的實現

用戶登錄的驗證將不再局限于登錄信息和權限的匹配驗證,而是另外增加了一個驗證碼,只有界面上所有的編輯框數據都準確的情況下才能實現登錄成功。管理員的登錄和前臺用戶登錄是一樣的過程,其主要就是利用權限字段來完成對用戶或管理員的角色識別。

用戶登錄流程圖如下所示。

desc
圖5-1 登錄流程圖

登錄界面如下圖所示。

desc
圖5-1 登錄界面

登錄關鍵代碼如下所示。

/**

* 登錄

* @param data

* @param httpServletRequest

* @return

*/

@PostMapping(“login”)

public Map<String,?Object> login(@RequestBody Map<String,?String> data,?HttpServletRequest httpServletRequest) {

log.info(“[執行登錄接口]”);

String username = data.get(“username”);

String email = data.get(“email”);

String phone = data.get(“phone”);

String password = data.get(“password”);

List resultList = null;

Map<String,?String> map = new HashMap<>();

if(username != null && “”.equals(username) == false){

map.put(“username”,?username);

resultList = service.select(map,?new HashMap<>()).getResultList();

}

else if(email != null && “”.equals(email) == false){

map.put(“email”,?email);

resultList = service.select(map,?new HashMap<>()).getResultList();

}

else if(phone != null && “”.equals(phone) == false){

map.put(“phone”,?phone);

resultList = service.select(map,?new HashMap<>()).getResultList();

}else{

return error(30000,?“賬號或密碼不能為空”);

}

if (resultList == null || password == null) {

return error(30000,?“賬號或密碼不能為空”);

}

//判斷是否有這個用戶

if (resultList.size()<=0){

return error(30000,“用戶不存在”);

}

User byUsername = (User) resultList.get(0);

Map<String,?String> groupMap = new HashMap<>();

groupMap.put(“name”,byUsername.getUserGroup());

List groupList = userGroupService.select(groupMap,?new HashMap<>()).getResultList();

if (groupList.size()<1){

return error(30000,“用戶組不存在”);

}

UserGroup userGroup = (UserGroup) groupList.get(0);

//查詢用戶審核狀態

if (!StringUtils.isEmpty(userGroup.getSourceTable())){

String sql = "select examine_state from “+ userGroup.getSourceTable() +” WHERE user_id = " + byUsername.getUserId();

String res = String.valueOf(service.runCountSql(sql).getSingleResult());

if (res==null){

return error(30000,“用戶不存在”);

}

if (!res.equals(“已通過”)){

return error(30000,“該用戶審核未通過”);

}

}

//查詢用戶狀態

if (byUsername.getState()!=1){

return error(30000,“用戶非可用狀態,不能登錄”);

}

String md5password = service.encryption(password);

if (byUsername.getPassword().equals(md5password)) {

// 存儲Token到數據庫

AccessToken accessToken = new AccessToken();

accessToken.setToken(UUID.randomUUID().toString().replaceAll(“-”,?“”));

accessToken.setUser_id(byUsername.getUserId());

tokenService.save(accessToken);

// 返回用戶信息

JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

user.put(“token”,?accessToken.getToken());

JSONObject ret = new JSONObject();

ret.put(“obj”,user);

return success(ret);

} else {

return error(30000,?“賬號或密碼不正確”);

}

}

    1. 用戶首頁模塊的實現

首頁主要分別展示各個模塊的最新動態,瀏覽者可以很清楚地看到不同模塊的最新更新內容。并且系統首頁每個部分可以跳轉到相對應的模塊,方便瀏覽者選擇感興趣的地方。

首頁載入流程圖如下所示。

desc
圖5-1?首頁載入流程

首頁如下圖所示。

desc
圖5-1 首頁界面

    1. 注冊模塊的實現

系統的用戶通過自行注冊生成,在系統首頁點擊用戶注冊菜單,系統跳轉到對應的注冊頁面。點擊重置按鈕,清空所填數據,點擊注冊按鈕完成注冊。

用戶注冊流程圖如下所示。

desc
圖5-1 用戶注冊流程圖

用戶注冊界面如下圖所示。

desc
圖5-1 注冊界面

注冊關鍵代碼如下所示。

/**

* 注冊

* @param user

* @return

*/

@PostMapping(“register”)

public Map<String,?Object> signUp(@RequestBody User user) {

// 查詢用戶

Map<String,?String> query = new HashMap<>();

query.put(“username”,user.getUsername());

List list = service.select(query,?new HashMap<>()).getResultList();

if (list.size()>0){

return error(30000,?“用戶已存在”);

}

user.setUserId(null);

user.setPassword(service.encryption(user.getPassword()));

service.save(user);

return success(1);

}

/**

* 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據

*/

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

@Column(name = “user_id”)

private Integer userId;

/**

* 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷)

*/

@Basic

@Column(name = “state”)

private Integer state;

/**

* 所在用戶組:[0,32767]決定用戶身份和權限

*/

@Basic

@Column(name = “user_group”)

private String userGroup;

/**

* 上次登錄時間:

*/

@Basic

@Column(name = “login_time”)

private Timestamp loginTime;

/**

* 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時

*/

@Basic

@Column(name = “phone”)

private String phone;

/**

* 手機認證:[0,1](0未認證|1審核中|2已認證)

*/

@Basic

@Column(name = “phone_state”)

private Integer phoneState;

/**

* 用戶名:[0,16]用戶登錄時所用的賬戶名稱

*/

@Basic

@Column(name = “username”)

private String username;

/**

* 昵稱:[0,16]

*/

@Basic

@Column(name = “nickname”)

private String nickname;

/**

* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成

*/

@Basic

@Column(name = “password”)

private String password;

/**

* 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時

*/

@Basic

@Column(name = “email”)

private String email;

/**

* 郵箱認證:[0,1](0未認證|1審核中|2已認證)

*/

@Basic

@Column(name = “email_state”)

private Integer emailState;

/**

* 頭像地址:[0,255]

*/

@Basic

@Column(name = “avatar”)

private String avatar;

/**

* 創建時間:

*/

@Basic

@Column(name = “create_time”)

@JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss”)

private Timestamp createTime;

@Basic

@Transient

private String code;

}

    1. 密碼修改模塊的實現

用戶使用該家政服務管理系統注冊完成后,用戶對登錄密碼有修改需求時,系統也可以提供用戶修改密碼權限。系統中所有的操作者能夠變更自己的密碼信息,執行該功能首先必須要登入系統,然后選擇密碼變更選項以后在給定的文本框中填寫初始密碼和新密碼來完成修改密碼的操作。在填寫的時候,假如兩次密碼填寫存在差異,那么此次密碼變更操作失敗,下面的圖片展示的就是該板塊對應的工作面。

密碼修改流程圖如下所示。
desc

圖5-1 密碼修改流程圖

密碼修改界面如圖所示。
desc

圖5-1 密碼修改界面

    1. 評論模塊的實現

用戶點擊某個服務項目進入服務項目詳細頁,點擊評論按鈕進入評論頁,提交評論信息,成功發布評論,管理員管理用戶的評論信息。

發布評論流程圖如下所示。

desc
圖5-1 發布評論流程圖

發布評論界面如圖所示。
desc

圖5-1 發布評論界面

    1. 服務項目收藏模塊的實現

用戶選擇相應的服務項目收藏,通過id傳參,找到id為此傳參的服務項目信息,在收藏頁提交收藏記錄表單,生成收藏記錄,用戶在個人中心管理個人的收藏夾。

服務項目收藏界面如下圖所示。

desc
圖5-1 服務項目收藏界面

    1. 公告管理模塊的實現

在主頁左側菜單欄中點擊“公告管理”按鈕,再從二級目錄中點擊“新增公告”按鈕,進入到新增公告界面。在此處公告可以添加公告的標題。

在主頁左側菜單欄中點擊“公告管理”按鈕,再從二級目錄中點擊“查詢公告”按鈕,進入到查詢公告界面。在此處公告可以查詢當前所有公告記錄。

公告展示界面如下圖所示。

desc
圖5-1 公告展示界面

公告管理界面如下圖所示。

desc
圖5-1 公告管理界面

公告管理邏輯代碼如下所示。

@RequestMapping(value = “/del”)

@Transactional

public Map<String,?Object> del(HttpServletRequest request) {

service.delete(service.readQuery(request),?service.readConfig(request));

return success(1);

}

@Transactional

public void delete(Map<String,String> query,Map<String,String> config){

StringBuffer sql = new StringBuffer(“DELETE FROM “).append(”`”).append(table).append(“`”).append(" ");

sql.append(toWhereSql(query,?“0”.equals(config.get(FindConfig.GROUP_BY))));

log.info(“[{}] - 刪除操作:{}”,table,sql);

Query query1 = runCountSql(sql.toString());

query1.executeUpdate();

}

    1. 用戶管理模塊的實現

用戶通過注冊了方可獲得登錄使用權限,此時選擇學生用戶選項,系統就會自動轉到用戶注冊工作面,在注冊該部分信息時系統會自動調用add函數,然后在給定的文本框中填寫有關該用戶的基礎信息后選擇確認即可完成注冊。檢索用戶信息,在新增用戶信息以后,在檢索工具欄中填寫對應的用戶信息,系統就會將該用戶有關的所有信息展示出來。

用戶管理流程圖如下所示。

desc
圖5-1 用戶管理流程圖

用戶管理界面如下圖所示。

desc
圖5-1 用戶管理界面

用戶管理的邏輯代碼如下:

@PostMapping(“/add”)

@Transactional

public Map<String,?Object> add(HttpServletRequest request) throws IOException {

service.insert(service.readBody(request.getReader()));

return success(1);

}

@Transactional

public Map<String,?Object> addMap(Map<String,Object> map){

service.insert(map);

return success(1);

}

public Map<String,Object> readBody(BufferedReader reader){

BufferedReader br = null;

StringBuilder sb = new StringBuilder(“”);

try{

br = reader;

String str;

while ((str = br.readLine()) != null){

sb.append(str);

}

br.close();

String json = sb.toString();

return JSONObject.parseObject(json,?Map.class);

}catch (IOException e){

e.printStackTrace();

}finally{

if (null != br){

try{

br.close();

}catch (IOException e){

e.printStackTrace();

}

}

}

return null;

}

public void insert(Map<String,Object> body){

StringBuffer sql = new StringBuffer("INSERT INTO ");

sql.append(“`”).append(table).append(“`”).append(" (");

for (Map.Entry<String,Object> entry:body.entrySet()){

sql.append(“`”+humpToLine(entry.getKey())+“`”).append(“,”);

}

sql.deleteCharAt(sql.length()-1);

sql.append(“) VALUES (”);

for (Map.Entry<String,Object> entry:body.entrySet()){

Object value = entry.getValue();

if (value instanceof String){

sql.append(“'”).append(entry.getValue()).append(“'”).append(“,”);

}else {

sql.append(entry.getValue()).append(“,”);

}

}

sql.deleteCharAt(sql.length() - 1);

sql.append(“)”);

log.info(“[{}] - 插入操作:{}”,table,sql);

Query query = runCountSql(sql.toString());

query.executeUpdate();

}

    1. 訂單信息管理模塊的實現

管理員執行訂單信息管理,并可以操作相關內容,例如添加,查看,編輯和刪除。通過單擊“添加訂單信息”,可以通過訂單信息添加界面添加詳細信息。單擊查看字段級別鏈接以查看有關所選字段級別的信息。然后單擊“提交”跳轉重返到添加頁面。添加成功后的信息會載入到訂單信息查詢列表中,管理員可進行編輯以及修改。

訂單信息管理流程圖如下所示。

desc
圖5-1 訂單信息管理流程圖

訂單信息管理如下圖所示。文章轉自鏈接

desc
圖5-1 訂單信息管理界面

    1. 訂單評價管理模塊的實現

管理員執行訂單評價管理,并可以操作相關內容,例如添加,查看,編輯和刪除。通過單擊“添加訂單評價”,可以通過訂單評價添加界面添加詳細信息。單擊查看字段級別鏈接以查看有關所選字段級別的信息。然后單擊“提交”跳轉重返到添加頁面。添加成功后的信息會載入到訂單評價查詢列表中,管理員可進行編輯以及修改。

訂單評價添加流程圖如下所示。

desc
圖5-1 訂單評價管理流程圖

訂單評價管理如下圖所示。

desc
圖5-1 訂單評價管理界面

  1. 系統測試
    1. 測試目的

在這個產品被投入使用前,首先需要進行試用,這是重要的環節。考慮到某個部分的開發沒有缺陷情況下,把各種模塊拼接,也有一定概率就存在矛盾。這就好比每個人都很獨特,但聚在一起就顯得雜亂無章,需要保證有默契的配合。對于測試,要看它的各項內容是否契合的原則。若與最初定下的標準有一定程度上的出入,那么就需要做出一些調整,讓最終的大方向朝著目標前進。

測試是為了發現在開發的程序中所存在的問題,測試這一工作是非常艱巨的,而又是非常困難的,這一部分在程序的設計中占有很大比例,可以說一個程序的開發工作量要是占據了百分至六十,那么剩下的百分之四十必然是測試這一部分,甚至更高。

    1. 測試用例
      1. 用戶登錄測試

用戶登錄功能測試:

表5-1?用戶登錄功能測試表

用例名稱

用戶登錄系統

目的

測試用戶通過正確的用戶名和密碼可否登錄功能

前提

未登錄的情況下

測試流程

1) 進入登錄頁面

2) 輸入正確的用戶名和密碼

預期結果

用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入

實際結果

實際結果與預期結果一致

      1. 創建數據測試

在系統中,創建功能也是基礎功能之一,因此創建功能的測試很有代表性。在此章節主要列舉在創建時各種情況下系統結果的測試。由于系統涉及創建功能操作過多,因此將多處統稱創建功能。

創建數據用例如下表所示。

表6-5 創建數據測試用例

測試用例編號

YL_05

測試用例名稱

系統使用者進行創建數據

測試用例描述

使用者輸入要創建的數據

系統入口

瀏覽器

步驟

預期結果

實際結果

輸入完整并且格式正確的數據

提示“創建成功”,并顯示所有數據

預期結果

核心位置數據但非必要位置不輸入數據

提示“創建成功”,并顯示所有數據

預期結果

核心數據位置不輸入數據

提示“創建失敗”

預期結果

      1. 修改數據測試

在系統中,修改功能是系統主要實現功能,因此修改功能的測試很有代表性。在此章節主要列舉在修改時各種情況下系統結果的測試。由于系統涉及修改功能操作過多,因此將多處數據表記錄修改和狀態修改統稱修改功能。

修改數據用例如下表所示。

表6-6 修改數據測試用例

測試用例編號

YL_06

測試用例名稱

系統使用者進行修改數據

測試用例描述

使用者對可修改的數據項進行修改

系統入口

瀏覽器

步驟

預期結果

實際結果

將現有數據修改成正確的數據

提示“修改成功”,并顯示所有數據

預期結果

將現有數據修改成錯誤的數據

提示“修改失敗”

預期結果

      1. 查詢數據測試

在系統中,查詢功能是使用系統使用最多也是最基礎的功能,因此查詢功能的測試很有代表性。在此章節主要列舉在查詢時各種情況下系統結果的測試。

查詢數據用例如下表所示。

表6-7 查詢數據測試用例

測試用例編號

YL_05

測試用例名稱

系統使用者進行查詢數據

測試用例描述

全部查詢以及輸入關鍵詞查詢

系統入口

瀏覽器

步驟

預期結果

實際結果

界面自動查詢全部

顯示對應所有記錄

預期結果

輸入已存在且能匹配成功的關鍵字

顯示所查詢到的數據

預期結果

輸入不存在的關鍵字

顯示數據界面為空

預期結果

    1. 測試結果

在本次測試的過程主要針對所有功能下的添加操作,修改操作和刪除操作,并以真實數據一一進行相關功能項目的輸入,最終能夠保證每個項目涉及的功能都是能夠正常運行,因此能夠保證本次設計的,已實現的功能能夠正常運行并且相關數據庫的信息也同樣保證正確。

結 ?論

本次家政服務管理系統利用了Web應用同現實研發方案工作進行相結合,在系統功能開始編碼之前,作者花費了大量時間在圖書館內進行資料文獻的收集和總結,通過大量文獻的分析,能夠發現,家政服務管理系統管理的方式在家政中扮演的位置是越來越重要,而使用的方式也是越來越多元化,也正是因為這個原因,作者深深的希望能夠開發出一種專門針對家政服務管理系統,以滿足用戶的需求。

在本次家政服務管理系統中,利用了目前市場上普遍使用的Java技術,以及數據庫管理功能MySQL,和目前比較流行的springboot框架,最后配合使用到了VUE頁面布局技術進行系統界面的布置,以現實生活的用戶運動過程為標準,設計實現了公告查詢、資訊瀏覽、服務項目查詢、點贊收藏、在線評論等功能,并維護好后臺的信息和整體系統的穩定性。

但是由于作者受到了技術水平的限制,在有限的時間,只能夠將系統功能模擬時的功能實現,在許多功能方面仍然存在很大的弊端,而這些弊端需要不斷的測試,不斷的總結,不斷的改進。例如本次系統設計中,在數據儲存的方面并不夠全面,很容易出現信息泄露的風險;例如針對用戶權限的設置同樣不夠全面完整,沒有考慮權限在實際情況的運用是否能夠完美執行。而在這之后的日子里,作者將會繼續學習Java技術和相關的信息技術,對系統功能進行更加完整的,詳細的分析,將系統功能一一進行完善,幫助使用者完成相應的操作。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63373.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63373.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63373.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DC-9筆記

靶機信息 官網:DC: 9 ~ VulnHub 只有一個flag,官網上沒給其他提示 信息收集 nmap 192.168.66.2-254nmap 192.168.66.146 -A -p-開放了80端口,22端口是filtered的,被過濾? NMAP 六種端口狀態解讀_nmap filtered-CSDN博客 那來看看http服務吧 http(80) 頁腳是空白的,插件也…

STM32-筆記3-驅動蜂鳴器

1、復制03項目&#xff0c;重命名為04項目 打開04項目的Drivers/BSP/led文件夾&#xff0c;把led文件夾更改為beep文件夾&#xff0c;改文件夾內部的.c和.h文件更改為beep.c和beep.h文件&#xff0c;如下圖所示。 2、打開工程文件 出現彈窗&#xff0c;顯示找不到xx文件&#…

PHP開發日志 ━━ 基礎知識:四種不同的變量返回方式該如何調用

最近在給框架升級&#xff0c;其中涉及到古早的緩存系統升級&#xff0c;現在準備區分類型為混合、變量和普通文件&#xff0c;那么變量用什么形式存儲到緩存才能給后續開發帶來便利和通用性呢&#xff1f;于是就涉及到了本文的php基礎知識。 好吧&#xff0c;又是一個無用的知…

概率論得學習和整理30: 用EXCEL 描述泊松分布 poisson distribution

目錄 1 泊松分布的基本內容 1.1 泊松分布的關鍵點 1.1.1 屬于離散分布 1.1.2 泊松分布的特點&#xff1a;每個子區間內概率相等 &#xff0c; λ就是平均概率 1.2 核心參數 1.3 pmf公式 1.4 期望和方差 2 例1&#xff1a;用EXCEL計算泊松分布的概率 3 比較λ不同值時…

Java中的垃圾收集器

文章目錄 1. 理解不同類型的垃圾收集器1.1 Serial 收集器1.2 Parallel (吞吐量) 收集器1.3 CMS (Concurrent Mark-Sweep) 收集器1.4 G1 (Garbage First) 收集器1.5 ZGC 和 Shenandoah GC1.6 Epsilon GC1.7 ParNew 收集器1.8 Zing (Azul Systems) 2. 優化垃圾收集器的選擇和配置…

測試工程師八股文05|功能測試、業務測試

一、基礎概念 1、軟件測試分類 1??按照軟件產生的階段劃分 單元測試&#xff1a;針對程序源代碼進行測試【開發自測】集成測試&#xff1a;針對模塊之間功能交互進行測試系統測試&#xff1a;對整個系統&#xff08;功能、非功能&#xff09;進行全面測試驗收測試&#xff…

圖(dfs與bfs)算法2

進度&#xff1a;15/100 原題1&#xff1a; 給你一棵二叉樹的根節點 root &#xff0c;翻轉這棵二叉樹&#xff0c;并返回其根節點。 &#xff08;力扣的圖&#xff09; 原題2&#xff1a; 給定二叉樹的根節點 root &#xff0c;返回所有左葉子之和。 原題3&#xff1a; 給…

《鴻蒙開發-答案之書》字符串占位符格式化

《鴻蒙開發-答案之書》字符串占位符格式化 先在string.json定義&#xff1a; {"name":"message_arrive","value":"We will arrive at %s."}使用&#xff0c;它有兩種使用方式&#xff1a; 方式一&#xff1a; Text($r(app.string.…

Redis bitmaps 使用

應用場景&#xff1a; 記錄id為 1 的用戶&#xff0c;2024年12月簽到情況&#xff0c;并統計&#xff1b; 記錄 1號簽到 zxys-redis:0>setbit 1:202412 1 1 記錄 2號簽到 zxys-redis:0>setbit 1:202412 2 1 記錄 3號未簽到 zxys-redis:0>setbit 1:202412 3 0 …

【微服務】SpringBoot 整合Redis Stack 構建本地向量數據庫相似性查詢

目錄 一、前言 二、向量數據庫介紹 2.1 什么是向量數據庫 2.2 向量數據庫特點 2.3 向量數據庫使用場景 三、常用的向量數據庫解決方案 3.1 Milvus 3.1.1 Milvus是什么 3.1.2 Milvus主要特點 3.2 Faiss 3.2.1 Faiss是什么 3.2.2 Faiss主要特點 3.3 Pinecone 3.3.1 …

【數據庫】大二數據庫復習范圍 (快速版)幫助你快速復習數據庫

第一章 1. 信息=數據+語義 2:數據庫管理系統(database management system, DBMS) 3. 數據庫系統(database system, DBS)由數據庫、數據庫用戶、計算機硬件系統和計算機軟件系統等幾部分組成 4. 數據模型按應用層次可分為概念模型、邏輯模型和物理模型。 5.每個二維表…

FMIKit-Simulink 常見問題解決方案

將解壓后的文件夾添加到 MATLAB 路徑中&#xff1a; addpath(fullfile(pwd, FMIKit-Simulink-3.1));初始化 FMIKit&#xff1a; FMIKit.initialize(); 設置求解器rtwsfcnfmi.tlc、或grtfmi.tlc再CtrlB即可。 幫助文檔可查看導出FUM和導入FMU。 FMIKit-Simulink-3.1\html\index…

UE UMG 多級彈出菜單踩坑

多級彈出菜單 https://www.bilibili.com/video/BV1ub411J7nA 運行時添加 widget 的方法 create widget 然后 add child 到某個組件&#xff0c;比如 canvas 運行時修改 widget 位置的方法 set widget slot position 用起來沒效果 懷疑是因為我沒有傳入 slot 但是暫時不知…

sunset: midnight

https://www.vulnhub.com/entry/sunset-midnight,517/ 主機發現端口掃描 探測存活主機&#xff0c;8是靶機 nmap -sP 192.168.56.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-05 16:49 CST Nmap scan report for 192.168.56.1 …

【PyTorch】動態調整學習率 torch.optim.lr_scheduler.StepLR 調度器

文章目錄 1. torch.optim.lr_scheduler.StepLR 官方文檔詳解2. 使用示例2.1 官方提供使用示例2.2 自己寫代碼測試方法2.2.1 get_last_lr() 方法2.2.2 state_dict() 方法2.2.3 load_state_dict() 保存和加載調度器 3. 思考3.1 為什么需要state_dict()3.2 get_lr() 與 get_last_l…

伊克羅德與九科信息共同發布RPA+AI智能機器人解決方案

12月12日&#xff0c;伊克羅德信息在上海舉辦“創見AI&#xff0c;邁進智能化未來——科技賦能零售電商”活動&#xff0c;與九科信息、亞馬遜云科技共同探討與分享&#xff0c;融合生成式AI技術和智能自動化&#xff08;RPA,Robotic Process Automation&#xff09;在電商零售…

hutool一些典型的方法使用筆記

hutool一些典型的方法使用筆記 1 克隆1.1 深克隆 2類型轉換2.1其他類型轉換為字符串2.2 轉換為日期對象2.3 數組轉集合2.4 Unicode和字符串轉換2.5 數字轉中文 文檔地址&#xff1a;https://blog.csdn.net/dxjren/article/details/144468399 1 克隆 1.1 深克隆 定義一個實體類…

QT實戰經驗總結 連載中

QT實戰經驗總結 在看書系統學習后&#xff0c;就開始實戰了&#xff0c;會遇到很多問題1.信號和槽的思考2.在python 或 C 代碼中&#xff0c;對 QML 代碼中控件的調用關于在一個窗口上不斷打開新窗口 在看書系統學習后&#xff0c;就開始實戰了&#xff0c;會遇到很多問題 pyt…

從 CephFS 到 JuiceFS:同程旅行億級文件存儲平臺構建之路

隨著公司業務的快速發展&#xff0c;同程旅行的非結構化的數據突破 10 億&#xff0c;在 2022 年&#xff0c;同程首先完成了對象存儲服務的建設。當時&#xff0c;分布式文件系統方面&#xff0c;同程使用的是 CephFS&#xff0c;隨著數據量的持續增長&#xff0c;CephFS 的高…

固定資產分類,提升資產盤活效益

固定資產是企業長期使用的重要資源&#xff0c;涵蓋范圍廣、種類多&#xff0c;不同的資產需要針對性管理。通過科學的分類與高效的盤活策略&#xff0c;不僅可以優化資源配置&#xff0c;還能提升企業資產的利用效率和經濟效益。以下將詳細解析固定資產的分類方式和盤活效益的…