目 錄
目 錄
摘 ?要
ABSTRACT
1 緒論
1.1 課題背景
1.2 研究現狀
1.3 研究內容
2 系統開發環境
2.1 vue技術
2.2 JAVA技術
2.3 MYSQL數據庫
2.4 B/S結構
2.5 SSM框架技術
3 系統分析
3.1 可行性分析
3.1.1 技術可行性
3.1.2 操作可行性
3.1.3 經濟可行性
3.1.4 法律可行性
3.2 系統性能分析
3.3 系統功能分析
3.3.1 角色需求
3.3.2 功能需求
3.4 系統流程分析
3.4.1 注冊流程
3.4.2 登錄流程
4 系統設計
4.1 系統概要設計
4.2 系統結構設計
4.3 數據庫設計
4.3.1 數據庫表設計
5 系統的實現
5.1 功能模塊的實現
5.1用戶信息管理
5.2 科研項目管理
5.3留言板管理
5.1公告信息管理
6 系統測試
6.1 測試定義
6.2 測試目的
6.3 測試方法
6.4 測試分析
7 結論
致謝
參考文獻
摘 ?要
身處網絡時代,隨著網絡系統體系發展的不斷成熟和完善,人們的生活也隨之發生了很大的變化,人們在追求較高物質生活的同時,也在想著如何使自身的精神內涵得到提升,而讀書就是人們獲得精神享受非常重要的途徑。為了滿足人們隨時隨地只要有網絡就可以看書的要求,科研經費管理系統被開發研究了出來。
本文主要描述了該科研經費管理系統的具體開發過程,在SSM框架的基礎上,采用vue技術和MYSQL數據庫,使該科研經費管理系統具有很好的穩定性和安全性。本設計重點從系統概述、系統分析、系統設計、數據庫設計、系統測試和總結這幾個方面對該科研經費管理系統進行闡述,用戶通過該科研經費管理系統可以查詢自己喜歡的信息。
該科研經費管理系統不僅能夠穩定的運行,快捷方便的操作,界面簡潔清晰,而且功能齊全,實用性強。
關鍵詞:科研經費管理系統,SSM框架,系統分析,數據庫設計
ABSTRACT
In the network age, with the continuous maturity and improvement of the development of the network system, people's life has also undergone great changes. While pursuing a higher material life, people are also thinking about how to improve their spiritual connotation, and reading is a very important way for people to enjoy their spirit. In order to meet the requirement that people can read books whenever and wherever they have the Internet, the campus lost and found applet has been developed and studied.
This paper mainly describes the specific development process of the campus lost and found applet. Based on the SSM framework, Vue technology and MySQL database are used to make the campus lost and found applet have good stability and security. This design focuses on the campus lost and found applet from the aspects of system overview, system analysis, system design, database design, system test and summary. Users can query their favorite information through the campus lost and found applet.
The campus lost and found applet can not only run stably, operate quickly and conveniently, have a concise and clear interface, but also have complete functions and strong practicability.
Keywords:Campus lost and found applet, SSM framework, system analysis, database design?
身處網絡時代,隨著網絡系統體系發展的不斷成熟和完善,人們的生活也隨之發生了很大的變化。目前,人們在追求較高物質生活的同時,也在想著如何使自身的精神內涵得到提升,而讀書就是人們獲得精神享受非常重要的途徑[1]。紙質版的書籍比較沉重,攜帶不方便,而由于手機、平板不僅能夠儲存大量的書籍信息數據,而且重量輕,可隨身攜帶,因此現在的人們更愿意通過手機、平板等來進行在線閱讀[2]。由此,開發一款科研經費管理系統非常符合人們閱讀的需求。
過去人們看書需要到書店或者圖書館,而現在只要有網絡,人們就可以通過手機、平板或電腦想什么時候看書就可以什么時候看,想看什么樣的書就可以看什么樣的書,非常的方便,并且人們把平時的閑碎時間全部利用起來進行閱讀,使閱讀效率大大提高,生活也變得豐富多彩起來。另外,通過科研經費管理系統,想要閱讀哪本書,搜索下就能夠快速找到,并且還可以對書籍進行歸類、統計和規范管理。該科研經費管理系統的界面非常清晰,使用簡單,識字的人們都可以使用,并且它的功能齊全,能夠滿足各種各樣的人的要求。
本文不僅從需求分析、設計分析、功能分析對該電子書在線系統進行了全面的分析,而且還從開發背景、開發環境、目標、流程、數據庫、系統維護對該科研經費管理系統進行了總體的規劃和設計。該科研經費管理系統利用vue技術和MYSQL數據庫進行開發,具有很好的穩定性和可發展性。
國外信息技術的發展步伐一直沒有停止,源源不斷的計算機應用軟件被研發出來,并且軟件技術也在不斷迭代,目前世界各國的軟件行業都已新興了起來[3-5]。
與國外相比,我國信息技術的發展相對晚一些,不過后面,經過我們的不斷追趕,我國的信息技術已經有了很大的進步,我國對現有的軟件開發技術進行了細致的專研,目前我國已經能夠獨立的開發系統,并且也已經將這些軟件系統應用于人們的生活中和各行各業中,目前,軟件行業是我國非常受歡迎的行業[6-9]。
信息數字化使人們的各種信息能夠快速傳播,使人們的各種信息能夠得到充分利用,同時,也大大宣傳了信息數字化背后的軟件系統[10-12]。軟件開發團隊的能力越來越強,開發技術功能越來越強大,軟件系統大大提高了信息處理的效率,節省了處理者的處理時間。在閱讀書籍方面,人們閱讀紙質版的書籍,現在已經顯得有些過時[13-14]。利用目前的軟件開發技術開發出一款科研經費管理系統能夠大大的滿足人們的閱讀需求,人們通過該科研經費管理系統能夠快速查找、在線閱讀自己喜歡的書籍,并且也大大提高了人們閱讀的效率。
本論文主要闡述了該科研經費管理系統的開發技術、系統需求分析、系統設計、系統功能實現和系統測試。為了開發該系統,我在下面花費了很多功夫和心思,例如,到圖書館閱讀vue技術、MYSQL數據庫等方面的編程書籍,又在網上搜索了很多別人做的相類似的系統,將他們比較好的設計理念應用到自己的設計當中,最后才有了現在的成果。
本論文主要分為7部分,包括:
一、緒論:闡述了該系統的背景技術、研究現狀和開發意義;
二、相關技術:介紹了開發該系統所用到的各種技術;
三、系統需求分析:闡述了開發該系統的可行性分析和功能需求分析;
四、系統設計:闡述了該系統的功能模塊設計和數據庫設計;
五、系統實現:展示了該系統的主要功能模塊界面;
六、系統測試:對開發出的該系統進行測試;
七、系統總結:總結開發該系統的整個工作過程。
Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式JavaScript框架。?[5]??與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用(SPA)提供驅動
Vue.js目前最火的的一個前端框架,三大主流前端框架之一。
Vue.js是一套構建用戶界面的框架(一套完整的解決方案,對項目侵入性大,中途????? 需要跟換框架則需要重構整個項目),只關注視圖層,易上手,有配套的第三方類庫。提高開發效率,幫助減少不必要的dom操作;雙向數據綁定,通過框架提供的指 令,前端只需要關注業務邏輯,不再關心dom如何渲染。
-
- JAVA技術
Java編程語言具有跨平臺、分布式、可移植等多種特性,很多平臺Java都能運行,世界各地都能夠運行Java編寫的程序。1995年,開發出了JAVA編程語言。JAVA編程語言具有多種特性,例如:簡單、安全、可移植、魯棒性(Robust)、編寫能效高、線程多等。在互聯網飛速發展的時代,Java編程語言應用也越來越普遍[19]。它的特點具有:
一、面向對象:JAVA適用于分布式環境,JAVA能夠完全面向對象,包括對象的設計及聯系;
二、分布式:JAVA工作的同時,帶動其他計算節點工作,只要有網絡,就可以訪問其他對象;
三、健壯性:JAVA能夠自動處理垃圾和異常,并且機制類型強;
四、安全性:當指針和內存被刪除時,非法的內存就可以避免。
數據庫在每個網站的開發中都是必不可少的,過去數據庫只具有數據的保存和管理功能,但隨著后來的不斷更新和迭代,目前的數據庫不僅能夠進行數據的處理,而且還能夠儲存不計其數的數據[20]。
該科研經費管理系統所使用的就是MYSQL數據庫,當初是微軟公司開發出的MYSQL數據庫。MYSQL數據庫總共建立了十幾個相對應的表,它們之間獨立聯系,數據庫和程序是密不可分的[21]。
MYSQL數據庫的特點包括:能夠應用于多種操作系統中;查詢SQL時優化了算法,搜索速度提高的不少;還可以進行數據庫的管理、控制、優化等操作;一個數據庫可以記錄不計其數的數據。數據庫就是用來存放數據的,要是以存儲方式劃分數據庫的話,我們就會發現數本次開發系統用MySQL數據庫來保存數據信息,MySQL實質是RDBMS,他的源代碼開放高,在網上隨便都能搜到,數據庫管理的語言采用SQL(結構化查詢語言)進行數據管理,下面我們就簡單介紹SQL語句的一些常用用法。通常我們要創建一個數據庫時就會使用“CREATE DATABASE ”命令開頭,使用某個數據庫時就會以“use+數據庫名稱”命令,如果想要查看數據庫里面數據表就會使用到“SHOW TABLES”命令,當然我們在操作數據表內容時也會使用到某些命令,比如刪除就用“drop”,清空就用“delete from”,更新數據就用“update”,需要加入數據的話可以用“insert into ”等命令,這些就是SQL查詢語句的慣用語法。這次采用mysql數據庫還是源于它備受關注的實用性和可靠性,它里面的大部分功能一般的系統都還用不完,況且mysql小巧但它功能比較齊全,是一般系統軟件的開發首選。MySQL開放的源代碼通過360安全瀏覽器可以快速下載下來,程序員可以對這些免費的代碼根據自身需求進行個性化定制操作。為了我們能夠更好地使用MySQL,平時我們需要多加維護,有空的時候還是多多查看一些二進制日志、錯誤日志、常規查詢日志等日志,它們能夠幫助我們進行性能分析以及DBA檢查,除了這個還需要注意每間隔一定時間就要更新緩沖區和緩存,這樣能夠降低碎片,利用OPTIMIZETABLE命令讓數據表進行重新組織,還能節省許多空間避免空間浪費。
當前比較流行的網絡化結構模式是B/S(瀏覽器/服務器)結構,它能夠在服務器上面集中系統的所有核心功能,使系統開發人員的工作變得簡單,并且開發出的系統也更容易使用和后期維護。用于比較熟悉的瀏覽器有360瀏覽器、谷歌瀏覽器、QQ瀏覽器等,用于比較熟悉的數據庫有sqlserver、mysql數據庫等,上邊這些數據庫和瀏覽器都可以安裝在客戶端上。B/S結構沒有什么限制,并且還不需要專門的安裝軟件,只要筆記本、電腦有網絡就能夠訪問系統。采用B/S結構開發的程序,比較好維護,只需要在客戶端就可處理,不需要非得在服務器上處理,并且跟用戶的交互性比較好,刷新瀏覽器就可進行數據信息的實時更新[22]。B/S架構如圖2-1所示:
該科研經費管理系統是基于Spring、SpringMVC、Mybatis框架開發出來的。
2004年,Spring 框架才第一次亮相,后面也進行了很多次的更新。Spring框架包括SpringCore、Spring AOP、Spring ORM、Spring DAO、Spring Web Flow、Spring Context和Spring Web MVC等七個模塊,企業應用程序就是通過這七個模塊氣筒不同的平臺來進行開發的,Spring Web MVC中的各個元素之間形成了松散耦合[23-25]。
本次系統開發在系統框架設計上面采用了目前主流的企業級的SSM框架,相比SSH框架來說,SSM框架在現實應用中也運用得很廣泛,SSM框架其實是Spring和Spring MVC以及MyBatis這三個部分首字母的縮寫,SSM框架在搭建許多比較大型的企業級別的系統時基本能夠勝任。Spring在2003年的時候比較流行,他是一個基于Java開發的輕量級別的開源框架,它主要能夠簡化企業在進行應用程序開發上面的復雜步驟,通常Spring在進行Java應用開發過程中大多數都是基于服務器端進行開發操作。Spring MVC能夠支持Spring的特性,讓開發變得更加簡單規范。 Spring MVC通過簡單分離控制器,分派器,模型對象還有進行程序處理對象的角色這四部分內容,使得它們變得更加容易進行定制處理。MyBatis其實是Java開發上面的持久層框架,這個框架它能夠幫助開發者進行數據信息的增加,刪除,修改,查詢的管理操作。下面將展示SSM與三層架構的關系圖。
圖2-2 SSM與三層架構的關系圖
開發者在進行開發系統之前,都需要進行可行性分析,保證該系統能夠被成功開發出來。
開發該科研經費管理系統所采用的技術是vue和MYSQL數據庫。計算機專業的學生在學校期間已經比較系統的學習了很多編程方面的知識,同時也接觸了很多編程軟件,所以在技術開發方面還是比較有信心的。
該科研經費管理系統的界面簡潔清楚,操作簡單,用戶一看就會操作。操作界面上每一步都有提示,用戶只要按照提示進行操作就可以了。該科研經費管理系統具有操作可行性。
我現在還是一名學生,還沒有一份穩定的經濟收入,所以我會將開發程序的成本控制在自己所能接受的范圍內。我所使用的開發軟件、數據庫還有設計界面用的photoshop軟件都是在網上免費下載的,另外程序編寫階段所用到的源代碼也是在網上免費得到的,現在在網上能下載很多有用的、免費的東西,所以開發該系統基本不花錢,具有經濟可行性。
?我是通過圖書館、百度文庫、百度網頁等獲得的開發該科研經費管理系統所需要用到的資料和軟件,都是采用的合法渠道,另外源代碼和論文內容都是我自己一字一字寫出來的,沒有抄襲別人的,具有法律可行性。
通過上述的技術可行性、操作可行性、經濟可行性以及法律可行性分析,可以看出,該科研經費管理系統完全可以進行順利開發。
二、易學性:該科研經費管理系統使用起來非常簡單,用戶一看就會,不需要進行專門的培訓,非常好上手,使用個一兩次就能夠熟練操作;
三、數據要求:錄入的數據準確可靠,能夠及時進行更新,可以獨立保存,刪除一些不需要的數據;
四、穩定性:該科研經費管理系統能夠穩定的運行,界面清晰明了;
五、可靠性:該科研經費管理系統安裝有攔截器,可以對病毒等進行攔截,并且還對信息進行了保護措施,用戶可以放心使用。
該科研經費管理系統主要為管理員和用戶兩類用戶角色提供需求,管理員在后臺可以對系統進行全面管理,用戶在前臺可以進行查看系統信息,注冊登錄,查詢書籍,評論,下載書籍等操作。
用戶靜態結構如圖3-1所示。
圖3-1 ?用戶靜態結構圖
該科研經費管理系統具有完善的功能,界面一目了然,用戶一看就會操作,管理員功能模塊和用戶功能模塊是該系統的兩大主要功能模塊,其功能需求具體如下:
管理員的功能需求:
管理員在后臺可以全面管理系統,管理員的功能主要包括用戶管理、新聞管理、書籍管理和評論管理等。
用戶的功能需求:
用戶在沒有注冊之前,進入網站,用戶的主要功能包括查看網站首頁、公告信息、書籍分類和書籍信息,用戶在注冊登錄后進入網站,用戶的主要功能包括書籍評論、加入書架、書籍下載、個人信息管理、我的書架和我的留言。
用戶注冊之后才可以登錄系統,用戶注冊流程如圖3-2所示:
圖3-2 ?注冊流程圖
用戶需要登錄系統之后,才可以進行書籍評論、書籍下載等操作。而管理員也只有登錄系統之后,可以對系統各個方面的內容進行管理,不受任何限制。用戶登錄流程如圖3-3所示。
圖3-3 ?登錄流程圖
本文通過B/S結構(Browser/Server,瀏覽器/服務器結構)開發的該科研經費管理系統,B/S結構的優點很多,例如:開發容易、強的共享性、便于維護等,只要有網絡,用戶可以隨時隨地進行使用。
系統工作原理如圖4-1所示。
圖4-1 系統工作原理圖
系統結構設計就像一個樹狀結構一樣,一個樹干有很多分支,大任務相當于樹干,小任務相當于樹枝,只有需求分析信息弄清楚之后,才能保證每個小任務都能實現目標,對初步設計好的系統再進行不斷優化,最終得到一個具體現實的系統結構。
管理員功能模塊和用戶功能模塊是該科研經費管理系統的兩大部分,系統結構如圖4-2所示。
圖4-2 系統結構圖
開發一個系統也需要提前設計數據庫。這里的數據庫是相關數據的集合,存儲在一起的這些數據也是按照一定的組織方式進行的。目前,數據庫能夠服務于多種應用程序,則是源于它存儲方式最佳,具備數據冗余率低的優勢。雖然數據庫為程序提供信息存儲服務,但它與程序之間也可以保持較高的獨立性。總而言之,數據庫經歷了很長一段時間的發展,從最初的不為人知,到現在的人盡皆知,其相關技術也越發成熟,同時也擁有著堅實的理論基礎。
4.3.1 數據庫概念設計
這部分內容需要借助數據庫關系圖來完成,也需要使用專門繪制數據庫關系圖的工具,比如Visio工具就可以設計E-R圖(數據庫關系圖)。設計數據庫,也需要按照設計的流程進行,首先還是要根據需求完成實體的確定,分析實體具有的特征,還有對實體間的關聯關系進行確定。最后才是使用E-R模型的表示方法,繪制本系統的E-R圖。不管是使用億圖軟件,還是Visio工具,對于E-R模型的表示符號都一樣,通常矩形代表實體,實體間存在的關系用菱形符號表示,實體的屬性也就是實體的特征用符號橢圓表示。最后使用直線將矩形,菱形和橢圓等符號連接起來。接下來就開始對本系統的E-R圖進行繪制。
(1)下圖是用戶實體和其具備的屬性。
圖4.1 用戶實體屬性圖
(2)下圖是商品信息實體和其具備的屬性。
圖4.2 商品信息實體屬性圖
(3)下圖是公告信息實體和其具備的屬性。
圖4.3 公告信息實體屬性圖
(4)下圖是字典表實體和其具備的屬性。
(5)下圖是留言版實體和其具備的屬性。
圖4.5 留言版實體屬性圖
(6)下圖是購物車實體和其具備的屬性。
圖4.6 購物車實體屬性圖
(7)下圖是經費申請審核實體和其具備的屬性。
圖4.7 經費申請審核實體屬性圖
(8)下圖是科研項目實體和其具備的屬性。
圖4.8 科研項目實體屬性圖
(9)下圖是商品評價實體和其具備的屬性。
圖4.9 商品評價實體屬性圖
(10)下圖是商品訂單實體和其具備的屬性。
圖4.10 商品訂單實體屬性圖
(11)下圖是用戶表實體和其具備的屬性。
(12)下圖是收貨地址實體和其具備的屬性。
圖4.12 收貨地址實體屬性圖
-
-
- 數據庫表設計
-
采用MYSQL數據庫對該科研經費管理系統的數據進行存儲,數據庫中所包括的各個數據庫表的詳細信息如下所示:
表4.1字典表表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 編碼 | 是 |
5 | index_name | String | 編碼名字 | 是 |
6 | super_id | Integer | 父字段id | 是 |
7 | beizhu | String | 備注 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.2經費申請審核表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | keyanxiangmu_id | Integer | 科研 | 是 |
3 | yonghu_id | Integer | 用戶 | 是 |
4 | jingfeishenqing_shuliang | BigDecimal | 申請經費數量 | 是 |
5 | shenqingyuanyin_text | String | 申請原因 | 是 |
6 | jingfeishenqing_yesno_types | Integer | 審核結果 | 是 |
7 | shenheyijian_text | String | 審核意見 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.3科研項目表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | keyanxiangmu_uuid_number | String | 科研編號 | 是 |
3 | keyanxiangmu_name | String | 科研名稱 | 是 |
4 | keyanxiangmu_types | Integer | 科研類型 | 是 |
5 | keyanxiangmu_yusuan | BigDecimal | 科研預算 | 是 |
6 | keyanxiangmu_file | String | 附件 | 是 |
7 | insert_time | Date | 開始時間 | 是 |
8 | yonghu_id | Integer | 用戶 | 是 |
9 | keyanxiangmu_yesno_types | Integer | 審核結果 | 是 |
10 | shenheyijian_text | String | 審核意見 | 是 |
11 | keyanxiangmu_content | String | 資料詳情 | 是 |
12 | keyanxiangmu_delete | Integer | 假刪 | 是 |
13 | create_time | Date | 創建時間 | 是 |
表4.4留言版表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 用戶 | 是 |
3 | liuyan_name | String | 留言標題 | 是 |
4 | liuyan_text | String | 留言內容 | 是 |
5 | reply_text | String | 回復內容 | 是 |
6 | insert_time | Date | 留言時間 | 是 |
7 | update_time | Date | 回復時間 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.5公告信息表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | news_name | String | 公告信息標題 | 是 |
3 | news_types | Integer | 公告信息類型 | 是 |
4 | news_photo | String | 公告信息圖片 | 是 |
5 | insert_time | Date | 公告信息時間 | 是 |
6 | news_content | String | 公告信息詳情 | 是 |
7 | news_delete | Integer | 假刪 | 是 |
8 | create_time | Date | 創建時間 | 是 |
表4.6用戶表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | yonghu_name | String | 用戶姓名 | 是 |
3 | yonghu_id_number | String | 身份證號 | 是 |
4 | yonghu_phone | String | 手機號 | 是 |
5 | yonghu_photo | String | 照片 | 是 |
6 | yonghu_delete | Integer | 假刪 | 是 |
7 | create_time | Date | 創建時間 | 是 |
表4.7用戶表表
序號 | 列名 | 數據類型 | 說明 | 允許空 |
1 | Id | Int | id | 否 |
2 | username | String | 用戶名 | 是 |
3 | password | String | 密碼 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增時間 | 是 |
源碼獲取