【正文】
學(xué)生排課管理系統(tǒng)【摘要】選排課系統(tǒng)功能的設(shè)計(jì)上,學(xué)生選排課系統(tǒng)可以分為登錄、排課和選課3個(gè)子系統(tǒng)。登錄子系統(tǒng)區(qū)分排課者(也即系統(tǒng)的管理者)、教師和學(xué)生這三者的不同身份,給出不同的權(quán)限,在頁面中根據(jù)身份判斷其相應(yīng)具有的功能來使用這套系統(tǒng)。排課子系統(tǒng)主要供排課者使用,排課者可以在這里進(jìn)行一切與排課有關(guān)的活動(dòng)。選課系統(tǒng)主要供學(xué)生選課使用,在這里可以進(jìn)行與選課有關(guān)的活動(dòng);教師可在教師反饋系統(tǒng)中對(duì)排課者提出反饋意見,供排課者在排課時(shí)可參考使用。 學(xué)生選排課系統(tǒng)使用Rational Rose進(jìn)行UMI。建模;過程選擇使用ASP編寫腳本,在數(shù)據(jù)庫上考慮到快捷、有效,同時(shí)考慮到多臺(tái)服務(wù)器共同使用同一個(gè)數(shù)據(jù)庫的情況,這里選擇SQL Server 2000作為數(shù)據(jù)庫服務(wù)器;對(duì)于網(wǎng)頁的服務(wù)器平臺(tái),這里選擇使用Information 。在Windows 2000 Server上,這是一種很好的組合,也正是Microsoft微軟公司網(wǎng)站一直以來所使用的?!娟P(guān)鍵詞】學(xué)生排課管理系統(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ù)大學(xué)的網(wǎng)上選排課需求進(jìn)行設(shè)計(jì)的。由于在算法上存在難題,且排課問題本身就是組合優(yōu)化問題里面的一個(gè)NP難的問題,所以這個(gè)系統(tǒng)并不試圖做一個(gè)自動(dòng)排課系統(tǒng)——這真的太難了,以至于沒有一個(gè)比較理想的近似算法(網(wǎng)上有很多的自動(dòng)排課軟件,效果都不理想)。這個(gè)網(wǎng)上選排課系統(tǒng)所做的是讓排課者手工排課,然后檢測(cè)、避免這種排課的沖突(其核心是一個(gè)存儲(chǔ)過程DetectArrangeCollision),在進(jìn)行選課時(shí),這里也要檢測(cè)和避免這種實(shí)際中可以遇見的沖突(其核心也是用一個(gè)存儲(chǔ)過程DetectSelectCollision來實(shí)現(xiàn)的)。在這套選排課系統(tǒng)功能的設(shè)計(jì)上,StudentCourseSettlement系統(tǒng)可以分為登錄、排課和選課3個(gè)子系統(tǒng)。登錄子系統(tǒng)區(qū)分排課者(也即系統(tǒng)的管理者)、教師和學(xué)生這三者的不同身份,給出不同的權(quán)限,在頁面中根據(jù)身份判斷其相應(yīng)具有的功能來使用這套系統(tǒng)。排課子系統(tǒng)主要供排課者使用,排課者可以在這里進(jìn)行一切與排課有關(guān)的活動(dòng)。選課系統(tǒng)主要供學(xué)生選課使用,在這里可以進(jìn)行與選課有關(guān)的活動(dòng);教師可在教師反饋系統(tǒng)中對(duì)排課者提出反饋意見,供排課者在排課時(shí)可參考使用。 StudentCourseSettlement使用Rational Rose進(jìn)行UMI。建模;過程選擇使用ASP編寫腳本,在數(shù)據(jù)庫上考慮到快捷、有效,同時(shí)考慮到多臺(tái)服務(wù)器共同使用同一個(gè)數(shù)據(jù)庫的情況,這里選擇SQL Server 2000作為數(shù)據(jù)庫服務(wù)器;對(duì)于網(wǎng)頁的服務(wù)器平臺(tái),這里選擇使用Information 。在Windows 2000 Server上,這是一種很好的組合,也正是Microsoft微軟公司網(wǎng)站一直以來所使用的。本章主要介紹如何使用SQL Server2000來編寫存儲(chǔ)過程,以優(yōu)化整個(gè)系統(tǒng)數(shù)據(jù)庫管理的速度、安全性和靈活性,同時(shí)大大提高系統(tǒng)代碼的模塊化和封裝性。與上一章相比較,StudentCourseSettlement.在“深度”上比WebOffice更進(jìn)一步,它涉及到一些比較復(fù)雜的判斷處理邏輯,對(duì)數(shù)據(jù)庫的設(shè)計(jì)要求也提高了很多;而Web()ffice系統(tǒng)中則有很多功能相近的子系統(tǒng),但各子系統(tǒng)所對(duì)應(yīng)的數(shù)據(jù)表之問相對(duì)獨(dú)立。 第二章 開發(fā)工具簡介ASP簡介 ASP是Active Server:Pages的縮寫,是Microsoft:公司開發(fā)的Web服務(wù)器端腳本開發(fā)環(huán)境,利用它可以生成動(dòng)態(tài)、高效的Web應(yīng)用程序。 雖然人們習(xí)慣于將ASP稱為ASP語言,但從嚴(yán)格意義上講,ASP只是為VB Script和JaVaScript等腳本語言提供了一個(gè)運(yùn)行的環(huán)境,使開發(fā)人員可以在HTML代碼中使用腳本語言編寫程序。當(dāng)然,AsP自身也提供了一些非常好用的命令和內(nèi)置對(duì)象。 ASP程序保存為后綴名為.a(chǎn)sp的文件,一個(gè)ASP文件相當(dāng)于一個(gè)可執(zhí)行文件,因此必須放在Web服務(wù)器上有可執(zhí)行權(quán)限的目錄下。當(dāng)瀏覽器向Web服務(wù)器請(qǐng)求調(diào)用ASP文件時(shí),就啟動(dòng)了ASP。Web服務(wù)器開始調(diào)用ASP,將被請(qǐng)求的.a(chǎn)sp文件從頭讀到底,執(zhí)行每一個(gè)命令,然后動(dòng)態(tài)生成一個(gè)HTML頁面并送到瀏覽器。由于ASP在服務(wù)器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP,也不必?fù)?dān)心程序會(huì)被從客戶端下載。執(zhí)行ASP文件的過程如圖2.1所示。圖2.1 ASP訪問Web數(shù)據(jù)庫的過程Sql Server 2000簡介Microsoft SQL Server是一個(gè)Windows服務(wù)器上使用的、支持客戶/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫管理系統(tǒng)。SQL Server是Microsoft公司從Sybase公司購買技術(shù)而開發(fā)的產(chǎn)品,它與Sybase的數(shù)據(jù)庫完全兼容。SQL Server與Windows的有機(jī)結(jié)合,可以充分利用Windows NT的優(yōu)勢(shì),性能價(jià)格比高。Microsoft SQL Server不提供直接的客戶開發(fā)平臺(tái)和工具,只提供了兩個(gè)接口,即Microsoft開放式數(shù)據(jù)庫連接(ODBC)和DB—Library。關(guān)于UML和Rational Rose UML(Unified Modeling Language)即統(tǒng)一建模語言。根據(jù)UML的發(fā)明者,“三個(gè)好朋友”Crandv Booch、James Rumbaugh以及Ivar Jacobson所著的The Unified Modelign Language UsersGuide一書,其概念為: (1)UML是編寫軟件藍(lán)圖的標(biāo)準(zhǔn)語言; (2)UML以可視化方式指定、建構(gòu)以及記錄軟件為主系統(tǒng)的產(chǎn)出。 3位大師是3位面向?qū)ο笙到y(tǒng)分析方法的學(xué)者,先后被Rational公司(現(xiàn)己被IBM公司并購)招攬,集3家之大成,創(chuàng)立UML,同時(shí)也構(gòu)建了Rational Rose這套優(yōu)秀的建模系統(tǒng)。 UML是完全面向?qū)ο蟮?,是圖形化的,它為系統(tǒng)開發(fā)的不同參與者(包括客戶)提供不同層次和角度的圖;它鼓勵(lì)任何層次上的交流(這與傳統(tǒng)的瀑布式開發(fā)流程是相悖的),鼓勵(lì)客戶參與,所以開發(fā)出來的軟件是一個(gè)能符合設(shè)計(jì)之初的設(shè)想的軟件;它從用戶的角度使用“用例圖,(Use Case Diagram)出發(fā)(這與傳統(tǒng)的開發(fā)模式又是相悖的,傳統(tǒng)的模式是從系統(tǒng)的角度進(jìn)行功能分析出發(fā))來設(shè)計(jì)軟件系統(tǒng),所以不會(huì)開發(fā)出具有很多開發(fā)者自以為很優(yōu)秀的功能但是確不能符合客戶真正需求的系統(tǒng)。 UML所提供的主要圖有:類圖、對(duì)象圖、用例圖、狀態(tài)圖、時(shí)序圖、活動(dòng)圖、協(xié)作圖、構(gòu)件圖和部署圖。要全部地掌握和使用這些圖無疑是一件很困難的事情。但是,可以“用大約20%的UML來完成大多數(shù)問題的80%的建模工作”(The Unified Modeling Language UsersGuide)。在上述這些圖中,最重要和使用最多的3種圖是:用例[](User CaseDiagram)、時(shí)序圖(Secquence Diagram)和類圖(Class Diagram)。用例圖是從用戶的角度來描述系統(tǒng)的外部功能的圖。對(duì)不同的用戶,系統(tǒng)應(yīng)該有不同的功能,所以一個(gè)系統(tǒng)的用例圖通常會(huì)有多個(gè)。圖2—1是一個(gè)簡單的用例圖的例子。圖21 簡單的用例圖 圖中的人形代表活動(dòng)參與者,橢圓代表用例,箭頭代表關(guān)系,即操作。用例圖是UML建模中最重要的一種圖,它體現(xiàn)了實(shí)實(shí)在在展現(xiàn)在用戶面前的系統(tǒng)的各項(xiàng)功能,而與實(shí)施沒有關(guān)系——這正是用戶所需要的系統(tǒng)。用例圖的設(shè)計(jì)好壞直接影響這個(gè)系統(tǒng)的設(shè)計(jì)和實(shí)施。有很多人并不完全認(rèn)可UML的一套做法,但基本都認(rèn)為用例圖是很有用處的。 時(shí)序圖是從系統(tǒng)實(shí)現(xiàn)的角度來描述每一個(gè)用例。(可見一個(gè)用例一般應(yīng)有一個(gè)對(duì)應(yīng)的時(shí)序圖。)它描述的是一個(gè)用例中用戶與系統(tǒng)進(jìn)行消息傳遞,系統(tǒng)各部件(類)之間進(jìn)行消息傳遞的關(guān)系和順序。 時(shí)序圖表現(xiàn)的是系統(tǒng)具體實(shí)施的靜態(tài)邏輯,從它可以直接聯(lián)系到代碼中一個(gè)模塊的具體實(shí)現(xiàn)邏輯,所以它對(duì)于系統(tǒng)邏輯的具體實(shí)施是最重要的類圖直接對(duì)應(yīng)到源代碼。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,整個(gè)系統(tǒng)都是由類及其實(shí)例(對(duì)象)通過相互之問發(fā)送消息以及各自的消息處理函數(shù)來實(shí)現(xiàn)的。時(shí)序圖描述了各個(gè)類之間要發(fā)送的消息,類圖則表明該如何來發(fā)送、接收和處理這些消息,這包括各種屬性和方法。在開始的時(shí)候要找到一個(gè)待開發(fā)的系統(tǒng)中的所有的類是一件很不容易的事情,要找出它們之間的關(guān)系及其各自處理消息的方法則更加困難。因?yàn)轭悎D實(shí)際已經(jīng)對(duì)應(yīng)到代碼,或者說是代碼的圖形化的表現(xiàn)。所以,在一開始的時(shí)候完全分析所有的要素是不太實(shí)際的。在進(jìn)行具體的設(shè)計(jì)時(shí)要反復(fù)審查和修改用例圖和時(shí)序圖,來建立類圖。UML是一種圖形化的統(tǒng)一建模語言,它在系統(tǒng)的分析和設(shè)計(jì)之時(shí)對(duì)交流思想起到非常重要的作用。它用圖形來表示完整的系統(tǒng),在運(yùn)用中要反復(fù)審查和修改多次,所以在系統(tǒng)分析和設(shè)計(jì)的時(shí)候所花的時(shí)間是很多的。但是如果分析得越仔細(xì),則在編碼的時(shí)候越容易。理論上,只要將代碼填充到完整的UML模型中去就可以了,并且已經(jīng)有這樣的工具,Rational Rose本身就有這樣的功能。在分析和設(shè)計(jì)的階段多花些時(shí)間,可以避免編碼到一定階段卻發(fā)現(xiàn)整個(gè)模型有問題而無法修改?,F(xiàn)在開發(fā)的都是大型的復(fù)雜的系統(tǒng),沒有良好的模型是完全不可能進(jìn)行的。當(dāng)然,在實(shí)際的應(yīng)用中往往不可能對(duì)系統(tǒng)分析和設(shè)