學生成績管理系統課程設計報告_第1頁
學生成績管理系統課程設計報告_第2頁
學生成績管理系統課程設計報告_第3頁
學生成績管理系統課程設計報告_第4頁
學生成績管理系統課程設計報告_第5頁
已閱讀5頁,還剩38頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、課程報告說明書課 程 名 稱: 軟件工程 系 統 名 稱: 學生成績管理系統 年級/專業/班: 學 生 姓 名: 學 號: 指 導 教 師: 課程考核成績:系統開發(代碼質量、完成度、規范性)(30)創新性(10)說明書撰寫(規范性、圖表、報告內容)(60)總 分(100) 2014 年 6 月 6 日目 錄1 前言11.1系統簡介11.2設計目的12 需求分析22.1 功能模塊劃分22.2 功能模塊描述32.3數據字典與數據流圖83 概要設計143.1 軟件功能結構144 詳細設計154.1數據庫設計154.2界面設計要求164.3學生成績管理界面設計194.4教師管理界面設計244.5管理

2、員界面設計305 實現355.1 實現環境355.2 語言選擇356 測試分析36總 結40參考文獻41 1 前言1.1系統簡介 本系統主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、規范化和自動化,其主要任務是用計算機對學生信息進行日常管理,如查詢、修改 、增加、刪除,另外還考慮到用戶登錄的權限,針對學生信息和權限登錄的學生成績管理系統。 本系統主要包括注冊管理、教師管理、學生信息查詢、添加、修改、刪除等部分。其功能主要有:(1)學生信息的添加,包括輸入學生基本信息和成績。(2)學生信息的查詢,包括查詢學生基本信息和成績。(3)學生信息的修改,包括修改學生基本信息和成績。(4)

3、學生信息的刪除,包括修改學生基本信息和成績。(5)登錄用戶密碼修改,用戶登錄到系統可進行相應的用戶密碼修改。(6)管理員用戶對用戶名的管理,包括添加新用戶、刪除用戶。 學生成績管理系統是典型的信息管理系統,其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。對于前者要求建立起數據一致性和完整性強、數據安全性好的庫。而對于后者則要求應用程序功能完備,易使用等特點。 經過分析,我們使用Microsoft公司的開發工具,利用其提供的各種面向對象的開發工具,尤其是數據窗口這一能方便而簡潔操縱數據庫的智能化對象,首先在短時間內建立系統應用原型,然后,對初始原型系統進行需求迭代,不斷修正和

4、改進,直到形成用戶滿意的可行系統。1.2設計目的 近年來,隨著學校的辦學規模越來越大,在校學生數也日益增多,隨之而來的是教務管理工作日趨復雜繁重,要耗費大量人力、物力,已愈來愈成為學校日常管理工作的一個瓶頸。學生成績管理是教務、教學管理中一個重要組成部分,也是比較煩瑣的工作。在學生成績管理事務中,一般有成績輸入:對各年級各班各學期學生的各科成績進行輸入;成績統計:需要對每個學生的成績進行處理,例如排名次,成績匯總,成績升降;成績報表:將學生成績以報表形式輸出等等。每次考試都需要大量的人力、物力,為了減輕學生成績管理工作量和實現現代化的科學管理,特設計這個系統。并根據學校的實際情況,制定以下數據

5、和功能需求。 2 需求分析2.1 功能模塊劃分(1) 登錄系統請求用戶名及密碼用戶不存在或密碼錯誤登錄密碼及用戶類型驗證用戶存在且密碼正確是否系統管理員?進入隊員管理模塊否是是進入后臺管理模塊操作結束?否是操作結束?是是退出系統 圖2.1:程序流程圖 圖2.2:功能模塊劃分圖2.2 功能模塊描述 功能需求:學生成績管理系統主要提供方便高效的管理功能以及網上的信息查閱平臺,學生可以通過該系統查閱相關信息,管理員可以管理所有信息。對于本系統,我們需要實現以下一些基本功能:1 學生查詢功能:為了方便學生查找成績等信息,將所有信息按照需要進行分類。這樣學生就能很方便的找到自己需要的信息。2 添加功能:

6、管理員可以通過填寫表格的形式輸入學生成績等相關信息。系統可以自動避免重復信息。3 修改功能:管理員可以對數據庫中的信息進行修改。系統能夠通過管理員給出的條件查找出所要修改的信息,對修改后的信息進行保存,并自動查找是否是重復信息。4 刪除功能:管理員可以對數據進行刪除操作。系統能夠通過管理員給出的條件查找出要刪除的信息,并提示是否確定刪除,如果確定刪除,則把相關信息從數據庫中刪除掉。 5 管理員排序功能:管理員可以通過條件選擇查詢所有信息,并進行排序。性能需求分析:登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。安全保密性需求:只有憑借用戶名和密碼登陸系統,才能進行信息的管理等。 登錄模塊

7、 : 是用戶可以進行各種操作的必須前提。輸入項目:用戶名、密碼。輸出項目:瀏覽區和基本資料區。程序邏輯:P1:檢查用戶名、密碼與數據庫是否吻合(完整性和一致性)。P2:產生提示用戶名或密碼錯誤的消息窗口;P3:用戶確認后退出程序運行;P4:進入主窗體;P5:進入事件等待狀態。功能編號A1功能名稱登錄功能調查者 A調查時間 B審核人 C功能描述用戶(學生、教師、管理員)可以根據自己所也有的權限進行不同登陸界面的登錄,是用戶可以進行各種操作的必須前提。輸入項用戶名、密碼。處理描述根據不同的權限進行不同的登陸界面,不同的操作。程序邏輯:1:檢查用戶名、密碼與數據庫是否吻合(完整性和一致性)。2:產生

8、提示用戶名或密碼錯誤的消息窗口;3:用戶確認后退出程序運行;4:進入主窗體;5:進入事件等待狀態。輸出項瀏覽區和基本資料區。界面要求美觀即可 表2.2.1登錄模塊表 成績錄入模塊 主要功能用來對學生的成績進行收集和修改。具體包括學生成績錄入、修改、增加、刪除、查詢、打印等功能,由于一些資料可以Word文檔或Excel表格輸入,故在此模塊中增加了導入、導出數據功能。修改要與成績錄入相對應。增加、刪除是對基本表的操作。查詢條件設置應該齊全,可以年級查詢,也可以姓名查詢,學號查詢等等。查詢模塊 功能:完成查詢功能。性能:相應時間應盡量快。輸入項目:要查詢的查詢項。輸出項目:查詢項。程序邏輯:P1:進

9、入查詢窗體;P2:若用戶取消,則返回;P3:獲得查詢結果;P4:查詢結果顯示在主窗體上,并等待用戶確認;P5:若查詢結果項數等于零,返回。功能編號A1功能名稱查詢功能調查者 A調查時間 B審核人 C功能描述完成各個用戶需求的查詢功能,性能相應時間應盡量快。輸入項要查詢的查詢項。處理描述先進入查詢窗體,根據不同的查詢需求進行匹配查詢,若用戶取消,則返回;輸出項所需要的查詢項。界面要求美觀即可 表2.2.2查詢模塊表查詢 不符合條件條件    滿足條件 數據庫顯示結果退出 圖2.2.1 查詢模塊流程圖修改模塊 功能:完成修改功能。輸入項目:各種修改。輸出項目:修改后的基本資料程

10、序邏輯:P1:點擊要修改的表;P2:產生窗體;P3:等待用戶修改。功能編號A1功能名稱修改功能調查者 A調查時間 B審核人 C功能描述完成各個用戶不同需求的修改功能,性能響應時間應盡量快。輸入項各種修改項。處理描述對表格的內容進行修改,若權限足夠,則可以對其進行權限內的修改,否則不可產生修改項輸出項修改后的基本資料界面要求美觀即可 表2.2.3修改模塊功能表登入成績管理系統維護查找記錄查找成功顯示出錯信息修改增加記錄繼續?繼續?退出 圖2.2.2修改模塊流程圖功能編號A5功能名稱排序功能調查者 A調查時間6月1日審核人包先躍功能描述完成學生成績的升序排列功能,性能響應時間應盡量快。輸入項所有學

11、生成績。處理描述對學生的成績進行排序,若權限足夠,則可以對其進行成績的排序,否則不可產生排序項輸出項修改后的基本資料界面要求美觀即可 表2.2.4 :排序功能模塊 2.3數據字典與數據流圖2.3.1數據流圖圖:2.3.1頂層數據流圖圖2.4.6學生數據流圖12.4.7學生數據流圖22.3.2數據字典 數據元素系統名:學生成績管理系統 別名:the Student result management system條目名1:學生成績 條目名2:用戶信息 屬于數據流 學生成績信息和用戶信息 存儲處 SQL Server 20R2數據庫中的學生成績表和用戶信息表數據元素構成: 1.學生成績=學號+姓名

12、+課程名+分數 數據元素詳述:1)學號:唯一標識某一用戶的元素。2)姓名:這一元素在一定情形下可唯一標識某一學生,但一般和學號一起來作為主鍵。 3)課程名:當要查詢某一學生所學習的課程時,先找到其學號然后就可以找到他(她)所學習的課程名。4)分數:這一元素單獨存在時無實際意義,作為學生成績時,必須知曉學生的學號、姓名、課程名。 2.用戶信息=用戶名+密碼+類別+科目數據元素詳述:1)用戶名:唯一標識某一用戶的元素。2)密碼:系統登錄時的通行證。3)類別:由學生、教師、管理員三個類別組成,而這三個類別又有著其各自的功能。4)科目:學生作為一個普通用戶,科目為空,因為他(她)只能查詢自己的成績,是

13、一個被動者,故不同的科目對于該用戶本身無實際意義;教師擁有添加用戶、成績等功能,這幾個功能就涉及到科目,故在數據庫添加教師用戶時就要強調科目;管理員作為整個系統的管理者,擁有最高權限,但他(她)只需要添加或刪除用戶來達到管理系統的目的即可。修改記錄:編寫陳立陽日期2014年5月25日 審核 包先躍日期2014年6月14日表2.3.1數據元素 數據流系統名:學生成績管理系統 別名:the Student result management system 條目名1:查詢個人成績 條目名2:添加基本信息 條目名3:刪除基本信息 條目名4:修改基本信息 條目名5:排序 來源: 成績信息表和用戶信息表去

14、處: 成績信息表和用戶信息表數據結構: 查詢個人成績:為了方便學生查找成績等信息,將所有信息按照需要進行分類。 添加基本信息:管理員通過該數據流添加用戶,教師通過該數據流添加學生成績。 刪除基本信息:管理員通過該數據流刪除用戶。 修改基本信息:教師通過該數據流可以修改密碼、成績等監本信息。 排序:教師擁有管理成績的權限,所以可以對成績進行排序。修改記錄:編寫陳立陽日期2014年5月25日 審核包先躍日期2014年6月14日 表2.3.2數據流 數據存儲系統名:學生成績管理系統 別名:the Student result management system 條目名:成績、用戶 存儲組織:每一個學

15、生(按學號)擁有一條記錄、每一用戶(按用戶名)擁有一條記錄記錄數:大約10000(盡可能大并且符合實際)主關鍵字:學號、用戶名記錄組成: 成績:學號+姓名+課程名+分數 用戶:用戶名+密碼+類別+科目簡要說明:該系統主要包括成績信息表和用戶信息表。修改記錄:編寫陳立陽日期2014年5月25日 審核包先躍日期2014年6月14日表2.3.3:數據存儲 加工系統名:學生成績管理系統 別名:the Student result management system 輸入:用戶名、密碼輸出:用戶基本信息窗口和功能窗口輸入:要查找的內容輸出:所查到的相關內容(一行或多行記錄)輸入:要修改的內容 輸出:修改

16、后的內容(一次修改一條記錄)輸入:要添加或刪除的用戶名輸出:創建成功或成功刪除加工邏輯:1)根據不同的權限進行不同的登陸界面,不同的操作。程序邏輯:1:檢查用戶名、密碼與數據庫是否吻合(完整性和一致性)。2:產生提示用戶名或密碼錯誤的消息窗口;3:用戶確認后退出程序運行;4:進入主窗體;5:進入事件等待狀態。2)進入查詢窗口選擇查詢方式,然后輸入相應的內容,通過點擊查找按鈕得到結果。3)對表格的內容進行修改,若權限足夠,則可以對其進行權限內的修改,否則不可產生修改項。4)添加新用戶時通過輸入數據項然后與數據庫連接將新用戶加載到數據庫中,刪除用戶通過從數據庫中讀取用戶信息然后刪除用戶。簡要說明:

17、數據加工是為了讓用戶對整個系統的功能實現有一個更加深入的認識。修改記錄:編寫陳立陽日期2014年5月25日 審核包先躍日期2014年6月14日 表2.3.4數據加工3 概要設計3.1 軟件功能結構 圖3.1.1系統功能流程圖 4 詳細設計4.1數據庫設計本系統的數據庫是SQL server數據庫,在SQL環境下創建數據庫學生成績管理系統.mdf文件。該數據庫包括學生成績表、用戶登錄表用于紀錄學生的基本信息數據庫表結構如下所示:4.0.1 各表的物理結構表4.0.1 學生成績表表4.0.2 用戶登錄表4.0.2數據庫連接代碼private void button1_Click(object se

18、nder, EventArgs e) string str = "Data Source=(local);Initial Catalog=學生成績管理系統;Integrated Security=True" /數據庫連接字符串,.表示本機服務器DataBase為表名,Integrated Security=True是采用windows身份驗證方式登錄 SqlConnection conn = new SqlConnection(connStr); /根據連接字符串,新建數據庫連接 string sqlStr = "select * from student1&qu

19、ot; /查詢student1表的查詢語句 SqlCommand cmd = new SqlCommand(sqlStr, conn); /根據查詢語句和數據庫連接,等到查詢命令對象 SqlDataReader reader = cmd.ExecuteReader();/從查詢命令對象中獲得一個讀取數據庫數據的對象 while (reader.Read() /循環讀取下一行數據,如果下一行沒有數據返回false string id = reader"id".ToString();/根據列名獲得數據 string name = reader"name".T

20、oString(); string sex = reader"sex".ToString(); MessageBox.Show(string.Format("id=0,name=1,sex=2", id, name, sex); 4.2界面設計要求 用于輸入用戶名和密碼登錄,選擇相應的用戶類型進入系統,若是用戶類型選擇錯誤則不能進入系統。輸入用戶名和密碼后點擊確定判斷數據庫中的用戶是否為合法用戶。圖4.1.1登錄界面設計代碼:using System;using System.Collections.Generic;using System.Compon

21、entModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 學生成績管理系統 public partial class Login : Form static public string sn,sub; public Login() InitializeComponent(); Form2 fr2 = new Form2(); Form3 fr3 = new Form3(); Form4 fr4

22、 = new Form4();/創建新窗體 private void Login_Load(object sender, EventArgs e) timer1.Start(); / Timer控件 private void btnlogin_Click(object sender, EventArgs e) /Password=bxy;Persist Security Info=True;User ID=bxy;Initial Catalog=學生成績管理系統;Data Source=(local) string str = "Data Source=(local);Initial

23、 Catalog=學生成績管理系統;Integrated Security=True" / string str = "Password=bxy;Persist Security Info=True;User ID=bxy;Initial Catalog=學生成績管理系統;Data Source=PC-200812051504" SqlConnection conn = new SqlConnection(str);/連接數據庫 conn.Open(); if( txtname .Text=""|txtpassword .Text="

24、") MessageBox.Show ("請不要遺漏信息!"); if (rbtnmanager.Checked) string cstr="select * from 用戶登錄 where 類別='管理員'and 用戶名='"+txtname.Text.Trim ()+"'and 密碼='"+txtpassword .Text.Trim ()+"'" SqlCommand comm=new SqlCommand (cstr,conn ); SqlDataR

25、eader dr=comm.ExecuteReader (); if (dr.Read() sn = txtname.Text.Trim(); fr4.Show(); this.Visible = false; else MessageBox.Show("輸入有誤,請重新輸入!"); txtname.Text = "" txtpassword.Text = "" if (rbtnteacher.Checked) string cstr = "select * from 用戶登錄 where 類別='教師'an

26、d 用戶名='" + txtname.Text.Trim() + "'and 密碼='" + txtpassword.Text.Trim() + "'" SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = txtname.Text.Trim(); sub = dr.GetValue(3).ToString (); fr3.Show(); this.Visi

27、ble = false; else MessageBox.Show("輸入有誤,請重新輸入!"); txtname.Text = "" txtpassword.Text = "" if (rbtnstudent.Checked) string cstr = "select * from 用戶登錄 where 類別='學生'and 用戶名='" + txtname.Text.Trim() + "'and 密碼='" + txtpassword.Text.Tr

28、im() + "'" SqlCommand comm = new SqlCommand(cstr, conn); SqlDataReader dr = comm.ExecuteReader(); if (dr.Read() sn = txtname.Text.Trim();fr2.Show(); this.Visible=false ; else MessageBox.Show("輸入有誤,請重新輸入!"); txtname.Text = "" txtpassword.Text = "" conn.Clos

29、e(); conn.Dispose(); private void button2_Click(object sender, EventArgs e) Application.Exit(); private void timer1_Tick(object sender, EventArgs e) label1.Text = "當前時間為:" +DateTime.Now .ToLongDateString() +" "+DateTime.Now.ToLongTimeString(); private void txtname_TextChanged(obj

30、ect sender, EventArgs e) private void txtpassword_TextChanged(object sender, EventArgs e) private void rbtnmanager_CheckedChanged(object sender, EventArgs e) private void rbtnteacher_CheckedChanged(object sender, EventArgs e) 4.3學生成績管理界面設計 此部分主要針對學生信息的管理,可以查詢學生的所有成績信息,實現成績的添加、刪除、修改、計算平均分等功能。還可以修改當前用

31、戶下的密碼。圖4.1.2學生成績管理界面按模塊寫出詳細設計說明表、按程序窗口寫出對象說明表設計代碼:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 學生成績管理系統 public partial class Form2 : Form public Form

32、2() InitializeComponent(); private void Form2_Load(object sender, EventArgs e) label1.Text = Login.sn + "同學,歡迎您使用本成績管理系統!"/用窗體掉用靜態變量 timer1.Start(); groupBox1.Visible = false; groupBox2.Visible = false; private void button1_Click(object sender, EventArgs e) private void button3_Click(objec

33、t sender, EventArgs e) /string str = "Password=bxy;Persist Security Info=True;User ID=bxy;Initial Catalog=學生成績管理系統;Data Source=(local)" /SqlConnection conn = new SqlConnection(str); /conn.Open(); /SqlDataAdapter da = new SqlDataAdapter("Select * from 學生成績表 where 姓名="+textBox1 .Te

34、xt , conn); /DataSet ds = new DataSet(); /da.Fill(ds, "usertable"); /dataGridView1.DataSource = ; private void toolStripButton1_Click(object sender, EventArgs e) string str = "Data Source=(local);Initial Catalog=學生成績管理系統;Integrated Security=True" SqlConnection conn = new SqlConne

35、ction(str); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("Select * from 學生成績表 where 姓名='" + Login.sn.Trim ()+"'",conn);/詳細信息 DataSet ds = new DataSet(); da.Fill(ds, "usertable"); dataGridView1.DataSource = ds.Tables"usertable".DefaultView; conn.

36、Close(); conn.Dispose(); private void toolStripButton2_Click(object sender, EventArgs e) private void toolStripButton4_Click(object sender, EventArgs e) groupBox1.Visible = true; private void button1_Click_1(object sender, EventArgs e) string str = "Data Source=(local);Initial Catalog=學生成績管理系統;

37、Integrated Security=True" SqlConnection conn = new SqlConnection(str); conn.Open(); if (txtnpd.Text != txtnpassword.Text) MessageBox.Show("請確認信密碼的正確性!"); if (txtnpd.Text =""&& txtnpassword.Text = "") MessageBox.Show("密碼不允許為空!"); if (txtnpd.Text =

38、txtnpassword.Text && txtnpd.Text!= "") SqlCommand com = new SqlCommand("update 用戶登錄 set 密碼='" + txtnpassword.Text.Trim() + "'where 用戶名='" + Login.sn.Trim() + "'", conn); if (com.ExecuteNonQuery() = 1) MessageBox.Show("密碼修改成功!"

39、); groupBox1.Visible = false; conn.Close(); conn.Dispose(); private void toolStripButton5_Click(object sender, EventArgs e) this.Close(); Login l = new Login(); l.Visible = true;/?、 private void toolStripButton6_Click(object sender, EventArgs e) / string str = "Password=bxy;Persist Security Inf

40、o=True;User ID=bxy;Initial Catalog=學生成績管理系統;Data Source=(local)" / SqlConnection conn = new SqlConnection(str); / conn.Open(); / SqlDataAdapter da = new SqlDataAdapter("Select * from 學生成績表 where 姓名='" + Login.sn.Trim() + "'", conn); /DataSet ds = new DataSet(); / da.

41、Fill(ds, "usertable"); / string s; / for (int i = 2; i <= 6; i+) / / if (int.Parse(ds.Tables"usertable".Rows0i.ToString() < 60) / s=int.Parse(ds.Tables"usertable".Rows0i.ToString(); / private void groupBox2_Enter(object sender, EventArgs e) private void toolStripB

42、utton3_Click(object sender, EventArgs e) groupBox2.Visible = true ; string str = "Data Source=(local);Initial Catalog=學生成績管理系統;Integrated Security=True" SqlConnection conn = new SqlConnection(str); conn.Open(); SqlDataAdapter da = new SqlDataAdapter("Select * from 學生成績表 where 姓名='

43、" + Login.sn.Trim() + "'", conn); DataSet ds = new DataSet(); da.Fill(ds, "usertable"); int max=0,min=1001; double ave=0.0; for (int i = 2; i <= 6; i+) if (int.Parse(ds.Tables"usertable".Rows0i.ToString() > max) max = int.Parse(ds.Tables"usertable&qu

44、ot;.Rows0i.ToString (); if (int.Parse(ds.Tables"usertable".Rows0i.ToString ()<min) min =int.Parse(ds.Tables"usertable".Rows0i.ToString(); txthscore.Text = max.ToString (); txtlscore.Text = min.ToString (); txtall.Text =ds.Tables"usertable".Rows0"總分".ToString (); ave = int.Parse(ds.Tables"usertable".Rows0"總分".ToString()/(double)5; txtave.Text = ave.ToString(); conn.Close(); conn.Dispose(); private void timer1_Tick(object sender, EventArgs e) label6.Text = "當前時間為:" + DateTime.Now.ToLongDate

溫馨提示

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

評論

0/150

提交評論