1、附件4:课程设计汇报书面向对象方法学课 程 设 计 报 告设计题目:学生信息管理系统课程班 级:13软件工程1班学 号:0*姓 名:何*指导老师:庄*老师设计时间:12月摘 要本文描述是基于Windows环境学生信息管理系统,关键功效模块包含:学生信息增删改查,学生课程增删改查, 学生成绩增删改查,用户增删改查。所用体系构架Client/Server结构。关键工具Microsoft Visual Studio 设计窗体, MYSQL建立数据库,实现学生信息管理各个功效。利用语言C#和sql语法编程。本篇汇报介绍一个学生信息管理系统从分析到设计最终到开发全过程为,给出了学生信息管理系统设计和技术
2、实现过程,尤其在细节上分析功效和函数实现思想。关键词:面向对象,学生信息管理系统,Win7,MYSQL,VS,C/SThis article describes the Windows environment based student information management system , the main function modules include: Additions and deletions to change search student information , additions and deletions to change search student cu
3、rriculum , student achievement CRUD user CRUD. The system architecture Client / Server structure . The main tool for Microsoft Visual Studio design form , MYSQL database was established to achieve the various functions of the student information management . Sql syntax and use of C # programming lan
4、guage .This report describes a student information management system from analysis to design and finally to the whole process of development , the process gives the student information management system design and technology , in particular, to achieve ideological analysis functions and functions in
5、 detail.Keywords: object oriented, student information management system,Win7, MYSQL, VS, C/S目 录摘 要2绪论41.1 设计目标41.2 开发工具选择41.3 开发环境41.4 本汇报关键内容4需求分析52.1系统需求介绍52.1.1系统目标52.1.2功效需求分析52.1.3性能需求分析5总体设计63.1设计概述63.2系统总体结构及功效模块划分63.2.1学生信息管理模块63.2.2学生课程管理模块73.2.3学生成绩管理模块73.2.4系统用户管理模块83.3系统数据库概念结构设计83.3.1系
6、统E-R图83.3.2系统数据库设计93.4安全保密设计103.4.1用户登录安全性10具体设计114.1概述114.2系统程序步骤图114.3系统关键功效模块介绍124.3.1系统登录124.3.2学生信息管理模块124.3.3学生课程管理模块144.3.4学生成绩管理模块164.3.5系统用户管理模块184.3.6版权相关20关键功效模块代码215.1 登录界面代码设计215.2 主页面代码265.3 系统用户管理模块代码设计385.4 课程信息管理模块代码设计455.5成绩信息管理模块代码设计52总结61参考文件61课程设计心得62 绪论1.1 设计目标本课程设计目标是使学生能熟练掌握简
7、单简单Windows窗体应用程序设计和ADO.net应用,期望经过此次课程设计锻炼学生使用C#语言处理实际问题能力。1.2 开发工具选择本系统后台数据库采取MYSQL 数据库,该数据库系统在安全性、正确性和运行速度方面有绝正确优势,而且处理数据量大,效率高;前台采取Microsoft 企业Visual Studio 作为关键开发工具,可和MYSQL 数据库无缝链接。1.3 开发环境 开发系统:Win7系统开发平台:Microsoft Visual Studio 系统开发语言:C#数据库管理软件:MYSQL 1.4 本汇报关键内容本汇报具体介绍了学生信息管理系统开发过程,关键包含到工作以下:系统
8、需求分析、系统总体设计、系统概念设计、系统各模块具体设计、系统运行和测试。 需求分析2.1系统需求介绍2.1.1系统目标(1) 依据查询条件实现学生信息查询(2) 学生选课信息查询、成绩信息和用户信息查询(3) 学生信息、课程信息、成绩信息、用户信息增加、删除、修改(4) 对基础信息完成增加、删除、修改时,需注意表和表之间关联2.1.2功效需求分析本系统功效需求分析以下:(1) 学生信息查询:能够依据学号进行查询.(2) 学生信息管理:关键是用于学生信息添加、删除、修改;(3) 学生成绩查询:能够依据学号进行查询.(4) 学生成绩管理:关键是用于学生成绩添加、删除、修改;(5) 课程信息查询:
9、可依据菜单进行查询.(6) 课程信息管理:关键是用于课程信息添加、删除、修改;(7) 用户信息查询:可依据菜单进行查询.(8) 用户信息管理:关键是用于用户信息添加、删除、修改;2.1.3性能需求分析(1) 登录、用户界面需求:简练、易懂、易用、友好用户界面。(2) 安全保密性需求:只有凭借用户名和密码登陆系统,只有管理员才能进行信息管理,非管理员只能查看信息。 总体设计3.1设计概述依据需求把整个系统分化成不一样模块,每个模块完成一个特定子功效。把这些模块结合起来组成一个整体。逐一实现各个功效;3.2系统总体结构及功效模块划分经过对系统需求分析,学生信息管理系统关键划分为三个部分:学生信息查
10、询,学生信息管理,学生成绩录入三个功效模块。图3.2.0 系统总体结构。图3.2.0 系统总体结构3.2.1学生信息管理模块学生信息管理:关键是用于学生信息添加、删除、修改,图3.2.1学生信息管理模块结构。 图3.2.13.2.2学生课程管理模块学生课程管理:关键是用于学生课程添加、删除、修改,图3.2.2学生课程管理模块结构。 图3.2.23.2.3学生成绩管理模块 学生成绩管理:关键是用于学生成绩添加、删除、修改,图3.2.3学生成绩管理模块结构。 图3.2.33.2.4系统用户管理模块 系统用户管理:关键是用于系统用户添加、删除、修改,图3.2.4系统用户管理模块结构。 图3.2.43
11、.3系统数据库概念结构设计依据对数据项和数据结构分析,设计出能够满足系统需求多种实体,及它们之间关系,为后面逻辑结构设计打下基础。3.3.1系统E-R图系统E-R图能够将各个实体之间关系显示出来,将各个实体间属性依靠表示明白。图3.3.1系统E-R图结构。 图3.3.1系统E-R图结构3.3.2系统数据库设计综合以上分析,要实现上面全部功效模块,关键设计表以下: 表3.3.2.1 用户表(user)表3.3.2.2成绩表(grade)表3.3.2.3课程表 (course)表3.3.2.4学生表(stu)3.3.3数据库连接配置先在项目中引用MySQLDriverCS.dll类添加 using
12、 MySQLDriverCS; MySQLConnection conn = new MySQLConnection(new MySQLConnectionString(数据库名, Server帐号, 密码).AsString);3.4安全保密设计3.4.1用户登录安全性系统设计了登录界面,每个正当用户有用户名及一个密码,只有当用户输入正确用户名及密码组合后才能够对学生信息进行操作。 具体设计4.1概述具体设计阶段根本目标是确定应该怎样具体实现所要求系统,也就是说,经过这个阶段设计工作,应该得出目标系统正确描述,从而在编码阶段能够把这个描述直接翻译成用某种程序设计语言书写程序。4.2系统程序步
13、骤图程序步骤图又称为程序框图,它是历史悠久使用最广泛描述软件设计方法。它可将整个程序总体步骤清楚明白显示出来。图4.2.1系统总步骤图结构。图4.2.1系统总体步骤图4.3系统关键功效模块介绍4.3.1系统登录用户凭借用户名及密码登录,成功登录后可对学生信息进行操作。用户界面图4.3.1 用户登录界面所表示。 图4.3.1 用户登录界面4.3.2学生信息管理模块学生信息管理:经过程序主界面添加学生信息按钮可添加学生信息(图 4.3.2添加信息窗口)。学生信息进行具体信息管理(图4.3.3 信息管理)包含删除信息(图 4.3.4删除信息提醒)和修改信息(图4.3.5 修改信息窗口)。图4.3.2
14、添加信息窗口图4.3.3 信息管理 图4.3.4删除信息提醒 图4.3.5 修改信息窗口4.3.3学生课程管理模块学生课程管理:经过程序主界面菜单-系统-课程管理 可添加课程信息(图 4.3.5信息管理)和 具体课程管理(图4.3.6 添加信息窗口)和(图4.3.7 删除信息提醒)和(图4.3.8 修改信息窗口)。 图 4.3.5信息管理 4.3.6 添加信息窗口 图4.3.7 删除信息提醒 图4.3.8 修改信息窗口4.3.4学生成绩管理模块学生信息管理:选择一行学生信息经过程序主界面查看-学生成绩按钮,查看该学生成绩信息(图 4.3.7查看信息窗口)。查看后还能够添加该学生成绩(图 4.3
15、.8添加信息窗口)、删除该学生成绩(图 4.3.9删除提醒窗口)和修改该学生成绩(图 4.3.10修改信息窗口) 图4.3.7成绩管理 4.3.8添加信息窗口 图 4.3.9删除提醒窗口 图 4.3.10修改信息窗口4.3.5系统用户管理模块系统用户管理:经过程序主界面菜单-系统-用户管理,查看该系统用户信息(图 4.3.11查看信息窗口)。查看后还能够添加该系统用户(图 4.3.12添加信息窗口)、删除该系统用户(图 4.3.13删除提醒窗口)和修改该系统用户(图 4.3.14修改信息窗口) 4.3.11查看信息窗口 图 4.3.12添加信息窗口 图 4.3.13删除提醒窗口 图 4.3.1
16、4修改信息窗口4.3.6版权相关 版权相关:图4.3.15版权相关 图4.3.15版权相关 关键功效模块代码5.1 登录界面代码设计namespace SIMS_1 public partial class Log : Form String check = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ; string check_4 = ; Random r = new Random(); public Log() InitializeComponent(); for (int i = 0; i 4; i+) int n=r.Nex
17、t(0,61); check_4 += + checkn; l_check.Text = check_4; private static String id, password, type; public static int Flag = 1; String flag = ; MySQLConnection con = new MySQLConnection(new MySQLConnectionString(students, root, 123456).AsString); private void bt_log_Click(object sender, EventArgs e) try
18、 id = txt_id.Text.Trim(); password = txt_password.Text.Trim(); if (this.rb_log_Manager.Checked) type = 管理员; if (this.rb_Log_Not_Manager.Checked) type = 非管理员; / 假如输入帐号和密码和系统帐号密码一致就进入本系统 con.Open(); MySQLCommand setformat = new MySQLCommand(set names gb2312, con); setformat.ExecuteNonQuery(); setforma
19、t.Dispose(); string sql = select * from user where 用户名= + id + and 用户密码= + password + and 用户类型= + type + ; MySQLDataAdapter adapter = new MySQLDataAdapter(sql, con); DataSet set = new DataSet(); adapter.Fill(set,user); this.dataView.DataSource = set.Tablesuser; int rowcount = dataView.RowCount - 1;
20、if (rowcount = 1) try if (string.Compare(check_4,txt_check.Text,true)=0) MySQLCommand setformat1 = new MySQLCommand(set names gb2312, con); setformat1.ExecuteNonQuery(); setformat1.Dispose(); string sql1 = select 用户类型 from user where 用户名= + id + and 用户密码= + password + ; MySQLDataAdapter adapter1 = n
21、ew MySQLDataAdapter(sql1, con); DataSet ds = new DataSet(); adapter1.Fill(ds); DataRow dr = ds.Tables0.Rows0; /得到行数据集,实际是个数组 flag = dr.ItemArray0.ToString(); con.Close(); if (flag.Equals(非管理员) Flag = 0; else Flag = 1; Students s = new Students(); s.Show(); this.SetVisibleCore(false); else MessageBox
22、.Show(验证码错误!); catch (MySQLException) MessageBox.Show(数据库链接犯错了); else MessageBox.Show(您输入帐号或密码不正确或没有选择用户类型,请重新输入!, 警告!, MessageBoxButtons.OK, MessageBoxIcon.Error); catch (System.IO.FileNotFoundException) MessageBox.Show(未找到数据库!); private void bt_cancel_Click(object sender, EventArgs e) /问询是否退出本系统 i
23、f (MessageBox.Show(是否取消此次登录?, 确定, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Application.Exit(); private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) registered_add r_add = new registered_add(); r_add.Show(); private void l_check_Click(object
24、 sender, EventArgs e) check_4 = ; for (int i = 0; i 4; i+) int n = r.Next(0, 61); check_4 += + checkn; l_check.Text = check_4; 5.2 主页面代码namespace SIMS_1 public partial class Students : Form public static MySQLConnection con = null; public Students() try InitializeComponent(); con = new MySQLConnecti
25、on(new MySQLConnectionString(students, root, 123456).AsString); if (Log.Flag = 0) this.bt_add.Hide(); bt_delete.Hide(); bt_change.Hide(); catch (System.IO.FileNotFoundException) MessageBox.Show(未找到数据库!); private void bt_searchAll_Click(object sender, EventArgs e) con.Open(); MySQLCommand setformat =
26、 new MySQLCommand(set names gb2312, con); setformat.ExecuteNonQuery(); setformat.Dispose(); string sql1 = select * from stu; MySQLDataAdapter adapter = new MySQLDataAdapter(sql1, con); DataSet set = new DataSet(); adapter.Fill(set, stu); this.dataView.DataSource = set.Tables0; int rowcount = dataVie
27、w.RowCount-1; MessageBox.Show(查找到+rowcount+个学生信息!); if (rowcount = 0) MessageBox.Show(您还未添加学生!); con.Close(); private void bt_search_Click(object sender, EventArgs e) try Int64 id = Convert.ToInt64(txt_search.Text); con.Open(); MySQLCommand setformat = new MySQLCommand(set names gb2312, con); setfor
28、mat.ExecuteNonQuery(); setformat.Dispose(); String sql = select * from stu where 学号= + id + ; MySQLDataAdapter adapter = new MySQLDataAdapter(sql, con); DataSet set = new DataSet(); adapter.Fill(set, stu); dataView.DataSource = set.Tables0; int rowcount = dataView.RowCount-1; if (rowcount = 0) Messa
29、geBox.Show(未找到您要查找学号学生!); con.Close(); catch (FormatException) MessageBox.Show(输入学生学号格式有误n请重新输入!, 警告!, MessageBoxButtons.OK); private void bt_add_Click(object sender, EventArgs e) Add a = new Add(); a.Show(); private void bt_delete_Click(object sender, EventArgs e) try String id = dataView.SelectedR
30、ows0.Cells0.Value.ToString(); if (MessageBox.Show(是否要删除学号为: + id + 学生?, 确定, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) con.Open(); MySQLCommand setformat = new MySQLCommand(set names gb2312, con); setformat.ExecuteNonQuery(); setformat.Dispose(); String sql = delete from s
31、tu where 学号= + id + ; MySQLCommand command= new MySQLCommand(sql, con); command.ExecuteNonQuery(); con.Close(); MessageBox.Show(删除成功!, 提醒!, MessageBoxButtons.OK); catch (ArgumentOutOfRangeException) MessageBox.Show(您还没有选择一行要删除数据!); catch (NullReferenceException) MessageBox.Show(您选择行数据无效!); private void bt_change_Click(object sender, EventArgs e) try String id = dataView.SelectedRows0.Cells0.Value.ToString(); String name = dataView.SelectedRows0.Cells1.Value.ToString(); String sex = dataView.SelectedRows0.Cells2.Value.ToString(); String age = dataView.Se
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100