【正文】
w o r d f a t h e r m o t h e r f a m i l y a d d r e s s b i r t h d a yB a b y I n f o r m a t i o n b a b y i n f o r m a t i o n c h e c k d a t e b o d y l o n g c h e c k m a n d e n s n u m d e y e s i g h t h e a d h e a d t h s t a t u s l e y e s i g h t l u n g m o n t h w e i g h tB a b y C h e c k c h e c k d a t e a g e a b l a c t a t i o n b a b y i n f o r m a t i o n b e l l y e a t f a s h i o n e n e r g y s t a t u s f o o d i dE n q u i r e i d n a m e a g e p h o n e w o r k u n i tF a t h e r i d n a m e a g e p h o n e w o r k u n i tM o t h e r i d b a b y i n f o r m a t i o n c h e c k d a t e c h e c k d a o c t o r c h e c k i t e m c h e c k r e s u l t r e s u l t i d e aE s p e c i a l C h e c k0 . . *111 . . *0 . . *11 . . *110 . . *圖 實(shí)體類的類 圖 4 詳細(xì)設(shè)計(jì) 總體設(shè)計(jì)完成后,還需要確定各個(gè)模塊的具體實(shí)現(xiàn)方法,以便最終建立一個(gè)完善的系統(tǒng)。要建立系統(tǒng)的各個(gè)功能模塊,就要進(jìn)行程序設(shè)計(jì)。而詳細(xì)設(shè)計(jì)階段的目標(biāo)是確定怎樣具體的 實(shí)現(xiàn)所需求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯或用總程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)程序。 模塊邏輯設(shè)計(jì) Hibernate 處理 邏輯設(shè)計(jì) 1.使用 Hibernate 進(jìn)行數(shù)據(jù)庫(kù)操作的過(guò)程。 本系統(tǒng)是使用 Hibernate 技術(shù)進(jìn)行數(shù)據(jù)操作的,使用 Hibernate 進(jìn)行持久化操作的主要步驟如下: ( 1)創(chuàng)建 Configuration 對(duì)象 在這一步中主要為了進(jìn)行配置文件的封裝操作,讀取所有配置文件并進(jìn)行解析。 ( 2)創(chuàng)建 SessionFactory 對(duì)象 通過(guò)創(chuàng)建好的 Configuration 對(duì)象可以創(chuàng)建一個(gè) SessionFactory 對(duì)象的實(shí)例,它是產(chǎn)生 Session 對(duì)象實(shí)例的工廠,它在整個(gè)應(yīng)用中應(yīng)該是唯一的。 ( 3)創(chuàng)建 Session 對(duì)象 Session 對(duì)象類似于數(shù)據(jù)庫(kù)的連接對(duì)象,可以理解為與數(shù)據(jù)庫(kù)建立的一個(gè)連接 。 ( 4)開(kāi)始一個(gè)事務(wù) 在 JAVA 中定義一個(gè)事務(wù)操作的開(kāi)始,這是使用 Hibernate 進(jìn)行持久化操作必不可少的步驟。 ( 5)進(jìn)行持久化操作 在這個(gè)步驟中可以讀取或者保存 JAVA 對(duì)象。 ( 6)結(jié)束事務(wù) 在操作完這個(gè)步驟后還要進(jìn)行顯式地結(jié)束事務(wù)的操作。 ( 7)關(guān)閉 Session 類似釋放數(shù)據(jù)庫(kù)的連接 。 2. Hibernate 工具類 中 的 方法流程 這個(gè) Hibernate 的工具類主要用于方便地提供 Hibernate 的初始化以及 Hibernate 的Session 和事務(wù)處理。 ( 1)初始化工作 在 Hibernate 工具類的開(kāi)始需要定義一系列的靜態(tài)變量,它們用于描述這個(gè)系統(tǒng)的全局信息,初始化工作的流程 如圖 。 圖 Hibernate 工具類初始化的邏輯 PAD 圖 ( 2) getSessionFactory()的邏輯流程 圖 getSessionFactory()的邏輯 PAD 圖 開(kāi)始 configuration = new Configuration(); (); 結(jié)束 sessionFactory = ()。 開(kāi)始 return sf; sf = sessionFactory。 SessionFactory sf = null。 結(jié)束 前臺(tái)用戶邏輯設(shè)計(jì) 1. 用戶登錄業(yè)務(wù)邏輯 算法 用戶登錄的時(shí)序邏輯見(jiàn)圖 , 作為前臺(tái)界面的表單,后臺(tái)響應(yīng)用; 中封裝了驗(yàn)證用戶名和密碼的方法 execute(), 該方法調(diào)用 中的方法 getBabyInformation(String name)。其業(yè)務(wù)邏輯流程圖如圖 所示。 圖 用戶登錄業(yè)務(wù)邏輯 PAD 圖 其中判斷用戶名和密碼 execute()方法的邏輯分析如圖 所示。 圖 中的 execute()方法 的邏輯 PAD 2. 用戶維護(hù)信息業(yè)務(wù)邏輯流程 用戶維護(hù)信息的時(shí)序邏輯見(jiàn)圖 , 作為前臺(tái)界面的表單,后臺(tái)響應(yīng)用; 中封裝了業(yè)務(wù)邏輯處理方法 execute(),該方法調(diào)用 中的方法 updateBabyInformation(String name)。其業(yè)務(wù)邏輯流程圖如圖 所示。 開(kāi)始 創(chuàng)建 LogActionForm 表單對(duì)象 從表單取得參數(shù): LogActionForm logActionForm= (LogActionForm) form。 判斷用戶名和密碼 execute() 結(jié)束 判斷用戶名和 密碼 execute() def BabyInformation baby = new BabyInformation()。 baby = (())。 password=()。password2=()。 password=password2? 等于,轉(zhuǎn)到 不等于,轉(zhuǎn)到 圖 業(yè)務(wù)邏輯 的邏輯 PAD 3. 用戶查詢信息業(yè)務(wù)邏輯流程 用戶查詢信息的時(shí)序邏輯見(jiàn)圖 , 作為前臺(tái)界面的表單,后臺(tái)響應(yīng)用; 中封裝了業(yè)務(wù)邏輯處理方法 execute(),該方法調(diào)用 中的方法 getBabyInformation(String name)。其業(yè)務(wù)邏輯流程圖如圖 所示。 圖 PAD 后臺(tái)管理員 邏輯設(shè)計(jì) 1. 管理 員添加用戶業(yè)務(wù)邏輯流程 管理員添加用戶的時(shí)序邏輯見(jiàn)圖 , 作為前臺(tái)界面的表單,后臺(tái)響應(yīng)用 ; 中封裝了業(yè)務(wù)邏輯處理方法開(kāi)始 創(chuàng)建 UserSelectActionForm 表單對(duì)象 從表單中獲取參數(shù): userSelectForm = (UserSelectActionForm) form。 根據(jù)表單內(nèi)容取得 BabyInformation 對(duì)象實(shí)例; baby = (usersno)。 結(jié)束 開(kāi)始 創(chuàng)建 AddInformationActionForm 表單對(duì)象 從表單中獲取參數(shù): addform = (AddIformationActionForm) form。 設(shè)置 BabyInformation 對(duì)象的屬性 保存 BabyInformation 對(duì)象: (baby)。 結(jié)束 execute(),該方法調(diào)用 中的方法 saveBabyInformation(String name)。其業(yè)務(wù)邏輯流程圖如圖 所示。 圖 輯的邏輯 PAD 2. 管理員維護(hù)檢查記錄業(yè)務(wù)邏輯流程 管理員維護(hù)檢查記錄的時(shí)序邏輯見(jiàn)圖 , 作為前臺(tái)界面的表單,后臺(tái)響應(yīng)用 ; 中封裝了業(yè)務(wù)邏輯處理方法 execute(),該 方 法 調(diào) 用 中 的 方 法 saveBabyCheck(BabyCheck check) 、updateBabyCheck(int id)、 deleteBabyCheck(int id)。其業(yè)務(wù)邏輯流程圖如圖 所示。 圖 PAD 4. 管理員查詢用戶信息業(yè)務(wù)邏輯流程 管理員查詢用戶信息的時(shí)序邏輯見(jiàn)圖 , 作為前臺(tái)界面的表單,后臺(tái)響應(yīng)用 ; 中封裝了業(yè)務(wù)邏輯處理方法 execute(),該方法調(diào)用 中的方法 getBabyChecks()、 getEquires()、 getEspechecks()和開(kāi)始 創(chuàng)建管理類型表單 從表單中獲取管理類型 根據(jù)管理類型執(zhí)行檢查記錄維護(hù)(添加、刪除、修改) 結(jié)束 開(kāi)始 創(chuàng)建 AddInformationActionForm 表單對(duì)象 從表單中獲取參數(shù): addform = (AddIformationActionForm) form。 根據(jù)表單內(nèi)容設(shè)置 BabyInformation 對(duì)象屬性; (baby)。 結(jié)束 中的方法 getBabyInforamtion(String name)。其業(yè)務(wù)邏輯流程圖如圖 所示。 圖 管理員 查詢用戶信息 業(yè)務(wù)邏輯的邏輯 PAD 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)分析 數(shù)據(jù)庫(kù)設(shè)計(jì)是項(xiàng)目開(kāi)發(fā)中非常重要的一個(gè)關(guān)鍵環(huán)節(jié),在這里強(qiáng)調(diào)數(shù)據(jù)庫(kù)的重要性,是因?yàn)閿?shù)據(jù)庫(kù)的設(shè)計(jì)就像建設(shè)高樓大廈的根基一樣,如果設(shè)計(jì)不好,在后來(lái)的系統(tǒng)變更和功能擴(kuò)充時(shí),將會(huì)遇到非常大的困難。 經(jīng)過(guò)分析得到系統(tǒng)的 ER 模型 如圖 。 圖 系統(tǒng) ER 模型圖 開(kāi)始 創(chuàng)建查詢類型表單 從表單中獲取管理類型: selectActionForm = (SelectActionForm) form。 根據(jù)表單內(nèi)容執(zhí)行查詢操作 結(jié)束 兒童基本信息 父親 母親 檢查記錄 詢問(wèn)記錄 特殊檢查記錄 父子 擁有 擁有 擁有 母子 1..n 1 1 0..n 1 0..n 1 0..n 1 1..n 經(jīng)過(guò)了分析與設(shè)計(jì)后, 本 系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)如表 所示。 表 數(shù)據(jù)存儲(chǔ) : babyinformation 數(shù)據(jù)存儲(chǔ) : babycheck 名稱: 兒童基本信息表 名稱: 檢查記錄表 描述:用來(lái)存儲(chǔ) 注冊(cè)兒童的基本信息 描述:用來(lái)存儲(chǔ) 兒童的檢查記錄 組成: id name。 usersno。 password。 birthday。 birthhospital。 father_id。 mother_id。 monaddress。 familyaddress。 checkunit。 birthhistory。 num。 sindou。 sex。 birthtime。 ifasph。 birthstatus。 birthweight。 monthweight。 組成: id checkdate monthage weightcore bodylong bodylongcore head headcore densnum oldens leyesight reyesight deyesight lear rear skin lung pregnant heathystatus checkman 數(shù)據(jù)存儲(chǔ) : enquire 數(shù)據(jù)存儲(chǔ) : especialcheck 名稱: 詢問(wèn)記錄表 名稱: 特殊檢查記錄表 描述:用來(lái)存儲(chǔ) 詢問(wèn)記錄 描述:用來(lái)存儲(chǔ) 特殊檢查記錄 組成: id baby_id checkdate age eatfashion ablactation food belly energystatus 組成: id baby_id checkdate checkitem checkresult resultidea checkdoctor 數(shù)據(jù)存儲(chǔ) :father 數(shù)據(jù)存儲(chǔ) : mother 名稱:父親信息表 名稱:母親信息表 描述:用來(lái)存兒童父親的信息 描述:用來(lái)存兒童母親的信息 組成: id name age workunit