第3章 系統分析
用戶的需求以及與本系統相似的在市場上存在的其它系統可以作為系統分析中參考的資料,分析人員可以根據這些信息確定出本系統具備的功能,分析出本系統具備的性能等內容。
3.1可行性分析
盡管系統是根據用戶的要求進行制作,但是在確定制作前,有必要分析其可行性。
3.1.1操作可行性分析
開發本系統需要用到的工具,本人都比較熟悉,因此可以使用這些工具,完整開發養老院管理系統。此外,養老院管理系統在功能上,基本都是完成信息的處理,涵蓋了添加,修改,刪除等,而且操作者面對的都是各個功能操作界面,并不是編碼后臺,所以一般的使用者都可以通過操作界面輕松完成信息的加工處理。因此,本系統操作可行。
3.1.2經濟可行性分析
開發本系統,并沒有投入資金購買開發工具。因為使用的開發工具都是事先在百度上下載安裝在本人電腦上的,隨著軟件開發技術的成熟,系統功能實現的編碼也都模塊化,很容易通過各大軟件開發類網站獲取,并通過小部分代碼改動,運用到本系統中,這些都不需要資金投入,同時,本系統開發的結構選用B/S,成本可以忽略不計。
3.1.3技術可行性分析
本系統需要的軟件包括Eclipse,Tomcat,Mysql等,這些工具都接觸并使用過,至于JAVA,B/S,vue,Html等技術,圖書館都有對應的書籍可以參考學習,加上平時課堂上學習的編程小項目對這些技術都有講解,另外,本人也從課程設計作業中鍛煉了編程能力。所以在技術上,可以完成養老院管理系統的編程開發。
通過上面的分析,已經確定了本系統在經濟上的可行,本系統在技術上的可行,本系統在操作上的可行。由此,可以得出在目前的條件下,對于養老院管理系統的設計與實現是可以進行下去的。
3.2系統流程分析
本系統在處理數據時,其內部的操作邏輯也需要使用相應的工具進行展示。
在本系統的數據錄入頁面,對于操作者提供的每條數據都有相應的檢驗規則,比如數據信息不能有非法字符,或者本來應該是漢字的數據,不能用字母代替,還有對數據內容的長度等進行規范,這樣的可以確保數據準確性的檢驗規則,在編碼時,就提前編寫好了。數據添加的流程見下圖。如果數據已經保存進入數據庫,則說明操作者提供的數據內容和格式都是符合要求的。
圖3.1 添加信息流程圖
很多時候,面對系統中的大量數據,難免會發現一些錯誤,因此需要及時糾正錯誤,本系統也提供數據后期的修改功能,其流程見下圖。但是更新的數據也需要通過數據有效性檢驗。能夠最終寫入數據庫則說明修改的數據是符合要求的。
圖3.2 修改信息流程圖
面對數據庫里面大量數據,在系統的前臺,要想快速獲取需要的信息,就需要使用查詢功能。其流程見下圖。該功能需要操作者提前輸入關鍵詞,當系統的后臺數據庫保存了與關鍵詞匹配的數據時,就會及時顯示出來,整個過程耗時很短。
圖3.3 查詢信息流程圖
3.3系統性能分析
分析養老院管理系統對于性能的需求主要還是從下面的5個角度來分析,它們分別是系統的實用性,系統的適應性,系統的易操作性,系統的安全性和系統的易維護性。
性能需求一:系統的實用性,本系統主要是讓管理人員集中處理相關信息,可以提供方便快捷的信息添加,信息編輯等操作。在提高信息管理人員的工作效率的同時,也可以降低管理成本,并大大減少管理人員日常繁瑣的工作量。
性能需求二:系統的適應性,本系統對于運行環境的要求并不高,可以被廣泛運用在生活中。因為使用者只要在日常使用的計算機,或者是隨身攜帶的筆記本上搭建運行環境都能運行本系統,另外系統提供的基礎功能包括添加,修改等都能隨時操作。
性能需求三:系統的易操作性,本系統提供的功能跟同類型系統一樣,也具備簡單的增刪改操作,操作流程的邏輯也符合廣大使用者的使用需求,使用者使用本系統管理數據會非常順手。
性能需求四:系統的安全性,本系統在數據保存與管理上安全系數要達標,在設計與編碼階段,通過對用戶進行權限分配,把系統的功能依照不同用戶的角色進行分配,在首次進入系統時,通過編寫安全驗證的代碼模塊,引導不同用戶進入不同的操作界面。還可以對用戶基礎信息包括登錄的賬號密碼等進行加密保存,可以利用當下常用的技術成熟的MD5加密技術實現。
性能需求五:系統的易維護性,本系統在后期運行中,會根據使用者的操作,產生許多數據信息,為了便于維護,就要求這些數據可以通過工具從數據庫中導出來,對于一些階段性數據,可以進行批量刪除,以此達到輕負荷處理數據的目標,讓本系統可以變得更加輕盈。
第4章 系統設計
市面上設計比較好的系統都有一個共同特征,就是主題鮮明突出。通過對頁面簡潔清晰的布局,讓頁面的內容,包括文字語言,或者視頻圖片等元素可以清晰表達出系統的主題。讓來訪用戶無需花費過多精力和時間找尋需要的內容。
4.1界面設計原則
一般來說,大部分用戶使用系統,有些是想從系統中獲取需要的信息,有些則是使用系統提供的服務。所以,為了改善用戶體驗,提高系統的使用率,在對系統界面設計時,需要按照下面的原則進行。
第一點,對用戶進行分析,了解用戶使用系統的目的,以及使用系統的方式,考慮大部分用戶的閱讀習慣,設計Z字形或F型結構可以方便用戶獲取信息。
第二點:設計有效的導航,這個包括每個頁面上都有導航條的顯示,有時也可以在頁面的底部設計導航條,當用戶進入具體頁面時,要設計相應的位置提示,在頁面中比較特殊的位置,需要設計返回鏈接,可以返回上個頁面,也可以返回首頁等。
第三點:對整個系統要運用統一的設計方案,包括色彩方案的一致性,頁面模板的相似性等,對相同操作和專業術語的描述在整個系統中也應該保持一致。
第四點:設計的界面要保證傳達的內容清晰準確。要避免在同一個頁面設計非常多的內容,另外可以準確對系統內容進行分類,把頁面中用戶視覺集中的位置,用來顯示重要信息。
作為初學者,并沒有那么多的設計經驗,但是可以運用上面提到的界面設計原則設計出比較好的系統,可以讓用戶產生良好的使用體驗。
4.2功能結構設計
為了讓系統的編碼可以順利進行,特意對本系統功能進行細分設計,設計的系統功能結構見下圖。
圖4.1 系統功能結構圖
4.3數據庫設計
一般來說,對用戶進行調查,了解其需求,主要還是完成功能上的分析設計,殊不知,設計功能時,也要展示對數據庫的設計。數據庫服務于程序,它可以按照設定的規則對程序的數據進行保存,因此,也可以說數據庫就是程序相關數據的集合。為了保證程序的高質量,數據庫提供的數據存儲服務也需要快速響應,同時數據信息也要安全合法可靠,所以設計一個數據庫這樣的任務也需要高度重視,并花時間和精力去努力完成。畢竟這影響到后期程序的開發和使用。試想而知,假設設計一個不好的數據庫,遇到的問題將會有:第一,面對信息處理,會有著繁瑣的業務邏輯,延長事務處理時間。第二:程序編碼期間,將會產生更多的代碼去完成數據處理的功能,產生大量的數據冗余,而且也不方便注釋代碼,還會占用更多的存儲空間。綜上所述,設計出合理的數據庫是多么的重要。
(1)下圖是家屬實體和其具備的屬性。
家屬實體屬性圖
(2)下圖是公告信息實體和其具備的屬性。
公告信息實體屬性圖
(3)下圖是老人實體和其具備的屬性。
老人實體屬性圖
(4)下圖是字典表實體和其具備的屬性。
字典表實體屬性圖
(5)下圖是體檢實體和其具備的屬性。
體檢實體屬性圖
(6)下圖是食物實體和其具備的屬性。
食物實體屬性圖
(7)下圖是老人外出信息實體和其具備的屬性。
老人外出信息實體屬性圖
(8)下圖是家屬意見實體和其具備的屬性。
家屬意見實體屬性圖
(9)下圖是老人家屬信息實體和其具備的屬性。
老人家屬信息實體屬性圖
4.3.2 數據庫物理設計
作為程序后臺的支持,本數據庫也需要設計數據存儲的結構。而數據存儲結構的設計就包括了數據表結構的設計和創建。數據表結構包括了字段,數據類型,還有字段的取值范圍等信息。而E-R模型中的實體就是一張表,實體的特征就可以作為該表中的字段,根據本程序信息存儲要求,設計每個字段需要的類型,還有該字段的取值范圍等。每當設計完成一張數據表,就需要及時保存在數據庫里面,并對該設計的數據表準確命名,要求設置的數據表的名稱盡量不要是中文,而且要方便記憶。因為在程序編碼階段,通過SQL語句可以把程序里面的數據寫入在各個數據表里面,而這個環節需要使用到數據表的名稱。如果數據表名稱是中文的話,可能會亂碼并影響程序運行。下面就以表格形式展示設計的結果。
表4.1老人表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_name | String | 老人姓名 | 是 |
3 | yonghu_photo | String | 頭像 | 是 |
4 | jiankang_types | Integer | 健康狀態 | 是 |
5 | yonghu_age | Integer | 年齡 | 是 |
6 | yonghu_phone | String | 緊急聯系方式 | 是 |
7 | yonghu_address | String | 住址 | 是 |
8 | yonghu_delete | Integer | 假刪 | 是 |
9 | insert_time | Date | 添加時間 | 是 |
10 | create_time | Date | 創建時間 | 是 |
表4.2字典表表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 編碼 | 是 |
5 | index_name | String | 編碼名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 備注 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.3家屬表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jiashu_name | String | 家屬名稱 | 是 |
3 | jiashu_photo | String | 家屬照片 | 是 |
4 | jiashu_phone | String | 聯系電話 | 是 |
5 | jiashu_email | String | 郵箱 | 是 |
6 | jiashu_delete | Integer | 邏輯刪除 | 是 |
7 | create_time | Date | 創建時間 | 是 |
表4.4家屬意見表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | jiashuyijian_name | String | 標題 | 是 |
3 | jiashuyijian_types | Integer | 類型 | 是 |
4 | jiashu_id | Integer | 家屬 | 是 |
5 | jiashuyijian_content | String | 詳細信息 | 是 |
6 | jiashuyijian_delete | Integer | 邏輯刪除 | 是 |
7 | create_time | Date | 創建時間 homeMain | 是 |
表4.5老人家屬信息表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 老人 | 是 |
3 | jiashu_id | Integer | 家屬 | 是 |
4 | laorenjiashu_types | Integer | 家屬身份 | 是 |
5 | insert_time | Date | 添加時間 | 是 |
6 | create_time | Date | 創建時間 | 是 |
表4.6食物表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | meishi_name | String | 食物名稱 | 是 |
3 | meishi_photo | String | 食物照片 | 是 |
4 | meishi_types | Integer | 食物類型 | 是 |
5 | meishi_new_money | BigDecimal | 價格 | 是 |
6 | meishi_content | String | 食物介紹 | 是 |
7 | meishi_delete | Integer | 邏輯刪除 | 是 |
8 | create_time | Date | 創建時間 homeMain | 是 |
表4.7公告信息表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | news_name | String | 公告信息標題 | 是 |
3 | news_types | Integer | 公告類型 | 是 |
4 | news_photo | String | 公告信息圖片 | 是 |
5 | insert_time | Date | 添加時間 | 是 |
6 | news_content | String | 公告詳情 | 是 |
7 | create_time | Date | 創建時間 | 是 |
表4.8體檢表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | tijian_name | String | 標題 | 是 |
3 | tijian_types | Integer | 體檢項目 | 是 |
4 | tijian_new_money | BigDecimal | 體檢價格 | 是 |
5 | tijian_content | String | 體檢項目介紹 | 是 |
6 | tijian_delete | Integer | 邏輯刪除 | 是 |
7 | create_time | Date | 創建時間 homeMain | 是 |
表4.9老人外出信息表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | waichu_name | String | 標題 | 是 |
3 | waichu_types | Integer | 外出目的 | 是 |
4 | waichu_time | Date | 外出時間 | 是 |
5 | huilia_time | Date | 回來時間 | 是 |
6 | yonghu_id | Integer | 老人 | 是 |
7 | waichu_text | String | 備注 | 是 |
8 | waichu_content | String | 詳情 | 是 |
9 | waichu_delete | Integer | 邏輯刪除 | 是 |
10 | create_time | Date | 創建時間 homeMain | 是 |
表4.10管理員表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
---|---|---|---|---|
1 | Id | Int | id | 否 |
2 | username | String | 用戶名 | 是 |
3 | password | String | 密碼 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增時間 | 是 |
第5章 系統實現
這個環節需要使用前面的設計方案,包括對系統模塊的設計,還有對程序后臺的數據支持的數據庫的設計等。不過這部分內容還是強調系統編碼人員的開發能力,要把前面設計的內容通過編碼的形式以一個完整的,可以運行的系統呈現出來。
功能模塊的實現
5.1老人信息管理
如圖5.1顯示的就是老人信息管理頁面,此頁面提供給管理員的功能有:老人信息的查詢管理,可以刪除老人信息、修改老人信息、新增老人信息,
還進行了對用戶名稱的模糊查詢的條件
圖5.1 老人信息管理頁面
5.2 家屬信息管理
如圖5.2顯示的就是家屬信息管理頁面,此頁面提供給管理員的功能有:查看已發布的家屬信息數據,修改家屬信息,家屬信息作廢,即可刪除,還進行了對家屬信息名稱的模糊查詢 家屬信息信息的類型查詢等等一些條件。
圖5.2 家屬信息管理頁面
5.3公告類型管理
如圖5.3顯示的就是公告類型管理頁面,此頁面提供給管理員的功能有:根據公告類型進行條件查詢,還可以對公告類型進行新增、修改、查詢操作等等。
圖5.3 公告類型管理頁面
5.1公告信息管理
如圖5.4顯示的就是公告信息管理頁面,此頁面提供給管理員的功能有:根據公告信息進行新增、修改、查詢操作等等。
圖5.4 公告信息管理頁面
第6章 系統測試
盡管系統在編碼過程中,程序的編制人員也會對編程的功能模塊進行逐個測試,但還是避免不了已經組合完成的系統整體沒有錯誤。很多時候,面對功能繁多,邏輯復雜的系統時,系統的測試就需要不同人來測試,并設計一些故障來檢驗系統的應對能力,以及發現很多系統內部的潛在問題。并通過尋求解決辦法去完善系統,確保系統質量。
6.1 系統測試方法
根據系統的測試流程,劃分的系統測試方法有單元測試,集成測試,系統測試,驗收測試。接下來就開始描述這些內容。
單元測試:這個測試環節在編碼中用得最多,主要是編程人員進行的,通常對編碼實現的各個子模塊當成一個單元完成測試,主要基于代碼的層面去發現問題,所以它也是白盒測試中的一種。
集成測試:這個環節進行的前提是,已經把系統的各個子模塊進行了組合,然后把組合的完整系統進行測試,檢驗組成目標系統的各個子模塊是否具備兼容性,還有目標系統是否根據預期目標正常運行。
系統測試:這個環節用到了黑盒測試,主要是檢驗系統的功能。并確定目標系統的各個功能是否運行正常。
驗收測試:這個環節需要用戶參與,讓用戶在系統操作界面上通過對不同數據的輸入,檢測系統的輸出結果,以此檢驗目標系統與用戶需求之間存在的差異程度。存在的差異越小,就代表著越符合用戶的期望。
6.2 功能測試
養老院管理系統的目標用戶最終面向的是系統的功能,所以檢驗本系統的功能也是一項重要任務,只有該系統的功能都能保證正常使用,才會吸引更多的用戶來使用。
6.2.1 登錄功能測試
本系統在編碼時,提前在登錄模塊編寫了安全驗證規則,通過判斷訪問者提供的數據,引導符合要求的用戶進入指定頁面。測試表如下。錯誤的數據輸入,在本系統中會得到及時的反饋提示。
表6.1 登錄功能測試表
功能 | 錄入的數據 | 預期結果 | 實際結果 | 結論 |
---|---|---|---|---|
管理員登錄 | 用戶名:空 密碼:空 | 提示請填寫用戶名 | 提示請填寫用戶名 | 通過測試 |
管理員登錄 | 用戶名:guanliyuan 密碼:空 | 提示請填寫密碼 | 提示請填寫密碼 | 通過測試 |
管理員登錄 | 用戶名:guanliyuan 密碼:gly | 提示用戶名密碼不匹配 | 提示用戶名密碼不匹配 | 通過測試 |
管理員登錄 | 用戶名:guanliyuan 密碼:guanliyuan | 提示登錄成功,并跳轉到功能操作區 | 提示登錄成功,并跳轉到功能操作區 | 通過測試 |
6.3 測試結果分析
通過測試,可以發現養老院管理系統具備完善的功能,同時具備易操作性和易維護性的特點,在系統安全性上也有比較健全的數據保護機制。至此,養老院管理系統可以投入使用。