




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)籍管理系統(tǒng)設(shè)計(jì)說明書學(xué)院計(jì)算機(jī)與信息學(xué)院專業(yè)軟件工程目錄一、需求分析 1. 目標(biāo)用戶03 2. 主要功能03 3. 問題描述03 4. 問題分析03二、概要設(shè)計(jì) 1. 方案確定03 2. 軟件結(jié)構(gòu)03 3. 模塊功能說明03三、詳細(xì)結(jié)構(gòu)設(shè)計(jì) 1. 數(shù)據(jù)設(shè)計(jì)04 2. 流程圖04四、T-SOL源程序 1. 存儲(chǔ)過程09 2. 觸發(fā)器09五、調(diào)試分析和測(cè)試結(jié)果調(diào)試分析和測(cè)試結(jié)果11六個(gè)人體會(huì)利用詳細(xì)程序設(shè)計(jì)書一、需求分析1 目標(biāo)用戶管理人員班級(jí)輔導(dǎo)員(或班主任) 教師學(xué)生等2 主要功能序號(hào)功能名稱功能說明1學(xué)生管理登記學(xué)生的基本信息(性別,姓名,班級(jí)等),并提供查詢功能2課程管理登記課程基本情況
2、(課程名稱,開課學(xué)期,課程類型,學(xué)分等),提供查詢功能3教師管理登記教師基本情況(姓名,年齡,性別,學(xué)歷等),提供統(tǒng)計(jì)查詢4成績管理登記學(xué)生各門課程的考試成績,提供查詢 統(tǒng)計(jì)功能5授課管理登記教師講授課程,授課地點(diǎn)和授課學(xué)期,提供查詢功能6編碼維護(hù)維護(hù)系統(tǒng)中使用的編碼(如職稱編碼等)3 問題描述管理人員需要建立學(xué)生的學(xué)籍,匯總每學(xué)期沒有拿到規(guī)定學(xué)分的學(xué)生以及這些學(xué)生的詳細(xì)情況;學(xué)生完成一門課程的學(xué)習(xí)以后,教師需要錄入學(xué)生的考試成績,計(jì)算平均成績,匯總各個(gè)分?jǐn)?shù)段的人數(shù);學(xué)生需要查詢已結(jié)業(yè)的各門課的成績;班主任需要查詢本班學(xué)習(xí)情況,包括各門課程的平均成績和每個(gè)學(xué)生的開始通過情況。為此,設(shè)計(jì)一套實(shí)用
3、的學(xué)籍管理系統(tǒng)可以大大簡(jiǎn)化管理人員,班主任和任課教師的工作,方便學(xué)生查詢自己的學(xué)習(xí)情況。4 問題分析1 確定系統(tǒng)的源點(diǎn)和匯點(diǎn)2 確定系統(tǒng)所需的存儲(chǔ)文3 確定頂層加工4 確定數(shù)據(jù)流二、概要設(shè)計(jì)1) 根據(jù)系統(tǒng)的初步需求,分析設(shè)計(jì)頂層數(shù)據(jù)流圖2)根據(jù)頂層數(shù)據(jù)流圖,細(xì)化出一層數(shù)據(jù)流圖3)繼續(xù)細(xì)化數(shù)據(jù)流圖4)制定整理數(shù)據(jù)字典三、詳細(xì)設(shè)計(jì)1頂層數(shù)據(jù)流圖2第一層數(shù)據(jù)流圖3 第二層數(shù)據(jù)流圖4 細(xì)化后的成績錄入3層數(shù)據(jù)流圖四、部分T-SQL源程序1 存儲(chǔ)過程-Creditconvert(功能:學(xué)分轉(zhuǎn)換)CREATE FUNCTION CreditConvert( 成績 NUMERIC(3,1),學(xué)分 NUMER
4、IC(3,1)-成績:考試成績-學(xué)分:課程規(guī)定學(xué)分RETURNS NUMERIC(5,2)-應(yīng)得學(xué)分ASBEGIN RETURN CASE SIGN(成績-60) WHEN 1 THEN 學(xué)分 WHEN 0 THEN 學(xué)分 WHEN -1 THEN 0 ENDEND-termConvert(功能:學(xué)期轉(zhuǎn)換)CREATE FUNCTION termConvert(term CHAR(11),CLno CHAR(6)-term 學(xué)年,格式如:2006-2007/2-CLno 班級(jí)編號(hào),格式如:020001,前2位代表入學(xué)年份RETURNS INT -在校第幾學(xué)期ASBEGINRETURN(CONV
5、ERT(NUMERIC,SUBSTRING(term,1,4)-CONVERT(NUMERIC,'20'+SUBSTRING(CLno,1,2)*2+CONVERT(NUMERIC ,SUBSTRING(TERM,11,1)END統(tǒng)計(jì)不同分?jǐn)?shù)段人數(shù)存儲(chǔ)過程設(shè)計(jì)-按照課程編號(hào)統(tǒng)計(jì)最高分、最低分,不同分?jǐn)?shù)段的人數(shù),平均成績CREATE PROCEDURE p_SatSorecno CHAR(5) ,-人口參數(shù):班級(jí)編號(hào)clno CHAR(6) -人口參數(shù):課程編號(hào)ASBEGIN DECLARE socre1 INT -待統(tǒng)計(jì)分?jǐn)?shù)段上限 DECLARE socre2 INT -待統(tǒng)計(jì)
6、分?jǐn)?shù)段下限 DECLARE num INT -待統(tǒng)計(jì)分?jǐn)?shù)段人數(shù) DECLARE CLName VARCHAR(30) -班級(jí)名稱 DECLARE CName VARCHAR(50) -課程名稱-查詢課程名稱和班級(jí)名稱SET CLName=(SELECT CLName FROM class WHERE CLno=clno)SET CName=(SELECT 課程名稱 FROM course WHERE 課程編號(hào)=cno)PRINT CLName+' <'+CName+'>'+'考試成績按照分?jǐn)?shù)段統(tǒng)計(jì)情況'-設(shè)置被統(tǒng)計(jì)分?jǐn)?shù)段的初值SET
7、socre1=100SET socre2=90WHILE (socre1>=60)BEGIN SET num=(SELECT count(*) FROM 選課 a,classb,classmate c WHERE b.CLno=c.CLno AND a.no=c.no AND b.CLno=clno AND a.no=cno AND 成績 BETWEEN socre2 AND socre1) PRINT STR(socre2)+'至'+STR(socre1)+'分人數(shù)為'+STR(num)-調(diào)整統(tǒng)計(jì)分?jǐn)?shù)段SET socre1=socre2IF socre1
8、>60 SET socre2=socre2-10ELSE SET socre2=0 ENDEND匯總平均成績存儲(chǔ)過程設(shè)計(jì)CREATE Procedure p_AverageScore term VARCHAR(11)-人口參數(shù):學(xué)期-學(xué)期的格式為:*-*/*-前9位表示學(xué)年,最后一位表示本學(xué)年的第幾期。例如,2005-2006/2表示2005-2006學(xué)年的第二學(xué)期。asBEGIN DECLARE 課程編號(hào) VARCHAR(5) -變量:課程編號(hào) DECLARE CLname VARCHAR(30) -變量:班級(jí)名稱 DECLARE CLno VARCHAR(6) -變量:班級(jí)編號(hào) DE
9、CLARE avgscore NUMERIC(10,2) -變量:平均成績 DECLARE Cterm INT -變量:學(xué)期-定義班級(jí)游標(biāo) DECLARE class_cursor CURSOR FOR SELECT CLname,CLno,dbo.termConvert(term,CLno)FROM class WHERE dbo.termConvert(term,CLno)<=8 -過濾掉已經(jīng)畢業(yè)的班級(jí) OPEN class_cursor FETCH NEXT FROM class_cursor INTO CLname,CLno,Cterm WHILE FETCH_STATUS=0
10、BEGIN SET avgscore=(SELECT ISNULL(avg(成績),0) FROM 選課a,classmateb,classc,course d WHERE a.no=b.no AND b.CLno=c.CLno AND b.CLno=CLno AND a.課程編號(hào)=d.課程編號(hào) AND d.學(xué)期=Cterm)-根據(jù)班級(jí)平均成績判斷該班的成績是否登記,如果平均成績>0,則計(jì)算每名學(xué)生的平均成績IF avgscore>0 BEGIN PRINT term+'學(xué)期 '+CLname+'各門課總平均成績?yōu)?#39;+STR(avgscore,5,1
11、) -每個(gè)學(xué)生的平均成績和獲得的學(xué)分 PRINT ' 該班每個(gè)學(xué)生的平均成績?nèi)缦拢?#39; SELECT e.SName,d.avgscore,totalCredit FROM (SELECT a.no,AVG(成績) avgscore,SUM(dbo.CreditConvert(score,學(xué)分)totalCredit FROM Student a,選課b,course c WHERE a.no=b.no AND b.課程編號(hào)=c.課程編號(hào) AND c.學(xué)期=Cterm GROUP BY a.SNo) d,classmatee,class f WHERE e.no=d.no AND
12、 e.CLno=f.CLno AND f.CLno=CLno END ELSE PRINT term+'學(xué)期'+ CLname+CLno+'班'+' 成績沒有登記' FETCH NEXT FROM class_cursor INTO CLname,CLno,Cterm END CLOSE class_cursor DEALLOCATE class_cursorEND2 觸發(fā)器修改學(xué)分觸發(fā)器CREATE TRIGGER t_tcredits ON 選課 FOR INSERT,UPDATE,DELETEAS DECLARE tcredits NUME
13、RIC(4,0) -總學(xué)分 DECLARE no CHAR(5) -學(xué)號(hào) DECLARE insert_cursor CURSOR FOR SELECT no FROM INSERTED DECLARE delete_cursor CURSOR FOR SELECT no FROM DELETEDBEGIN-處理刪除的記錄OPEN delete_cursorFETCH NEXT FROM delete_cursor INTO noWHILE FETCH_STATUS=0BEGINSET tcredits=(SELECT SUM(學(xué)分) FROM ourse a,選課 b WHERE a.課程編
14、號(hào)=b.課程編號(hào) ANDb.成績>60 AND b.no=no)UPDATE Student SET SCredits=tcredits WHERE no=noFETCH NEXT FROM delete_cursor INTO noENDCLOSE delete_cursorDEALLOCATE delete_cursor-處理修改和增加的記錄IF UPDATE (成績)BEGIN OPEN insert_coursor FETCH NEXT FROM insert_cursor INTO noWHILE FETCH_STATUS=0 BEGIN SET tcredits=(SELECT SUM(學(xué)分) FROM course a, 選課 b WHERE a.課程編號(hào)=b.課程編號(hào) AND b.成績>60 AND b.no=no) PRINT STR(tcredits)+
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CPA財(cái)務(wù)成本管理第十二章產(chǎn)品成本計(jì)算相關(guān)習(xí)題及解析20題
- 聘用幼兒園園長協(xié)議書
- 爸爸的背影成長的故事6篇
- 接受忠告作文800字10篇
- 一堂生動(dòng)的語文課生動(dòng)的課堂記敘文6篇
- 2025年凝血酶原復(fù)合物項(xiàng)目提案報(bào)告
- 2025年鈹板、棒、異形件項(xiàng)目申請(qǐng)報(bào)告
- 2025年鄉(xiāng)村醫(yī)生公共衛(wèi)生服務(wù)考試題庫:公共衛(wèi)生服務(wù)慢性病管理心理輔導(dǎo)試題
- 保護(hù)環(huán)境的重要性:議論文作文11篇
- 2025年俄語ТРКИ考試語法應(yīng)用專項(xiàng)試卷
- 國家開放大學(xué)《中國法律史》期末機(jī)考題庫
- 廣告項(xiàng)目方案投標(biāo)文件(技術(shù)方案)
- 【MOOC】國際商務(wù)-暨南大學(xué) 中國大學(xué)慕課MOOC答案
- 國家開放大學(xué)本科《古代小說戲曲專題》形考任務(wù)1-4試題及答案
- 部編人教版六年級(jí)下冊(cè)語文 第六單元素養(yǎng)提升卷 優(yōu)質(zhì)試題課件
- 集團(tuán)公司落實(shí)子企業(yè)董事會(huì)職權(quán)工作方案
- 教程5.13g加密所屬
- 車輛交通事故應(yīng)急預(yù)案演練評(píng)估方案表
- DB37T 4309-2021 礦床三維地質(zhì)建模規(guī)范
- 第十章-甲醇制烯烴技術(shù)課件
- 產(chǎn)品可追溯性模擬演練記錄
評(píng)論
0/150
提交評(píng)論