日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

办公OA系统的设计与实现 软件工程 Struts、Spring和Hibernate(SSH)

發布時間:2024/1/1 windows 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 办公OA系统的设计与实现 软件工程 Struts、Spring和Hibernate(SSH) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 緒論
  • 摘要

當今社會發展迅速,互聯網相關技術快速在各行各業普及,智能辦公的需求日益增長。同時,隨著企業發展不斷推進,規模越做越大,傳統的紙筆和文件系統記錄人員信息已經無法滿足大數據時代成千上萬員工職業信息的管理和維護。因此,為企業定制一款基于數據庫系統的OA管理系統成為了迫在眉睫的任務。

本項目開發了一款基于Struts、Spring和Hibernate(SSH)框架的辦公人員管理系統,功能涵蓋登錄、權限管理、對人員信息進行增加、修改、刪除和查詢,也可以上傳和下載員工的照片,充分體現了這三種框架在互聯網信息系統中的功能應用。

項目前端以網頁的形式呈現,可以在主流瀏覽器中流暢運行。后端采用Java語言編寫,使用MySQL數據庫存儲系統相關的數據信息。采用了良好的設計模式,易于維護,可擴展性好,在不同操作系統和瀏覽器中適應性強,體現了軟件工程的開發思想。

  • 研究背景和研究意義
  • 近年來經濟的快速發展,促成了互聯網應用的巨大規模和快速發展趨勢。當今時代,辦公與我們生活息息相關,涉及到工業生產和人民生活的方方面面。但是,在企業規模越來越大、員工信息越發復雜、企業日志越來越難以記錄的情況下,如何更好地進行高效辦公、搭建辦公OA系統,成為了近年來國內外許多研究人員正在不斷探究的一個新課題。

    為了解決這一問題,新的辦公OA系統,尤其是在Web端基于SSH的辦公OA系統的發展極為迅速。通過不斷完善辦公OA相關系統,企業可以逐步實現越來越好的員工信息管理,減少了信息的不對稱性,提升了資源的利用效率,人們也逐步開始解決這一困擾大家的難題。

    21世紀以來,隨著互聯網技術的快速發展,計算機逐漸普及到企業中每個人的辦公桌上。本項目針對辦公OA管理的問題,設計并實現了基于SSH框架的辦公OA系統,用戶通過Web瀏覽器登錄系統,將員工信息錄入并保存在云端服務器中,并且可以與企業內其他人員共享和維護記錄,減少人員流動成本。因此,開發一款基于SSH框架的辦公OA系統對于各行各業企業員工管理相關領域實際生產生活的需要具有重要的意義,有廣泛的應用前景。

    • 技術介紹
    • Java 和Java Web

    Java 是一門面向對象的編程語言,也是一門非常強大的語言。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程。Java具有簡單性、面向對象、分布式、健壯性、安全性、平臺獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。

    Java Web是用Java技術來解決相關Web互聯網領域的技術棧。Web包括:Web服務端和Web客戶端兩部分。Java在服務器端的應用非常的豐富,如Servlet,JSP、第三方框架等等。Java技術對Web領域的發展注入了強大的動力。

  • Struts
  • Struts 由Apache基金會管理,是一個免費的開源 MVC 框架,用于創建優雅的現代 Java Web 應用程序。Struts最初是Jakarta項目中的一個子項目,并在2004年3月成為ASF的頂級項目。Struts支持約定而非配置,可使用插件架構進行擴展,并隨附支持 REST、AJAX 和 JSON 的插件。

    在Struts中,已經由一個名為ActionServlet的Servlet充當控制器(Controller)的角色,根據描述模型、視圖、控制器對應關系的struts-config.xml的配置文件,轉發視圖(View)的請求,組裝響應數據模型(Model)。在MVC的模型(Model)部分,經常劃分為兩個主要子系統(系統的內部數據狀態與改變數據狀態的邏輯動作),這兩個概念子系統分別具體對應Struts里的ActionForm與Action兩個需要繼承實現超類。在這里,Struts可以與各種標準的數據訪問技術結合在一起,包括Enterprise Java Beans(EJB),JDBC與JNDI。在Struts的視圖(View)端,除了使用標準的JavaServer Pages(JSP)以外,還提供了大量的標簽庫使用,同時也可以與其他表現層組件技術(產品)進行整合,比如Velocity Templates,XSLT等。通過應用Struts的框架,最終用戶可以把大部分的關注點放在自己的業務邏輯(Action)與 映射關系的配置文件(struts-config.xml)中。

  • Spring
  • Spring框架是一個開放源代碼的J2EE應用程序框架,由Rod Johnson發起,是針對bean的生命周期進行管理的輕量級容器(lightweight container)。 Spring解決了開發者在J2EE開發中遇到的許多常見的問題,提供了功能強大IOC、AOP及Web MVC等功能。Spring可以單獨應用于構筑應用程序,也可以和Struts、Webwork、Tapestry等眾多Web框架組合使用,并且可以與 Swing等桌面應用程序AP組合。因此, Spring不僅僅能應用于J2EE應用程序之中,也可以應用于桌面應用程序以及小應用程序之中。Spring框架主要由七部分組成,分別是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。

  • Hibernate
  • Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關系,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的JavaEE架構中取代CMP,完成數據持久化的重任。

  • MySQL
  • MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,屬于 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一。

    MySQL是一種關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。

    MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言。MySQL 軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站數據庫。

  • Spring Security
  • Spring Security 基于 Spring 框架,提供了一套 Web 應用安全性的完整解決方案。一般來說,Web 應用的安全性包括用戶認證(Authentication)和用戶授權(Authorization)兩個部分。用戶認證指的是驗證某個用戶是否為系統中的合法主體,也就是說用戶能否訪問該系統。用戶認證一般要求用戶提供用戶名和密碼。系統通過校驗用戶名和密碼來完成認證過程。用戶授權指的是驗證某個用戶是否有權限執行某個操作。在一個系統中,不同用戶所具有的權限是不同的。比如對一個文件來說,有的用戶只能進行讀取,而有的用戶可以進行修改。一般來說,系統會為不同的用戶分配不同的角色,而每個角色則對應一系列的權限。

    在 Web 應用開發中,安全一直是非常重要的一個方面。從應用開發的第一天就應該把安全相關的因素考慮進來,并在整個應用的開發過程中。

    • 開發配置
    • 硬件
  • CPU:Intel Core i7 Gen 11
  • 顯卡:NVIDIA RTX 3060
  • 內存:16GB
  • 軟件
  • 操作系統:Windows 10
  • 后端集成開發環境:Intellij IDEA Ultimate 2020.2
  • 前端集成開發環境:Visual Studio Code
  • 瀏覽器:Google Chrome
  • 數據庫:MySQL 8.0.12
    • 需求分析和系統設計
    • 需求分析

    為了確定辦公OA系統開發方向,需要對系統進行需求分析,確定辦公OA系統需要開發的功能。好的需求分析可以減少返工時間和代碼修改時間。因此,系統需求分析應謹慎進行。

    在系統需求分析階段,開發人員通過對辦公人員進行走訪和資料采集,了解到人員之間的溝通交流僅通過語言、短信傳輸的方式進行,溝通起來比較麻煩,并且不同的人員之間掌握的資料都不相同,資料的整合變得相當困難。開發者通過對各個人員之間掌握的數據和調查結果進行歸納和收集,為本系統得到了構建一個辦公OA系統的基本要求。

    本次課題設計和實現的辦公OA系統,其主要思想是將員工管理的日常工作流程化,展示辦公OA系統的人機界面,讓用戶操作界面上的員工信息與后臺程序進行數據交互,后臺程序將進行修改的記錄上傳至服務器,并實時返回和顯示操作結果。本系統的實現,使得辦公人員工作成本大大減少,實現了遠程辦公。

  • 用例分析
  • 表4-1 登錄用例分析

    項目

    描述

    用例名稱

    登錄

    前置條件

    基本流

  • 操作人員輸入用戶名
  • 操作人員輸入密碼
  • 操作人員點擊登錄按鈕
  • 用例終止
  • 其他事件流

    分支與異常

    若系統讀取用戶名或密碼錯誤,則報告異常

    若用戶被禁用,則報告異常

    后置條件

    ???? 表4-2 權限管理用例分析

    項目

    描述

    用例名稱

    權限管理

    前置條件

    登錄

    基本流

  • 操作人員單擊選擇權限按鈕
  • 操作人員選擇權限
  • 提交選擇的權限
  • 用例終止
  • 其他事件流

    操作人員可以禁用或啟用用戶

    分支與異常

    后置條件

    表4-3 員工管理用例分析

    項目

    描述

    用例名稱

    員工管理

    前置條件

    登錄

    基本流

  • 操作人員添加一個員工
  • 操作人員刪除一個員工
  • 操作人員查找一個員工
  • 其他事件流

    分支與異常

    輸入的數據不符合規范,報告異常

    輸入的信息包括空值,報告異常

    • 功能實現
    • 登錄

    用戶打開界面后,可以看到一個登錄框,系統提示用戶輸入其賬號和密碼,單擊“登錄”按鈕進入系統。系統前端收到登錄請求后,通過HTTP向后端服務器請求驗證賬號是否存在、密碼是否正確。如果用戶已被禁用,則無法登錄系統。

    后端使用了Spring提供的Spring Security安全框架以保證用戶不可以不經過登錄而直接通過其他技術方式(如直接輸入URL)訪問和使用系統的某些功能。Spring Security是一個高度自定義的安全框架。利用Spring IoC/DI和AOP功能,為系統提供了聲明式安全訪問控制功能,減少了為系統安全而編寫大量重復代碼的工作。

  • 權限管理
  • 用戶登錄系統后,系統根據數據庫中存儲的用戶權限為不同用戶展現不同的功能選項。系統界面左側陳列了一系列用戶可以進入的權限菜單組,每個菜單組下顯示了用戶可以訪問若干子模塊。分配權限的權利屬于擁有“權限分配”這項權限的用戶。

    用戶也可以在這個模塊禁用一名用戶,使其不能登錄系統。

    權限管理的頁面每個員工作為一行顯示,顯示賬號和當前狀態,有禁用和開啟權限的功能。

    修改權限后,用戶重新登錄即可看到自己修改后可訪問的權限。

  • 信息管理
  • 系統信息管理模塊為用戶提供了部門信息管理和員工信息管理兩個子模塊。其中,部門信息管理提供了添加、修改和刪除部門的功能。如果用戶試圖刪除有員工的部門,系統會在前端再次提示用戶是否確定刪除這個部門。

    員工信息管理為用戶提供了按照員工工號、員工姓名、性別、部門、生日、備注、狀態和薪資數據搜索員工的功能。其中,部門和狀態數據按照數據庫標準設計模式以數值而不是名稱記錄在數據庫中,并以下拉框的形式在前端供用戶選擇,以便后期修改。由于薪資和生日很難精確選擇,系統為這兩項屬性提供以區間為條件查找的功能。

    用戶可以添加和刪除一名員工的信息,也可以修改員工的一項或多項信息。系統允許用戶為每名員工上傳一張照片。

    用戶完成添加、修改、刪除或查詢后,系統通過HTTP協議向后端對應REST接口發起請求。添加員工時,系統會自動按照現有的工號最大值來生成一個新的工號,以保證格式相同且不重復。添加和修改員工時,系統都會判定輸入數據是否合法。例如:薪資必須是數值類型數據,而不是字符串;姓名、性別數據不能為空值。

    當查詢的結果超過前端指定的每頁條數(默認為10條)時,系統會通過后臺實現對數據的自動分頁,在SQL語句中添加limit關鍵字以查找對應頁碼的信息記錄。

    系統通過Hibernate將請求轉化為對應的SQL語句完成對數據庫的操作,使得開發過程不需要直接調用MySQL的jar包中的函數操作數據庫,方便快捷,易于管理。

    • 軟件質量要求
    • 功能測試

    本章節聚焦于對系統的測試工作。在編碼的過程中或者編碼完成后,通常需要對系統進行測試,以驗證預期的功能是否正確實現。本次測試采用黑盒測試的方法進行。測試分為驗證功能是否實現和性能是否滿足條件兩個部分。

    測試的目的在于查找到隱藏在系統中的潛在問題,原則上是找出越多的問題,說明測試得越成功。因此,想要盡量減少代碼返工的問題,最好在寫完代碼后進行單元測試,提前把能解決的問題先解決好。這樣不僅可以減少測試工作量,也可以避免系統集成后問題定位困難,導致開發成本高的問題。

    表6-1 用戶登錄測試用例

    測試需求

    輸入/動作

    輸出/響應

    登錄功能

    未被禁用的用戶輸入正確賬號,輸入正確密碼,點擊登錄按鈕

    登錄成功

    被禁用的用戶輸入正確賬號,輸入正確密碼,點擊登錄按鈕

    登錄失敗

    用戶輸入錯誤賬號,輸入正確密碼,點擊登錄按鈕

    登錄失敗

    用戶輸入正確賬號,輸入錯誤密碼,點擊登錄按鈕

    登錄失敗

    表6-2 權限管理測試用例

    測試需求

    輸入/動作

    輸出/響應

    啟用和禁用用戶

    用戶已被禁用的時候打開權限管理頁面

    顯示啟用按鈕

    用戶未被禁用的時候打開權限管理頁面

    顯示禁用按鈕

    修改權限

    打開權限修改界面

    在已授權的模塊和功能處打勾,未授權的模塊和功能不打勾

    選擇要修改權限并提交

    刷新界面,完成修改

    表6-3 用戶登錄測試用例

    測試需求

    輸入/動作

    輸出/響應

    查詢功能

    輸入或選擇屬性進行查詢

    輸出查詢結果

    生日選擇區間不對

    查詢失敗

    輸入的月薪不是數字

    查詢失敗

  • 系統運行性能
  • 在軟件質量保證與測試中,性能測試通常通過一些軟件(如集成開發環境或操作系統自帶的性能監測可視化工具)檢查或模擬一個軟件正常運行時或發生異常的情況下,軟件在操作系統中體現的各項性能上的數據指標。性能測試的結果通常是軟件占用的內存、CPU百分比、網絡上傳或下載占用的帶寬等等。軟件開發過后進行專業的性能測試,可以幫助開發者更好地了解軟件運行的表現,避免交付后可能出現的崩潰等問題,防止返工以增加開發時間和經濟上的成本。

    Google Chrome瀏覽器的開發者工具為開發者提供了測試網頁性能的工具,可以看到網頁在運行時對硬件和網速等關鍵指標的占用情況。

    • 總結與展望

    1. 總結

    本文以基于SSH框架的服務器系統和基于Chrome瀏覽器的網頁作為研究對象,通過對當前OA辦公領域所體現的突出問題進行了分析,并完成了SSH框架服務器以及前端網頁設計、編碼實現和測試。本項目通過HTTP協議與后臺服務器通訊,進行數據和照片相關信息的收發。

    2. 展望

    基于SSH框架的辦公OA系統涉及H5和Java開發的多方面理論、技巧和技術。本系統還有很多沒有涉及到的問題需要解決,需要在實際應用中不斷發現、查找,獲得經驗的積累和完善。

    系統沒有對員工權限管理和增刪改查以外的功能進行實現。由于程序的可擴展性較好,今后可以以較方便的手段擴充該系統的功能。

    隨著計算機開發環境和編程語言的版本迭代,誕生了不少更新更快捷的開發框架,如Spring MVC、Spring Boot等,今后也可以使用其他框架進行編程嘗試,為今后工作和科研活動做好基礎。

    總結

    以上是生活随笔為你收集整理的办公OA系统的设计与实现 软件工程 Struts、Spring和Hibernate(SSH)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。