基于uml的教務管理系統的分析與設計_第1頁
基于uml的教務管理系統的分析與設計_第2頁
基于uml的教務管理系統的分析與設計_第3頁
基于uml的教務管理系統的分析與設計_第4頁
基于uml的教務管理系統的分析與設計_第5頁
已閱讀5頁,還剩52頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、本科畢業論文本科畢業論文( (設計設計) ) 基于基于 UMLUML 的教務管理系統的分析與設計的教務管理系統的分析與設計 二級學院二級學院醫藥信息工程學院醫藥信息工程學院 專專 業業 信息系統與信息管理(醫藥信息系統與信息管理(醫藥 軟件工程方向)軟件工程方向) 班班 級級20062006 級級 學生姓名學生姓名 XXXXXXXX 學學 號號 指導教師指導教師 XXXXXXXX 2010 年 4 月 誠誠 信信 聲聲 明明 我聲明,所呈交的畢業論文(設計)是本人在老師指導下進行的研究工作 及取得的研究成果。據我查證,除了文中特別加以標注和致謝的地方外, 論文(設計)中不包含其他人已經發表或撰

2、寫過的研究成果,也不包含為 獲得其他教育機構的學位或證書而使用過的材料。我承諾,論文(設計) 中的所有內容均真實、可信。 畢業論文(設計)作者(簽名): 年 月 日 基于基于 UMLUML 的教務管理系統的分析與設計的教務管理系統的分析與設計 【摘要摘要】 隨著計算機技術和信息技術的快速發展,教務管理系統已經廣 泛運用于學校教務管理中,成為學校信息系統重要組成部分,是學校管理信息 化的基礎建設工程之一。但教務管理這個涉及到復雜、瑣碎、操作頻繁的工作, 僅僅靠傳統的手工管理已不適應當前科研迅速發展的要求,走教務管理系統化、 網絡化、現代化的管理之路已是必然。 本論文根據現今流行的教務管理網分析教

3、務管理系統的基本元素,把各項 要素匯總并轉化為用例圖編寫在需求分析中;通過需求分析,構建一個基于 UML 的總體架構,同時設計數據庫的各個表結構;根據以上內容進行系統的詳 細設計,定義各個類及其方法的使用規則。該教務系統主要采用.NET 技術、數 據庫技術和 UML 建模思想,采用了 VS.NET2005 開發平臺和 SQL SERVER 2005 數據庫,并以 IIS 作為服務器。本系統分為管理員、教師、學生三種用戶 角色,主要涉及教務資源的管理、查詢、排課選課、成績打印等業務。采用了 UML 建模思想和方法是該系統的一大特色,大大提高了系統開發的效率和質量, 且該系統簡小易操作,可大大提高

4、教務管理的水平。 【關鍵詞關鍵詞】教務系統;UML;VS.NET;SQL SERVER2005 The Design and Analysis of Educational Management System Based on UML Abstract With the quick development of the computer technology and information technology, the educational management system has been used widely in the educatianal management. The e

5、ducational management system is an important part of School Information System in the school information infrastructures.But the educational management is involve to the complex,trival work with Operates frequently . Only depending on the traditional and manual management is not adapt to the fast de

6、velopment demand of current scientific research. It is a inevitable road for the educational management system to become systematization , networking and modernization . It analyed the fashionable educational management system basic element.I collected the elements to take it to the use case diagram

7、 ,and write down to the requirement analyzing.Building a educational management system model,and designing the database table. Basing on that,I design the detail project. This system mainly uses the .net technique, the data bank technology and the UML modelling thought,basing on the development plat

8、form of VS.NET ,SQL SERVER and IIS. There are three user roles in the system, who are admin, teacher and student. The main business of this system are about educational resources management, inquiry , printing and so on . Has used the UML modelling thought and the method is this systems A big lumine

9、scent spot and Raised the system development efficiency and the quality greatly .This system is easy to operate, It can enhance the school manage standard and efficiency greatly. Keywords Educational Management System UML VS.NET SQL SERVER2005 目錄目錄 1前言前言.1 2緒論緒論.2 2.12.1 系統開發背景系統開發背景 .2 2 2.1.1國內外現狀

10、和發展趨勢.2 2.1.2系統開發目的與意義.3 2.22.2 開發工具開發工具 .3 3 3系統需求分析系統需求分析.4 3.13.1 用戶用戶 .4 4 3.23.2 系統功能系統功能 .4 4 3.33.3 需求用例圖需求用例圖 .4 4 4詳細分析和設計詳細分析和設計.7 4.14.1 靜態模型設計靜態模型設計 .7 7 4.24.2 定義對象類定義對象類 .7 7 4.2.1建立數據庫模型.8 4.2.2建立包圖.10 4.34.3 動態行為模型動態行為模型 .1212 4.3.1順序圖.12 4.3.2協作圖.14 4.3.3狀態機圖.16 4.3.4活動圖.17 4.44.4 物

11、理模型物理模型 .1818 4.4.1配置圖.18 5系統的頁面設計和代碼實現系統的頁面設計和代碼實現.21 5.15.1 公共類公共類 .2121 5.25.2 登陸界面登陸界面 .2222 5.35.3 教務前臺學生管理界面教務前臺學生管理界面 .2323 5.3.1導航界面.23 5.3.2個人信息界面.25 5.3.3密碼修改頁面.25 5.3.4課程信息查詢頁面.26 5.3.5選課信息頁面.27 5.3.6成績查詢頁面.30 5.45.4 教務后臺管理典型頁面教務后臺管理典型頁面 .3232 5.4.1導航界面.32 5.4.2增加學生界面.33 5.4.3課程管理界面.34 5.

12、4.4成績管理界面.36 6系統測試系統測試.41 6.16.1 測試目的測試目的 .4141 6.26.2 測試工程測試工程 .4141 6.2.1單元測試.41 6.2.2集成測試.42 6.2.3系統測試.42 6.2.4運行階段測試.42 6.36.3 各個工程階段的復核各個工程階段的復核 .4343 6.46.4 測試方法測試方法 .4343 6.56.5 測試舉例測試舉例 .4343 7結束語結束語.45 參考文獻參考文獻.46 致謝致謝.47 1 1前言前言 目前比較常見的教務系統模式有兩種:C/S 和 B/S,其中B/S 是 Browser/Server 指瀏覽器和服務器端,在

13、客戶機端不用安裝專門的軟件,只要一 個瀏覽器即可(瘦客戶端) ;C/S 是 Client/Server 指客戶機和服務器,在客戶機 端必須裝客戶端軟件及相應環境后,才能訪問服務器(胖客戶端) ,兩種模式各 有千秋。但 B/S 最大的優點是客戶端不用維護,用戶群龐大,這更能滿足信息 高速發展的應用需求。 近年來,隨著計算機網絡技術的發展與普及,軟件系統的需求量越來越多, 而且越趨復雜多樣,如何更好的開發軟件,做好軟件工程管理越來越受到軟件 行業的青睞,應運而生的 UML 順理成章成了焦點中的焦點。UML 作為一種模 型語言,它使開發人員專注于建立產品的模型和結構,而不是選用什么程序語 言和算法實

14、現。大大提高了開發人員的開發效率和軟件的質量。 統一建模語言(UML 是 Unified Modeling Language 的縮寫)是用來對軟件 密集系統進行可視化建模的一種語言,雖然其中某些概念尚待實踐來驗證,但 UML 也必然存在一個進化過程,它顯示出來的強大的生命力,將在軟件工程上 發揮舉足輕重的作用5?;?UML 開發的教務管理系統將能降低開發風險和成 本,也更能滿足用戶的需求,實現開發者和使用者的雙贏。 2 2緒論緒論 2.12.1 系統開發背景系統開發背景 2.1.1 國內外現狀和發展趨勢國內外現狀和發展趨勢 隨著高校改革的深入,招生規模、教職工隊伍、校園面積不斷擴大,一所學校

15、 有幾個校區,系部、學院而且所處分散,學生信息管理、教學評估管理等都極不方 便,而且數據繁瑣,一致性低,不便于統計和維護。必須發揮計算機軟件系統 的優勢,以適應形勢發展的需要。 開發軟件系統需要一定的方法和技術,傳統的結構化開發方法存如下問題: 1.軟件重用性差。2.軟件可維護性差。3.開發出的軟件不能滿足用戶需要。用這 種方法設計出來的系統結構常常是不穩定的 ,用戶需求的變化往往造成系統結 構的較大變化,從而需要花費很大代價才能實現這種變化。 應運而生的面向對象(Object Oriented, OO)是當前計算機界關心的重點,它 是 90 年代后軟件開發方法的主流。因此向對象設計有模塊化、

16、抽象、信息隱藏、 低耦合、高內聚等準則使它的概念和應用已超越了程序設計和軟件開發,擴展 到很寬的范圍。如數據庫系統、交互式界面、應用結構、應用平臺、分布式系 統、網絡管理結構、CAD 技術、人工智能等領域。 統一建模語言 UML 是面向對象軟件開發方法的重要技術。它是一種定義 良好、功能強大、普遍適用的建模語言。它溶入了軟件工程領域的新思想、新 方法和新技術2。 標準建模語言 UML 的主要特點可以歸結為三點: (1) UML 統一了面向對象的 Booch、OMT 和 OOSE 等方法中的基本概 念。 (2) UML 還吸取了面向對象技術領域中其他流派的長處,其中也包括非 OO 方法的影響。

17、(3)UML 在演變過程中還提出了一些新的概念。 因此可以認為,UML 是一種先進實用的標準建模語言,雖然其中某些概 念尚待實踐來驗證,但 UML 也必然存在一個進化過程,它顯示出來的強大的 生命力,將在軟件工程上發揮舉足輕重的作用。基于 UML 開發的教務管理系 統將能降低開發風險和成本,也更能滿足用戶的需求,實現開發者和使用者的 雙贏。 2.1.2系統開發目的與意義系統開發目的與意義 教務管理系統是一個面向學校教務管理人員、教師和學生并為其提供服務 的綜合管理系,包括學生信息管理、選課排課管理、教學資源管理和教學計劃 管理等,其是一項復雜、瑣碎、操作頻繁的工作,僅僅靠傳統的手工管理已不 適

18、應當前科研技術迅速發展的要求。那么,走教務管理系統化、網絡化、現代 化的管理之路已是必然。 UML 作為一種模型語言,它使開發人員專注于建立產品的模型和結構,而 不是選用什么程序語言和算法實現5。大大提高了開發人員的開發效率和提高 系統質量。 統一建模語言(UML 是 Unified Modeling Language 的縮寫)是用來對軟件 密集系統進行可視化建模的一種語言。UML 是在開發階段說明、構建和書寫一 個面向對象軟件密集系統的制品的開放方法,可以貫穿軟件開發周期中的每一 個階段,特別適用于數據建模,業務建模,對象建模,組件建模2?;?UML 的教務管理系統,在開發上方便了開發人員

19、開發工作和維護工作,在運行上, 實現了教務管理人員、學生、老師等的網上管理數據功能,保證了數據的一致 性、減少了重復繁雜的勞動,使教務管理工作邁上了新的臺階。 2.22.2開發工具開發工具 開發平臺: 數據庫:sql server 建模工具:rational rose 服務器組件:iis 運行環境:普通的 PC 機,瀏覽器即可 3 3系統需求分析系統需求分析 3.1 用戶用戶 經過分析和調研,本系統的用戶主要有學校教務管理人員、教師和廣大學 生。 3.2 系統功能系統功能 標號模塊功能 H1學生管理實現學生的查詢、添加、刪除和編輯 H2教師管理實現教師的查詢、添加、刪除和編輯 H3班級管理實現

20、班級的查詢、添加、刪除和編輯 H4課程管理 實現必修和選修課程的查詢、添加、刪除、編 輯以及課程分配 H5選課管理查詢學生選課信息和退選選課學生 H6成績管理實現成績的查詢、統計、添加、編輯和打印 H7最新資訊發布新資訊和瀏覽資訊 H8個人信息修改密碼 Q1最新資訊瀏覽資訊 Q2課程信息瀏覽課程 Q3選課信息瀏覽選課信息、查看選課情況、注冊選課 Q4成績查詢 按學年和按課程類型查詢,顯示各科成績并統 計出各不同課程類型的中成績 Q5個人信息個人信息的查詢和密碼維護 3.3需求用例圖需求用例圖 模型中的活動者代表外部與系統交互的單元,包括學生、教師、教務管理 人員;業務用例框圖是對系統需求的描述

21、,表達了系統的功能和所提供的服務2。 系統的主要用例圖如下: 圖 3-1 教務系統主要關聯的 use case 圖 圖 3-2 課程管理的 use case 圖 圖 3-3 成績管理的 use case 圖 圖 3-4 選課管理的 use case 圖 圖 3-5 管理員權限 use case 圖 圖 3-6 教師權限 use case 圖 圖 3-7 學生權限 use case 圖 4 4詳細分析和設計詳細分析和設計 4.1 靜態模型設計靜態模型設計 靜態邏輯模型描述實例化(類成員關系) 、關聯、聚集(整體/部分) 、和一 般化(繼承)等關系。這被稱為對象模型。一般化關系表示屬性和方法的繼承

22、 關系。定義對象模型的圖形符號體系通常是從用于數據建模的實體關系圖導出 的。對設計十分重要的約束,如基數(一對一、一對多、多對多) ,也在對象模 型中表示7。 4.2 定義對象類定義對象類 首先從研究 Use Case 中發現對象類,確定類的屬性和主要操作。 對于系 統可以抽象出以下一些主要的對象類: (1)在人事信息管理方面有“學生”類、 “教師”類和“管理員”類。 (2)在業務處理方面有“課程”類、 “開設課程”類、 “學生登記”類、 “課程登記” 類、 “學生成績統計類” 、 “成績統計類” 、 “資訊類”等。 系統的主要類圖如下: 圖 4-1 成績管理對象類 圖 4-2 課程管理對象類

23、 圖 4-3 人事管理對象類 4.2.1建立數據庫模型建立數據庫模型 本教務系統采用關系數據庫系統存儲和管理數據,在分析和設計系統的靜 態結構模型時需要進行數據分析和數據庫設計。 (1)系統有 6 個方面的數據需要管理: 人員數據(學生、教師) 班級數據 課程數據 選課注冊數據 學生成績數據 最新資訊數據 (2)經過分析,系統至少應有 8 個數據庫表: 學生表、教師表、班級表、課程表、開設課程表、任課表、用戶表、資訊 表。這些基本表定義為: 學生(學號、姓名、性別、民族、出生日期、入學時間、專業、生源、備 注) 教師(教號、姓名、職稱、所屬院系) 課程(課號、課程名、學時、學分、課程類型、備注

24、) 開設課程(編號、學號、課程號、成績、學期) 任課表(編號、教號、課號、班級、學期) 班級(班號、院系、學院、班主任、班級名) 用戶表(用戶號、密碼、權限) 資訊表(編號、題目、發布時間、出處、內容) 對上述的基本表需要進行關系規范化,設計觸發器、存儲過程等,數據庫 模式通常用實體關系模型(ERD)表示,下面是數據庫的 E-R 圖: 資訊 班級 任課開設課程 課程教師 學生 用戶 插入 注冊選課 查詢 插入 發布查詢 屬于 對應 任教管理 查詢設置 分配 查詢管理 * 1 1 * * 1 1.* 1.3 * * * * * * * 1 * * 圖 4-4 系統數據庫 E-R 圖 學號 姓名

25、性別 民族 出生日 期 學生 生源 入學時 間 班級 備注 圖 4-6 數據表間的關系 4.2.2建立包圖建立包圖 對于一個大型的復雜的系統,常需要把大量的模型元素用包組織起來,以 方便理解和處理。 本系統雖然不算大,但也可以把系統的對象類組織成包,以便更清楚地了 解系統的結構。 包圖表示的是系統的靜態結構,但是建立包圖應當同時考慮系 統的動態行為。 本系統的包圖,如圖“教務系統的包圖”所示,一共有 5 個包: “教學管理”包、 “用戶接口”包、 “數據庫”包、 “MFC 類”包、 “出錯處理”包。 圖 4-5 學生實體 E-R 圖 圖 4-6 教務系統包圖 (1)在“用戶接口”包中包含了全部

26、接口對象類:“課程信息管理表單”、 “查 詢課程表單”、 “查詢成績表單”、 “選課注冊表單”、 “開設課程表單”、 “選課統計表單” 、 “成績信息管理表單”、 “成績統計表單”、 “注冊表單”等。 “教學管理”包中包含了為實現教學管理業務領域任務的全部對象類。 (2)在“數據庫”包中包含了實現數據庫服務功能的全部對象類。 (3)在“MFC 類”包中包含了支持系統的動態連接庫的必要的庫函數對象 類。 (4)在“出錯處理”包中包含了實現數據庫服務功能的全部對象類。 教務管理系統由兩個子系統組成: (1)教務后臺管理子系統,負責教學資源的配置、規劃和查詢等管理工作。 (2)教務前臺學生子系統,負

27、責學生的教學信息、個人信息成績等的查詢 和選課等工作。 其包圖和各子系統的包圖如圖 4-7: 圖 4-7 教務系統與子系統的包圖 圖 4-8 教務后臺管理包圖 圖 4-9 教務前臺學生包圖 4.3 動態行為模型動態行為模型 類和對象的識別包括找出問題空間中關鍵的抽象和產生動態行為的重要機 制。開發人員可以通過研究問題域的術語發現關鍵的抽象。語義的識別主要是 建立前一階段識別出的類和對象的含義。開發人員確定類的行為(即方法)和 類及對象之間的互相作用(即行為的規范描述) 。該階段利用狀態轉移圖描述對 象的狀態的模型,利用時態圖(系統中的時態約束)和對象圖(對象之間的互 相作用)描述行為模型。 系

28、統的動態行為模型有交互圖(順序圖和協作圖) 、狀態機圖和活動圖表達。 在系統的分析和設計中應當對主要的 use case 和對象類繪制這些圖形,以便分 析系統的行為,印證和修改系統的靜態結構,滿足用戶的需求,達到系統的目 的12。 4.3.1順序圖順序圖 為了繪制順序圖,首先要對一個 Use Case 編寫交互活動的劇本,然后確定 參與交互的活動者和對象,確定交互事件。 圖 4-10 學生選課順序圖 例:學生選課順序圖,如圖“學生選課順序圖”所示。 其中的交互事件如下: 1登錄 學生登錄基于 UML 教務管理系統進行選課活動。學生發出登錄消息,輸 入用戶號、密碼和角色。 2驗證 “用戶表單”接

29、口對象響應登錄消息,檢查用戶號、密碼和角色。如果正 確無誤,則可以進行下一步交互;否則提示用戶重新輸入用戶號、密碼和角色, 進行新一輪的身份驗證。 3查詢 學生發出要求查詢已有的課程消息, “課程”接口對象響應該消息,按照輸 入的查詢條件從數據庫中找出相關的課程,在屏幕上顯示。 4選課 根據已查詢到的課程信息,選擇自己要選的課程,并輸入相關消息 。 5增加 “課程”接口對象發出選課消息, “開設課程”對象響應消息,并在開設課 程表中增加選課的學生。 6取消 不對前面的選課進行任何的操作。 7提交 在完成了課程設置操作后,學生發出請求提交的消息,進行存儲選課的操 作。 “課程”接口對象響應請求。

30、 8存儲 “課程”接口對象發出“存儲消息” , “開設課程”對象響應消息,進行數 據庫操作,把選課的結果數據真正存入數據庫。 9退出 學生發出退出系統的消息, “用戶表單”接口對象響應請求,關閉系統。 同樣可以繪制教師添加成績順序圖和管理員打印成績順序圖,如下圖所示: 圖 4-11 教師添加成績順序圖 圖 4-12 管理員打印成績順序圖 4.3.2 協作圖協作圖 協作圖和順序圖相似,兩類圖所表達的是同一種信息,可以將序列圖轉換 為協作圖,反之也然。但兩者是有區別的,順序圖強調的是交互的時間序列, 協作圖強調的是交互的語境和參與交互的對象的整體組織2。 協同圖用于描述系統的行為是如何由系統的成分

31、實現的。對于基于 UML 教務管理系統也需要繪制主要的 Use Case 的協同圖,以深入了解和表示系統的 行為和各個對象的作用。 下圖描述的是上述順序圖對應的協作圖。 圖 4-13 學生選課協作圖 圖 4-14 教師添加成績協作圖 圖 4-15 管理員打印成績協作圖 4.3.3 狀態機圖狀態機圖 狀態機圖表現一個對象(類)的生命史。對于一些實現重要行為動作的對 象應當繪制狀態機圖。 繪制狀態機圖需要確定一個對象的生命期可能出現的全 部狀態,哪些事件將引起狀態的轉移,將會發生哪些動作。 例如,對于教務管理系統中的一個學生選課注冊的“學生登記”對象,可能 有的狀態如下: 1 “初始化”狀態 “學

32、生登記”對象一旦被創建就進入“初始化”狀態。在本狀態的動作時 初始化課程登記和設置初始化參數,即課程數 count=0。 2 “增加課程”狀態 當在對象的“初始化”狀態或“增加課程”狀態時發生了“增加課程”事 件,而且滿足條件“count4” ,則轉移到本狀態。 本狀態的動作是增加學生所選修的課程信息并對學生的選課計數加 1。本 狀態的入口點為“記錄課程信息”動作,即把學生所選的課程加入到開設課程 表中去;出口點為選課計數加 1 動作:“count=count+1”根據系統業務需求規 定的業務規則,一個學生最多只能選修 4 門課程,因此發生轉移到本狀態的保 安條件為“count4” 。 3 “

33、減少課程”狀態 “學生登記”對象一旦被創建就進入“初始化”狀態。在本狀態的動作時 初始化課程登記和設置初始化參數,即課程數 count=0。 4 “取消”狀態 對象的“取消”狀態的動作 主要是撤銷剛才發生的動作的效果,并結束本 對象的運行。當在對象的“初始化”狀態、 “增加課程”狀態或“減少課程”狀 態發生了“取消”事件,則轉移到本狀態。 本狀態的動作時給出撤銷動作的提示信息和結束本對象運行的提示信息, 并轉移到狀態機圖的出口。 5 “關閉”狀態 當在本狀態的“增加課程”狀態或“減少課程”狀態發生了“關閉”事件 時,轉移到本狀態。本狀態的動作是存儲已變更的數據,結束本對象的運行, 直接轉移到狀

34、態機圖的出口。 學生的選課登記狀態機圖如圖 4-16 所示: 圖 4-16 選課學生登記狀態機圖 同樣地,選課課程登記狀態機圖如圖 4-17 所示: 圖 4-17 選課登記狀態機圖 4.3.4 活動圖活動圖 活動圖的主要作用是表示系統的業務工作流和并發處理過程,類似于流程 圖。對于一個系統可以針對主要的業務工作流繪制活動圖。 繪制活動圖需要確 定參與活動的對象、動作狀態、動作流,以及對象流。 對本系統的設置開設課程的活動可以繪制活動圖,如圖 4-18 所示: 圖 4-18 設置開設課程活動圖 其中,參與活動的對象有“用戶表單”接口對象、 “開設課程表單”接口對象、 “課程”對象、 “開設課程”

35、對象等。 其中,動作狀態有“登錄”、 “新開課程”、 “取課程信息”、 “增加/刪除課程”等。 同樣地,學生選課活動圖如圖 4-19 所示: 圖 4-19 學生選課活動圖 4.4 物理模型物理模型 4.4.1配置圖配置圖 配置圖由節點和節點之間的聯系構成,用于表示一個分布式系統的運行系 統的結構。節點是存在于運行期間的系統的物理元素,節點代表計算機資源, 通常為處理器或其他硬件設備,系統的組件可以配置在節點上。經過開發得到 的軟件系統的組件和重用模塊,必須配置在某些硬件上予以執行。因此,一個 系統包括了軟件和硬件兩方面2。 基于 UML 的教務管理系統是一個基于局部網絡(校園網)和數據庫的應

36、用系統,因此有必要進行系統的配置,建立配置圖。 本系統的各個部分可以配 置在不同的節點上,通過網絡相互通信。如下面圖 4-22: 圖 4-22 系統配置圖 該系統配置圖把數據庫服務器、應用服務器、教務后臺管理和教務前臺學 生管理的相應組件配置在不同的節點上。應用服務器與數據庫服務器通訊,數 據庫服務器向應用服務器提供數據服務。教務后臺管理與教務前臺學生管理與 應用服務器,應用服務器向用戶提供教務管理的應用服務。教務后臺管理和教 務前臺學生管理節點具體完成后臺管理和前臺應用的服務操作,它們不直接與 數據接打交道,而是通過應用服務器請求訪問數據庫。 基于 UML 的教務管理系統是一個 b/s 結構

37、的分布式系統,但主要是基于校 園的局域網,所以也可以繪制如圖 4-23: 圖 4-23 系統 b/s 結構配置圖 本系統的核心教務管理軟件和數據庫放置在學校的中心計算機上,用戶接 口端只要通過瀏覽器,如圖書館、專業系、學生宿舍和其他校園網點的計算機 通過瀏覽器(brower)即可訪問應用。 5 5系統的頁面設計和代碼實現系統的頁面設計和代碼實現 5.1 公共公共類類 public static SqlConnection sqlConn() string Connection = Server=.SQLEXPRESS;InitialCatalog=ST_StuManager;Trusted_C

38、onnection=true; SqlConnection myConnection = new SqlConnection(Connection); return myConnection; public static DataSet Show(string str) SqlConnection ST_Conn = sqlConn(); ST_Conn.Open(); SqlDataAdapter sda = new SqlDataAdapter(str, ST_Conn); DataSet ds = new DataSet(); sda.Fill(ds); return ds; publi

39、c static DataSet ShowAll(string SProcedure, string select1, string str1) SqlConnection ST_Conn = sqlConn(); ST_Conn.Open(); SqlDataAdapter sda = new SqlDataAdapter(SProcedure, ST_Conn); sda.SelectCommand.CommandType = CommandType.StoredProcedure; SqlParameter ST_Student_id = new SqlParameter(str1, S

40、qlDbType.VarChar, 50); ST_Student_id.Value = select1.Trim(); sda.SelectCommand.Parameters.Add(ST_Student_id); DataSet ds = new DataSet(); sda.Fill(ds); return ds; public static DataSet ShowAll2(string SProcedure2, string select2, string str2) SqlConnection ST_Conn = sqlConn(); ST_Conn.Open(); SqlDat

41、aAdapter sda = new SqlDataAdapter(SProcedure2, ST_Conn); sda.SelectCommand.CommandType = CommandType.StoredProcedure; SqlParameter ST_Student_name = new SqlParameter(str2, SqlDbType.VarChar, 50); ST_Student_name.Value = select2.Trim(); sda.SelectCommand.Parameters.Add(ST_Student_name); DataSet ds =

42、new DataSet(); sda.Fill(ds); return ds; 5.2 登陸界面登陸界面 用戶在使用該系統前要先登錄,輸入正確的用戶號、密碼和選擇正確的角 色,經過與用戶表的驗證無誤后才能進入相應的系統,并將登陸的用戶號和角 色分別賦值到 Session“User_id和 SessionUser_power中,否則中予進入使用該 系統。界面如圖 5-1 所示: 圖 5-1 登陸界面圖 實現代碼為: if (tbx_id.Text != st_conn.Open(); /連接數據庫 判斷用戶輸入的用戶名,密碼和選擇的角色是否正確 string st_sqlstr = select

43、 * from ST_users where ST_User_id= + tbx_id.Text + and ST_User_password= + tbx_pwd.Text + and ST_User_power = + ddl_power.Text + ; SqlCommand st_comm = new SqlCommand(st_sqlstr, st_conn); SqlDataReader st_dreader = st_comm.ExecuteReader(); if (st_dreader.Read() /下兩句用 Session 對象儲存用戶名和角色以備后用,不要可刪除 Ses

44、sionUser_id = st_dreaderST_User_id; SessionUser_power = st_dreaderST_User_power; /判斷用戶身份跳轉到不同頁面 if (ddl_power.SelectedValue = 1) SessionID = tbx_id.Text.Trim(); Response.Redirect(a_student.aspx); else if (ddl_power.SelectedValue = 0) SessionID = tbx_id.Text.Trim(); Response.Redirect(/stu_query.aspx)

45、; else if (ddl_power.SelectedValue = 2) SessionID = tbx_id.Text.Trim(); Response.Redirect(/a_student.aspx); st_conn.Close(); else /彈出用戶,密碼錯誤提示 Response.Write(alert(用戶名、密碼或角色錯誤);location.href = login.aspx;); return; else /彈出用戶密碼為空提示 Response.Write(alert(用戶名和密碼不得為空);location.href = default.aspx;); ret

46、urn; 5.3 教務前臺學生管理界面教務前臺學生管理界面 5.3.1 導航界面導航界面 學生用戶在使用該導航可以輕松找到自己的目標頁面,實現導航用到了 treeview 控件、siteMapDateSourse 控件、siteMap 站點地圖等,方便瀏覽,也為 日后系統二次開發導航的便捷實現提供服務。界面如圖 5-2 所示: 圖 5-2 導航界面 實現代碼如下: 在 web.config 中聲明 在 stu_nav.sitemap 中 5.3.2 個人信息個人信息界面界面 在該頁面上顯示的是登陸用戶的基本信息。界面如圖 5-3 所示: 圖 5-3 個人信息界面 主要實現代碼如下: strin

47、g st_sqlstr = select * from ST_student where ST_Student_id=id; SqlCommand st_comm = new SqlCommand(st_sqlstr, st_conn); st_comm.Parameters.Add(new SqlParameter(id, SqlDbType.VarChar, 50); st_comm.Parametersid.Value = Sessionuser_id.ToString(); st_conn.Open(); SqlDataReader st_dr = st_comm.ExecuteRea

48、der(); rp_infor.DataSource = st_dr; rp_infor.DataBind(); st_conn.Close(); 5.3.3 密碼修改頁面密碼修改頁面 該頁面主要是提供用戶修改自己的密碼,但是不能修改用戶名,用戶名是學 校統一分配的,不予修改,而且在修改過程中還輸入舊密碼進行確認,界面如 圖 5-4 所示: 圖 5-4 密碼修改界面 主要實現代碼如下: protected void tbx_modify_Click(object sender, EventArgs e) SqlConnection st_conn=DBUtil.sqlConn (); st_c

49、onn.Open(); string st_sqlstr = update ST_users set ST_User_password= + tbx_newPwd.Text + where ST_User_id= + SessionUser_id.ToString() + ; string st_sqlstr1 = select ST_User_password from ST_users where ST_User_id= + SessionUser_id.ToString() + ; SqlCommand st_comm1 = new SqlCommand(st_sqlstr1, st_c

50、onn); SqlDataReader st_dreader1 = st_comm1.ExecuteReader(); if (st_dreader1.Read() string a = st_dreader1ST_User_password.ToString(); st_conn.Close(); st_conn.Open(); SqlCommand st_comm = new SqlCommand(st_sqlstr, st_conn); Response.Write(a); if (tbx_pwd.Text = a) try st_comm.ExecuteNonQuery(); Resp

51、onse.Write(alert(修改成功!); catch (SqlException) Response.Write(alert(修改失敗); else Response.Write(alert(請輸入正確的原密碼!); st_conn.Close(); 5.3.4 課程信息查詢頁面課程信息查詢頁面 課程查詢有兩種方式,一種是按課程號查詢,一種是按課程名查詢,如圖 5-5 所示: 圖 5-5 課程查詢頁面 主要實現代碼: protected void btn_search_Click(object sender, EventArgs e) if (tbx_id.Text.Trim() =

52、else if (tbx_id.Text.Trim() != ) gv_cour.DataSource = DBUtil.ShowAll(course_select1, tbx_id.Text.Trim(), course_id); gv_cour.DataBind(); DBUtil.sqlConn().Close(); else gv_cour.DataSource = DBUtil.ShowAll(course_select2, tbx_name.Text.Trim(), course_name); gv_cour.DataBind(); DBUtil.sqlConn().Close()

53、; 5.3.5 選課信息頁面選課信息頁面 選課流程是選查看了當年的選修課的內容,然后根據課程名,選擇任課老 師和學年。可以通過“查看選課情況查”看有多少人選修了這門課程,最后決 定是否選課,其界面如圖 5-6 所示: 圖 5-6 選課信息頁面 主要實現代碼如下: protected void tbn_search_Click(object sender, EventArgs e) if (ddl_courName.SelectedItem.Text = ) if (tbx_teaName.Text = ) st_sqlstr = select ST_course.ST_Course_name,

54、ST_course.ST_Course_id,ST_teacher.ST_Teacher_name,ST_course.S T_Course_credit,ST_course.ST_Course_period from ST_course,ST_teacher,ST_teacher_course where ST_teacher_course.ST_Course_year= + ddl_tearn.SelectedItem.Text + and ST_teacher_course.ST_Course_id=ST_course.ST_Course_id and ST_teacher_course

55、.ST_Teacher_id=ST_teacher.ST_Teacher_id; else st_sqlstr = select ST_course.ST_Course_name,ST_course.ST_Course_id,ST_teacher.ST_Teacher_name,ST_course.S T_Course_credit,ST_course.ST_Course_period from ST_course,ST_teacher,ST_teacher_course where ST_teacher_course.ST_Course_year= + ddl_tearn.SelectedI

56、tem.Text + and ST_teacher_course.ST_Course_id=ST_course.ST_Course_id and ST_teacher_course.ST_Teacher_id=ST_teacher.ST_Teacher_id and ST_teacher.ST_Teacher_name= + tbx_teaName.Text + ; else if (tbx_teaName.Text = ) st_sqlstr = select ST_course.ST_Course_name,ST_course.ST_Course_id,ST_teacher.ST_Teac

57、her_name,ST_cou rse.ST_Course_credit,ST_course.ST_Course_period from ST_course,ST_teacher,ST_teacher_course where ST_teacher_course.ST_Course_year= + ddl_tearn.SelectedItem.Text + and ST_teacher_course.ST_Course_id=ST_course.ST_Course_id and ST_teacher_course.ST_Teacher_id=ST_teacher.ST_Teacher_id a

58、nd ST_course.ST_Course_name= + ddl_courName.SelectedItem.Text + ; else st_sqlstr = select ST_course.ST_Course_name,ST_course.ST_Course_id,ST_teacher.ST_Teacher_name,ST_cou rse.ST_Course_credit,ST_course.ST_Course_period from ST_course,ST_teacher,ST_teacher_course where ST_teacher_course.ST_Course_ye

59、ar= + ddl_tearn.SelectedItem.Text + and ST_teacher_course.ST_Course_id=ST_course.ST_Course_id and ST_teacher_course.ST_Teacher_id=ST_teacher.ST_Teacher_id and ST_course.ST_Course_name= + ddl_courName.SelectedItem.Text + and ST_teacher.ST_Teacher_name= + tbx_teaName.Text + ; SqlDataAdapter st_da=new

60、SqlDataAdapter(st_sqlstr,st_conn1); DataSet st_ds=new DataSet(); st_da.Fill(st_ds); gv_sort.DataSource=st_ds; gv_sort.DataBind(); protected void tbn_sort_Click(object sender, EventArgs e) /在數據庫中找出選此課的總人數 string st_sqlstr = select COUNT(ST_Student_id) from ST_student_course where ST_Course_id= + tbx_

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論