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

圖1 系統(tǒng)的功能結構圖Fig.1 Functional structure diagram of the system
2.2.2 系統(tǒng)的功能介紹
本系統(tǒng)主要是對學生的個人信息、班級信息、課程信息、課程成績進行操作,所以根據這個中心思想,確立各種功能模塊。學生成績信息管理主要有兩種用戶:教師和學生。根據系統(tǒng)的需求分析,結合兩種用戶模式所擁有的權利不同,兩種用戶的具體功能如下
教師端功能
1. 學生個人信息:教師能夠添加、刪除、查看某個學生的個人信息,能夠對任意學生的個人信息進行刪改;
2. 班級信息管理:教師能夠對班級的信息進行管理;
3. 課程信息管理:教師能夠添加、刪除、修改任意一門課程信息;能夠查看選擇課程的學生名單
4. 學生成績管理:教師能夠添加、刪除、修改學生的成績信息;
5. 總成績管理:教師能夠對學生的總成績進行管理;
學生只有部分權限,具體功能如下:
1. 學生能對自己的個人信息查詢及修改2. 學生能夠查詢自己的成績
3. 學生能夠查詢自己的課程信息
4 學生的能夠為自己選課
2.3 系統(tǒng)技術架構
2.3.1 MVC技術
MVC是一個框架模式,它強制性的使應用程序的輸入、處理和輸出分開[4]。使用MVC應用程序被分成三個核心部件:模型、視圖、控制器。它們各自處理自己的任務。MVC 分層有助于管理復雜的應用程序,因為您可以在一個時間內專門關注一個方面。例如,可以在不依賴業(yè)務邏輯的情況下專注于視圖設計。同時也讓應用程序的測試更加容易。
MVC分層同時也簡化了分組開發(fā)。不同的開發(fā)人員可同時開發(fā)視圖、控制器邏輯和業(yè)務邏輯。
2.3.2 Struts技術
Struts技術的一個最大的優(yōu)點就是它是一個開源的軟件,這個優(yōu)點可以讓開發(fā)人員更直接、更進一步的了解其內部實現(xiàn)的構造機制。除此之外,Struts還有兩個很大的優(yōu)點,就是頁面導航和Taglib。
配置使用Struts框架,主要就是配置struts-config.xml文件,其地址一般為WEB-INFstruts-config.xml。配置完成后,Struts通過攔截器來處理用戶的請求,Action負責前后臺交互,控制整個應用流程,從而接收頁面請求,實現(xiàn)頁面的跳轉[5]。
2.3.3 Spring技術
因為Spring框架的體系結構是分層架構的,所以開發(fā)人員可以獨立的使用其任意部分,此時它仍是穩(wěn)定的,因此對于學習和使用是很有價值的。當系統(tǒng)使用Spring框架技術進行開發(fā),將大大提高編碼的可重用性。
Spring框架是一個以依賴注入(inversion of control IOC)原則和面向方面編程思想(aspect-oriented programming,AOP)為基礎的輕量級框架。其中使用IOC容器可以建立一個應用上下文來幫助生成對象,在對象與對象之間建立聯(lián)系。使用IOC容器可以輕松的通過使用JavaBean屬性來實現(xiàn)業(yè)務對象之間的替換[6]。
Spring框架技術的核心就是Bean工廠。它的主要作用是建立一個 Model供開發(fā)人員使用。Spring正是在這個基礎上提供了AOP的實現(xiàn)。通過Spring框架,讓開發(fā)人員更方便的對J2EE進行使用。Spring框架技術真正的實現(xiàn)了邏輯層和Web層的分離,使開發(fā)人員更輕松、更清晰的對系統(tǒng)完成開發(fā)[7]。
2.3.4 Hibernate技術
Hibernate是一個開放源代碼的對象關系映射框架,它通過對JDBC方法進行輕量級的對象封裝來實現(xiàn)對數據庫的訪問。開發(fā)人員通過使用Hibernate可以隨時隨地的對數據庫進行操作,方便了項目的開發(fā)。只要應用了JDBC方法,就可以使用Hibernate框架進行開發(fā)。Hibernate可以通過 Java客戶端的Servlet/JSP的web應用中使用[8]。
在JDBC的編程開發(fā)使用中,開發(fā)人員通過DAO曾編寫SQL語句中的INSERT(添加)語句插入數據,通過編寫 SELECT(查詢)語句進行查詢,通過編寫UPDATE(更新)語句來保存和更新數據,編寫DELETE(刪除)語句進行數據刪除。
Hibernate和 JDBC的開發(fā)院里類似,只不過Hibernate充當了JDBC中的DAO層,根據關系映射配置來自動生成相應的SQL語句,即HQL語句。從控制臺中可以看到通過Hibernate生成的HQL語句[9]。
Hibernate生成的HQL語句是動態(tài)生成的,而JBDC中的SQL語句是需要人工編寫的,所以HQL語句更加方便。因此當系統(tǒng)的實體類發(fā)生改變時,JDBC需要根據實體類的變化來修改相對應的 SQL語句,工作量很大且極其復雜,而在使用了Hibernate的系統(tǒng)中只需要修改對應的實體類的配置即可實現(xiàn)。因此,Hibernate框架是方便快捷的,使用它進行開發(fā)可以提高開發(fā)的效率[10]。
2.3.5 JavaScript技術
JavaScript是一種經典的網絡腳本語言,是動態(tài)的語言。早起在HTML網頁上進行使用以增加網頁的動態(tài)功能,是目前廣泛的應用于客戶端的一種腳本語言[11]。
JavaScript語言是一種解釋型的腳本語言,不需要像 C語言或者 C++語言那樣先進行編譯才能執(zhí)行,而是在程序的運行中逐漸的進行解釋。JavaScript還能使用現(xiàn)有的對象,同時又能創(chuàng)建新的對象,使用起來簡單緊湊[12]。同時它還是動態(tài)的,可以根據用戶的輸入做出相應的反應,比如用戶對一個網頁頁面進行鼠標移動、點擊等操作時,JavaScript不需要經過 Web服務器就可以對事物做出與之相對應的反應,節(jié)省了時間,提高了互動性[13-15]。因此,JavaScript的特點是無窮無盡的,只要有創(chuàng)意,通過JavaScript都可以實現(xiàn)。
[1] 張洪偉. Tomcat Web開發(fā)及整合應用[M].北京.清華大學出版社, 2006: 10-230.Zhang Hongwei. Tomcat Web Development and Integration Application[M]. Beijing. Tsinghua University Press, 2006:10-230.
[2] 李剛. Struts2權威指南:基于WebWork核心的MVC開發(fā)[M].電子工業(yè)出版社, 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集成開發(fā)寶典[M. 電子工業(yè)出版社, 2007: 246-249.Chen Tianhe. Integrated Development Book of Struts-Hibernate-Spring[M]. Electronic Industry Press, 2007: 246-249.
[4] 梁立新.基于SSH的Java應用開發(fā)[M]. 北京. 電子工業(yè)出版社. 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的物聯(lián)網社區(qū)信息化管理系統(tǒng)[J]. 現(xiàn)代電子技術, 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] 孫衛(wèi)琴. Java網絡編程精解[M]. 電子工業(yè)出版社, 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 開發(fā)之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] 孫衛(wèi)琴, 李洪成. Tomcat與Java Web開發(fā)技術詳解[M]. 電子工業(yè)出版社, 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]. 北京. 機械工業(yè)出版社, 2002: 30-350.Marty Hall. Authoritative Guide on Servlet and JSP[M]. Beijing. Mechanical Industry Press, 2002: 30-350.
[13] 邱哲, 王俊標, 馬斗. Java開發(fā)利器: Struts Web設計與開發(fā)大全[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技術的高校設備管理系統(tǒng)設計[J]. 新型工業(yè)化, 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] 鄭業(yè)芬, 梁孫祥. 自考辦信息管理系統(tǒng)設計[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的學生成績信息管理系統(tǒng)的設計與分析[J]. 軟件,2017,38(11):212-215
黑龍江省青年專項課題(ZJD1316013)
田文濤,男,黑龍江省巴彥縣,哈爾濱市職工醫(yī)學院,中級職稱(實驗師),本科學歷,研究方向:計算機及輔助教學。