學生考勤系統(tǒng)-課程設計_第1頁
學生考勤系統(tǒng)-課程設計_第2頁
學生考勤系統(tǒng)-課程設計_第3頁
學生考勤系統(tǒng)-課程設計_第4頁
學生考勤系統(tǒng)-課程設計_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE2成績:成績:課程設計課程名稱:軟件工程實驗項目:學生考勤系統(tǒng)姓名:XX專業(yè):計算機科學與技術班級:計0X-X學號:XXXXXXXXXXXXXX指導教師:XX計算機科學與技術學院實驗教學中心20XX年X月X日1學生考勤管理系統(tǒng)背景分析隨著高校校園信息化的逐步完善,有效地借助網絡、數據庫等技術提高工作和管理效率。如今針對師生的成績查詢系統(tǒng)、教務管理系統(tǒng)、招生就業(yè)系統(tǒng)、BBS、校園網站等系統(tǒng)在各大高校紛紛出現,對全校師生的學習、生活、管理、辦公帶來了便利。因此學生考勤管理系統(tǒng)能進一步加強高校學風建設,維護正常的教學秩序,給學生創(chuàng)造一個優(yōu)良的學習環(huán)境。目前高校學生上課考勤管理都是以任課老師上課點名,記錄學生上課情況,對于時間比較長的請假,需要通過遞交請假申請讓班主任、院系領導都批準方能生效。這種模式在目前高校管理中暴露了不可避免的弊端:1、學生請假不方便;2、學生請假對任課老師不透明;3、學生對自己整個學期的上課出勤情況沒有整體的統(tǒng)計信息;4、班主任對本班學生整個學期的上課出勤情況不易查看;5、院系領導、學校領導不容易把握學生上課的出勤情況。因此一個好的學生考勤管理系統(tǒng)在一定程度上可以解決這些弊端,本系統(tǒng)主要針對目前高校學生在線請假以及學生上課出勤管理而設計的信息系統(tǒng)。本系統(tǒng)涉及到高校六大類用戶:學生、任課老師、班主任、院系領導、學校領導、系統(tǒng)管理員。2學生考勤管理系統(tǒng)需求分析2.1用戶需求描述用戶是系統(tǒng)的最終使用者,根據分析,本系統(tǒng)應當包括學生、班主任、任課老師、院系領導、學校領導、系統(tǒng)管理員六類用戶,這六類用戶對系統(tǒng)的需求簡要概括如下:2.2.1學生用戶需求描述學生對本系統(tǒng)的主要需求是:在線請假以及查看在校期間所有的上課出勤信息。在線請假需求:學生請假的全過程當中,學生可以隨時查看請假的詳細進展情況。查看出勤信息需求:學生可以查看在校期間所有學期上課出勤的詳細信息,如:查看“Oracle數據庫管理應用于開發(fā)”這門課程在整個學期請假、曠課多少次等信息。其它需求:查看本人的基本信息,如本人的所屬的院系、年級、專業(yè)、班級、學號、姓名、性別等,以及修改個人用戶密碼。3學生考勤系統(tǒng)的E-R模型nn1n1nmn1n1m1nnn1教師班級學生學院領導學院專業(yè)課程假條開設考勤屬于屬于授課聘請班主任管理請假學號姓名性別班級專業(yè)院系編號名稱編號專業(yè)名稱所屬學院編號姓名性別所屬院系課程號課程名課程性質編號名稱編號姓名性別所屬院系職稱編號姓名性別所屬專業(yè)所屬學院班主任編號學號……原因4數據字典設計名字:管理員信息名字:管理員信息描述:每一位管理員的具體信息定義:管理員信息=編號+姓名+性別+職稱+密碼名字:學院領導信息描述:每一位學院領導的具體信息定義:學院領導信息=編號+姓名+性別+職稱+所屬學院名字:院系信息描述:每一個學院的具體信息定義:院系信息=編號+院系名稱名字:專業(yè)信息描述:每一位管理員的具體信息定義:專業(yè)信息=編號+姓名+所屬院系名字:課程信息描述:每一門課程的具體信息定義:課程信息=課程號+課程名+課程性質名字:教師信息描述:每一位教師的具體信息定義:教師信息=編號+姓名+性別+所屬院系名字:班級信息描述:每一個班級的具體信息定義:班級信息=編號+班級名稱+班主任名字:班主任信息描述:每一位班主任的具體信息定義:班主任信息=編號+姓名+性別+所屬學院+所屬專業(yè)名字:學生信息描述:每一位學生的具體信息定義:學生信息=學號+姓名+性別+專業(yè)+院系+班級名字:請假條信息描述:每一請假條的具體信息定義:請假條信息=請假代號+班級代號+學生學號+請假原因+開始時間+結束時間+請假天數+申請請假時間+班主任審批狀態(tài)+班主任審批時間+院系領導審批狀態(tài)+院系領導代號+院系領導審批時間5數據庫表的邏輯結構設計(1)系統(tǒng)管理員表admin字段名數據類型可否為空鍵引用備注admin_nochar(5)否主鍵管理員編號admin_namechar(10)否管理員姓名admin_sexchar(2)否性別admin_titlechar(20)否職稱admin_passwordvarchar2(20)否登入密碼(2)學生表student字段名數據類型可否為空鍵引用備注stu_nochar(10)否主鍵學生學號stu_namevarchar(30)否學生姓名stu_sexchar(2)否性別stu_classchar(13)否外鍵所屬班級stu_majorchar(30)否外鍵所屬專業(yè)stu_facultychar(40)否外鍵所屬學院(3)院系表faculty字段名數據類型可否為空鍵引用備注faculty_idnumber否主鍵院系編號faculty_namechar(20)否院系名稱(4)專業(yè)表major字段名數據類型可否為空鍵引用備注major_idnumber否主鍵專業(yè)編號major_namechar(20)否專業(yè)名稱major_facultynumber否外鍵所屬院系(5)教師表teacher字段名數據類型可否為空鍵引用備注tea_nochar(10)否主鍵任課老師編號tea_namechar(20)否任課老師姓名tea_sexchar(2)否性別tea_facultynumber否外鍵所屬學院(6)班主任表classteacher字段名數據類型可否為空鍵引用備注classtea_nochar(5)否主鍵任課老師編號classtea_namechar(20)否任課老師姓名classtea_sexchar(2)否性別classtea_majornumber否外鍵所屬專業(yè)classtea_facultynumber否外鍵所屬學院(7)院領導表collegeleader字段名數據類型可否為空鍵引用備注collegeleader_nochar(5)否主鍵學院領導編號collegeleader_namechar(20)否學院領導姓名collegeleader_sexchar(2)否性別collegeleader_facultynumber否外鍵所屬學院titlechar(20)否職稱(8)學校領導表schoolleader字段名數據類型可否為空鍵引用備注schoolleader_nochar(5)否主鍵學校領導編號schoolleader_namechar(20)否學校領導姓名schoolleader_sexchar(2)否性別deptchar(20)否所屬部門titlechar(25)否職稱(9)學生上課出勤記錄表kaoqin_record字段名數據類型可否為空鍵引用備注kaoqin_idchar(13)否主鍵上課出勤編號sk_timedate否上課時間stu_numberchar(10)否外鍵

學生學號stu_statuschar(10)否學生上課考勤狀態(tài)teacher_nochar(10)否外鍵教師編號course_nochar(13)否外鍵課程編號(10)課程信息表course字段名數據類型可否為空鍵引用備注course_nochar(13)否主鍵課程編號course_namechar(20)否課程名稱course_xzchar(4)否課程性質(11)班級表classes字段名數據類型可否為空鍵引用備注class_nochar(10)否主鍵課程編號class_namechar(20)否課程名稱classtea_nochar(5)否外鍵課程性質(12)請假信息表qingjia字段名數據類型可否為空鍵引用備注idnumber否主鍵請假代號class_idchar(10)否外鍵班級代號stu_novarchar2(20)否外鍵學生學號leave_reasonvarchar2(200)否請假原因start_timedate否開始時間end_timedate否結束時間day_numbernumber否請假天數qingjia_timedate否申請請假時間class_tea_idchar(5)否外鍵class_tea_sp_statuschar(10)否班主任審批狀態(tài)class_tea_sp_timedate否班主任審批時間coll_leader_sp_statuschar(10)否院系領導審批狀態(tài)coll_leader_idchar(5)否外鍵院系領導代號coll_leader_sp_timedate否院系領導審批時間備注:status表示審批狀態(tài):0為等待審批,1為同意請假,2為不同意請假。6截圖7心得體會通過本次程設計,將本學期所學的知識及數據庫基礎方面的知識得到了一綜合性的應用,使我基本掌握了在軟件項目的開發(fā)過程中數據庫設計的基本流程,從需求分析到數據庫的邏輯結構設計,再到數據庫的物理結構設計等。我學到了許多實戰(zhàn)應用知識,比如說,以前很多的查詢,比較,條件查找等都是在程序中實現的.附錄:1、設計表空間 使用如下命令創(chuàng)建表空間:createtablespacewandong_datadatafile‘f:\Wandongdong\oracle\ab01.dbf’size100Mdefaultstorage(initial512Knext128Kminextents2maxextents999pctincrease0)online;2、創(chuàng)建表創(chuàng)建系統(tǒng)管理員表admincreatetableadmin( admin_nochar(5)notnull, admin_namechar(10)notnull, admin_sexchar(2)check(admin_sex='男'oradmin_sex='女'), admin_titlechar(20)notnull, admin_passwordvarchar(20)notnull, constraintpk_adminprimarykey(admin_no))tablespacewandong_data;學生表studentcreatetablestudent( stu_nochar(10)notnull, stu_namevarchar(30)notnull, stu_sexchar(2)check(stu_sex='男'orstu_sex='女'), stu_classchar(5)referencesclasses(class_no), stu_majornumberreferencesmajor(major_id), stu_facultynumberreferencesfaculty(faculty_id), constraintpk_studentprimarykey(stu_no))tablespacewandong_data;院系表facultycreatetablefaculty( faculty_idnumbernotnull, faculty_namechar(10)notnull, constraintpk_facultyprimarykey(faculty_id))tablespacewandong_data;專業(yè)表majorcreatetablemajor( major_idnumbernotnull, major_namechar(10)notnull, major_facultynumberreferencesfaculty(faculty_id), constraintpk_majorprimarykey(major_id))tablespacewandong_data;教師表teachercreatetableteacher( tea_nochar(10)notnull, tea_namechar(20)notnull, tea_sexchar(2)check(tea_sex='男'ortea_sex='女'), tea_facultynumberreferencesfaculty(faculty_id), constraintpk_teacherprimarykey(tea_no))tablespacewandong_data;班主任表classteachercreatetableclassteacher( classtea_nochar(5)notnull, classtea_namechar(20)notnull, classtea_sexchar(2)check(classtea_sex='男'orclasstea_sex='女'), classtea_majornumberreferencesmajor(major_id), classtea_facultynumberreferencesfaculty(faculty_id), constraintpk_classteacherprimarykey(classtea_no))tablespacewandong_data;院領導表collegeleadercreatetablecollegeleader( collegeleader_nochar(5)primarykey, collegeleader_namechar(20)notnull, collegeleader_sexchar(2)check(collegeleader_sexin('男','女')), collegeleader_facultynumberreferencesfaculty(faculty_id), titlechar(20)notnull)tablespacewandong_data;學校領導表schoolleadercreatetableschoolleader( schoolleader_nochar(5)primarykeynotnull, schoolleader_namechar(20)notnull, schoolleader_sexchar(2)check(schoolleader_sexin('男','女')), deptchar(20)notnull, titlechar(20)notnull)tablespacewandong_data;學生上課出勤記錄表kaoqin_recordcreatetablekaoqin_record( kaoqin_idchar(13)primarykeynotnull, sk_timedatenotnull, stu_numberchar(10)referencesstudent(stu_no), stu_statuschar(10)notnull, teacher_nochar(10)referencesteacher(tea_no), course_nochar(13)referencescourse(course_no))tablespacewandong_data;課程信息表coursecreatetablecourse( course_nochar(13)primarykey, course_namechar(20)notnull, course_xzchar(4)notnull)tablespacewandong_data;班級表classescreatetableclasses( class_nochar(10)primarykey, class_namechar(20)notnull, classtea_nochar(5)referencesclassteacher(classtea_no))tablespacewandong_data;請假信息表qingjiacreatetableqingjia( idnumberprimarykey, class_idchar(10)referencesclasses(class_no), stu_nochar(10)referencesstudent(stu_no), leave_reasonvarchar2(200)notnull, start_timedatenotnull, end_timedatenotnull, day_numbernumbernotnull, qingjia_timedatenotnull, class_tea_idchar(5)referencesclassteacher(classtea_no), class_tea_sp_statuschar(10), class_tea_sp_timedate, coll_leader_sp_statuschar(10), coll_leader_idchar(5)referencescollegeleader(collegeleader_no), coll_leader_sp_timedate)tablespacewandong_data;3、創(chuàng)建其它數據庫對象1、創(chuàng)建存儲過程用于統(tǒng)計學生查詢某門課程的出勤情況createorreplaceproceduregetMessage(stu_noinvarchar2,course_noinvarchar2,total_timesoutnumber)isabsence_timesnumber;beginselectcount(*)intoabsence_timesfromkaoqin_recordwherestu_number=stu_noandcourse_no=course_no;total_times:=absence_times;exceptionwhenno_data_foundthendbms_output.put_line(‘對不起,你的輸入有誤!’);end;2、創(chuàng)建視圖,使不同院系的領導只能查詢到自己學院學生上課的考勤信息,假設計算機軟件學院的ID為5,以下代碼為創(chuàng)建一個用于給計算機軟件學院領導查看本學院學生考勤信息的視圖。createviewrjxyasselectkaoqin_record.kaoqin_id,kaoqin_record.sk_time,kaoqin_record.stu_number,kaoqin_record.stu_status,kaoqin_record.teacher_no,kaoqin_record.course_nofromkaoqin_record,studentwherestudent.stu_no=kaoqin_record.stu_numberandstudent.stu_faculty=5;3、創(chuàng)建一個包,在網頁中實現數據的集合和調用createorreplacepackageuse_data_packageastypedata_cursorisrefcursor;enduse_data_package;4、創(chuàng)建一個過程用來實現從數據庫中提取數據的集合以及實現分頁createorreplaceprocedurefenye(table_nameinvarchar2,--表名pagesizeinnumber,--頁的條數pagenowinnumber,--當前頁myrowsoutnumber,--總記錄數mypagecountoutnumber,--總頁數P_cursoroutuse_data_package.data_cursor)isv_sqlvarchar2(1000);--定義要執(zhí)行的數據庫語句v_beginnumber:=(pagenow-1)*pagesize+1;v_endnumber:=pagenow*pagesize;beginv_sql:='(selectt1.*,rownumrnfrom(select*from'||table_name||')t1whererownum<='||v_end||')wherern>='||v_begin;--打開游標openP_cursorforv_sql;--計算myrows和mypagecountv_sql:='selectcount(*)from'||table_name;--執(zhí)行語句executeimmediatev_sqlintomyrows;--計算pagecountifmod(myrows,pagesize)=0thenmypagecount:=myrows/pagesize;elsemypagecount:=myrows/pagesize+1;endif;--關閉游標closeP_cursor;end;5、創(chuàng)建觸發(fā)器,當某學生某課程的缺勤次數超過一定次數時給出提示信息createorreplacetriggeralertMessageafterinsertonkaoqin_recordforeachrowdeclarecurrent_timesnumber;beginselectcount(*)intocurrent_timesfromkaoqin_recordwherestu_number=:new.stu_numberandcourse_no=:new.course_no;if(current_times>=3)thendbms_output.put_line('學號為:'||:new.stu_number||'的學生該門課程被取消考試資格!');endif;end;7部分程序實現(主要是連接數據庫以及分頁程序) java實現: importjava.sql.*;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論