




已閱讀5頁,還剩59頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
JAVAEE 期末綜合設(shè)計 題 目 管理個人信息系統(tǒng)的設(shè)計與實(shí)現(xiàn) 學(xué) 院 信息工程與自動化學(xué)院 專 業(yè) 計算機(jī)應(yīng)用技術(shù) II 目 錄 摘要 1 第一章 緒 論 2 1 1 選題背景 目的及意義 2 1 2 開發(fā)工具介紹 2 1 3 論文的組織結(jié)構(gòu) 2 1 4 作者的工作 3 第二章 可行性分析與軟件項(xiàng)目計劃 4 2 1 經(jīng)濟(jì)可行性 4 2 2 技術(shù)可行性 4 2 3 操作可行性 4 2 4 軟件項(xiàng)目計劃 4 2 4 1 項(xiàng)目概述 4 2 4 2 項(xiàng)目組織 4 2 4 3 風(fēng)險管理 5 2 4 4 進(jìn)度安排 5 第三章 需求分析 7 3 1 用戶需求 7 3 1 1 環(huán)境需求 7 3 1 2 功能需求 7 3 1 3 性能需求 8 3 1 4 系統(tǒng)的界面需求 8 3 1 5 安全性與可靠性 8 3 1 6 系統(tǒng)管理 8 3 2 系統(tǒng)用例圖 9 3 3 數(shù)據(jù)流圖 9 第四章 系統(tǒng)設(shè)計 11 4 1 系統(tǒng)設(shè)計任務(wù) 11 4 2 系統(tǒng)組織結(jié)構(gòu)與功能模塊 11 4 2 1 系統(tǒng)功能結(jié)構(gòu) 12 4 3 數(shù)據(jù)庫設(shè)計 12 4 3 1 數(shù)據(jù)庫簡介 12 4 3 2 概念結(jié)構(gòu)設(shè)計 13 4 3 3 邏輯結(jié)構(gòu)設(shè)計 13 第五章 系統(tǒng)實(shí)現(xiàn) 15 5 1 登錄界面實(shí)現(xiàn) 15 III 5 2 系統(tǒng)主界面實(shí)現(xiàn) 16 5 3 任務(wù)管理模塊實(shí)現(xiàn) 16 5 4 筆記管理模塊實(shí)現(xiàn) 17 5 5 相冊管理模塊實(shí)現(xiàn) 18 5 6 訂閱管理模塊實(shí)現(xiàn) 19 5 7 文檔管理模塊實(shí)現(xiàn) 19 5 8 賬目管理模塊實(shí)現(xiàn) 20 5 9 系統(tǒng)管理模塊實(shí)現(xiàn) 21 第六章 系統(tǒng)測試 22 6 1 測試目的 22 6 2 測試內(nèi)容 22 6 3 測試結(jié)果 24 6 4 測試分析 24 附工程代碼 26 1 管理個人信息系統(tǒng)的設(shè)計與實(shí)現(xiàn) 摘要摘要 隨著經(jīng)濟(jì)技術(shù)的不斷發(fā)展 以及社會生活節(jié)奏的不斷加快 人們每 天需要處理的事務(wù)變的越來越繁重 人們也因此經(jīng)常忘記一些重要的事情 本 文介紹的是一個個人信息系統(tǒng)管理系統(tǒng)的設(shè)計與實(shí)現(xiàn) 該系統(tǒng)基于 Struts Spring extjs ibatis 架構(gòu) 以 JAVA 為開發(fā)語言 MySQL 5 1 作為 數(shù)據(jù)庫并結(jié)合 tomcat 等技術(shù)完成網(wǎng)站開發(fā) 在開發(fā)過程中 嚴(yán)格按照軟件開發(fā) 流程按部就班地完成各階段的任務(wù)并書寫相關(guān)文檔從而使系統(tǒng)開發(fā)能夠按時完 成 本系統(tǒng)基本滿足了工作人士提出的需求 可以實(shí)現(xiàn)對工作和生活的一些日 常管理 關(guān)鍵詞關(guān)鍵詞 JAVA 語言 個人信息系統(tǒng) Struts 2 第一章 緒 論 1 1 選題背景 目的及意義 隨著社會經(jīng)濟(jì)的不斷發(fā)展 人們生活節(jié)奏有了明顯提高 人們對于工作日 程的安排以及重要事情的分類記錄 有了新的要求 所以 一個給人們提供全 面工作和日常生活的管理平臺顯得尤為重要 1 2 開發(fā)工具介紹 本系統(tǒng)以 MyEclipse 6 5 作為開發(fā)工具 MyEclipse 6 5 是一款開發(fā) JAVA 的 IDE 功能齊全 用于開發(fā) 部署 調(diào) 試 測試 JAVA 應(yīng)用程序集成一個 Web 服務(wù)器 MySQL 是一個小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng) 5 開發(fā)者為瑞典 MySQL AB 公司 由于其體積小 速度快 總體擁有成本低 尤其是開放源碼這一特點(diǎn) 許多中 小型系統(tǒng)為了降低系統(tǒng)總體擁有成本而選擇了 MySQL 作為系統(tǒng)數(shù)據(jù)庫 MySQL 具有如下的特性 使用 C 和 C 編寫 保證源代碼的可移植性 支持多種操作 系統(tǒng) 為多種編程語言提供了 API 支持多線程 充分利用 CPU 資源 優(yōu)化的 SQL 查詢算法 有效地提高查詢速度 提供 TCP IP ODBC 和 JDBC 等多種數(shù)據(jù) 庫連接途徑 提供用于管理 檢查 優(yōu)化數(shù)據(jù)庫操作的管理工具 可以處理擁 有上千萬條記錄的大型數(shù)據(jù)庫 1 3 論文的組織結(jié)構(gòu) 在介紹了個人信息管理系統(tǒng)的開發(fā)背景 目的 意義之后 本文將在后面 的章節(jié)里闡述建立個人信息系統(tǒng)的具體過程 具體組織結(jié)構(gòu)介紹如下 全文共分六章 第 1 章是緒論 主要系統(tǒng)開發(fā)的背景 目的和意義 開發(fā)工具的簡單介紹 以及描述了所要開發(fā)系統(tǒng)的組織結(jié)構(gòu)和作者的主要工作 第 2 章是可行性分析與軟件項(xiàng)目計劃 具體的對經(jīng)濟(jì)可行性 技術(shù) 操作 可行性進(jìn)行了分析 確保系統(tǒng)的技術(shù)與經(jīng)濟(jì) 操作的可行 軟件項(xiàng)目計劃的目 3 標(biāo)是提供一個框架 使管理者有能力對資源 成本風(fēng)險及進(jìn)度進(jìn)行合理的估算 分析和調(diào)度 為軟件工程過程提供管理依據(jù) 主要包括 風(fēng)險管理 進(jìn)度安 排 項(xiàng)目組織等 第 3 章是需求分析 主要對用戶需求 環(huán)境需求 功能需求 性能需求 頁面需求 數(shù)據(jù)流圖等多方面進(jìn)行了分析以便展開后續(xù)工作 第 4 章系統(tǒng)設(shè)計 對系統(tǒng)結(jié)構(gòu)和功能模塊做了具體的分析 并進(jìn)行了數(shù)據(jù) 建模 第 5 章系統(tǒng)實(shí)現(xiàn) 個人信息管理系統(tǒng)的最后實(shí)現(xiàn)效果 并對每個模塊做了 簡單的講解 第 6 章系統(tǒng)測試 主要是對系統(tǒng)的一些功能進(jìn)行測試 1 4 作者的工作 在論文的前期工作中 我閱讀了大量文獻(xiàn)資料 主要包括信息系統(tǒng)設(shè)計 java 語言開發(fā)等 同時對其它個人信息進(jìn)行了系統(tǒng)的了解與體驗(yàn) 在參照各個 相同項(xiàng)目的基礎(chǔ)上 結(jié)合自己的設(shè)計思路 邊實(shí)踐邊進(jìn)行論文設(shè)計 在開發(fā)過 程中逐步完善自己的設(shè)計思路 最終完成系統(tǒng) 因此作為項(xiàng)目的開發(fā)者 主要 完成了下列工作 1 完成了系統(tǒng)的需求分析 2 完成了系統(tǒng)總體方案的設(shè)計 3 完成了概要設(shè)計 4 完成了系統(tǒng)的詳細(xì)設(shè)計如 商品信息 用戶信息 訂單信息的管理 5 完成了系統(tǒng)測試計劃的制定 設(shè)計和開發(fā)的基于 java mysql 的個人信息管理系統(tǒng) 功能較為合理和完善 讓 用戶能方便的管理自己的工作和生活 4 第二章 可行性分析與軟件項(xiàng)目計劃 2 1 經(jīng)濟(jì)可行性 系統(tǒng)界面友好 用戶很快就能上手使用 管理維護(hù)簡單 只需少量的資金 進(jìn)行相關(guān)上線部署和硬件設(shè)備的采購 綜上所述 對投入和收益進(jìn)行對比 經(jīng) 濟(jì)上具有可行性 2 2 技術(shù)可行性 本系統(tǒng)采用 JAVA 為開發(fā)語言 MySQL 作為數(shù)據(jù)庫系統(tǒng) 在技術(shù)層面 自己 可以應(yīng)付這個系統(tǒng) 首先 我對 JAVA 有比較深入的了解 曾運(yùn)用 JAVA 開發(fā)過 BBS 論壇 網(wǎng)上在線圖書管理系統(tǒng) 積累了不少系統(tǒng)開發(fā)的經(jīng)驗(yàn) 其次 JAVA 是一種成熟的開發(fā)語言 一些技術(shù)相對比較成熟 再次 MySQL 是輕量級的開 源數(shù)據(jù)庫 技術(shù)上的難題可以很好的利用網(wǎng)絡(luò)資源獲得解答 2 3 操作可行性 本系統(tǒng)界面友好 操作簡單 對用戶沒的要求 只需有一點(diǎn)計算機(jī)基礎(chǔ) 然后經(jīng)過簡單的培訓(xùn)后就可以熟練的使用 因此 本系統(tǒng)具有操作上的可行性 2 4 軟件項(xiàng)目計劃 2 4 1 項(xiàng)目概述 項(xiàng)目的目標(biāo)是開發(fā)一個基于 struts spring extjs ibatis 架構(gòu)的個人 信息管理系統(tǒng) 同時使項(xiàng)目開發(fā)者獲得系統(tǒng)的軟件工程項(xiàng)目訓(xùn)練 提高開發(fā)軟 件項(xiàng)目的能力 主要工作是需求分析 系統(tǒng)設(shè)計 開發(fā)測試 進(jìn)度大約是 11 周 2 4 2 項(xiàng)目組織 軟件開發(fā)計劃如下 5 第 3 4 周 項(xiàng)目規(guī)劃 里程碑 項(xiàng)目開始 第 4 周 周末 第 5 6 周 需求分析 里程碑 需求階段 第 6 周 周末 第 7 13 周 設(shè)計開發(fā) 里程碑 開發(fā)階段 第 12 周周末 第 3 4 周 軟件交付 里程碑 項(xiàng)目結(jié)束 第 4 周 周末 第 14 15 周 整合測試 里程碑 穩(wěn)定階段 第 14 周周末 圖 2 1 2 4 3 風(fēng)險管理 風(fēng)險標(biāo)題發(fā)生可能 性 影響減輕策略負(fù)責(zé)人 1 開發(fā)技術(shù)不 熟練 80 災(zāi)難的提前制定好學(xué)習(xí)計 劃 降低設(shè)計難度 王智平 2 需求變化 50 嚴(yán)重的需求制定充分 多 與同學(xué)討論 王智平 3 缺少美工人 才 80 嚴(yán)重的尋求外援幫助王智平 表 2 1 風(fēng)險詳細(xì)描述如下 風(fēng)險 1 開發(fā)技術(shù)不熟練 沒有太多項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn) 對 java 開發(fā)也不是很熟練 可能導(dǎo)致開發(fā)進(jìn)度受 阻 風(fēng)險 2 需求變化 在設(shè)計開發(fā)過程中可能發(fā)現(xiàn)原來需求不容易轉(zhuǎn)換為設(shè)計稿 或者一些功能 沒考慮到等等 都會帶來需求更新的變更 2 4 4 進(jìn)度安排 如下 6 7 第三章 需求分析 3 1 用戶需求 3 1 1 環(huán)境需求 1 服務(wù)器端 操作系統(tǒng) window xp 服務(wù)器 tomcat 6 0 29 數(shù)據(jù)庫 mysql5 1 MYSQL 圖形化管理軟件 PhpMyadmin3 1 2 客戶端 瀏覽器 IE6 0 以上版本或者 firefox3 0 以上 分辨率 最佳 1440 900 3 1 2 功能需求 通過對一些個人信息管理系統(tǒng)的考察 分析 并結(jié)合實(shí)際情況 可以規(guī)劃 整個系統(tǒng)的整體功能模塊如下 主要包括 任務(wù)管理 筆記管理 相冊管理 訂閱管理 文檔管理 賬目 管理 系統(tǒng)管理等 使用戶能及時了解到這些描述性信息 時間 分類等 參數(shù) 1 任務(wù)管理功能模塊 可以添加 刪除 保存任務(wù) 并對任務(wù)完成情況進(jìn)行 分類 對任務(wù)可以按日期 狀態(tài) 類別進(jìn)行分組 2 筆記管理功能模塊 可以對當(dāng)前所有筆記進(jìn)行添加 修改 刪除 打印等 操作 其中用戶還可以對自己筆記進(jìn)行分類 3 相冊管理功能模塊 可以將本地 網(wǎng)絡(luò)圖片進(jìn)行保存 用戶還可以對相冊 中的圖片進(jìn)行刪除 移動 查看等操作 4 訂閱管理功能模塊 主要通過收藏夾管理 保存到我的訂閱文件夾下 5 文檔管理功能模塊 將用用戶所有文檔保存到我的文檔目錄下 6 賬目管理功能模塊 可以對當(dāng)前用戶的所有賬目進(jìn)行查詢 添加 修改 8 刪除 并可以進(jìn)行收支統(tǒng)計 收入統(tǒng)計 支出統(tǒng)計等操作 7 系統(tǒng)管理功能模塊 可以實(shí)現(xiàn)對用戶的基本信息進(jìn)行查詢 添加 刪除用 戶 啟用或者信用用戶賬號 對系統(tǒng)一些基本信息進(jìn)行設(shè)置 3 1 3 性能需求 系統(tǒng)應(yīng)具有良好的靈活性和擴(kuò)展性 可以用來創(chuàng)建交互式 Web 頁并建立強(qiáng) 大的 Web 應(yīng)用程序 3 1 4 系統(tǒng)的界面需求 界面是人與機(jī)器之間的信息界面 目標(biāo)是促進(jìn)設(shè)計 執(zhí)行和優(yōu)化信息與通 信系統(tǒng)以滿足用戶的需要 根據(jù)分析 用戶界面應(yīng)該滿足以下基本原則 1 提供信息反饋 如果系統(tǒng)沒有反饋 用戶就無法判斷他的操作是否為計算機(jī) 所接受 是否正確 以及操作的效果如何 反饋的信息應(yīng)該及時 多元化 2 合理利用空間 保持界面的簡介 在界面空間使用上 應(yīng)該形成簡潔明了的 布局 3 1 5 安全性與可靠性 系統(tǒng)的安全性與可靠性是保證其能正常運(yùn)行的基本 因此要建立完善的安 全檢測功能 確保系統(tǒng)數(shù)據(jù)處理的準(zhǔn)確 更要建立嚴(yán)格的鑒別權(quán)限與訪問控制 功能 對管理員 普通用戶進(jìn)行權(quán)限限制 保證未授權(quán)人員不能訪問應(yīng)用某種 功能 獲取數(shù)據(jù) 數(shù)據(jù)庫中的數(shù)據(jù)更要定期備份 防止數(shù)據(jù)的不慎丟失或遭人 破壞 3 1 6 系統(tǒng)管理 系統(tǒng)管理主要分為用戶查詢和系統(tǒng)設(shè)置 用戶查詢包括查詢用戶的賬號 用戶名 角色 性別 生日 郵箱 電話 狀態(tài)等 可以設(shè)置用戶賬號啟用和信用的狀態(tài) 并可以刪除賬號 其具體功能 需求如下所示 1 能夠通過查詢用戶賬號信息 2 能夠設(shè)置用戶類別 即用戶權(quán)限 修改用戶密碼 9 3 能夠創(chuàng)建用戶和刪除用戶 系統(tǒng)設(shè)置主要是完成對郵箱服務(wù)器 郵箱賬號 郵箱密碼 成員資格 相冊圖 片高寬大小等的配置 3 2 系統(tǒng)用例圖 用例圖 User Case 是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的 模型圖 呈現(xiàn)了一些參與者和一些用例 以及它們之間的關(guān)系 主要用于對系 統(tǒng) 子系統(tǒng)或類的行為進(jìn)行可視化 使用戶能夠理解如何使用這些元素 并使 開發(fā)者能夠?qū)崿F(xiàn)這些元素 10 將每個系統(tǒng)中的用戶分出工作狀態(tài)的屬性和工作 內(nèi)容 方便建模 防止功能重復(fù)和多余的類 用例圖定義了系統(tǒng)的功能需求 它是從系統(tǒng)的外部看系統(tǒng)功能 并不描述 系統(tǒng)內(nèi)部對功能的具體實(shí)現(xiàn) 用例圖是軟件系統(tǒng)需求分析分析階段用來描述用 戶對系統(tǒng)功能的需求 通過對需求建??梢詫ν獠康慕巧八鼈兯枰南到y(tǒng) 功能建模 經(jīng)過分析本系統(tǒng)的用例圖如圖 3 1 所示 圖 3 1 系統(tǒng)用例圖 10 3 3 數(shù)據(jù)流圖 數(shù)據(jù)流圖 DFD 是一種圖形化技術(shù) 它描繪信息流和數(shù)據(jù)從輸入移動到輸出 的過程中所經(jīng)受的變換 是建立數(shù)據(jù)庫系統(tǒng)和設(shè)計功能模塊處理過程的基礎(chǔ) 通過對本系統(tǒng)的用例圖的分析 得出系統(tǒng)的數(shù)據(jù)流圖如圖 3 2 和圖 3 3 所示 個個人人信信息息管管理理系系統(tǒng)統(tǒng) 數(shù)數(shù)據(jù)據(jù)庫庫 用用戶戶用用戶戶 系統(tǒng)輸出信息 系統(tǒng)數(shù)據(jù)系統(tǒng)數(shù)據(jù) 圖 3 2 0 層數(shù)據(jù)流圖 圖 3 3 1 層數(shù)據(jù)流圖 11 第四章 系統(tǒng)設(shè)計 4 1 系統(tǒng)設(shè)計任務(wù) 系統(tǒng)設(shè)計階段的主要任務(wù) 首先 根據(jù)需求分析確定系統(tǒng)需要向用戶提供 哪些功能 其次 根據(jù)系統(tǒng)的功能提煉出系統(tǒng)應(yīng)該對哪些信息進(jìn)行管理 再次 將相應(yīng)信息歸納得到系統(tǒng)所涉及的數(shù)據(jù)表 最后 對數(shù)據(jù)庫進(jìn)行設(shè)計 4 2 系統(tǒng)組織結(jié)構(gòu)與功能模塊 考慮到個人信息管理系統(tǒng)的應(yīng)用特點(diǎn) 系統(tǒng)效率等因素 本系統(tǒng)主要采用 B S 體系結(jié)構(gòu)模型 把系統(tǒng)分成三層結(jié)構(gòu) 用戶層 WEB 服務(wù)層 數(shù)據(jù)層 如 下圖所示 圖 4 1 系統(tǒng)組織結(jié)構(gòu) 用戶層 用戶使用瀏覽器訪問站點(diǎn) WEB 服務(wù)層 是空間提供商提供的 WEB 應(yīng)用服務(wù)器 所有的業(yè)務(wù)邏輯和功能 模塊都部署在這個層 響應(yīng)用戶請求 調(diào)用業(yè)務(wù)邏輯 訪問數(shù)據(jù)庫 數(shù)據(jù)層 也是空間提供商提供的數(shù)據(jù)庫服務(wù)器 所有數(shù)據(jù)都保存在數(shù)據(jù)庫 服務(wù)器上 12 4 2 1 系統(tǒng)功能結(jié)構(gòu) 根據(jù)前面的需求分析得出 如下圖為本系統(tǒng)的功能模塊結(jié)構(gòu)圖 個人信息管理系統(tǒng) 訂閱管理 相冊管理 任務(wù)管理 筆記管理 主頁 系統(tǒng)管理 文檔管理 賬目管理 圖 4 2 系統(tǒng)功能模塊結(jié)構(gòu)圖 4 3 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫設(shè)計是系統(tǒng)設(shè)計的關(guān)鍵所在 一個好的系統(tǒng)一定有一個優(yōu)秀的數(shù)據(jù) 庫設(shè)計 數(shù)據(jù)庫的結(jié)構(gòu)將直接影響到整個系統(tǒng)的性能 以下將對本系統(tǒng)的數(shù)據(jù) 庫設(shè)計做出詳細(xì)的介紹 11 4 3 1 數(shù)據(jù)庫簡介 數(shù)據(jù)庫用來存儲信息系統(tǒng)的數(shù)據(jù) 實(shí)現(xiàn)數(shù)據(jù)的持久化存儲 12 數(shù)據(jù)庫是信 息系統(tǒng)的重要組成部分 1 數(shù)據(jù)庫的概念 數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具 數(shù)據(jù)庫的作用在于組織 和表達(dá)信息 簡而言之 數(shù)據(jù)庫就是信息的集合 計算機(jī)的數(shù)據(jù)庫可以分為兩 類 非關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫 關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息 2 新建一個數(shù)據(jù)庫項(xiàng)目 創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫 設(shè)計必須是靈活的 有邏輯的 創(chuàng)建一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計 13 3 修改已建的數(shù)據(jù)庫 數(shù)據(jù)庫的修改分為 添加 編輯和刪除記錄 這三種操作均可由應(yīng)用程序 內(nèi)部代碼來完成 下面的章節(jié)將詳細(xì)描述實(shí)現(xiàn)的具體方法 4 實(shí)現(xiàn)數(shù)據(jù)表之間的聯(lián)系 數(shù)據(jù)表之間的關(guān)系指明兩個數(shù)據(jù)表之間共享一個共同的關(guān)鍵字值 自連接 是指一個表被連接到它自己的一個字段 數(shù)據(jù)庫中有三種不同類型的關(guān)鍵字 主關(guān)鍵字 組合關(guān)鍵字和外關(guān)鍵字 在表中使用的關(guān)鍵字類型用于描述數(shù)據(jù)表 表示什么以及在數(shù)據(jù)庫中如何與其它的數(shù)據(jù)表建立關(guān)系 4 3 2 概念結(jié)構(gòu)設(shè)計 概念模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ) 由于各個機(jī)器上實(shí)現(xiàn)的 DBMS 軟件都 是基于某種數(shù)據(jù)模型的 但是在具體機(jī)器上實(shí)現(xiàn)的模型都有許多嚴(yán)格的限制 而現(xiàn)實(shí)應(yīng)用環(huán)境是復(fù)雜多變的 如果把實(shí)現(xiàn)世界中的事物直接轉(zhuǎn)換為機(jī)器中的 對象 就非常不方便 因此 人們研究把現(xiàn)實(shí)世界中的事物抽象為不依賴與具 體機(jī)器的信息結(jié)構(gòu) 又接近人們的思維 并具有豐富語義的概念模型 然后再 把概念模型轉(zhuǎn)換為具體的機(jī)器上 DBMS 支持的數(shù)據(jù)模型 概念模型的描述工具通 常是使用 E R 模型圖 4 3 3 邏輯結(jié)構(gòu)設(shè)計 在概念設(shè)計階段 我們已經(jīng)設(shè)計好了系統(tǒng)的 E R 圖 邏輯結(jié)構(gòu)設(shè)計的任務(wù) 就是把我們設(shè)計好的 E R 圖轉(zhuǎn)換為與 MySQL 相對應(yīng)的關(guān)系數(shù)據(jù)模型邏輯結(jié)構(gòu) 由 E R 圖轉(zhuǎn)化為關(guān)系數(shù)據(jù)模型是按照實(shí)體的屬性就是關(guān)系的屬性 實(shí)體的碼就 是關(guān)系的碼的轉(zhuǎn)化原則進(jìn)行的 所以 E R 圖中的屬性描述可直接轉(zhuǎn)換為相應(yīng) 的關(guān)系模式 如圖 4 8 所示為數(shù)據(jù)庫 E R 概念模型 14 圖 4 3 數(shù)據(jù)庫 E R 邏輯模型 15 第五章 系統(tǒng)實(shí)現(xiàn) 通過對系統(tǒng)的需求分析與設(shè)計 我們確定了本系統(tǒng)的功能與邏輯結(jié)構(gòu) 系 統(tǒng)實(shí)現(xiàn)就是把我們前面的設(shè)計翻譯成機(jī)器能夠運(yùn)行的程序代碼 5 1 登錄界面實(shí)現(xiàn) 當(dāng)管理員或者普通用戶輸入信息單擊登錄按鈕后 系統(tǒng)將檢查用戶的輸入 是否合法 以避免用戶的非法輸入帶來的安全隱患 通過驗(yàn)證后系統(tǒng)請求服務(wù) 器查詢數(shù)據(jù)庫中的用戶信息 若數(shù)據(jù)庫中存在匹配的用戶信息則表示驗(yàn)證通過 進(jìn)入主界面 否則提示用戶輸入信息不正確 等待用戶的進(jìn)一步操作 初始化登錄 jsp 頁面的部分代碼如下 public void jspInit el expressionfactory jspxFactory getJspApplicationContext getServle tConfig getServletContext getExpressionFactory jsp annotationprocessor org apache AnnotationProcessor getServletCo nfig getServletContext getAttribute org apache AnnotationProcesso r class getName 系統(tǒng)登錄界面如圖 5 1 所示 圖 5 1 系統(tǒng)登錄界面 16 5 2 系統(tǒng)主界面實(shí)現(xiàn) 本系統(tǒng)中 主界面用戶可以清楚看到當(dāng)前系統(tǒng)的一些基本信息 同時用戶 點(diǎn)擊右邊選項(xiàng)后系統(tǒng)將切換到相應(yīng)的界面 圖 5 2 系統(tǒng)主界面 5 3 任務(wù)管理模塊實(shí)現(xiàn) 任務(wù)是用戶進(jìn)行工作安排的重要途徑 任務(wù)管理功能也非常重要 任務(wù)可 以分為所有任務(wù) 未完成任務(wù) 已完成任務(wù) 未完成任務(wù)完成后將歸檔到已完 成任務(wù)項(xiàng) 用戶還可以根據(jù)任務(wù)的性質(zhì)來對任務(wù)進(jìn)行分類 在調(diào)度任務(wù)時 可 17 以按狀態(tài)分組 按時間分組 按日期分組來查詢 圖 5 3 任務(wù)管理模塊界面 5 4 筆記管理模塊實(shí)現(xiàn) 筆記管理模塊主要可用來操作添加 修改 刪除用戶的筆記 可以將筆記 進(jìn)行分類保存 筆記模塊界面如圖 5 4 所示 18 圖 5 4 筆記管理模塊界面 5 5 相冊管理模塊實(shí)現(xiàn) 相冊管理模塊分為本地上傳 網(wǎng)絡(luò)圖片上傳 可以相冊圖片進(jìn)行保存 刪 除 移動 查看等操作 相冊管理模塊的界面如圖 5 5 所示 圖 5 5 相冊管理模塊界面 19 5 6 訂閱管理模塊實(shí)現(xiàn) 訂閱管理模塊完成兩個大的功能 一是添加訂閱信息 管理員或用戶錄入 所要添加的鏈接 URL 二是刪除失效的訂閱信息 管理員或用戶根據(jù)提供的信 息可以在數(shù)據(jù)庫中刪除已經(jīng)失效的鏈接信息 訂閱管理模塊的界面如圖 5 6 所 示 圖 5 6 相冊管理模塊界面 5 7 文檔管理模塊實(shí)現(xiàn) 文檔管理模塊的主要功能是上傳文檔和下載文檔 可以對文檔位置進(jìn)行移 動 刪除文檔和重命名文檔操作 文檔管理界面如圖 5 7 所示 20 圖 5 7 文檔管理模塊界面 5 8 賬目管理模塊實(shí)現(xiàn) 賬目管理模塊的主要功能是完成查詢 添加 修改 刪除等操作 并對所 有賬目進(jìn)行收支統(tǒng)計 收入統(tǒng)計 支出統(tǒng)計結(jié)算 賬目管理界面如圖 5 8 所示 21 圖 5 8 賬目管理模塊界面 5 9 系統(tǒng)管理模塊實(shí)現(xiàn) 系統(tǒng)管理模塊的主要功能是用戶查詢和系統(tǒng)設(shè)置 用戶可以添加用戶 啟 用 停用 刪除用戶賬號 系統(tǒng)設(shè)置可以用來配置郵箱服務(wù)器 郵箱密碼 郵 箱賬號 成員資格 相冊縮略圖高度參數(shù) 圖 5 9 系統(tǒng)管理模塊界面 22 第六章 系統(tǒng)測試 測試是軟件開發(fā)流程中必不可少的一個環(huán)節(jié) 系統(tǒng)測試是保證系統(tǒng)質(zhì)量 和可靠性的關(guān)鍵步驟 是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析 系統(tǒng)設(shè)計和實(shí)施的 最后復(fù)查 系統(tǒng)測試是驗(yàn)證系統(tǒng)是否滿足了需求規(guī)格的定義 找出與需求規(guī) 格不相符合或與之矛盾的地方 6 1 測試目的 測試的目的就是希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷 系統(tǒng)測試中 應(yīng)根據(jù)開發(fā)各階段的需求 設(shè)計文檔或程序的內(nèi)部結(jié)構(gòu)精心設(shè) 計測試用例 并利用這些實(shí)例來運(yùn)行程序 以便發(fā)現(xiàn)錯誤 本系統(tǒng)就是通過 設(shè)計不同的測試用例 包括異常 不合理 意想不到的情況 來確定系統(tǒng)的 穩(wěn)定性以及潛在隱患 從而提高系統(tǒng)的質(zhì)量 6 2 測試內(nèi)容 1 登錄界面測試 包括合法輸入和非法輸入 合法輸入又包括用戶和密碼正確及用戶和密 碼不正確的情況 2 系統(tǒng)錄入功能測試 針對各個模塊的錄入功能進(jìn)行測試 包括合法輸入和非法輸入 及空輸 入 3 系統(tǒng)信息刪除功能測試 選中待刪除的信息 選擇刪除命令 4 系統(tǒng)修改信息功能測試 選中待修改的記錄 輸入新的值 包括輸入合法值和非法值 5 系統(tǒng)查詢功能測試 輸入查詢關(guān)鍵字 得到查詢結(jié)果 系統(tǒng)的測試用例如表 6 1 所示 23 表表 6 1 測試用例表測試用例表 測試過程 測試模塊 輸入輸入預(yù)期輸出預(yù)期輸出測試步驟測試步驟測試結(jié)果驗(yàn)證方式測試結(jié)果驗(yàn)證方式 測試結(jié)測試結(jié) 果驗(yàn)證果驗(yàn)證 正確的管理員 用戶名與密碼 進(jìn)入系統(tǒng)主界面輸入正確的用戶名 與密碼 進(jìn)入系統(tǒng)主窗體通過 錯誤的用戶名 與密碼 提示 只有管理 員才可以登錄 用戶名以及密碼 重置 輸入錯誤的用戶名 與密碼 提示 用戶名或者密碼 錯誤 用戶名以及密碼 重置 通過 登錄界 面 非法輸入提示請重新輸入 信息 用戶名和密碼中含 有非數(shù)字和字母字 符 提示 用戶名或者密碼 錯誤 通過 信息查 詢功能 查詢界面根據(jù) 條件輸入正確 的查詢關(guān)鍵字 根據(jù)對應(yīng)的信息 查詢出對應(yīng)的結(jié) 果 正確的輸入所要查 詢的信息 根據(jù)對應(yīng)的信息查詢出 對應(yīng)的結(jié)果 通過 在對應(yīng)的文本 框中輸入對應(yīng) 的正確信息 提示 添加成功 添加合法信息提示 添加成功 通過信息錄 入功能 在對應(yīng)文本框 中輸入對應(yīng)的 錯誤信息 根據(jù)不同的情況 給出提示 添加非法信息提示 輸入錯誤 通過 信息刪 除功能 待刪除記錄提示 刪除成功 選中待刪除的記錄 刪除記錄 刪除成功通過 信息修 改功能 待修改的記錄提示 修改成功 選中待修改的記錄 輸入新的值 修改 記錄 修改成功通過 24 6 3 測試結(jié)果 6 4 測試分析 經(jīng)過系統(tǒng)測試 系統(tǒng)在穩(wěn)定性和健壯性等方面表現(xiàn)得還是相當(dāng)不錯 通 過比較測試的實(shí)際結(jié)果和預(yù)期結(jié)果 發(fā)現(xiàn)系統(tǒng)還存在一些小缺陷 依據(jù)缺陷 的表現(xiàn)癥狀 找到導(dǎo)致缺陷產(chǎn)生的根源所在 對系統(tǒng)進(jìn)行進(jìn)一步的完善 使 系統(tǒng)運(yùn)行起來更加穩(wěn)定 從而達(dá)到了系統(tǒng)測試的目的 25 結(jié)束語 本系統(tǒng)采用 JAVA 作為程序開發(fā)語言 MySQL5 1 30 作為后數(shù)據(jù)庫 結(jié)合 apache phpmyadmin 等多種當(dāng)今流行的工具完成系統(tǒng)開發(fā) 本人首先進(jìn)行了 問題定義 明確系統(tǒng)是否值得開發(fā) 在做了詳盡的需求調(diào)查以后 確定了系 統(tǒng)的需求 緊接著完成了系統(tǒng)的設(shè)計 在代碼實(shí)現(xiàn)階段 依據(jù)設(shè)計階段的結(jié) 果 對系統(tǒng)的功能模塊一一實(shí)現(xiàn) 最后對系統(tǒng)進(jìn)行了測試 整個課程設(shè)計 使我將在課堂上學(xué)到的知識 運(yùn)用到了社會實(shí)際生產(chǎn)中 這段時間中 我看 著自己在一點(diǎn)一滴的進(jìn)步 每當(dāng)遇到問題時 我會積極查閱資料 和同學(xué)探 討并向老師尋求幫助 總之是會想法設(shè)法的去解決問題 我覺得這種精神在 我以后的學(xué)習(xí)工作中會起到更大的作用 26 附工程代碼 index jsp java package org apache jsp import javax servlet import javax servlet http import javax servlet jsp public final class index jsp extends org apache jasper runtime HttpJspBase implements org apache jasper runtime JspSourceDependent private static final JspFactory jspxFactory JspFactory getDefaultFactory private static java util List jspx dependants private javax el ExpressionFactory el expressionfactory private org apache AnnotationProcessor jsp annotationprocessor public Object getDependants return jspx dependants public void jspInit el expressionfactory jspxFactory getJspApplicationContext getServletConfig getServletContext getExpressionFac tory jsp annotationprocessor org apache AnnotationProcessor getServletConfig getServletContext getAttribute org apache AnnotationProcessor class getNa me public void jspDestroy public void jspService HttpServletRequest request HttpServletResponse response throws java io IOException ServletException PageContext pageContext null HttpSession session null ServletContext application null ServletConfig config null JspWriter out null Object page this JspWriter jspx out null PageContext jspx page context null try response setContentType text html charset UTF 8 pageContext jspxFactory getPageContext this request response null true 8192 true jspx page context pageContext application pageContext getServletContext config pageContext getServletConfig session pageContext getSession 27 out pageContext getOut jspx out out out write r out write n if true jspx page context forward websrc page login jsp return catch Throwable t if t instanceof SkipPageException out jspx out if out null catch java io IOException e if jspx page context null jspx page context handlePageException t finally jspxFactory releasePageContext jspx page context login jsp java package org apache jsp import javax servlet import javax servlet http import javax servlet jsp public final class index jsp extends org apache jasper runtime HttpJspBase implements org apache jasper runtime JspSourceDependent private static final JspFactory jspxFactory JspFactory getDefaultFactory private static java util List jspx dependants private javax el ExpressionFactory el expressionfactory private org apache AnnotationProcessor jsp annotationprocessor public Object getDependants return jspx dependants public void jspInit el expressionfactory jspxFactory getJspApplicationContext getServletConfig getServletContext getExpressionFac tory jsp annotationprocessor org apache AnnotationProcessor getServletConfig getServletContext getAttribute org apache AnnotationProcessor class getNa me public void jspDestroy 28 public void jspService HttpServletRequest request HttpServletResponse response throws java io IOException ServletException PageContext pageContext null HttpSession session null ServletContext application null ServletConfig config null JspWriter out null Object page this JspWriter jspx out null PageContext jspx page context null try response setContentType text html charset UTF 8 pageContext jspxFactory getPageContext this request response null true 8192 true jspx page context pageContext application pageContext getServletContext config pageContext getServletConfig session pageContext getSession out pageContext getOut jspx out out out write r out write n if true jspx page context forward websrc page login jsp return catch Throwable t if t instanceof SkipPageException out jspx out if out null catch java io IOException e if jspx page context null jspx page context handlePageException t finally jspxFactory releasePageContext jspx page context header jsp java package mon import javax servlet import javax servlet http import javax servlet jsp import global security SessionUtils 29 import global Constants public final class header jsp extends org apache jasper runtime HttpJspBase implements org apache jasper runtime JspSourceDependent private static final JspFactory jspxFactory JspFactory getDefaultFactory private static java util List jspx dependants private javax el ExpressionFactory el expressionfactory private org apache AnnotationProcessor jsp annotationprocessor public Object getDependants return jspx dependants public void jspInit el expressionfactory jspxFactory getJspApplicationContext getServletConfig getServletContext getExpressionFac tory jsp annotationprocessor org apache AnnotationProcessor getServletConfig getServletContext getAttribute org apache AnnotationProcessor class getNa me public void jspDestroy public void jspService HttpServletRequest request HttpServletResponse response throws java io IOException ServletException PageContext pageContext null HttpSession session null ServletContext application null ServletConfig config null JspWriter out null Object page this JspWriter jspx out null PageContext jspx page context null try response setContentType text html charset UTF 8 pageContext jspxFactory getPageContext this request response null true 8192 true jspx page context pageContext application pageContext getServletContext config pageContext getServletConfig session pageContext getSession out pageContext getOut jspx out out out write r n out write r n out write r n out write r n 30 out write r n out write t String baseUrl request getContextPath out write r n out write t r n out write t r n out write t t document ready function r n out write t t tExt state Manager setProvider new Ext state CookieProvider r n out write t t t 主題 r n out write t t var themeFormPanel new Anynote themeComboBox r n out write t t trenderTo themeChangeDiv r n out write t t r n out write t t sayHelloSpan text Anynote sayHello r n out write t t todayDate html Anynote getToday r n out write t t r n out write r n out write t t 賬戶信息 r n out write t tfunction editUser r n out write t t teditUserWindow new Ext Window r n out write t t t ttitle 賬戶信息 r n out write t t t twidth 350 r n out write t t t theight 400 r n out write t t t tmodal true r n out write t t t tmaximizable false r n out write t t t tresizable false r n out write t t t tlayout fit r n out write t t t tplain true r n out write t t t tautoLoad url out print baseUrl out write websrc page user editUser jsp scripts true nocache true r n out write t t t tlisteners r n out write t t t t tclose function r n out write t t t t t tvar buttonType Ext getCmp buttonType getValue r n out write t t t t t tif buttonType save r n out write t t t t t t tAnynote changeTheme Ext getCmp themeCombo getValue r n out write t t t t t t else r n out write t t t t t t tAnynote changeTheme out print SessionUtils getUserMeta get theme out write r n out write t t t t t t r n out write t t t t t r n out write t t t t r n 31 out write t t t r n out write t t teditUserWindow show r n out write t t r n out write r n out write t t 修改密碼 r n out write t tfunction editPassword r n out write t t tchangePwdWindow new Ext Window r n out write t t t ttitle 修改密碼 r n out write t t t twidth 300 r n out write t t t theight 150 r n out write t t t tmodal true r n out write t t t tmaximizable false r n out write t t t tresizable false r n out write t t t tlayout fit r n out write t t t tplain true r n out write t t t tautoLoad url out print baseUrl out write websrc page user changePwd jsp scripts true nocache true r n out write t t t r n out write t t tchangePwdWindow show r n out write t t r n out write t t r n out write t t 用戶退出 r n out write t tfunction logout r n out write t t tExt Msg confirm 警告 確定要退出嗎 function btn r n out write t t t tif btn yes r n out write t t t t t 發(fā)送請求 r n out write t t t t tAnynote ajaxRequest r n out write t t t t t tbaseUrl out print baseUrl out write r n out write t t t t t taction loginAction do method logout r n out write t t t t t tcallback function jsonResult r n out write t t t t t t tExt state Manager set Anynote autoLogin false r n out write t t t t t t tlocation href out print baseUrl out write r n out write t t t t t t r n out write t t t t t tshowWaiting true r n out write t t t t t r n out write t t t t r n out write t t t r n out write t t r n out write r n 32 out write t t 鎖定 r n out write t tfunction lock r n out write t t tExt Msg confirm 警告 確定要鎖定嗎 function btn r n out write t t t tif btn yes r n out write t t t t t 用戶登錄 Form r n out write t t t t tvar lockFormPanel new Ext FormPanel r n out write t t t t border false r n out write t t t t labelWidth 40 r n out write t t t t bodyStyle padding 10px 5px 0px 5px background color transparent r n out write t t t t url out print baseUrl out write loginAction do method login r n out write t t t t items 筆記標(biāo)題 r n o
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校社團(tuán)室管理制度
- 學(xué)校足球場管理制度
- 學(xué)生分小組管理制度
- 學(xué)監(jiān)控管理管理制度
- 安全員智慧管理制度
- 安哥拉漁業(yè)管理制度
- 完善收發(fā)文管理制度
- 宜賓市采砂管理制度
- 實(shí)訓(xùn)室鑰匙管理制度
- 客服質(zhì)檢部管理制度
- 地面注漿施工方案
- 委托種植水果協(xié)議
- 《股骨粗隆間骨折》課件
- 深圳“20+8”之生物醫(yī)藥產(chǎn)業(yè)-前景機(jī)遇與技術(shù)趨勢探析報告-前瞻產(chǎn)業(yè)研究院
- 高壓電力知識培訓(xùn)課件
- 2024煤礦安全生產(chǎn)條例、兩辦意見、硬措施試卷
- 2025年江蘇省安全員《A證》考試題庫及答案
- 老年社會工作期末復(fù)習(xí)題
- 《湯姆索亞歷險記》閱讀題及答案
- 鈉離子電池-武漢大學(xué)楊漢西老師文檔
- DB65-T 4824-2024 干旱區(qū)蒸散發(fā)量計算規(guī)范
評論
0/150
提交評論