田文濤,張 釗,張笑冰
(1. 黑龍江省哈爾濱市職工醫學院,黑龍江 哈爾濱 150000;2. 黑龍江省伊春市第一醫院,黑龍江 伊春 153000)
基于SSH的學生成績信息管理系統的設計與分析
田文濤1,張 釗1,張笑冰2
(1. 黑龍江省哈爾濱市職工醫學院,黑龍江 哈爾濱 150000;2. 黑龍江省伊春市第一醫院,黑龍江 伊春 153000)
本系統是Browser/Server的結構,能夠統一客戶端,將主要功能實現的核心部分集中在了服務器上。在技術上是以Java、Hibernate、Spring、Struts和MYSQL數據庫來開發和實現的。不但注重系統的實際操作,系統的布局簡潔,功能清晰,也能夠讓使用者清楚明了的進行操作,符合了學生和老師的需要。本文主要介紹了該系統的開發設計思想及軟件的需求分析。
學生成績信息管理;Browser/Server結構;MYSQL數據庫;設計與分析
1.1 系統開發的目標
采用學生成績信息管理系統能夠使學校建立一種先進的學生管理模式提高學校的管理效率,提高工作的準確性和操作的簡潔、快速。學校的管理者能夠通過學生成績信息管理系統高效、快速的對學生進行日常的管理,既能幫助學校提高管理效率,又能降低管理的成本,并且維護簡單,查看方便,管理高效。
1. 教師端:
(1)對學生信息進行管理
(2)對班級信息進行管理
(3)對學生選課信息進行管理
(4)對課程信息進行管理
(5)對學生成績信息進行管理
2. 學生端:
(1)查詢和修改個人信息
(2)查詢課程信息
(3)查詢個人成績
(4)選課
本系統主要是提供給在校的教師和學生使用。
1.2 系統開發的設計思想
本系統是以SHH框架來進行開發。在系統中,Hibernate主要是處理對象數據表的增、刪、改、查;Spring框架通過依賴注入(IOC)的關系將持久化作為控制器的業務;Struts框架是為了實現功能與 JSP頁面的交互操作[1]。
Struts發展到現在已經具備了相當成熟穩定的技術,并且在 Struts的技術社區支持下,攜帶著開源技術的優勢,讓大部分企業都作為自己穩固戰略的首選。同時 Struts技術也憑借著它的強大的性能和較高的知名度,對項目的開發也提供了很大的支持和幫助[2]。
Spring是一個很強大的輕量級框架,它的出現解決了許多J2EE開發中常見問題。Spring本身的基礎結構和對其他工具的支持上都是極為強大的。它不僅僅能用于輕量級的應用開發。還能讓程序研發人員可以通過Spring來把不同技術之間的風險降低[3]。
2.1 系統的可行性分析
2.1.1 經濟可行性
本系統所采用的技術主要中 MYSQL和 JAVA都是免費的、開源的技術,所需要的開發人員不多,電腦也不需要多高的配置,所以本系統的開發成本低廉,在經濟方面完全是可行的,符合經濟可行性。
2.1.2 技術可行性
技術可行性主要體現在開發人員所掌握的技術能否完整的開發出本系統以及軟、硬件的配置能否滿足開發人員的需求。本系統是由Spring、Struts、Hibernate三大框架構建,由Java編譯,由MYSQL數據庫存儲數據來進行項目的開發,所以該系統的開發是具有一定的難度的。為了保證系統開發的順利,在考慮問題的時候一定要全面,同時采用工程化的開發方法,讓開發者有一個清晰的思路,從而能夠讓系統又快又好的開發出來。
2.2 系統的需求分析
系統在設計到后期往往會發生一些功能不足,需要添加功能的情況。所以在設計數據庫的時候要盡量的把數據庫設計的容易更改和擴建。能夠做到當需求發生改變或者需要添加功能的時候,只需要修改或添加部分代碼即可實現,并且數據庫不會在結構上發生任何變化。
2.2.1 系統的功能結構圖
通過對學生成績管理的大量實踐調查,大體上確定了系統的主要需求,通過Microsoft Visio軟件制作出學生成績信息管理系統的功能結構圖,以清晰的展現出其中的各個功能模塊。具體內容如圖 1所示:

圖1 系統的功能結構圖Fig.1 Functional structure diagram of the system
2.2.2 系統的功能介紹
本系統主要是對學生的個人信息、班級信息、課程信息、課程成績進行操作,所以根據這個中心思想,確立各種功能模塊。學生成績信息管理主要有兩種用戶:教師和學生。根據系統的需求分析,結合兩種用戶模式所擁有的權利不同,兩種用戶的具體功能如下
教師端功能
1. 學生個人信息:教師能夠添加、刪除、查看某個學生的個人信息,能夠對任意學生的個人信息進行刪改;
2. 班級信息管理:教師能夠對班級的信息進行管理;
3. 課程信息管理:教師能夠添加、刪除、修改任意一門課程信息;能夠查看選擇課程的學生名單
4. 學生成績管理:教師能夠添加、刪除、修改學生的成績信息;
5. 總成績管理:教師能夠對學生的總成績進行管理;
學生只有部分權限,具體功能如下:
1. 學生能對自己的個人信息查詢及修改2. 學生能夠查詢自己的成績
3. 學生能夠查詢自己的課程信息
4 學生的能夠為自己選課
2.3 系統技術架構
2.3.1 MVC技術
MVC是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開[4]。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。MVC 分層有助于管理復雜的應用程序,因為您可以在一個時間內專門關注一個方面。例如,可以在不依賴業務邏輯的情況下專注于視圖設計。同時也讓應用程序的測試更加容易。
MVC分層同時也簡化了分組開發。不同的開發人員可同時開發視圖、控制器邏輯和業務邏輯。
2.3.2 Struts技術
Struts技術的一個最大的優點就是它是一個開源的軟件,這個優點可以讓開發人員更直接、更進一步的了解其內部實現的構造機制。除此之外,Struts還有兩個很大的優點,就是頁面導航和Taglib。
配置使用Struts框架,主要就是配置struts-config.xml文件,其地址一般為WEB-INFstruts-config.xml。配置完成后,Struts通過攔截器來處理用戶的請求,Action負責前后臺交互,控制整個應用流程,從而接收頁面請求,實現頁面的跳轉[5]。
2.3.3 Spring技術
因為Spring框架的體系結構是分層架構的,所以開發人員可以獨立的使用其任意部分,此時它仍是穩定的,因此對于學習和使用是很有價值的。當系統使用Spring框架技術進行開發,將大大提高編碼的可重用性。
Spring框架是一個以依賴注入(inversion of control IOC)原則和面向方面編程思想(aspect-oriented programming,AOP)為基礎的輕量級框架。其中使用IOC容器可以建立一個應用上下文來幫助生成對象,在對象與對象之間建立聯系。使用IOC容器可以輕松的通過使用JavaBean屬性來實現業務對象之間的替換[6]。
Spring框架技術的核心就是Bean工廠。它的主要作用是建立一個 Model供開發人員使用。Spring正是在這個基礎上提供了AOP的實現。通過Spring框架,讓開發人員更方便的對J2EE進行使用。Spring框架技術真正的實現了邏輯層和Web層的分離,使開發人員更輕松、更清晰的對系統完成開發[7]。
2.3.4 Hibernate技術
Hibernate是一個開放源代碼的對象關系映射框架,它通過對JDBC方法進行輕量級的對象封裝來實現對數據庫的訪問。開發人員通過使用Hibernate可以隨時隨地的對數據庫進行操作,方便了項目的開發。只要應用了JDBC方法,就可以使用Hibernate框架進行開發。Hibernate可以通過 Java客戶端的Servlet/JSP的web應用中使用[8]。
在JDBC的編程開發使用中,開發人員通過DAO曾編寫SQL語句中的INSERT(添加)語句插入數據,通過編寫 SELECT(查詢)語句進行查詢,通過編寫UPDATE(更新)語句來保存和更新數據,編寫DELETE(刪除)語句進行數據刪除。
Hibernate和 JDBC的開發院里類似,只不過Hibernate充當了JDBC中的DAO層,根據關系映射配置來自動生成相應的SQL語句,即HQL語句。從控制臺中可以看到通過Hibernate生成的HQL語句[9]。
Hibernate生成的HQL語句是動態生成的,而JBDC中的SQL語句是需要人工編寫的,所以HQL語句更加方便。因此當系統的實體類發生改變時,JDBC需要根據實體類的變化來修改相對應的 SQL語句,工作量很大且極其復雜,而在使用了Hibernate的系統中只需要修改對應的實體類的配置即可實現。因此,Hibernate框架是方便快捷的,使用它進行開發可以提高開發的效率[10]。
2.3.5 JavaScript技術
JavaScript是一種經典的網絡腳本語言,是動態的語言。早起在HTML網頁上進行使用以增加網頁的動態功能,是目前廣泛的應用于客戶端的一種腳本語言[11]。
JavaScript語言是一種解釋型的腳本語言,不需要像 C語言或者 C++語言那樣先進行編譯才能執行,而是在程序的運行中逐漸的進行解釋。JavaScript還能使用現有的對象,同時又能創建新的對象,使用起來簡單緊湊[12]。同時它還是動態的,可以根據用戶的輸入做出相應的反應,比如用戶對一個網頁頁面進行鼠標移動、點擊等操作時,JavaScript不需要經過 Web服務器就可以對事物做出與之相對應的反應,節省了時間,提高了互動性[13-15]。因此,JavaScript的特點是無窮無盡的,只要有創意,通過JavaScript都可以實現。
[1] 張洪偉. Tomcat Web開發及整合應用[M].北京.清華大學出版社, 2006: 10-230.Zhang Hongwei. Tomcat Web Development and Integration Application[M]. Beijing. Tsinghua University Press, 2006:10-230.
[2] 李剛. Struts2權威指南:基于WebWork核心的MVC開發[M].電子工業出版社, 2007: 93-332.Li Gang. Struts2 Authoritative Guide: MVC Development Based on WebWork Core[M]. Electronic Industry Press,2007: 93-332.
[3] 陳天河. Struts. Hibernate. Spring集成開發寶典[M. 電子工業出版社, 2007: 246-249.Chen Tianhe. Integrated Development Book of Struts-Hibernate-Spring[M]. Electronic Industry Press, 2007: 246-249.
[4] 梁立新.基于SSH的Java應用開發[M]. 北京. 電子工業出版社. 2006: 10-300.Liang Lixin. Java Application Development Based on SSH[M]. Beijing Electronic Industry Press. 2006: 10-300.
[5] 石志國, 薛為民, 董潔. JSP高等學校計算機語言應用教程[M]. 清華大學出版社, 2004: 190-196.Shi Zhiguo, Xue Weimin, Dong Jie.JSP Computer Language Application Course of Universities and Colleges.[M]. Tsinghua University Press, 2004:190-196.
[6] 張國平, 鄭均輝, 張琳. 基于SSH2和Ajax的物聯網社區信息化管理系統[J]. 現代電子技術, 2015(14): 79-81+85.Zhang Guoping, Zheng Junhui, Zhang Lin. Internet of Things Community Information Management System Based on SSH2 and Ajax[J]. Modern Electronic Technology, 2015(14):79-81+85.
[7] 孫衛琴. Java網絡編程精解[M]. 電子工業出版社, 2007:66-70.Sun Weiqin. Explanations of Java Network Programming[M]. 2007: 66-70. Electronic Industries Press.
[8] Manheim. M. L. An architecture for active DSS[J]. 21st International Conference on System Science. Hawaii: IEEE Computer Society Press, 1988: 356-365.
[9] Bruce Eckel. Theoretical Artificial Intelligence[J]. 1998, 10(4): 393-402.
[10] 廖義奎. Java Web 開發之Srtuts編程基礎與實例精講[M].中國電力出版社, 2006: 133-137.Liao Yikui. Srtuts Programming Basis and Examples Explanation of Java Web Development[M]. China Electric Power Press, 2006: 133-137.
[11] 孫衛琴, 李洪成. Tomcat與Java Web開發技術詳解[M]. 電子工業出版社, 2004: 56-61.Sun Weiqin, Li Hongcheng.Tomcat and Java Web Development Technology Explanation [M].Electronics Industry Press,2004:56-61.
[12] Marty Hall. Servlet與JSP權威指南[M]. 北京. 機械工業出版社, 2002: 30-350.Marty Hall. Authoritative Guide on Servlet and JSP[M]. Beijing. Mechanical Industry Press, 2002: 30-350.
[13] 邱哲, 王俊標, 馬斗. Java開發利器: Struts Web設計與開發大全[M]. 清華大學出版社, 2006: 67-72.Qiu Zhe, Wang Junbiao, Ma Dou.Java development tool:Struts Web Design and Development Encyclopedia [M].Tsinghua University Press, 2006: 67-72.
[14] 韓存武, 張鳳梅, 孫德輝, 吳力普, 梁宇. 基于RFID技術的高校設備管理系統設計[J]. 新型工業化, 2016, 6(2): 1-6.Han Cunwu, Zhang Fengmei, Sun Dehui, Wu Lipu, Liang Yu.Design of University Equipment Management System Based on RFID Technology [J]. New Industrialization, 2016, 6(2): 1-6.
[15] 鄭業芬, 梁孫祥. 自考辦信息管理系統設計[J]. 軟件,2017, 38(8): 176-179.Zheng Yefen, Liang Sunxiang. Information Management System Design of Self-taught Examination Office[J]. Software,2017, 38 (8): 176-179.
Design and Analysis of Information Management System of Student’s Achievements Based on SSH
TIAN Wen-tao1, ZHANG Zhao1, ZHANG Xiao-bing2
(1. Harbin Staff Medical College of Heilongjiang, Harbin, Heilongjiang, 150000;2. Yichun City the First Hospital of Heilongjiang, Yichun, Heilongjiang, 153000)
With structure of Browser/Server, the system unifies client, integrates core part of main function on the server, which is developed and realized through Java, Hibernate, Spring, Struts and MYSQL database technically.The system not only pays attention to actual operation of system, concise layout, clear function, but allows users to operate clearly, meeting needs of students and teachers. The article mainly introduces development and design thoughts of system and requirement analysis of the software.
Information management of student’s achievements; Browser/Server structure; MYSQL database;Design and analysis
G434
A
10.3969/j.issn.1003-6970.2017.11.040
本文著錄格式:田文濤,張釗,張笑冰. 基于SSH的學生成績信息管理系統的設計與分析[J]. 軟件,2017,38(11):212-215
黑龍江省青年專項課題(ZJD1316013)
田文濤,男,黑龍江省巴彥縣,哈爾濱市職工醫學院,中級職稱(實驗師),本科學歷,研究方向:計算機及輔助教學。