




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄摘 要I第1章 緒論11.1系統(tǒng)開發(fā)背景11.2國內(nèi)外的研究現(xiàn)狀11.3系統(tǒng)解決的主要問題31.4本文的主要工作31.5本文的組織結(jié)構(gòu)3第2章 需求分析52.1系統(tǒng)概述52.1.1總體業(yè)務(wù)描述52.1.2系統(tǒng)的目標(biāo)和解決的問題52.1.3系統(tǒng)的開發(fā)模式72.2系統(tǒng)需求問題描述92.2.1功能性需求92.3.2系統(tǒng)非功能性需求12第3章 系統(tǒng)構(gòu)架設(shè)計143.1構(gòu)架的目標(biāo)和約束143.2構(gòu)架設(shè)計153.2.1系統(tǒng)總體架構(gòu)153.2.2系統(tǒng)功能構(gòu)架163.2.3系統(tǒng)技術(shù)構(gòu)架173.2.4系統(tǒng)安全構(gòu)架18第4章 系統(tǒng)詳細(xì)設(shè)計204.1 系統(tǒng)建模204.2 系統(tǒng)數(shù)據(jù)庫設(shè)計244.2.1生成數(shù)據(jù)庫表
2、244.2.2數(shù)據(jù)分析324.2.3數(shù)據(jù)庫管理技術(shù)34第5章 計算機(jī)排課系統(tǒng)的實(shí)現(xiàn)355.1系統(tǒng)總體實(shí)現(xiàn)355.1.1數(shù)據(jù)錄入模塊的設(shè)計與實(shí)現(xiàn)385.1.2報表模塊的設(shè)計與實(shí)現(xiàn)435.1.3用戶管理模塊的設(shè)計與實(shí)現(xiàn)455.2教學(xué)計劃的關(guān)鍵實(shí)現(xiàn)485.2.1算法描述495.2.2教學(xué)計劃算法過程495.3排課算法的關(guān)鍵實(shí)現(xiàn)51第6章 總結(jié)與展望66參考文獻(xiàn)67致 謝69摘 要隨著高職院校招生人數(shù)的持續(xù)增加,教師規(guī)模的不斷擴(kuò)大,手工排課的缺點(diǎn)就越來越突出。而采用計算機(jī)排課,教學(xué)中的信息可以一目了然,對于優(yōu)化學(xué)生的學(xué)習(xí)進(jìn)程,評估每位教師對教學(xué)的貢獻(xiàn),領(lǐng)導(dǎo)合理決策等都具有重要的意義。本論文所研究設(shè)計的
3、主要內(nèi)容是使用計算機(jī)實(shí)現(xiàn)課表的編排、基礎(chǔ)數(shù)據(jù)的處理、課表的查詢和報表的輸出等多種功能,運(yùn)用計算機(jī)排課代替?zhèn)鹘y(tǒng)的手工排課,提高排課效率,使教務(wù)管理人員的從繁重的排課工作中解脫出來,提高教務(wù)人員的工作效率,同時也對教學(xué)管理的規(guī)范化也起到積極的作用。排課問題從數(shù)學(xué)上講,是一個在時間、教師、學(xué)生和教室四維空間,以教學(xué)計劃和各種特殊要求為約束條件的組合規(guī)劃問題,其實(shí)質(zhì)就是解決各因素之間的沖突。我們分析了國內(nèi)外對排課問題的研究,根據(jù)高職院校的教學(xué)體制的特點(diǎn),采用了化整為零的思想及優(yōu)先級算法。該算法通過劃分等價類、計算優(yōu)先級等方法降低了課程調(diào)度的算法復(fù)雜性,從而可以以較快的速度獲得較為滿意的排課結(jié)果。本文采
4、用Rational統(tǒng)一過程(RUP)為軟件開發(fā)方法,以統(tǒng)一建模語言(UML)為分析設(shè)計描述語言,以淄博職業(yè)學(xué)院的排課業(yè)務(wù)為對象進(jìn)行需求分析,對計算機(jī)排課系統(tǒng)進(jìn)行了系統(tǒng)設(shè)計,具體分析設(shè)計了用戶管理、自動排課、課程管理、課表查詢、課表輸出等功能模塊。本文介紹了系統(tǒng)開發(fā)的背景和國內(nèi)外排課問題的發(fā)展現(xiàn)狀,簡要描述了系統(tǒng)需要解決的主要問題和系統(tǒng)的開發(fā)模式,對系統(tǒng)的需求分析和架構(gòu)設(shè)計進(jìn)行了詳細(xì)描述,對系統(tǒng)部分功能的實(shí)現(xiàn)進(jìn)行了介紹,并對教學(xué)計劃和排課算法兩個關(guān)鍵問題進(jìn)行描述。關(guān)鍵詞:Rational統(tǒng)一過程RUP、統(tǒng)一建模語言UML、計算機(jī)自動排課、等價類、優(yōu)先級、時間模式ABSTRACTThe numbe
5、r continuing for increases by with the fact that tall duty universities and colleges enrolls new students , teacher scale ceaselessness expands , the shortcoming arranging class by hand is more and more outstanding. But adopt a computer to arrange class, information in teaching can be clear at a gla
6、nce , study a course to optimizing a students, the contribution appraising every place teacher to teaching, leads the rational decision-making to wait to have important significance.Various functions such as treatment , the school timetable inquiry and the form for report output studied the main con
7、tent designing that is to use a computer to realize the school timetable arrangement , the basis data by thesis, that the class wielding the computer row replace the tradition by hand to arrange class , improves row class efficiency, makes complying with of educational administration handling crew e
8、xtricate self in strenuous row class job , improve availability of educational administration personnel , also at the same time also play arrive at active role to administrative standardization of teaching.Row of class problem talks on secondary mathematics , is that a combination taking teaching pr
9、ogramme and various peculiar request as constraint condition in time , teacher , student and classroom four-dimensional space, plans a problem , whose essence is to resolve the conflict between every factor.We have analysed the large amount of home and abroad research to row class problem according
10、to teaching of tall duty universities and colleges system characteristic. When designing an algorithm, have managed algorithmic complexity for reducing a course , has adopt the thought breaking up the whole into parts and the preferential step algorithm. Be an algorithms turn to be able to gain comp
11、aratively satisfied row class result with quicker speed thereby by the fact that method such as dividing the equivalence kind , calculating preferential step has reduced the algorithm complexity that the course manages greatly. At the same time, pay attention to whose conflict solving also very much
12、 in designing algorithmic process.And the thesis has set forth the consumer need who adopt a computer to arrange class, according to good duty universities and colleges teaching programme , the automation has been ordered from the computer every school term course design plan, describes that to teac
13、hing programme the generated algorithm have been in progress. And have introduced the algorithmic row class design design with realization , the data base and have come true detailedly. Aspect such as dividing , reducing algorithm complexity resembling in time choice flexibility , preferential step
14、calculation , equivalence has carried out detailed analysis. Apply be geared to the needs of marriage partner technology to row class system, the algorithm analysis having discussed that row class realizes process and key, the cause that conflict produces , has given out a problem resolving a scheme
15、.Keywords:Automatic course scheduling, Algorithm, Priority, Equivalent, Time mode第1章 緒論1.1系統(tǒng)開發(fā)背景2002年7月,經(jīng)山東省政府批準(zhǔn),教育部備案,由原淄博商業(yè)學(xué)校、淄博市化工學(xué)校、淄博市城建中專和淄博市工貿(mào)中專四所學(xué)校合并組建淄博職業(yè)學(xué)院。在學(xué)院的教學(xué)管理工作中,排課是教學(xué)管理中最基本、最重要、同時也是最復(fù)雜的管理工作之一。目前,我院的排課主要采用手工編排方法。一般是由經(jīng)驗(yàn)豐富的教務(wù)人員在學(xué)期末依據(jù)人才培養(yǎng)方案、教學(xué)計劃等資料集中時間、精力進(jìn)行編排,協(xié)調(diào)出現(xiàn)的各種矛盾,在這個基礎(chǔ)上再由排課專家反復(fù)檢查合
16、理性,修正課表,直至符合要求為止。 近幾年,隨著我院招生人數(shù)的持續(xù)增加,教師規(guī)模的不斷擴(kuò)大,手工排課的缺點(diǎn)就越來越突出。排課實(shí)際過程中涉及數(shù)十個院系和部門、數(shù)千教師,上萬學(xué)生、教師跨系上課和班級合班上課等復(fù)雜情況,排出合理的課表需要耗費(fèi)大量的時間,且排出的課表調(diào)整起來困難。同時因?yàn)槿说乃季S的隨意性,排課表時非常靈活,沒有嚴(yán)格的工作步驟,所以人工排出的課表隨意性大。計算機(jī)由于具有運(yùn)算速度快、處理能力強(qiáng)等特點(diǎn),在教學(xué)工作中得到了普及應(yīng)用。用計算機(jī)來代替勞動強(qiáng)度大、工作效率低的手工排課勢在必行。為了解決手工排課的問題,我院決定通過信息化手段來提高教務(wù)管理水平,用計算機(jī)排課來代替?zhèn)鹘y(tǒng)的手工排課。1.2
17、國內(nèi)外的研究現(xiàn)狀計算機(jī)排課,它是把排課問題化為計算領(lǐng)域的有約束的時空組合優(yōu)化問題進(jìn)行求解的。它對課表上的時間進(jìn)行了分片和編號處理,使分成的每個時間片和每個教室空間組合,構(gòu)建了一個個大小不等的時空組合塊,并根據(jù)求解規(guī)則,對每個教學(xué)計劃進(jìn)行時空組合塊分配,并且分配的組合,必須在目標(biāo)空間中表現(xiàn)出良好的人為滿意度。國外研究人員從20世紀(jì)50年代就開始對課表編排問題的數(shù)學(xué)模型、解的存在性以及計算機(jī)求解算法等問題進(jìn)行了研究。1962年Gotlieb提出了課表編排問題的數(shù)學(xué)模型,使之成為數(shù)學(xué)家和計算機(jī)應(yīng)用專家共同研究的課題。由于實(shí)際中遇到種種難題,并未能取得滿意成果。1976年Bondy提出了一個簡單的排課
18、表問題,將問題歸結(jié)為一個圖的邊染色問題,并且對提出的簡單排課表問題給出了一個算法。但實(shí)際教學(xué)活動中提出的排課表問題遠(yuǎn)非如此簡單,且由于它必須滿足各種復(fù)雜約束條件而使這種算法實(shí)際上是無能為力的。1976年Even等人證明了課表問題屬于NP完全類問題,把人們對計算機(jī)編排課表的復(fù)雜性的認(rèn)識提高到了理論的高度。進(jìn)入20世界90年代以后,國外對課表問題的研究仍然十分活躍,比較有代表性的有印度的Vastapur大學(xué)管理學(xué)院的Arabinda Tripathy、加拿大Montreal大學(xué)的Jean Aubin和Jacques Ferland等。目前,國外解決課表問題的方法主要有:模擬手工排課法、圖論方法、拉
19、格朗日松弛法、二次分配型法等。在國內(nèi),對排課問題的研究始于20世紀(jì)80年代初期。例如,西南交通大學(xué)在分析高校課表編排所遵循的基本原則和模糊性原則的基礎(chǔ)上,定義了課元之間,關(guān)于教師的相關(guān)關(guān)系和關(guān)于自然班的相關(guān)關(guān)系,提出以課元相關(guān)運(yùn)算和課元的候選時空片計算為核心的計算機(jī)排課算法;延邊大學(xué)根據(jù)高校課程表的制作特點(diǎn),設(shè)計了計算機(jī)自動排課的數(shù)據(jù)結(jié)構(gòu)與算法;沈陽電力高等專科學(xué)校研制了基于Client/Server的開放式智能排課系統(tǒng);山西大學(xué)在總結(jié)排課工作經(jīng)驗(yàn)的基礎(chǔ)上,提出了一種解決問題的形式化描述,在這種想法上實(shí)現(xiàn)了基于知識推理的排課系統(tǒng);大連理工大學(xué)的智能教學(xué)組織管理與課程調(diào)度系統(tǒng),清華大學(xué)的TISE
20、R系統(tǒng)等等,所有這些系統(tǒng)都是模擬手工排課過程,以“班”為單位,運(yùn)用啟發(fā)式函數(shù)來進(jìn)行編排的。但是這些課表編排系統(tǒng)往往比較依賴于各個學(xué)校的教學(xué)體制,不宜于進(jìn)行廣泛推廣。高職教育在培養(yǎng)目標(biāo)和辦學(xué)模式、教學(xué)方式等方面都有別于傳統(tǒng)學(xué)科式教育。遵循理論“必需”,“夠用”為度,理論為實(shí)踐服務(wù)的原則,著重培養(yǎng)學(xué)生的實(shí)踐能力,培養(yǎng)面向生產(chǎn)、建設(shè)、管理及服務(wù)一線的高等技術(shù)應(yīng)用型人才。由于培養(yǎng)目標(biāo)和培養(yǎng)方式的特點(diǎn),決定了高職教育的教務(wù)工作面臨許多新的困難,其中在排課、調(diào)課、檢查教學(xué)進(jìn)度、質(zhì)量、溝通教學(xué)雙方信息等常規(guī)性工作中的問題尤為突出。如何利用有限的師資力量和有限的教室資源,排出一個合理的課表,對維護(hù)高職院校正常
21、的教學(xué)秩序和提高教學(xué)效果有重要的作用。1.3系統(tǒng)解決的主要問題隨著我院辦學(xué)規(guī)模的不斷擴(kuò)大,辦學(xué)層次的不斷提高,課表的編排管理工作也顯得越來越重要。我院在日常的手工排課過程中主要存在以下幾個方面的問題:1、需要大量的有經(jīng)驗(yàn)的教務(wù)人員進(jìn)行排課;2、手工排課需要大量的時間,周期長;3、課表編排完畢后很難進(jìn)行調(diào)整;4、容易出現(xiàn)教師沖突和教室沖突的現(xiàn)象;5、排課沒有嚴(yán)格的步驟,排出的課表隨意性大;6、課表信息共享程度低。1.4本文的主要工作本文通過對淄博職業(yè)學(xué)院教務(wù)管理中排課業(yè)務(wù)的需求分析,借鑒RUP模式,從架構(gòu)設(shè)計開始,完成了學(xué)院計算機(jī)排課系統(tǒng)的需求分析和系統(tǒng)設(shè)計。采用 Visual Basic 為開
22、發(fā)工具,完成了系統(tǒng)功能的開發(fā)。本系統(tǒng)開發(fā)過程總體上采用RUP模式,由于計算機(jī)排課系統(tǒng)開發(fā)的生命周期較短,因此,我們在使用RUP進(jìn)行軟件開發(fā)時,對RUP過程進(jìn)行了適當(dāng)?shù)牟脺p,保留了RUP的特點(diǎn),即仍然是一個用例驅(qū)動、以架構(gòu)為中心、迭代的開發(fā)過程。對裁減后的RUP,我們?nèi)∠嗽瓉鞷UP四個階段的定義,只給出了一些工作流程和一些原則,并且結(jié)合了UML建模機(jī)制,合理的選擇了UML中的各種建模元素。1.5本文的組織結(jié)構(gòu)全文共分為六章。第一章是緒論,主要介紹了系統(tǒng)的開發(fā)背景,以及國內(nèi)計算機(jī)排課的研究現(xiàn)狀,說明了系統(tǒng)需要解決的主要問題和本文的組織結(jié)構(gòu)。第二章是需求分析,主要通過對淄博職業(yè)學(xué)院排課業(yè)務(wù)的描述,
23、說明了排課系統(tǒng)的目標(biāo)和解決的主要問題,并介紹了系統(tǒng)的開發(fā)模式,對系統(tǒng)的功能性需求和非功能性需求進(jìn)行了詳細(xì)的描述。第三章系統(tǒng)構(gòu)架技術(shù),主要介紹了系統(tǒng)構(gòu)架設(shè)計的目標(biāo)和約束,分別對系統(tǒng)的總體框架、功能構(gòu)架、技術(shù)構(gòu)架和安全構(gòu)架等進(jìn)行詳細(xì)描述。第四章是計算機(jī)排課系統(tǒng)的詳細(xì)設(shè)計,主要通過排課管理實(shí)體關(guān)系圖和自動排課的序列圖來介紹了系統(tǒng)的詳細(xì)設(shè)計,并對數(shù)據(jù)庫的構(gòu)建進(jìn)行了描述。第五章是計算機(jī)排課系統(tǒng)的實(shí)現(xiàn)過程,簡要介紹了排課系統(tǒng)的幾個功能模塊的實(shí)現(xiàn)過程,同時對教學(xué)計劃和排課算法兩個關(guān)鍵問題進(jìn)行描述,說明了排課系統(tǒng)設(shè)計的理論依據(jù)。第六章總結(jié)與展望部分,對本文進(jìn)行了總結(jié),并對下一步的工作進(jìn)行了展望。第2章 需求分
24、析2.1系統(tǒng)概述2.1.1總體業(yè)務(wù)描述淄博職業(yè)學(xué)院管理體系實(shí)行系部的二級管理體制,在全院有13個系部和1000多名教師。學(xué)院排課管理系統(tǒng)的應(yīng)用范圍包括教務(wù)處、系部和教師三級單位。教務(wù)處和系部作為課表的設(shè)計者和管理者,重點(diǎn)在于對課程的安排和統(tǒng)計數(shù)據(jù)的分析;教師作為教學(xué)計劃的執(zhí)行者,是信息的源頭。在排課管理中,教務(wù)處以教學(xué)計劃為依據(jù),安排出一學(xué)期各個班級所開的課程,教師根據(jù)自己的專業(yè)選擇自己能上的課程,各系部負(fù)責(zé)協(xié)調(diào)安排每門課程的具體上課的教師。總體來看,淄博職業(yè)學(xué)院排課業(yè)務(wù)流程如圖2-1所示:申請自己的所上的課程教務(wù)處系部教師需本系教師上課的課程按教學(xué)計劃安排各系所開的課程安排教師所上課程計劃安
25、排全院的課程表信息反饋或執(zhí)行課表 圖2-1 排課業(yè)務(wù)流程圖2.1.2系統(tǒng)的目標(biāo)和解決的問題根據(jù)淄博職業(yè)學(xué)院信息化建設(shè)的總體要求,淄博職業(yè)學(xué)院計算機(jī)自動排課系統(tǒng)的目標(biāo)是:運(yùn)用計算機(jī)排課代替?zhèn)鹘y(tǒng)的手工排課,提高排課效率,使教務(wù)管理人員的從繁重的排課工作中解脫出來,提高教務(wù)人員的工作效率,加強(qiáng)對學(xué)院基本信息的管理,同時實(shí)現(xiàn)教學(xué)管理規(guī)范化的目標(biāo)。本系統(tǒng)的主要內(nèi)容就是使用計算機(jī)實(shí)現(xiàn)課表的編排、基礎(chǔ)數(shù)據(jù)的處理、課表的查詢和報表的輸出等多種功能,作為一個完整的排課系統(tǒng),主要解決以下問題:1、基礎(chǔ)數(shù)據(jù)的處理 排課過程中涉及到許多基礎(chǔ)數(shù)據(jù),這些基礎(chǔ)數(shù)據(jù)包括院系、教師、學(xué)生、教室、課程等信息,對于這些基礎(chǔ)信息要能
26、夠根據(jù)實(shí)際情況靈活進(jìn)行增加、刪除、修改等處理。 2、排課處理課程的編排不是任意的,它是一個時間、教師、學(xué)生、教室四者的組合規(guī)劃問題,為了達(dá)到最好的教學(xué)效果應(yīng)遵循一定的要求。這些要求主要有:(1)要盡量為所排課程安排上該類課程效果最好的時間; (2)課程在一周上多次時要有一定的時間間隔; (3)公共課等涉及面廣、學(xué)時多的課程應(yīng)優(yōu)先處理; (4)對同一教師,同一上課對象應(yīng)盡量選擇相對固定的幾個教室; (5)對于教師、學(xué)生、課程等提出特殊要求的情況,要根據(jù)具體情況予以處理。 另外,對于計算機(jī)初排的結(jié)果還應(yīng)可以通過人工交互進(jìn)行少量的修改等。 3、排課結(jié)果的處理 計算機(jī)編排完課程后,對這個結(jié)果進(jìn)行各種條
27、件的查詢,并可以根據(jù)情況輸出各種形式的表格,以便于教務(wù)人員進(jìn)行處理。例如:可查詢某班的課程安排、某位教師的課程安排、以及某個教室的使用情況。 4、充分利用網(wǎng)絡(luò)優(yōu)勢充分利用網(wǎng)絡(luò)優(yōu)勢,實(shí)行計算機(jī)分布式排課。計算機(jī)排課需要計算機(jī)在全校范田內(nèi)對各種時間是否發(fā)生沖突進(jìn)行檢查,因此早期的計算機(jī)排課系統(tǒng)大多實(shí)行集中式排課,一般由教務(wù)處負(fù)責(zé)完成。但目前各校均在擴(kuò)招,從而造成學(xué)生多、班級多,排課時所需要輸入的基礎(chǔ)數(shù)據(jù)多排課任務(wù)都由一個部門來完成是很不現(xiàn)實(shí)的。實(shí)行計算機(jī)排課的唯一出路就是將排課任務(wù)分解,化整為零,實(shí)行分布式計算機(jī)排課?,F(xiàn)在各高校大多建立了校園網(wǎng)絡(luò),這使得實(shí)行分布式計算機(jī)排課成為可能。課程、教師、學(xué)
28、生班級、教室等基本信息既可臨時錄入,又可從其它教學(xué)管理系統(tǒng)或校園網(wǎng)中獲取,以減少數(shù)據(jù)錄入工作量。2.1.3系統(tǒng)的開發(fā)模式RUP是一個將用戶需求轉(zhuǎn)化為軟件系統(tǒng)所需要的活動的集合,即軟件開發(fā)過程。RUP不是一個簡單的過程,而是一個通用的過程框架,可用于各種不同類型的軟件系統(tǒng)、各種不同的應(yīng)用領(lǐng)域、各種不同類型的組織、各種不同的功能級別以及各種不同的項(xiàng)目規(guī)模。RUP可以用二維坐標(biāo)來描述。橫軸通過時間組織,是過程展開的生命周期特征,體現(xiàn)開發(fā)過程的動態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括周期、階段、迭代和里程碑;縱軸以內(nèi)容來組織為自然的邏輯活動,體現(xiàn)開發(fā)過程的靜態(tài)結(jié)構(gòu),用來描述它的術(shù)語主要包括活動、產(chǎn)物、工作者
29、和工作流,如圖2-2所示。圖2-2 RUP二維開發(fā)模型RUP是一個以用例為驅(qū)動、以架構(gòu)為中心、迭代和增量式開發(fā)過程。RUP中的軟件生命周期在時間上被分解為四個順序的階段,分別是:初始階段(Inception)、細(xì)化階段(Elaboration)、構(gòu)造階段(Construction)和交付階段(Transition)。本系統(tǒng)開發(fā)過程總體上采用RUP模式,由于計算機(jī)排課系統(tǒng)開發(fā)的生命周期較短,因此,我們在使用RUP進(jìn)行軟件開發(fā)時,對RUP過程進(jìn)行了適當(dāng)?shù)牟脺p,保留了RUP的特點(diǎn),即仍然是一個用例驅(qū)動、以架構(gòu)為中心、迭代的開發(fā)過程。對裁減后的RUP,我們?nèi)∠嗽瓉鞷UP四個階段的定義,只給出了一些工
30、作流程和一些原則,并且結(jié)合了UML建模機(jī)制,合理的選擇了UML中的各種建模元素。裁減后RUP流程是一個不斷迭代的開發(fā)流程,每一個迭代過程都需要經(jīng)過下列步驟:第一步:找出系統(tǒng)的功能需求和非功能性需求,功能需求使用用例表示,非功能性需求,可以使用規(guī)定格式的文檔表示;項(xiàng)目開始時,找出一些主要的關(guān)鍵的用例即可,其他次要的用例可在以后的迭代中補(bǔ)充,對這些主要用例的描述應(yīng)該保持盡量簡單,對用例的描述可以使用文檔來表示,也可以使用UML中的建模元素來表示,本文在模型中,選擇了UML中的活動圖來表示。對這些用例要標(biāo)明其重要程度,對那些影響系統(tǒng)架構(gòu)的用例要標(biāo)以很高的重要程度。第二步:為這些用例建立簡單的系統(tǒng)初始
31、模型(可多個),可以使用用例圖來表示。從系統(tǒng)整個初始模型可以看出一個用例是否得當(dāng);也可以根據(jù)初始模型來確定團(tuán)隊(duì)的開發(fā)進(jìn)度;并且根據(jù)系統(tǒng)原型能夠得到系統(tǒng)潛在的一些系統(tǒng)架構(gòu);能夠這些系統(tǒng)架構(gòu)中考慮選擇一個最恰當(dāng)?shù)南到y(tǒng)架構(gòu)。第三步:找出待開發(fā)系統(tǒng)領(lǐng)域的類,第一次可以找主要的類;并定義個各類的主要職責(zé)和各類之間的關(guān)系,創(chuàng)建UML中的類圖來表示;將類分為邊界類、控制類和實(shí)體類這三種類,并為實(shí)體類之間的關(guān)系創(chuàng)建一個類圖,以便為以后的數(shù)據(jù)庫設(shè)計打下基礎(chǔ)。第四步:編寫整個項(xiàng)目全部迭代計劃(只此一次),每個迭代周期為1周2周,迭代周期必應(yīng)該過長。選擇要進(jìn)行迭代開發(fā)的用例,這些用例的開發(fā)周期不能超過迭代周期。迭代
32、應(yīng)該注意:迭代計劃內(nèi)容應(yīng)該包括迭代目標(biāo)、人員安排、迭代時間表、存在的風(fēng)險、可交付的迭代結(jié)果;每個迭代期間按照需求,分析,設(shè)計,實(shí)現(xiàn)和測試來進(jìn)行管理。第五步:將要開發(fā)用例所應(yīng)有的功能和類結(jié)合起來,即用類的對象來表示用力所具有的功能;創(chuàng)建UML中的序列圖或者協(xié)作圖來表示;通過討論驗(yàn)證修改序列圖/協(xié)作圖。第六步:如果某個類的對象,具有一些非常重要的狀態(tài),則為該類創(chuàng)建狀態(tài)圖,狀態(tài)圖中的事件,動作和行為最后會轉(zhuǎn)化成相應(yīng)類的操作。第七步:在設(shè)計的層次上加強(qiáng)上面兩個步驟中確定的序列圖/協(xié)作圖和狀態(tài)圖,討論是否還有別的操作和類所需訪問的數(shù)據(jù),定義實(shí)體類的屬性,并開始進(jìn)行數(shù)據(jù)庫的設(shè)計。第八步:根據(jù)上面的工作,對
33、類圖進(jìn)行細(xì)化與更新,在實(shí)體類不斷精化的基礎(chǔ)上,完成數(shù)據(jù)庫的設(shè)計。第九步:對當(dāng)前迭代的用例進(jìn)行編碼。根據(jù)所確定的UML模型,將設(shè)計階段所確定的類圖和定義的類,轉(zhuǎn)換成實(shí)際開發(fā)工具中所支持的類,并編寫代碼完成各個類的函數(shù)實(shí)現(xiàn),在編寫代碼的過程中,可以對設(shè)計模型中的缺陷與不足進(jìn)行相應(yīng)的修改;創(chuàng)建系統(tǒng)的實(shí)現(xiàn)模型,可以使用組件圖和配之圖來表示。如果有條件,在編碼的時候,進(jìn)行成對編程,提高代碼的質(zhì)量。第十步:對當(dāng)前的迭代進(jìn)行測試,看系統(tǒng)是否完成了用例所描述的所有功能。2.2系統(tǒng)需求問題描述2.2.1功能性需求按照RUP的要求,系統(tǒng)的功能性需求描述工具主要是用例(Use Case),即將系統(tǒng)的功能性需求分解到
34、每一個系統(tǒng)用例。RUP模式的最大優(yōu)點(diǎn)是按照角色(Actor)識別用例(Use Case)的方法,該方法可以較為直觀地建立起系統(tǒng)的架構(gòu),通過反復(fù)識別,避免需求中的漏項(xiàng)。為了清晰地描述系統(tǒng)用例的層次結(jié)構(gòu),可以采用將系統(tǒng)用例分為不同的包,每一個包表示一組相關(guān)的系統(tǒng)用例。為了清晰起見,本系統(tǒng)引入了包圖來將不同的功能用例進(jìn)行分類,每個包圖作一個子系統(tǒng),如圖2-3所示。從功能上看,淄博職業(yè)學(xué)院排課系統(tǒng)可以分為五個子系統(tǒng):用戶管理、數(shù)據(jù)錄入、自動排課、查詢課表、報表輸出。 圖2-3 系統(tǒng)功能包圖在每個包中,通過用例圖來描述系統(tǒng)的參與者(Actor)和系統(tǒng)的用例(Use Case),每一個用例通過用例活動圖進(jìn)
35、行詳細(xì)的描述。在項(xiàng)目開始階段,需求不是非常全面,但是,其需求的中心內(nèi)容仍然是上面幾點(diǎn),在通過對需求的分析,我們確立了如下幾個非常重要的用例:用戶管理、基礎(chǔ)數(shù)據(jù)錄入、自動排課、課表調(diào)整、課表輸出等。根據(jù)這些主要用例,在項(xiàng)目的初始階段,為排課管理系統(tǒng)確定了初始用例模型,描述了排課管理系統(tǒng)應(yīng)該完成的功能,即從用戶的角度看,系統(tǒng)應(yīng)該具有哪些功能。初始用例模型如圖2-4所示。 圖2-4 排課管理初始用例上面所列出的用例模型,基本上描述了排課系統(tǒng)的主要的功能,將這些基本功能實(shí)現(xiàn),就形成了一個簡單的排課管理系統(tǒng)。在項(xiàng)目開發(fā)的第一次迭代開發(fā)中,就是以上面確定的系統(tǒng)原型為基礎(chǔ)的,這也確定了系統(tǒng)排課管理系統(tǒng)的初始
36、架構(gòu)。在排課管理系統(tǒng)以后的迭代開發(fā)中,都是在該模型的基礎(chǔ)上進(jìn)行擴(kuò)展的。通過幾次迭代,在新的需求的增加下和對系統(tǒng)的進(jìn)一步理解,逐步完善了排課管理系統(tǒng)的用例模型,下面給出的用例圖(圖2-5)是當(dāng)前排課系統(tǒng)的最新的用例模型。圖2-5 排課管理用例圖 這里給出的用例模型是當(dāng)前迭代中進(jìn)行的,并不表示該模型是最優(yōu)最全的,模型會隨著迭代開發(fā)的不斷深入而不斷優(yōu)化和完善。在對排課系統(tǒng)的用例描述中,我們通過UML中的活動圖來表示。例如:為了說明如何使用活動圖來表示一個用例的行為,這里給出“自動排課”用例的活動圖(如圖2-6所示)。自動排課活動圖詳細(xì)地描述了自動排課用例在實(shí)際的執(zhí)行的時候,它應(yīng)該有哪些步驟,包括了它
37、成功之行得到用戶期望的結(jié)果和不成功執(zhí)行所走的步驟。在使用活動圖對自動排課用例進(jìn)行描述的步驟中,有些活動可能需要優(yōu)化,包括增加一些活動或者合并一些步驟,這些都會隨著迭代開發(fā)的不斷進(jìn)行而進(jìn)行優(yōu)化。當(dāng)然,對用例的描述也可以使用用例說明文檔來表示。圖2-6 自動排課活動圖2.3.2系統(tǒng)非功能性需求非功能性需求規(guī)定了系統(tǒng)必須滿足的服務(wù)水平、系統(tǒng)非運(yùn)行時間的屬性以及系統(tǒng)必須遵守的約束。非功能性需求雖然不直接影響系統(tǒng)功能,但在用戶和系統(tǒng)支持人員對該信息系統(tǒng)的認(rèn)可方面具有很大的影響。非功能性需求主要包括系統(tǒng)的約束與假設(shè)條件,系統(tǒng)的可用性、可靠性、性能、擴(kuò)展性、可支持性、系統(tǒng)接口。在本系統(tǒng)中,為了保證非功能性需
38、求的準(zhǔn)確性和可測試性,主要采用了量化的指標(biāo)要求來描述。例如對于系統(tǒng)的可用性要求,一般只需要采用非量化的指標(biāo)描述即可,例如可以描述為“要求系統(tǒng)采用簡潔、友好的人機(jī)界面使用戶能夠方便、快捷地應(yīng)用系統(tǒng)進(jìn)行業(yè)務(wù)處理;同時提供豐富、便捷的輔助功能,提高業(yè)務(wù)處理效率”。由于淄博職業(yè)學(xué)院使用系統(tǒng)的人員信息化水平差別很大,必須保證對業(yè)務(wù)比較熟悉的用戶經(jīng)過短時間培訓(xùn)后即可熟練地應(yīng)用本系統(tǒng),因此在本系統(tǒng)中對于可用性的要求則采用了用戶培訓(xùn)時間這樣一個量化的指標(biāo)來規(guī)定,即只有在規(guī)定的培訓(xùn)時間內(nèi)相應(yīng)的用戶可以掌握系統(tǒng)的操作,系統(tǒng)的可用性才能滿足要求。具體的系統(tǒng)可用性要求如表2-1所示。用戶職責(zé)系統(tǒng)功能培訓(xùn)時間教師用戶使
39、用本系統(tǒng)提供的業(yè)務(wù)處理功能完成業(yè)務(wù)處理提供便捷的課表查詢處理功能28小時教務(wù)管理人員使用本系統(tǒng)進(jìn)行自動排課管理,并對排課后數(shù)據(jù)處理提供豐富、靈活的自動排課功能和便捷的查詢功能812小時系統(tǒng)管理員進(jìn)行系統(tǒng)設(shè)置和維護(hù)提供方便的用戶/角色/權(quán)限管理工具、系統(tǒng)設(shè)置工具、系統(tǒng)備份/恢復(fù)工具1220小時表2-1 系統(tǒng)可用性要求指標(biāo)系統(tǒng)的可靠性包括系統(tǒng)的故障率、可恢復(fù)性和可維護(hù)性,具體形成如表2-2所示的技術(shù)指標(biāo)要求。指 標(biāo)要 求平均故障率故障發(fā)生頻率不高于1次/月。故障可恢復(fù)性擁有備份機(jī)制,并提供方便的系統(tǒng)備份恢復(fù)工具,保障在24小時內(nèi)恢復(fù)系統(tǒng)環(huán)境。可維護(hù)性提供方便地系統(tǒng)管理工具,供系統(tǒng)管理員進(jìn)行系統(tǒng)設(shè)置
40、和管理。提供方便的系統(tǒng)備份/恢復(fù)工具,供管理員對系統(tǒng)進(jìn)行定期備份和在發(fā)生故障時恢復(fù)系統(tǒng)。表2-2 系統(tǒng)可靠性要求指標(biāo)第3章 系統(tǒng)構(gòu)架設(shè)計淄博職業(yè)學(xué)院排課系統(tǒng)是一個用戶管理、基礎(chǔ)信息錄入、自動排課、課表查詢等業(yè)務(wù)的管理信息系統(tǒng)。系統(tǒng)架構(gòu)必須從各個方面滿足實(shí)際需求,這是架構(gòu)的設(shè)計目標(biāo)。同時在設(shè)計與開發(fā)的過程中嚴(yán)格遵守架構(gòu)的特殊約束,從而保證可以實(shí)現(xiàn)架構(gòu)設(shè)計的目標(biāo)。3.1構(gòu)架的目標(biāo)和約束系統(tǒng)架構(gòu)設(shè)計的目標(biāo)包括安全目標(biāo)、保密目標(biāo)、最大化的重用、簡潔、靈活等方面的規(guī)定。1、安全目標(biāo)。架構(gòu)從管理安全、系統(tǒng)安全、數(shù)據(jù)安全三個方面來具體考慮和保障系統(tǒng)安全。管理安全是指建立相應(yīng)的安全管理制度,最終決定是否安全是
41、人來決定的。系統(tǒng)安全從網(wǎng)絡(luò)、硬件、系統(tǒng)軟件、應(yīng)用軟件方面考慮如何加強(qiáng)整個系統(tǒng)的安全性。數(shù)據(jù)安全是指企業(yè)數(shù)據(jù)的安全,包括備份策略、加密等。2、保密目標(biāo)。對于校園內(nèi)重要的數(shù)據(jù)實(shí)行單獨(dú)保存,對排課系統(tǒng)設(shè)計安全級別,對于需要在校園網(wǎng)上傳輸?shù)闹匾獢?shù)據(jù),需要加密處理, 3、最大化的重用。重用是減少冗余的一個有效的途徑,包括組件級別的重用。組件的實(shí)現(xiàn)通常會應(yīng)用一種或幾種設(shè)計模式,這些模式與組件的結(jié)合使用大大提升了架構(gòu)的質(zhì)量。4、簡潔。把復(fù)雜問題簡單化是架構(gòu)設(shè)計的一個重要的目標(biāo),明確類以及類之間的職責(zé)關(guān)系。5、可靠性。根據(jù)非功能需求對可靠性的要求來設(shè)計,提高系統(tǒng)的可靠性,增強(qiáng)容錯處理能力。6、可擴(kuò)展性。系統(tǒng)在
42、設(shè)計時,充分考慮未來高職院校排課業(yè)務(wù)的變化、組織架構(gòu)的變化、業(yè)務(wù)流程的變化等,將因業(yè)務(wù)或者需求的變更帶來的系統(tǒng)升級和改造工作,降低到最小的開發(fā)量。任何一個系統(tǒng)都不是可以任意設(shè)計的,都有一定的約束和限制條件。本系統(tǒng)為了實(shí)現(xiàn)架構(gòu)的目標(biāo),遵循RUP軟件開發(fā)過程,實(shí)行全程的質(zhì)量控制,因此在設(shè)計策略方面要采用面向?qū)ο蟮姆治龊驮O(shè)計方法,RUP作為軟件開發(fā)過程,UML作為建模語言,在技術(shù)規(guī)范方面要建立必要的設(shè)計和開發(fā)規(guī)范。3.2構(gòu)架設(shè)計3.2.1系統(tǒng)總體架構(gòu)排課系統(tǒng)需要大量的數(shù)據(jù),包括教師信息、班級信息、科目信息、設(shè)備信息等,目前我院的這些基礎(chǔ)信息都分在各部門的微機(jī)或部門局域網(wǎng)的服務(wù)器上,在校園網(wǎng)建立起來以
43、后,為了實(shí)現(xiàn)基礎(chǔ)信息的全院共享,必須將數(shù)據(jù)集中存放,統(tǒng)一管理。因此在系統(tǒng)設(shè)計時要達(dá)到如下要求:l 系統(tǒng)軟件運(yùn)行應(yīng)該速度快、穩(wěn)定、可靠,同時還有具有一定的安全性; l 系統(tǒng)軟件操作上應(yīng)簡單、方便,界面簡潔明了、美觀;l 排課活動包括很多具有前后時間相關(guān)性,相互制約的步驟,各步驟之間層次分明,功能劃分清晰,又相對獨(dú)立;l 系統(tǒng)軟件應(yīng)能支持多用戶訪問、數(shù)據(jù)共享;l 系統(tǒng)軟件在結(jié)構(gòu)上應(yīng)具有很好的可擴(kuò)展性,便于將來的功能擴(kuò)展和維護(hù);l 數(shù)據(jù)計算準(zhǔn)確無誤,精確度符合業(yè)務(wù)的需要。l 系統(tǒng)提供一些靈活、通用的、便于維護(hù)的工具。根據(jù)系統(tǒng)設(shè)計的具體要求,我們構(gòu)建了系統(tǒng)的總體框架如圖3-1所示。排課系統(tǒng)是由五個子系
44、統(tǒng)和一個系統(tǒng)運(yùn)行平臺組成。其中系統(tǒng)運(yùn)行平臺提供其他各個子系統(tǒng)的一個運(yùn)行平臺與框架,是系統(tǒng)的主窗體,其他各個子系統(tǒng)最終都設(shè)計成一個DLL,每個子系統(tǒng)的運(yùn)行都必須在從系統(tǒng)運(yùn)行上進(jìn)行動態(tài)加載。排課系統(tǒng)的這種結(jié)構(gòu),具有如下優(yōu)點(diǎn):l 為以后子系統(tǒng)的增加和整個系統(tǒng)的擴(kuò)展提供了極大的便利,要增加的子系統(tǒng)只要開發(fā)為一個DLL,然后從系統(tǒng)運(yùn)行平臺上加載即可實(shí)現(xiàn)排課系統(tǒng)的擴(kuò)展。l 系統(tǒng)運(yùn)行平臺與任何一個子系統(tǒng)的組合可以方便構(gòu)成一個系統(tǒng)。系統(tǒng)運(yùn)行平臺主要提供用戶登錄、與數(shù)據(jù)庫服務(wù)器的連接、子系統(tǒng)的更新以及提供其他各個子系統(tǒng)的運(yùn)行環(huán)境。系統(tǒng)運(yùn)行平臺是一個可執(zhí)行程序,任何一個子系統(tǒng)都不能跨越它進(jìn)行啟動操作。 圖3-1
45、排課系統(tǒng)總體框架3.2.2系統(tǒng)功能構(gòu)架在對當(dāng)前高職院校需求的充分分析以及對未來可能需求的分析基礎(chǔ)之上,確立了系統(tǒng)功能構(gòu)架(如圖3-2)。計算機(jī)自動排課系統(tǒng)錄入管理查詢管理排課管理報表管理用戶管理教師信息教室信息時間信息教師課表班級課表自動排課手工調(diào)課總課表教務(wù)員用戶教師用戶系統(tǒng)用戶教師課表班級課表總課表圖3-2 排課系統(tǒng)的功能構(gòu)架本系統(tǒng)包括基礎(chǔ)信息錄入子系統(tǒng)、自動排課子系統(tǒng)、查詢子系統(tǒng)、報表輸出子系統(tǒng)和用戶管理子系統(tǒng),各個子系統(tǒng)的主要功能為:1、基礎(chǔ)信息錄入子系統(tǒng) 實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)的增加、修改、刪除功能以及對庫中所有數(shù)據(jù)進(jìn)行瀏覽的功能。這些基礎(chǔ)數(shù)據(jù)包括教學(xué)區(qū)、教室、院系、專業(yè)、教研室、班級、教師、
46、課程等基本信息,另外還包括編排課表所需要的參數(shù)信息、教學(xué)信息等附加信息。為了保證數(shù)據(jù)庫的安全,系統(tǒng)中只為系統(tǒng)管理員和操作人員賦予了操作權(quán)限,而普通用戶則沒有操作該模塊的權(quán)限。2、自動排課子系統(tǒng) 根據(jù)錄入的基礎(chǔ)信息進(jìn)行有效科學(xué)地綜合統(tǒng)計,分析各項(xiàng)數(shù)據(jù),然后按照所設(shè)計的排課算法編排出科學(xué)合理的課程表。 3、查詢子系統(tǒng) 完成用戶提出的各種查詢。包括按班級、教師、教室、課程、時間、總教室等條件進(jìn)行的查詢。 4、報表輸出子系統(tǒng) 利用排課算法編排出的結(jié)果,重新組織數(shù)據(jù),輸出用戶所需的各種形式的、復(fù)雜的報表。包括單班課表、總課表、單教室占用表、總教室占用表、教師上課信息、教學(xué)任務(wù)統(tǒng)計表以及開課目錄表等。 5
47、、用戶管理子系統(tǒng)實(shí)現(xiàn)對用戶及其權(quán)限的管理。為了確保數(shù)據(jù)庫的安全,為不同的用戶提供不同的操作權(quán)限。權(quán)限不同的用戶對數(shù)據(jù)庫的操作范圍不同,對于一些權(quán)限低的用戶,甚至不給予處理數(shù)據(jù)庫的權(quán)力。3.2.3系統(tǒng)技術(shù)構(gòu)架本系統(tǒng)采用技術(shù)比較成熟的C/S技術(shù)構(gòu)架,該模式功能強(qiáng)大,開發(fā)工作量小,對服務(wù)器要求低。排課系統(tǒng)需要大量的數(shù)據(jù),各種很多原始數(shù)據(jù)分布在校園網(wǎng)上不同系部、不同部門的計算機(jī)或服務(wù)器上,數(shù)據(jù)處理起來比較復(fù)雜,為了排課系統(tǒng)面向多層次的用戶服務(wù),采用基于C/S結(jié)構(gòu)的分布式數(shù)據(jù)庫的體系結(jié)構(gòu)比較合適。這種結(jié)構(gòu)的數(shù)據(jù)處理并不像通常在基于小型機(jī)或基于主機(jī)的計算機(jī)系統(tǒng)(終端方式)中那樣在單個的計算機(jī)上發(fā)生,而是把
48、程序的不同部分在多臺計算機(jī)上同時運(yùn)行。淄博職業(yè)學(xué)院計算機(jī)自動排課系統(tǒng)是一個基于校園網(wǎng)絡(luò)和數(shù)據(jù)庫應(yīng)用的系統(tǒng),該系統(tǒng)有3個節(jié)點(diǎn),分別是系統(tǒng)服務(wù)器、數(shù)據(jù)庫服務(wù)器和客戶端PC。系統(tǒng)服務(wù)器為系統(tǒng)提供了大部分的服務(wù),如錄入基礎(chǔ)信息、自動排課、生成課表等;數(shù)據(jù)庫服務(wù)器保存系統(tǒng)中所有持久數(shù)據(jù);客戶端PC可以通過校園網(wǎng)進(jìn)行訪問排課系統(tǒng)生成的排課信息。三者之間通過校園網(wǎng)相連。系統(tǒng)配置圖如3-3所示。圖3-3系統(tǒng)配置圖3.2.4系統(tǒng)安全構(gòu)架信息系統(tǒng)的安全包括多個方面,例如信息的存儲、傳輸、訪問等都屬于信息系統(tǒng)安全的范疇。從理論上講,系統(tǒng)安全僅指相對安全,并非絕對的安全,因此,任何系統(tǒng)都只能是在成本、效益等約束條件下
49、進(jìn)行相對安全設(shè)計。由于信息系統(tǒng)是分層次的,因此系統(tǒng)的安全也要分層設(shè)計。本系統(tǒng)采用的安全手段如表3-1所示。系統(tǒng)層次涵蓋內(nèi)容安全手段物理層硬件、網(wǎng)絡(luò)拓?fù)?、傳輸介質(zhì)、環(huán)境防硬件損壞、塵、雷、火、盜、抗干擾等系統(tǒng)層操作系統(tǒng)補(bǔ)丁、訪問控制、信息加密等網(wǎng)絡(luò)層邏輯拓?fù)?、通訊協(xié)議防火墻、IDS等應(yīng)用層通用應(yīng)用程序漏洞掃描、殺毒等管理層管理制度、人員技術(shù)、素質(zhì)網(wǎng)絡(luò)資源管理、培訓(xùn)、制度、責(zé)任、考核表3-1 信息系統(tǒng)安全層次物理層主要是對系統(tǒng)的硬件進(jìn)行安全保護(hù)。如系統(tǒng)所處的物理環(huán)境要防雷擊、防灰塵等。同時也要對傳輸介質(zhì)介質(zhì)進(jìn)行相應(yīng)的保護(hù),如防盜。系統(tǒng)層主要是針對操作系統(tǒng)的保護(hù)。如給系統(tǒng)打補(bǔ)丁,定期升級,對重要的信
50、息進(jìn)行加密處理,實(shí)現(xiàn)信息在數(shù)據(jù)鏈路上的安全。在網(wǎng)絡(luò)層采用防火墻設(shè)備進(jìn)行安全防范。防火墻在總公司內(nèi)網(wǎng)與外網(wǎng)間執(zhí)行一定的安全策略。一個有效的防火墻應(yīng)該能夠確保:所有從因特網(wǎng)流入或流向因特網(wǎng)的信息都將經(jīng)過防火墻;所有流經(jīng)防火墻的信息都應(yīng)接受檢查。 在應(yīng)用層主要進(jìn)行入侵檢測和病毒防護(hù)的安全防范。入侵檢測系統(tǒng)對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行特征分析,實(shí)時捕獲各種攻擊行為,防病毒系統(tǒng)是通過部署防病毒軟件來實(shí)現(xiàn)。防病毒主要的工作就是提高員工的警惕性,每次開機(jī)都更新病毒庫。管理層主要通過制定相應(yīng)的信息安全管理規(guī)章制度進(jìn)行保護(hù)。如定期對教務(wù)人員進(jìn)行培訓(xùn),明確責(zé)任等。同時也要注意對網(wǎng)路資源的保護(hù)。第4章 系統(tǒng)詳細(xì)設(shè)計4.1 系統(tǒng)建
51、模模型的創(chuàng)建在整個項(xiàng)目的開發(fā)中是至關(guān)重要的,因?yàn)椋@是一個將用例模型轉(zhuǎn)化成系統(tǒng)中應(yīng)該存在的類的階段,是將系統(tǒng)功能用類如何實(shí)現(xiàn)的階段。整個項(xiàng)目開發(fā)的后面工作,都是在分析階段所完成的分析模型的基礎(chǔ)上進(jìn)行的,所以,在項(xiàng)目的開發(fā)過程中,要確保該階段工作的質(zhì)量,嚴(yán)格完成該階段應(yīng)該完成的各種UML圖。在這個階段,我們找出了排課管理系統(tǒng)中涉及的主要的類,并且結(jié)合用例模型中的用例,將各個類與用例有機(jī)結(jié)合起來。對系統(tǒng)中的類,建立相應(yīng)的類圖來表示各個類之間的關(guān)系。而如何讓用例與這些類進(jìn)行結(jié)合,則通過建立相應(yīng)的序列圖/協(xié)作圖來進(jìn)行建模。分析模型的建立,并不是一個或幾個類圖所能實(shí)現(xiàn)了,為了對一個系統(tǒng)進(jìn)行充分建模,對于
52、不同的項(xiàng)目可以選用不同的建模元素和建模機(jī)制。在對排課系統(tǒng)的建模中,選擇了類圖和序列圖來構(gòu)建其對應(yīng)的分析模型。在排課管理系統(tǒng)的分析模型中,通過對排課系統(tǒng)的分析和幾次迭代,找出了排課管理系統(tǒng)中涉及的類,并給出了如下的類圖和各個類之間的關(guān)系(如圖4-1)。在這個類圖中,我們選擇了Rose提供的三種類的表示,即邊界類、控制類、和實(shí)體類,并表示了各個類之間的關(guān)系。邊界類是與用戶交互的界面類的抽象;控制類是系統(tǒng)中的一些計算、控制類的抽象;實(shí)體類是存儲數(shù)據(jù)的類的抽象。為了圖的整潔,在上圖中,沒有給出類的關(guān)鍵方法和屬性的定義。圖4-1 排課管理類關(guān)系圖上面類圖中,將排課管理中的類分成三種,并構(gòu)建了類圖,這種表
53、示方法能夠清楚地表示各個類在系統(tǒng)中所處的位置,更加直觀。當(dāng)然,僅僅給出了三種類之間的關(guān)系,這樣表示還是不夠的。實(shí)體類之間也是有一定的關(guān)系的,對此,我們使用了另一個類圖來表示各個實(shí)體類之間的關(guān)系,如圖4-2所示。圖4-2 排課管理實(shí)體類關(guān)系類圖在這之前,所做的所有模型都是屬于UML的靜態(tài)建模機(jī)制中的;而現(xiàn)在所要用到的建模元素是屬于UML的動態(tài)建模機(jī)制的。我們用UML中的序列圖/協(xié)作圖來表示在系統(tǒng)運(yùn)行時,完成該用例功能系統(tǒng)的內(nèi)部協(xié)作關(guān)系。序列圖和協(xié)作圖是等價的,在Rose中,可以將序列圖自動轉(zhuǎn)換成等價的協(xié)作圖,協(xié)作圖也可以自動轉(zhuǎn)換成相應(yīng)的協(xié)作圖。到底采用哪種建模元素,完全取決于項(xiàng)目的實(shí)際需要,而且
54、,這兩種圖只需構(gòu)造其中的一種就可以了。在一般的實(shí)時系統(tǒng)中,一般采用序列圖,在序列圖中,能夠清楚地看到各個對象之間交互時的時間與順序關(guān)系。而在其他的不強(qiáng)調(diào)時間與順序的情況下,使用協(xié)作圖來表示對象間的關(guān)系。在對排課管理系統(tǒng)的動態(tài)建模中,因?yàn)榕耪n系統(tǒng)比較強(qiáng)調(diào)時間安排問題,所以我們選擇了序列圖來表示相應(yīng)的用例的在系統(tǒng)運(yùn)行時的動態(tài)執(zhí)行情況。如下面給出的自動排課用例的序列圖(圖4-3)。圖4-3 自動排課序列圖我們在創(chuàng)建用例的序列圖的過程中,注意各個類的初級設(shè)計,即發(fā)現(xiàn)各個類的方法和屬性,而且,一般在此階段發(fā)現(xiàn)的類的屬性和設(shè)計都是非常重要和關(guān)鍵的,當(dāng)然對于這個階段發(fā)現(xiàn)的方法和屬性不需要進(jìn)行嚴(yán)格的定義,對方
55、法和屬性的嚴(yán)格定義可以放在設(shè)計階段去完成;但是,對于每一個發(fā)現(xiàn)的方法和屬性應(yīng)該記錄下來,可以使用文字進(jìn)行詳細(xì)的描述。對于方法,如果能夠確定其參數(shù),返回值,也必須進(jìn)行描述,或者將其定義確定下來。在創(chuàng)建和驗(yàn)證UML的過程中,要做如下工作:1、 對于某個類,如果已經(jīng)存在方法和屬性,要詳細(xì)描述,能夠準(zhǔn)確定義的,則需要進(jìn)行準(zhǔn)確定義。2、 對于某各類,如果發(fā)現(xiàn)新的方法或?qū)傩裕惨M(jìn)行詳細(xì)描述,描述應(yīng)該包括參數(shù),返回值,功能等等。如果在建模過程中,需要增加一些類或刪除一些類,或?qū)σ恍╊愡M(jìn)行合并,驗(yàn)證后,要立即修改相應(yīng)的類圖。在對自動排課用例的序列圖創(chuàng)建過程中,也是經(jīng)過這樣的步驟,逐漸來增加該類的方法和屬性的。自動排課類在此階段發(fā)現(xiàn)的方法和屬性簡要?dú)w納如下,對于這些屬性和方法的描述性的:自動排課類:屬性:pClassSubject:保存各個班級的需要安排的科目信息。pArranging:當(dāng)前正在安排的科目信息。pLimitInfo:當(dāng)前安排科目和教師的限制信息。方法:Arrange:為某科目安排一節(jié)位置。GetClassSubject:得到排
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)聯(lián)企業(yè)合同范例
- 2025年上海貨運(yùn)從業(yè)資格證考試答案
- 2025年崇左貨運(yùn)上崗證考試考哪些科目
- 2025年邯鄲貨車叢業(yè)資格證考試題
- 低壓車回收合同范本
- 農(nóng)村建房裝修合同范本
- 養(yǎng)殖合作加盟協(xié)議合同范本
- 農(nóng)耕地出租合同范本
- 傳媒簽約合同范本
- 加氣站合同范本
- 2024智能變電站新一代集控站設(shè)備監(jiān)控系統(tǒng)技術(shù)規(guī)范部分
- GB/T 30306-2024家用和類似用途飲用水處理濾芯
- 2024環(huán)氧磨石地坪施工技術(shù)規(guī)程
- 五年級下冊小學(xué)數(shù)學(xué)《分?jǐn)?shù)的加法和減法》單元作業(yè)設(shè)計
- 醫(yī)學(xué)文獻(xiàn)管理制度
- 白塞氏病學(xué)習(xí)課件
- 川教版六年級《生命.生態(tài).安全》下冊第1課《我們的閑暇時光》課件
- 2024年建筑業(yè)10項(xiàng)新技術(shù)
- 重大風(fēng)險管控方案及措施客運(yùn)站
- 新編大學(xué)英語跨文化交際教程 課件 Unit 1-A Chinese Character
- 方案偏離處理措施
評論
0/150
提交評論