【正文】
面類,調(diào)用業(yè)務(wù)對(duì)象包中的操作檢索和插入數(shù)據(jù),可以簡(jiǎn)單地把它們看成將來(lái)用戶要操作的界面。 設(shè)計(jì)架構(gòu)時(shí),應(yīng)該將應(yīng)用邏輯和技術(shù)邏輯分割。 管 理 人 員獎(jiǎng) 勵(lì) 管 理 界 面獎(jiǎng) 勵(lì) 開(kāi) 始S t u N O選 擇 學(xué) 號(hào)獎(jiǎng) 勵(lì) 信 息確 定 獎(jiǎng) 勵(lì) 確 定 獎(jiǎng) 勵(lì) 時(shí) 間 圖 9 獎(jiǎng)勵(lì)時(shí)序 圖 處罰的時(shí)序如圖 10 所示。設(shè)計(jì)的目的是產(chǎn)生一個(gè)可以使用的解決方案,并且可以容易地將方案轉(zhuǎn)換成程序代碼。 不是所有的類都有狀態(tài)圖,在本系統(tǒng)中,有狀態(tài)圖的類是學(xué)生。用時(shí)序圖建模時(shí),需要窗口或?qū)υ捒蜃鳛榻巧缑?。本文選用時(shí)序圖。 + C r e a t e ( )+ D e s t r o y ( ) S t u N O : I n t e g e r D e p a r t M e n t : S t r i n g C l a s s : S t r i n g N a m e : S t r i n g S e x : S t r i n g B i r t h D a y : D a t e N a t i v e P l a c e : S t r i n gS t u d e n t+ C r e a t e ( )+ D e s t r o y ( ) S t u N O : I n t e g e r D e p a r t M e n t : S t r i n g C l a s s : S t r i n g N a m e : S t r i n g C h a n g e N a m e : S t r i n g C h a n g e T i m e : D a t e R e m a r k : S t r i n gC h a n g e+ C r e a t e ( )+ D e s t r o y ( ) S t u N O : I n t e g e r N a m e : S t r i n g C o u r s e : S t r i n g S c o r e : I n t e g e rS c o r e+ C r e a t e ( )+ D e s t r o y ( ) S t u N O : I n t e g e r D e p a r t M e n t : S t r i n g C l a s s : S t r i n g N a m e : S t r i n g E n c o u r a g e N a m e : S t r i n g E n c o u r a g e T i m e : D a t eE n c o u r a g e+ C r e a t e ( )+ D e s t r o y ( ) S t u N O : I n t e g e r D e p a r t M e n t : S t r i n g C l a s s : S t r i n g N a m e : S t r i n g P u n i s h N a m e : S t r i n g P u n i s h T i m e : D a t eP u n i s h1 . . *1 . . *1 . . *1 . . *1 . . *1 . . *1 . . *1 . . * 圖 4 學(xué)生管理信息系統(tǒng)域草圖 需要說(shuō)明的是,這里的域類還是處于“草圖”狀態(tài),定義的操作和屬性不是最后的片本,只是 在現(xiàn)階段看來(lái)這些操作和屬性是比較合適的,有些操作 獎(jiǎng)在時(shí)序圖的草圖中定義,而不晨用例哪定義。實(shí)際開(kāi)發(fā)學(xué)生管理信息系統(tǒng)時(shí),域類分析是建立在用例分析基礎(chǔ)上的。 這里,使用權(quán)用 Rose 軟件進(jìn)行 UML 建模,其用例如圖 3 所示。 ( 1)新世界生信息 增加學(xué)生記錄→標(biāo)記學(xué)生學(xué)號(hào)→確定學(xué)生院系→確定學(xué)生班級(jí) ( 2)學(xué)生成績(jī) 增加學(xué)生成績(jī)記錄→校對(duì)學(xué)生成績(jī) ( 3)學(xué)籍變更 增加學(xué)籍變更記錄→標(biāo)記變更原因→標(biāo)記變更時(shí)間 ( 4)學(xué)生獎(jiǎng)勵(lì) 增加學(xué)生獎(jiǎng)勵(lì)記錄→標(biāo)記獎(jiǎng)勵(lì)項(xiàng)目→標(biāo)記獎(jiǎng)勵(lì)時(shí)間 ( 5)學(xué)生處罰 增加學(xué)生處罰記錄→標(biāo)記處罰等級(jí)→標(biāo)記處罰時(shí)間 ( 6)學(xué)生信息查詢修改 查詢個(gè)人信息→修改個(gè)人信息→保存?zhèn)€人信息→查詢獎(jiǎng)懲情況→查詢學(xué)籍變更情況→打印成績(jī)單 UML 系 統(tǒng) 建 模 完成需求分析后,就需要對(duì)系統(tǒng)進(jìn)行 UML 建模。此外,學(xué)生還具有查詢和打印成績(jī)的權(quán)限,查詢獎(jiǎng)懲情況、學(xué)籍變更記錄等權(quán)限。學(xué)籍變更 學(xué)生管理信息系統(tǒng)的用例包括以下內(nèi)容。 分析需求的第一步是描述學(xué)生管理信息系統(tǒng)的功能,即定義用例,以此確定系統(tǒng)的功能需求。 ( 8)系統(tǒng)應(yīng)該有很好的可擴(kuò)展性。 ( 4)當(dāng)學(xué)生因?yàn)榧膊 W(xué)業(yè)修完等原因?qū)W籍需要變更的時(shí)候,學(xué)籍科的管理人員應(yīng)該對(duì)其進(jìn)行學(xué)籍變更手續(xù)。學(xué)生個(gè)人檔案包括學(xué)生學(xué)號(hào)、姓名、性別、出生日期、所屬班級(jí)、所屬院系、籍貫等。下面分別分析這兩個(gè)過(guò)程。 學(xué)生管理信息系統(tǒng)作為典型的數(shù)據(jù)庫(kù)項(xiàng)目應(yīng)用的一種,其開(kāi)發(fā)流程包括需求分析、 UML系統(tǒng)建模、確定系統(tǒng)集成方案、數(shù)據(jù)庫(kù)分析和設(shè)計(jì)以及各功以模塊的開(kāi)發(fā)等。 ( 2)學(xué)籍管理主要是對(duì)學(xué)生的學(xué)籍變更情況及時(shí)控制和管理,變更的原因有:轉(zhuǎn)系、休學(xué)、復(fù)學(xué)、退學(xué)和畢業(yè)離校。所以,幾乎所有的大、中、小學(xué)校都需要一套這樣的管理系統(tǒng)來(lái)提高日常的工作效率。學(xué)生管理工作是學(xué)校各項(xiàng)工作的一個(gè)重要部分,其管理水平的高低將直接影響到人才的培養(yǎng)質(zhì)量。面對(duì)龐大的信息量,如何有效地提高學(xué)生管理工作的效率是一個(gè)學(xué)校急需解決的問(wèn)題。圖 1 和圖 2 所示是兩個(gè)典型的學(xué)生管理信息系統(tǒng)的界面。 ( 3)成績(jī)管理是數(shù)據(jù)量比較大的管理工作,每次考試結(jié)束后負(fù)責(zé)對(duì)學(xué)生各個(gè)科目的成績(jī)?nèi)霂?kù)工作和對(duì)數(shù)據(jù)庫(kù)成績(jī)出錯(cuò)的校對(duì)工作。下面介紹一個(gè)學(xué)生管理信息系統(tǒng)的詳細(xì)開(kāi)發(fā)過(guò)程。 理解需求 只有通過(guò)對(duì)學(xué)生管理信息系統(tǒng)的終端用戶和客戶進(jìn)行大量的調(diào)研,才能真正理解終端用戶和客戶的 需求,才能開(kāi)發(fā)出合理的、實(shí)用的管理系統(tǒng),才能滿足各大、中、小學(xué)校的管理需要。 ( 2)考試結(jié)束時(shí),教務(wù)科的管理人員將學(xué)生各科的成績(jī)錄入數(shù)據(jù)庫(kù),以備隨時(shí)查詢。 ( 5)學(xué)生應(yīng)該具有查詢個(gè)人信息和成績(jī)的權(quán)力和權(quán)限。 在本系統(tǒng)中主要提供新生信息錄入、學(xué)籍變更、成績(jī)管理和獎(jiǎng)懲管理等相關(guān)的功能。一所學(xué)校的主要成員就是學(xué)生和學(xué)校的管理人員、教師、系統(tǒng)管理員等,管理人員主要指學(xué)籍科、學(xué)生科和教務(wù)科的人員,他們是學(xué)生管理信息系統(tǒng)的主要使用者。 學(xué)生獎(jiǎng)勵(lì) 學(xué)生管理信息系統(tǒng)的分析可以用 UML 的用例圖來(lái)描述。 UML 建模是對(duì)需求分析結(jié)果的模型建立過(guò)程。 學(xué) 校 管 理 員學(xué) 籍 變 更學(xué) 生 信 息 查 詢 修 改學(xué) 生 處 罰學(xué) 生 獎(jiǎng) 勵(lì)學(xué) 生 成 績(jī)新 生 信 息學(xué) 生 圖 3 學(xué)生管理信息系統(tǒng)用例圖 該用例圖標(biāo)記了所有的學(xué)生管理住處系統(tǒng)的用例,從 中可以得知,學(xué)生管理信息系統(tǒng)的角色可以劃分為兩類。學(xué)生:用例只有學(xué)生信息查詢修改。要了解系統(tǒng)要處理的概念,最好獎(jiǎng)學(xué)校的管理人員組織起來(lái)開(kāi)個(gè)討論會(huì),詳細(xì) 談?wù)摵土信e所需要包含水量的用例,了解概念和概念之間的關(guān)系。 有些類可以用 UML 狀態(tài)圖來(lái)顯示類的對(duì)象的不同狀態(tài)以及改變狀態(tài)的事件。時(shí)序圖的基礎(chǔ)是用例。顯然,這里需要操作界面的有基本信息、 獎(jiǎng)勵(lì)、處罰、學(xué)籍變更、修改查詢等,此外維護(hù)也需要一個(gè)操作界面。 學(xué)生的狀態(tài)圖如圖 5 所示。 學(xué)生的時(shí)序如圖 6 所示 管 理 人 員新 生 信 息登 錄 界 面新 生 報(bào) 道S t u N O確 定 學(xué) 號(hào)新 生 信 息確 定 院 系 確 定 班 級(jí) 圖 6 學(xué)生時(shí)序圖 成績(jī)的時(shí)序如圖 7 所示。 管 理 人 員處 罰 管 理 界 面處 罰 開(kāi) 始S t u N O選 擇 學(xué) 號(hào)處 罰 信 息確 定 處 罰 確 定 處 罰 時(shí) 間 圖 10 處罰時(shí)序圖 查詢修改的時(shí)序如圖 11 所示。應(yīng)用邏輯是需要編碼設(shè)計(jì)的,而技術(shù)邏輯,主要包括用戶界面、數(shù)據(jù)庫(kù)或者通信一般是已經(jīng)有的。 數(shù)據(jù)庫(kù)包( Database Package):數(shù)據(jù)庫(kù)包向業(yè)務(wù)對(duì)象數(shù)據(jù)包提供服務(wù)。 系 統(tǒng) 配 置 優(yōu)秀的數(shù)據(jù)庫(kù)系統(tǒng)必有一個(gè)相對(duì)最優(yōu)的系統(tǒng)配置方案。 ( 1)數(shù)據(jù)庫(kù)選擇 可以根據(jù)數(shù)據(jù)量的大小選擇不同的數(shù)據(jù)庫(kù), 如表 1 所示。操作系統(tǒng)的選擇如表 2 所示。 ( 1)客 戶端硬件選擇 可以根據(jù)穩(wěn)定性要求選擇不同的客戶端。服務(wù)器端的選擇如表 94 所示。 ( 1)單機(jī)模式:即服務(wù)器和客戶端在一臺(tái)計(jì)算機(jī)上。 表 5 學(xué)生管理信息系統(tǒng)配置的選擇 用 戶 每秒數(shù)據(jù)并發(fā)數(shù) 據(jù)訪問(wèn)記錄數(shù) 穩(wěn)定性要 求 維護(hù)水平 備選網(wǎng)絡(luò)方案 社區(qū)小學(xué) 10~50 低 差 單機(jī)模式 公立小學(xué)或社區(qū)中學(xué) 50~500 中 一般 百兆模式 公立中學(xué)或社區(qū)大學(xué) 50~500 中 一般 百兆模式 專業(yè)型大學(xué) 500~2020 較高 較好 百兆模式 綜合型大學(xué) 2020 以上 高 好 千兆模式 數(shù) 據(jù) 庫(kù) 分 析 在開(kāi)發(fā)學(xué)生管理信息系統(tǒng)時(shí),可以先進(jìn)行 ER 圖分析,然后對(duì)表和 字段進(jìn)行分析,最后進(jìn)行數(shù)據(jù)庫(kù)建模。首先從大的方面設(shè)計(jì)出各個(gè)實(shí)體之間的關(guān)系,然后在這個(gè)關(guān)系的基礎(chǔ)上進(jìn)行細(xì)化。圖 916 只是學(xué)生管理信息系統(tǒng)最基本元素 的實(shí)體關(guān)系圖,可以在此基礎(chǔ)上根據(jù)用戶的不同需要進(jìn)行擴(kuò)展。 建立的數(shù)據(jù)庫(kù)模型如圖 17 所示。下面分別講述本系統(tǒng)中數(shù)據(jù)庫(kù)的設(shè)計(jì)。 ( 2)在“文件新建數(shù)據(jù)庫(kù)”窗口指定數(shù)據(jù)庫(kù)的存放位置與數(shù)據(jù)庫(kù)文件名稱(本例為)然后單擊“創(chuàng)建”按鈕,如圖 19 所示。 圖 20 開(kāi)始設(shè)計(jì)表 ( 2)在表的設(shè)計(jì)窗口“表 1:表”中,按表 6 建立數(shù)據(jù)字段,并指定字段的數(shù)據(jù)類型與相關(guān)屬性。 ( 5)回到“ Stu:數(shù)據(jù)庫(kù)”子窗口中,如果出現(xiàn)了 StuInfo 這個(gè)表項(xiàng)目,就代表現(xiàn)在已經(jīng)完成學(xué)生數(shù)據(jù)文件的設(shè)計(jì),如圖 24 所示。 圖 25 完成數(shù)據(jù)庫(kù)表項(xiàng)目的設(shè)計(jì) 圖 26 完成后端數(shù)據(jù)庫(kù)創(chuàng)建工作 界 面 設(shè) 計(jì) 以上內(nèi)容完成了數(shù)據(jù)庫(kù)的后臺(tái)工作,建立起了能夠保障系統(tǒng)順利、正確運(yùn)行的后臺(tái)。管理員和學(xué)生的權(quán)限不一樣,管理員擁有系統(tǒng)的所有權(quán)限,學(xué)生只有查詢修改個(gè)人信息和打印成績(jī)單的權(quán)限。選擇該界面中工具欄中的不同按鈕,就會(huì)進(jìn)入 實(shí)現(xiàn)不同功能的窗體。 圖 29 新生信息錄入界面窗體 成績(jī)管理界面設(shè)計(jì) 成績(jī)管理界面主要實(shí)現(xiàn)成績(jī)的添加和校對(duì)修改的功能,圖 30 是成績(jī)管理界面窗體。相應(yīng)的獎(jiǎng)項(xiàng)有校特等獎(jiǎng)、校一等校、校二等校、校三等校、工作獎(jiǎng)等,用戶可以根據(jù)實(shí)際情況進(jìn)行設(shè)計(jì)。相應(yīng)的處罰項(xiàng)有警告、記過(guò)、開(kāi)除等, 用戶可以根據(jù)實(shí)際情況進(jìn)行設(shè)計(jì)。圖 934 是查詢修改界面窗體。 用戶登錄的代碼實(shí)現(xiàn) 學(xué)生管理信息系統(tǒng)啟動(dòng)時(shí),首先出現(xiàn)的是系統(tǒng)主界面。//“用戶登陸”按鈕的單擊事件 Var pwdfile:textfile。 reset(pwdfile)。 If =PwdStr then begin close。 :=True。 :=True。 end else begin if MessageDlg(‘ 密碼輸入錯(cuò)誤,是否退出? ’ ,mtContirmation,[mbYes,mbNo],0)=mryes then begin close。 end。 為了防止用戶多次重輸密碼,限制了輸入了次數(shù)為 3 次,因此需要對(duì)次數(shù)進(jìn)行初始化,活加代碼如下: Procedure (Sender:TObject)。代碼如下: Procedure (Sender:TObject)。 。 StuName:=。 Post。 end。//“添加”按鈕的單擊事件 var StuNo,StuName,StuClass,ChangeRemark:string。 StuClass:=。 append。 end。 begin with Table3 do begin Open。 StuDepart:=。 if =true then EncourageName:=。 if =true then EncourageName:=。 end。//“修改”按鈕的單擊事件 var StuNo,StuName,StuClass,StuDepart,StuSex,Birthdayt,NativePlace:string