




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 數(shù)據(jù)庫系統(tǒng) 課程設(shè)計 題 目: 學(xué)生成績管理系統(tǒng) 學(xué)生姓名: JM 專 業(yè): 計算機科學(xué)與技術(shù) 班 級: 學(xué) 號: 二一五年六月一、課程設(shè)計題目學(xué)生成績管理系統(tǒng)通過對學(xué)校日常教學(xué)管理中的課程、選課、學(xué)生、班級、教師、成績等相關(guān)內(nèi)容進行分析,完成具有教師管理、學(xué)生管理、成績管理、課程管理、選課管理、班級管理等相關(guān)功能的小型數(shù)據(jù)庫管理應(yīng)用系統(tǒng)?;疽螅?、完成學(xué)生、班級、課程、教師、選課表的維護2、完成成績表的維護、瀏覽查找 3、按班級、按課程計算平均成績、最高成績、最低成績、及格率4、按不同的條件統(tǒng)計學(xué)生課程的平均成績5、完成權(quán)限控制功能6、完成數(shù)據(jù)備份與恢復(fù)功能其中,基礎(chǔ)數(shù)據(jù)包括學(xué)生、班級
2、、課程、教師的錄入、修改、刪除、查詢、打??;成績管理包括選課、成績信息的錄入、刪除、修改、查詢、打印以及相關(guān)統(tǒng)計查詢等;用戶管理包括用戶、用戶組、權(quán)限的錄入、修改、刪除、查詢、打印以及權(quán)限分配、用戶登錄等功能;數(shù)據(jù)備份與恢復(fù)包括數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)功能,要求可以備份數(shù)據(jù)到指定的文件夾、文件和從指定的文件夾、文件恢復(fù)數(shù)據(jù)到數(shù)據(jù)庫。 二、需求分析1)、概括描述:信息需求 高校學(xué)生的成績管理工作量大、繁雜,人工處理非常困難。學(xué)生成績管理系統(tǒng)借助于計算機強大的處理能力,大大減輕了管理人員的工作量,并提高了處理的準確性。學(xué)生成績管理系統(tǒng)的開發(fā)運用,實現(xiàn)了學(xué)生成績管理的自動化,不僅把廣大教師從繁重
3、的成績管理工作中解脫出來、把學(xué)校從傳統(tǒng)的成績管理模式中解放出來,而且對學(xué)生成績的判斷和整理更合理、更公正,同時也給教師提供了一個準確、清晰、輕松的成績管理環(huán)境。 功能需求 1、完成學(xué)生、班級、課程、教師、選課表的維護2、完成成績表的維護、瀏覽查找 3、按班級、按課程計算平均成績、最高成績、最低成績、及格率4、按不同的條件統(tǒng)計學(xué)生課程的平均成績5、完成權(quán)限控制功能6、完成數(shù)據(jù)備份與恢復(fù)功能其中,基礎(chǔ)數(shù)據(jù)包括學(xué)生、班級、課程、教師的錄入、修改、刪除、查詢、打??;成績管理包括選課、成績信息的錄入、刪除、修改、查詢、打印以及相關(guān)統(tǒng)計查詢等;用戶管理包括用戶、用戶組、權(quán)限的錄入、修改
4、、刪除、查詢、打印以及權(quán)限分配、用戶登錄等功能;數(shù)據(jù)備份與恢復(fù)包括數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)功能,要求可以備份數(shù)據(jù)到指定的文件夾、文件和從指定的文件夾、文件恢復(fù)數(shù)據(jù)到數(shù)據(jù)庫。目標用戶主要面向?qū)W生、教師與系統(tǒng)管理員這三種角色。其中,學(xué)生與教師是系統(tǒng)的主要使用者,可以通過此系統(tǒng)了解其他同學(xué)、教師、以及課程的相關(guān)信息。為他們提供可以互相了解聯(lián)系的平臺。管理員主要負責(zé)對于系統(tǒng)的維護,同時負責(zé)錄入各種系統(tǒng)所需要的信息。2)、DFD(數(shù)據(jù)流圖):3)、DD(數(shù)據(jù)字典):1、班級表2、班級名單表3、測試表4、測試成績表5、教師表6、課程表7、學(xué)生表三、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計E-R圖四、數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計關(guān)系模式列表模式
5、視圖班級人員名單表課程人員名單表學(xué)生成績表班級課程成績統(tǒng)計表SQL語句/*Created: 2015/6/7Modified: 2015/6/9Project: 學(xué)生成績管理系統(tǒng)Model: Microsoft SQL Server 2012Company: SOHOAuthor: 焦猛Version: 1.1Database: MS SQL Server 2012*/- Create tables section - Table 學(xué)生CREATE TABLE 學(xué)生( 學(xué)生編號 Varchar(10) NOT NULL, 姓名 Varchar(20) NOT NULL, 入學(xué)年份 Int NO
6、T NULL, 出生年月 Datetime NULL, 籍貫 Varchar(50) NULL, 家庭住址 Varchar(100) NULL, 聯(lián)系電話 Varchar(20) NULL)go- Add keys for table 學(xué)生ALTER TABLE 學(xué)生 ADD CONSTRAINT Key1 PRIMARY KEY (學(xué)生編號)goALTER TABLE 學(xué)生 ADD CONSTRAINT 學(xué)號 UNIQUE (學(xué)生編號)go- Table 班級CREATE TABLE 班級( 班級編號 Varchar(10) NOT NULL, 班級人數(shù) Int NOT NULL, 教師編號
7、 Varchar(10) NOT NULL)go- Add keys for table 班級ALTER TABLE 班級 ADD CONSTRAINT Key2 PRIMARY KEY (班級編號,教師編號)goALTER TABLE 班級 ADD CONSTRAINT 班級編號 UNIQUE (班級編號)go- Table 課程CREATE TABLE 課程( 課程編號 Varchar(10) NOT NULL, 課程名稱 Varchar(20) NOT NULL, 教師編號 Varchar(10) NOT NULL, 參考書目 Varchar(200) NULL)go- Add keys
8、 for table 課程ALTER TABLE 課程 ADD CONSTRAINT Key3 PRIMARY KEY (課程編號,教師編號)goALTER TABLE 課程 ADD CONSTRAINT 課程編號 UNIQUE (課程編號)go- Table 教師CREATE TABLE 教師( 教師編號 Varchar(10) NOT NULL, 教師姓名 Varchar(20) NOT NULL, 入職年份 Int NOT NULL, 出生年月 Datetime NULL, 籍貫 Varchar(50) NULL, 住址 Varchar(100) NULL, 聯(lián)系電話 Varchar(2
9、0) NULL)go- Add keys for table 教師ALTER TABLE 教師 ADD CONSTRAINT Key4 PRIMARY KEY (教師編號)goALTER TABLE 教師 ADD CONSTRAINT 教師編號 UNIQUE (教師編號)go- Table 測試CREATE TABLE 測試( 測試編號 Varchar(10) NOT NULL, 課程編號 Varchar(10) NOT NULL, 測試時間 Datetime NOT NULL, 教師編號 Varchar(10) NOT NULL)go- Create indexes for table 測試
10、CREATE INDEX IX_進行 ON 測試 (課程編號)go- Add keys for table 測試ALTER TABLE 測試 ADD CONSTRAINT Key5 PRIMARY KEY (教師編號,測試編號)goALTER TABLE 測試 ADD CONSTRAINT 測試編號 UNIQUE (測試編號)go- Table 測試成績CREATE TABLE 測試成績( 測試編號 Varchar(10) NOT NULL, 學(xué)生編號 Varchar(10) NOT NULL, 成績 Int NOT NULL)go- Add keys for table 測試成績ALTER
11、TABLE 測試成績 ADD CONSTRAINT Key6 PRIMARY KEY (測試編號,學(xué)生編號)go- Table 班級名單CREATE TABLE 班級名單( 學(xué)生編號 Varchar(10) NOT NULL, 班級編號 Varchar(10) NOT NULL)go- Add keys for table 班級名單ALTER TABLE 班級名單 ADD CONSTRAINT Key7 PRIMARY KEY (學(xué)生編號,班級編號)goALTER TABLE 班級名單 ADD CONSTRAINT 學(xué)生編號 UNIQUE (學(xué)生編號)go- Create relationsh
12、ips section - ALTER TABLE 班級名單 ADD CONSTRAINT 屬于 FOREIGN KEY (學(xué)生編號) REFERENCES 學(xué)生 (學(xué)生編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABLE 班級名單 ADD CONSTRAINT 包含 FOREIGN KEY (班級編號) REFERENCES 班級 (班級編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABLE 測試 ADD CONSTRAINT 擁有 FOREIGN KEY (課程編號) RE
13、FERENCES 課程 (課程編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABLE 測試成績 ADD CONSTRAINT 得到 FOREIGN KEY (測試編號) REFERENCES 測試 (測試編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABLE 課程 ADD CONSTRAINT 任教 FOREIGN KEY (教師編號) REFERENCES 教師 (教師編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABL
14、E 班級 ADD CONSTRAINT 擔(dān)任班主任 FOREIGN KEY (教師編號) REFERENCES 教師 (教師編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABLE 測試成績 ADD CONSTRAINT 獲得 FOREIGN KEY (學(xué)生編號) REFERENCES 學(xué)生 (學(xué)生編號) ON UPDATE NO ACTION ON DELETE NO ACTIONgoALTER TABLE 測試 ADD CONSTRAINT 監(jiān)考 FOREIGN KEY (教師編號) REFERENCES 教師 (教師編號) ON U
15、PDATE NO ACTION ON DELETE NO ACTIONgo五、應(yīng)用系統(tǒng)功能結(jié)構(gòu)圖ClassDiagram類圖項目解決方案列表六、各功能模塊程序流程圖及說明登陸界面用戶在此輸入用戶名與密碼,并選擇對應(yīng)的用戶類型,進行登陸。登錄成功后會根據(jù)用戶類型對主界面的功能進行相關(guān)設(shè)置。主功能界面在此界面通過菜單選擇功能,在下面的DataGrid中顯示所需數(shù)據(jù),或者在彈出界面設(shè)置相關(guān)屬性進行保存。七、程序源代碼及其說明LoginWindow登陸界面設(shè)計LoginWindow.xaml<Window x:Class="學(xué)生成績管理系統(tǒng).LoginWindow" xmln
16、s=" xmlns:x=" Title="學(xué)生成績管理系統(tǒng)" Height="720" Width="1024" MinHeight="720" MinWidth="1024"> <Grid> <Grid.Background> <ImageBrush ImageSource="Assets/BackGround.jpg"/> </Grid.Background> <Grid.RowDefinit
17、ions> <RowDefinition Height="*"/> <RowDefinition Height="2*"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Image Source="Assets/Title.png" Height="70" HorizontalAlignment="Center" VerticalAlignment=&quo
18、t;Center" Opacity="0.9"> <Image.Effect> <DropShadowEffect Color="White"/> </Image.Effect> </Image> <Grid Grid.Row="1" Height="200" Width="400" VerticalAlignment="Center" HorizontalAlignment="Center&qu
19、ot;> <Grid.RowDefinitions> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> <RowDefinition/> </Grid.RowDefinitions> <TextBlock Name="TB_Caution" Grid.Row="0" VerticalAlignment="Center" HorizontalAlignmen
20、t="Center" FontSize="16" Foreground="#FFFB0000" FontFamily="Segoe WP"></TextBlock> <StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center"> <TextBlock F
21、ontFamily="楷體" FontSize="18">用戶:</TextBlock> <TextBox Name="TB_ID" Width="120" UndoLimit="16"></TextBox> </StackPanel> <StackPanel Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center&
22、quot; HorizontalAlignment="Center"> <TextBlock FontFamily="楷體" FontSize="18">密碼:</TextBlock> <TextBox Name="TB_Password" Width="120" UndoLimit="20"/> </StackPanel> <GroupBox Grid.Row="3" BorderThickne
23、ss="0"> <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <RadioButton Name="RB_Student" FontFamily="楷體" FontSize="15">學(xué) 生</RadioButton> <RadioButton Name="R
24、B_Teacher" FontFamily="楷體" FontSize="15">教 師</RadioButton> <RadioButton Name="RB_Admin" FontFamily="楷體" FontSize="15">管 理</RadioButton> </StackPanel> </GroupBox> <StackPanel Grid.Row="4" Orientation=
25、"Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center"> <Button Name="BT_Login" Width="100" Height="30" ClipToBounds="True" Content="登 陸" Cursor="Hand" FontFamily="楷體" FontSize=&qu
26、ot;18" Click="BT_Login_Click"></Button> <Button Width="40" Visibility="Hidden"></Button> <Button Name="BT_Clear" Width="100" Height="30" Content="重 置" Cursor="Hand" FontFamily="楷體"
27、FontSize="18" Click="BT_Clear_Click"></Button> </StackPanel> </Grid> </Grid></Window>登陸界面邏輯處理LoginWindow.xaml.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;usi
28、ng System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;namespace 學(xué)生成績管理系統(tǒng) / <summary> / LoginWindow.xaml 的交互邏輯 / </summary> public partial cla
29、ss LoginWindow : Window public LoginWindow() InitializeComponent(); private void BT_Login_Click(object sender, RoutedEventArgs e) string str = "" /1、檢查用戶名 if (TB_ID.Text = "") TB_ID.Text = "請輸入用戶名" return; /2、檢查密碼 if (TB_Password.Text = "") TB_Password.Text =
30、"請輸入密碼" return; /3、檢查RadioButton switch (TB_ID.Text.ToCharArray()0) case '0': /學(xué)生 if (RB_Student.IsChecked = true) str = "Student" else TB_Caution.Text = "用戶類型不符" return; break; case '1': /教師 if (RB_Teacher.IsChecked = true) str = "Teacher" els
31、e TB_Caution.Text = "用戶類型不符" return; break; case '2': /管理 if (RB_Admin.IsChecked = true) str = "Admin" else TB_Caution.Text = "用戶類型不符" return; break; /4、檢查密碼 var pwd = (string)SQL_Helper.RunReturnQuerySQL("select 密碼 from 密碼 where 編號=" + TB_ID.Text); if
32、 (pwd = TB_Password.Text) /密碼正確 /(App)Application.Current).UserID = TB_ID.Text; var window = new MainWindow(TB_ID.Text,str); this.Close(); window.Show(); else TB_Caution.Text = "密碼錯誤!" /重置登陸界面所有輸入 private void BT_Clear_Click(object sender, RoutedEventArgs e) TB_ID.Text = null; TB_Password.
33、Text = null; RB_Admin.IsChecked = false; RB_Student.IsChecked = false; RB_Teacher.IsChecked = false; TB_Caution.Text = null; MainWindow主界面設(shè)計MainWindow.xaml<Window x:Class="學(xué)生成績管理系統(tǒng).MainWindow" xmlns=" xmlns:x=" Title="學(xué)生成績管理系統(tǒng)" Height="720" Width="1024
34、" MinHeight="720" MinWidth="1024"> <Grid> <Grid.Background> <ImageBrush ImageSource="Assets/BackGround.jpg"/> </Grid.Background> <Grid.RowDefinitions> <RowDefinition Name="Welcome" Height="Auto"/> <RowDe
35、finition Name="Log" Height="1*"/> <RowDefinition Name="Menu" Height="Auto"/> <RowDefinition Height="Auto"/> <RowDefinition Name="DataGrid" Height="3*"/> <RowDefinition Height="30"/> </Grid.R
36、owDefinitions> <Image Grid.Row="1" Source="Assets/Title.png" Height="70" HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="0.9"> <Image.Effect> <DropShadowEffect Color="White"/> </Image.Effec
37、t> </Image> <Menu Grid.Row="2" VerticalAlignment="Center"> <MenuItem Header="系統(tǒng)"> <MenuItem Name="A0" Header="備份數(shù)據(jù)庫" Click="MI_BeiFen"/> <MenuItem Name="A1" Header="恢復(fù)數(shù)據(jù)庫" Click="MI_Hui
38、Fu"></MenuItem> <MenuItem Name="A2" Header="查看操作日志" Click="MI_Log"></MenuItem> <Separator></Separator> <MenuItem Header="注銷登陸" Click="MI_Logout"></MenuItem> <MenuItem Header="退出系統(tǒng)" Click=
39、"MI_Exit"></MenuItem> <MenuItem Header="修改密碼" Click="MI_ChangePwd"></MenuItem> </MenuItem> <MenuItem Header="學(xué)生"> <MenuItem Header="查看學(xué)生信息" Click="MI_Stu_Info"></MenuItem> <MenuItem Header=&qu
40、ot;新增學(xué)生" Name="A3" Click="MI_Manage_Stu"></MenuItem> <MenuItem Header="修改學(xué)生" Name="A4" Click="MI_Manage_Stu"></MenuItem> <MenuItem Header="刪除學(xué)生" Name="A5" Click="MI_Manage_Stu"></MenuIt
41、em> </MenuItem> <MenuItem Header="教師"> <MenuItem Header="查看教師信息" Click="MI_Tea_Info"></MenuItem> <MenuItem Header="新增教師" Name="A6" Click="MI_Manage_Tea"></MenuItem> <MenuItem Header="修改教師"
42、 Name="A7" Click="MI_Manage_Tea"></MenuItem> <MenuItem Header="刪除教師" Name="A8" Click="MI_Manage_Tea"></MenuItem> </MenuItem> <MenuItem Header="班級"> <MenuItem Header="查看班級名單" Click="MI_Class
43、_StuInfo"></MenuItem> <Separator></Separator> <MenuItem Header="分配學(xué)生至班級" Name="A12" Click="MI_Manage_Class"></MenuItem> <MenuItem Header="查看所有班級信息" Click="MI_Class_AllInfo"></MenuItem> <MenuItem He
44、ader="新增班級" Name="A9" Click="MI_Manage_Class"></MenuItem> <MenuItem Header="修改班級" Name="A10" Click="MI_Manage_Class"></MenuItem> <MenuItem Header="刪除班級" Name="A11" Click="MI_Manage_Class"
45、;></MenuItem> </MenuItem> <MenuItem Header="課程"> <MenuItem Header="查看課程信息" Click="MI_Course_Info"></MenuItem> <Separator></Separator> <MenuItem Header="新增學(xué)生選課" Name="A13" Click="MI_Manage_Course&qu
46、ot;></MenuItem> <MenuItem Header="新增課程" Name="A14" Click="MI_Manage_Course"></MenuItem> <MenuItem Header="修改課程" Name="A15" Click="MI_Manage_Course"></MenuItem> <MenuItem Header="刪除課程" Name="
47、;A16" Click="MI_Manage_Course"></MenuItem> </MenuItem> <MenuItem Header="成績"> <MenuItem Header="查看學(xué)生成績" Click="MI_Stu_CJ"></MenuItem> <MenuItem Header="統(tǒng)計班級成績" Click="MI_Class_CJ"></MenuItem>
48、; <MenuItem Header="統(tǒng)計課程成績" Click="MI_Course_CJ"></MenuItem> <MenuItem Header="成績錄入" Name="A17" Click="MI_Insert_CJ"></MenuItem> </MenuItem> </Menu> <TextBlock Grid.Row="3" FontSize="20" Name
49、="TB_DG_Name" VerticalAlignment="Center" HorizontalAlignment="Center"></TextBlock> <DataGrid Grid.Row="4" Name="DG" ItemsSource="Binding table"> </DataGrid> </Grid></Window>主界面邏輯設(shè)計MainWindow.xaml.csusing Mic
50、rosoft.Win32;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Medi
51、a;using System.Windows.Media.Imaging;using System.Windows.Shapes;using 學(xué)生成績管理系統(tǒng).ManageWindows;namespace 學(xué)生成績管理系統(tǒng) / <summary> / MainWindow.xaml 的交互邏輯 / </summary> public partial class MainWindow : Window string UserID; string UserType; public MainWindow() InitializeComponent(); public Mai
52、nWindow(string ID, string Type) InitializeComponent(); this.UserID = ID; this.UserType = Type; if (UserType = "Admin") else if (UserType = "Student") A0.IsEnabled = false; A1.IsEnabled = false; A2.IsEnabled = false; A3.IsEnabled = false; A4.IsEnabled = false; A5.IsEnabled = false; A6.IsEnabled = false; A7.Is
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人住房裝修合同范例
- 農(nóng)資招商合同范例
- 鄉(xiāng)鎮(zhèn)教育培訓(xùn)機構(gòu)合同范例
- 雙方買賣簡易合同范例
- 合伙經(jīng)營招租合同范例
- 化纖原料采購合同范例
- 共同招聘合同范例
- 農(nóng)村土屋出售合同范例
- 個獨核定合同范例
- 加工鋼筋合同范例
- 2025年上半年宜賓江安縣人社局招考易考易錯模擬試題(共500題)試卷后附參考答案
- 2024年批次杭州市教育局所屬事業(yè)單位招聘筆試真題
- 2024年海東市第二人民醫(yī)院自主招聘專業(yè)技術(shù)人員考試真題
- 《VAVE價值工程》課件 - 創(chuàng)造最大化的價值與效益
- 中醫(yī)養(yǎng)生保健知識科普
- 2023年湖北省技能高考計算機類備考題庫(萬維題庫)-中部分(800題)
- 社區(qū)居委會2025年工作總結(jié)暨2025年工作計劃
- S145水表井標準圖集
- 2024年天翼云認證運維工程師考試復(fù)習(xí)題庫(含答案)
- 水果聯(lián)營合同范例
- 江蘇卷2024年高考語文第一次模擬考試一(原卷版+解析版)
評論
0/150
提交評論