【正文】
學生排課管理系統(tǒng)【摘要】選排課系統(tǒng)功能的設計上,學生選排課系統(tǒng)可以分為登錄、排課和選課3個子系統(tǒng)。登錄子系統(tǒng)區(qū)分排課者(也即系統(tǒng)的管理者)、教師和學生這三者的不同身份,給出不同的權限,在頁面中根據(jù)身份判斷其相應具有的功能來使用這套系統(tǒng)。排課子系統(tǒng)主要供排課者使用,排課者可以在這里進行一切與排課有關的活動。選課系統(tǒng)主要供學生選課使用,在這里可以進行與選課有關的活動;教師可在教師反饋系統(tǒng)中對排課者提出反饋意見,供排課者在排課時可參考使用。 學生選排課系統(tǒng)使用Rational Rose進行UMI。建模;過程選擇使用ASP編寫腳本,在數(shù)據(jù)庫上考慮到快捷、有效,同時考慮到多臺服務器共同使用同一個數(shù)據(jù)庫的情況,這里選擇SQL Server 2000作為數(shù)據(jù)庫服務器;對于網(wǎng)頁的服務器平臺,這里選擇使用Information 。在Windows 2000 Server上,這是一種很好的組合,也正是Microsoft微軟公司網(wǎng)站一直以來所使用的。【關鍵詞】學生排課管理系統(tǒng) UML ASP 【 Summary 】 Chooses the design that line up the lesson system function last, the student chooses to line up the lesson system cans is divided into the logging, row lesson with select elective courses 3 statures the sub system distinction row lesson( too namely the governor of the system), different from student these third of body in teacher a function for, giving a different legal power, in page according to body judging its cowgirl having to use this set of row lesson sub system provides to line up the lesson primarily usage, row lesson can be the whole in here proceeding and line up the activity of relevant elective courses the system to provide primarily the student select elective courses the usage, can proceed the activity that have something to do with selecting elective courses here。Teacher can in teacher feedback system to row lesson put forward the feedback opinion, provide to line up the lesson while lining up lesson can consult usage. The student chooses to line up the lesson system usage Rational Rose proceeds the up the mold。The process choice uses the ASP the plait writes the script, on the database in consideration of fast, valid, at the same time in consideration of many set server mon the circumstance of the same of database in usage, choose the SQL Server here 2000 conduct and actions database server。Choose the server terrace of the web page, very much to use the Information conduct and actions Internet the 2000 Servers of Windows, this is a kind of good bination, and also exactly Microsoft Microsoft pany website always since then uses of.【 Key phrase 】 Student Row Lesson Management System UML ASP第一章 系統(tǒng)概述網(wǎng)上選排課系統(tǒng)(WebCtour。seSettlement)系統(tǒng)是依據(jù)大學的網(wǎng)上選排課需求進行設計的。由于在算法上存在難題,且排課問題本身就是組合優(yōu)化問題里面的一個NP難的問題,所以這個系統(tǒng)并不試圖做一個自動排課系統(tǒng)——這真的太難了,以至于沒有一個比較理想的近似算法(網(wǎng)上有很多的自動排課軟件,效果都不理想)。這個網(wǎng)上選排課系統(tǒng)所做的是讓排課者手工排課,然后檢測、避免這種排課的沖突(其核心是一個存儲過程DetectArrangeCollision),在進行選課時,這里也要檢測和避免這種實際中可以遇見的沖突(其核心也是用一個存儲過程DetectSelectCollision來實現(xiàn)的)。在這套選排課系統(tǒng)功能的設計上,StudentCourseSettlement系統(tǒng)可以分為登錄、排課和選課3個子系統(tǒng)。登錄子系統(tǒng)區(qū)分排課者(也即系統(tǒng)的管理者)、教師和學生這三者的不同身份,給出不同的權限,在頁面中根據(jù)身份判斷其相應具有的功能來使用這套系統(tǒng)。排課子系統(tǒng)主要供排課者使用,排課者可以在這里進行一切與排課有關的活動。選課系統(tǒng)主要供學生選課使用,在這里可以進行與選課有關的活動;教師可在教師反饋系統(tǒng)中對排課者提出反饋意見,供排課者在排課時可參考使用。 StudentCourseSettlement使用Rational Rose進行UMI。建模;過程選擇使用ASP編寫腳本,在數(shù)據(jù)庫上考慮到快捷、有效,同時考慮到多臺服務器共同使用同一個數(shù)據(jù)庫的情況,這里選擇SQL Server 2000作為數(shù)據(jù)庫服務器;對于網(wǎng)頁的服務器平臺,這里選擇使用Information 。在Windows 2000 Server上,這是一種很好的組合,也正是Microsoft微軟公司網(wǎng)站一直以來所使用的。本章主要介紹如何使用SQL Server2000來編寫存儲過程,以優(yōu)化整個系統(tǒng)數(shù)據(jù)庫管理的速度、安全性和靈活性,同時大大提高系統(tǒng)代碼的模塊化和封裝性。與上一章相比較,StudentCourseSettlement.在“深度”上比WebOffice更進一步,它涉及到一些比較復雜的判斷處理邏輯,對數(shù)據(jù)庫的設計要求也提高了很多;而Web()ffice系統(tǒng)中則有很多功能相近的子系統(tǒng),但各子系統(tǒng)所對應的數(shù)據(jù)表之問相對獨立。 第二章 開發(fā)工具簡介ASP簡介 ASP是Active Server:Pages的縮寫,是Microsoft:公司開發(fā)的Web服務器端腳本開發(fā)環(huán)境,利用它可以生成動態(tài)、高效的Web應用程序。 雖然人們習慣于將ASP稱為ASP語言,但從嚴格意義上講,ASP只是為VB Script和JaVaScript等腳本語言提供了一個運行的環(huán)境,使開發(fā)人員可以在HTML代碼中使用腳本語言編寫程序。當然,AsP自身也提供了一些非常好用的命令和內置對象。 ASP程序保存為后綴名為.a(chǎn)sp的文件,一個ASP文件相當于一個可執(zhí)行文件,因此必須放在Web服務器上有可執(zhí)行權限的目錄下。當瀏覽器向Web服務器請求調用ASP文件時,就啟動了ASP。Web服務器開始調用ASP,將被請求的.a(chǎn)sp文件從頭讀到底,執(zhí)行每一個命令,然后動態(tài)生成一個HTML頁面并送到瀏覽器。由于ASP在服務器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP,也不必擔心程序會被從客戶端下載。執(zhí)行ASP文件的過程如圖2.1所示。圖2.1 ASP訪問Web數(shù)據(jù)庫的過程Sql Server 2000簡介Microsoft SQL Server是一個Windows服務器上使用的、支持客戶/服務器結構的數(shù)據(jù)庫管理系統(tǒng)。SQL Server是Microsoft公司從Sybase公司購買技術而開發(fā)的產(chǎn)品,它與Sybase的數(shù)據(jù)庫完全兼容。SQL Server與Windows的有機結合,可以充分利用Windows NT的優(yōu)勢,性能價格比高。Microsoft SQL Server不提供直接的客戶開發(fā)平臺和工具,只提供了兩個接口,即Microsoft開放式數(shù)據(jù)庫連接(ODBC)和DB—Library。關于UML和Rational Rose UML(Unified Modeling Language)即統(tǒng)一建模語言。根據(jù)UML的發(fā)明者,“三個好朋友”Crandv Booch、James Rumbaugh以及Ivar Jacobson所著的The Unified Modelign Language UsersGuide一書,其概念為: (1)UML是編寫軟件藍圖的標準語言; (2)UML以可視化方式指定、建構以及記錄軟件為主系統(tǒng)的產(chǎn)出。 3位大師是3位面向對象系統(tǒng)分析方法的學者,先后被Rational公司(現(xiàn)己被IBM公司并購)招攬,集3家之大成,創(chuàng)立UML,同時也構建了Rational Rose這套優(yōu)秀的建模系統(tǒng)。 UML是完全面向對象的,是圖形化的,它為系統(tǒng)開發(fā)的不同參與者(包括客戶)提供不同層次和角度的圖;它鼓勵任何層次上的交流(這與傳統(tǒng)的瀑布式開發(fā)流程是相悖的),鼓勵客戶參與,所以開發(fā)出來的軟件是一個能符合設計之初的設想的軟件;它從用戶的角度使用“用例圖,(Use Case Diagram)出發(fā)(這與傳統(tǒng)的開發(fā)模式又是相悖的,傳統(tǒng)的模式是從系統(tǒng)的角度進行功能分析出發(fā))來設計軟件系統(tǒng),所以不會開發(fā)出具有很多開發(fā)者自以為很優(yōu)秀的功能但是確不能符合客戶真正需求的系統(tǒng)。 UML所提供的主要圖有:類圖、對象圖、用例圖、狀態(tài)圖、時序圖、活動圖、協(xié)作圖、構件圖和部署圖。要全部地掌握和使用這些圖無疑是一件很困難的事情。但是,可以“用大約20%的UML來完成大多數(shù)問題的80%的建模工作”(The Unified Modeling Language UsersGuide)。在上述這些圖中,最重要和使用最多的3種圖是:用例[](User CaseDiagram)、時序圖(Secquence Diagram)和類圖(Class Diagram)。用例圖是從用戶的角度來描述系統(tǒng)的外部功能的圖。對不同的用戶,系統(tǒng)應該有不同的功能,所以一個系統(tǒng)的用例圖通常會有多個。圖2—1是一個簡單的用例圖的例子。圖21 簡單的用例圖 圖中的人形代表活動參與者,橢圓代表用例,箭頭代表關系,即操作。用例圖是UML建模中最重要的一種圖,它體現(xiàn)了實實在在展現(xiàn)在用戶面前的系統(tǒng)的各項功能,而與實施沒有關系——這正是用戶所需要的系統(tǒng)。用例圖的設計好壞直接影響這個系統(tǒng)的設計和實施。有很多人并不完全認可UML的一套做法,但基本都認為用例圖是很有用處的。 時序圖是從系統(tǒng)實現(xiàn)的角度來描述每一個用例。(可見一個用例一般應有一個對應的時序圖。)它描述的是一個用例中用戶與系統(tǒng)進行消息傳遞,系統(tǒng)各部件(類)之間進行消息傳遞的關系和順序。 時序圖表現(xiàn)的是系統(tǒng)具體實施的靜態(tài)邏輯,從它可以直接聯(lián)系到代碼中一個模塊的具體實現(xiàn)邏輯,所以它對于系統(tǒng)邏輯的具體實施是最重要的類圖直接對應到源代碼。在面向對象的程序設計中,整個系統(tǒng)都是由類及其實例(對象)通過相互之問發(fā)送消息以及各自的消息處理函數(shù)來實現(xiàn)的。時序圖描述了各個類之間要發(fā)送的消息,類圖則表明該如何來發(fā)送、接收和處理這些消息,這包括各種屬性和方法。在開始的時候要找到一個待開發(fā)的系統(tǒng)中的所有的類是一件很不容易的事情,要找出它們之間的關系及其各自處理消息的方法則更加困難。因為類圖實際已經(jīng)對應到代碼,或者說是代碼的圖形化的表現(xiàn)。所以,在一開始的時候完全分析所有的要素是不太實際的。在進行具體的設計時要反復審查和修改用例圖和時序圖,來建立類圖。UML是一種圖形化的統(tǒng)一建模語言,它在系統(tǒng)的分析和設計之時對交流思想起到非常重要的作用。它用圖形來表示完整的系統(tǒng),在運用中要反復審查和修改多次,所以在系統(tǒng)分析和設計的時候所花的時間是很多的。但是如果分析得越仔細,則在編碼的時候越容易。理論上,只要將代碼填充到完整的UML模型中去就可以了,并且已經(jīng)有這樣的工具,Rational Rose本身就有這樣的功能。在分析和設計的階段多花些時間,可以避免編碼到一定階段卻發(fā)現(xiàn)整個模型有問題而無法修改?,F(xiàn)在開發(fā)的都是大型的復雜的系統(tǒng),沒有良好的模型是完全不可能進行的。當然,在實際的應用中往往不可能對系統(tǒng)分析和設