uml课程设计报告-学生管理系统(共38页).doc

上传人:飞****2 文档编号:8539746 上传时间:2022-03-19 格式:DOC 页数:39 大小:628KB
返回 下载 相关 举报
uml课程设计报告-学生管理系统(共38页).doc_第1页
第1页 / 共39页
uml课程设计报告-学生管理系统(共38页).doc_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《uml课程设计报告-学生管理系统(共38页).doc》由会员分享,可在线阅读,更多相关《uml课程设计报告-学生管理系统(共38页).doc(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上面向对象软件工程与UML 课 题:学生成绩管理系统 班 级:09计算机(2)班 姓 名: 丁 雷 学 号: 辅导老师: 裴 峰 1.可行性研究报告学生成绩管理工作是高校教育工作的一项重要内容。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指导各用户活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。学生成绩管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。学生成绩工作关系到高校教学秩序的稳定。大中型院校人员众多,如果没有好的管理,就不能取

2、得很好的成果,应用数据库来管理,在这方面能够取得很好的效果。 系统的可行性分析1.系统实施运行的可行性:各教师,学生都已熟练掌握计算机的基本实用方法和操作技能,对新系统的开发,表现出极大的热情。提出了很多好的建议和要求。2.技术可行性:校园网已正常运行;开发人员已熟练掌握开发工具。技术上实现系统是可行的。3.经济可行性:校园内部局域网络已经建成;硬件投入不需要很大。2.需求分析报告2.1概述随着互联网的发展,利用INTERNET 技术来实现“无纸办公”这个概念已经深入人心,校园网作为学校信息化建设的一个平台在完成资源共享、互联网访问、教务管理、电子备课等方面发挥了重要作用。服务教学、提高教学水

3、平和效果是校园网建设的核心目标和核心价值,本系统立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高高校的现代化管理水平,实现信息资源的共享。该项目主要是服务于教学方面,进一步方便教师的工作和学生的学习,从而从侧面达到提高学校的教学方面软件质量。可以说它适用于每一所高校,因此很有开发价值。我们不敢说该产品是所有该系列产品中最好的,但是我们这里要强调的是它具有使用范围广,实用性强,使用简单,所花经费少等优点。我们可以肯定的说它将在高校的使用过程中其优点将得到最充分的体现。2.2任务概述2.2.1编写目的解决学校对学生信息进行处理时时,对各种数据的需求,并且能够学校方

4、面对学生的管理。主要解决学生信息查询困难等问题。确定学生信息管理系统功能需求,数据需求及软、硬件需求。确定学生信息管理系统所能实现的功能,本系统中主要是通过数据库对其进行操作,如学生信息等增加,删除,修改,查找等功能。2.2.2 参考资料软件工程技术及应用张贤坤 徐翔主编 东北林业大学出版社uml面向对象设计与分析-牛丽平 主编 清华大学出版社.net架构与程序设计-人民邮电出版社数据库原理-清华大学出版社2.3对功能的规定2.3.1功能划分和描述 学生管理其下的查询、增加、删除、修改模块及其相应管理的具体功能。(1)增加功能:系统不设置登陆界面,进入本系统后再首页选者添加学生后,可以对学生进

5、行增加操作,输入学生信息,当信息重复或未输入时,系统使用对话框进行提示。(2)删除功能:进入界面即可对数据进行删除操作。系统能够通过给出的条件查找出要删除的信息,并把相关信息从数据库中删除掉。(3)修改功能:对数据库中的信息进行修改。系统能够通过给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。(4)查询功能:为了方便学生查找成绩等信息,在首页对所有信息进行了显示,在查询界面按照学号进行查询,当查询不合法时系统进行提示。2.4 安全性: 1)要能够抵御用户可能的误操作,保证软件的健壮性要对数据进行检验,保证数据有效性在数据被破坏时,具有数据恢复能力2)数据要绝对

6、安全防止有意无意的破坏数据。若数据遭到破坏,系统具有数据恢复功能,不可恢复的数据仅限于当日录入和修改的数据。 2.5.成本估算2.5.1时间成本由于系统是由学生进行开发,所以所需要的软件开发时间也就相对要长一点。但整个系统的功能较为简单,大概需要两个月左右时间。 2.5.2 经济成本一个完善的学生信息管理系统需要的硬件和软件参考 “四,对软件环境的规定”,计算机价格,软件价格以及本人的各项费用大约合计为6000元左右。 2.6. 版本记录及其他信息2.6.1版本更新记录版本号创建者创建日期维护者维护日期维护纪要V1.0宋琛2010/5/20-V1.1宋琛2010/5/25宋琛2010/5/27

7、数据库维护V2.0宋琛2010/6/20宋琛2010/6/25浏览页面形式的改变2.6.2尚未解决的问题(1)学生众多,信息量大,在对其进行录入,修改,删除时需要大量时间。 (2)在对大量数据进行长时间操作时,操作人由于疲劳很容易造成数据误差。2.7实验模型的建立实验中使用Rational Rose软件绘制各种模型图模型图示例:1用例图:图2-1用例图说明:本系统包括四个用例,一个参与者。由于与类图进行关联,user显示了其属性。add为添加学生用例,del为删除学生用例,update为修改学生用例,select为修改学生代码。2删除学生活动图:图2-2删除学生用例活动图说明:该系统不需登陆,

8、进入页面后在主界面选择“删除学生”功能,在弹出的添加学生模块中输入要删除学生的学号信息。点击 “确定”会将信息提交给系统,系统进行检查,若不为空且学号已存在,则数据库进行更新。完成操作后会跳出对话框提示是否成功。最后可以继续删除或者关闭该删除界面。3概要设计部分3.1.系统建设目标3.1.1要解决的问题:(以某学校为参照) 随着办公自动化水平的不断提高,现在学校管理学生信息也逐步从手工转到计算机自动化信息处理阶段。设计一个功能完整、操作简便、界面友好的学生信息管理系统已经是势在必行的了。3.1.2系统开发的目的提高图书管理工作的效率,减少相关人员的工作量,使学校的学生管理工作真正做到科学、合理

9、的规划,系统、高效的实施。3.2运行环境规定3.2.1硬件环境要求操作系统用Windows 2000以上的版本,Windows Xp最好。因为本系统将在Windows Xp环境下开发。要求支持并安装SQL Server 2005、vs2008。一台电脑,如果有大量数据的话要加一台服务器。电脑要求 CPU1.6GH以的的主频,内存 1G,硬盘160。 3.2.2软件环境数据库用Microsoft SQL server2005运行时使用Microsoft Visual Studio2008建模工具使用Rational Rose3.2.3软件运行方式学生信息管理系统为单击版软件(只运行在一台机器上)

10、,需连接网络,无需注册,可以直接安装使用,不过刚开始需要进行大量的数据录入工作。3.3 进一步功能描述模块名称:增加学生输入数据流:学生各项信息输出数据流:对数据库操作是否成功(脚本形式)简要描述:主要负责学生学号、姓名、班级、年龄方面的信息管理。模块名称:删除学生输入数据流:学生学号输出数据流:对数据库操作是否成功(脚本形式)简要描述:主要负责删除学生学号、姓名、班级、年龄方面的信息管理。模块名称:修改学生信息输入数据流:学生各项信息输出数据流:对数据库操作是否成功(脚本形式)模块名称:查询学生输入数据流:textbox中进行输入学生学号输出数据流:对数据库操作是否成功(脚本形式)3.4使用

11、Rose建立的模型3.4.1活动图1.添加学生用例的活动图:图3-1添加学生用例活动图说明:该系统不需登陆,进入页面后在主界面选择“添加学生”功能,在弹出的添加学生模块中输入要增加学生的基本信息。点击 “确定”会将信息提交给系统,系统进行检查,若符合规则满足数据库的各项约束条件,则数据库进行更新。完成操作后会跳出对话框提示是否成功。最后可以继续增加或者退出。2.修改学生用例的活动图:图3-2修改学生用例活动图说明:该系统不需登陆,进入页面后在主界面选择“修改学生”功能,在弹出的添加学生模块中输入要修改学生的基本信息和修改后的信息。点击 “确定”会将信息提交给系统,系统进行检查,若符合规则满足数

12、据库的各项约束条件,则数据库进行更新。完成操作后会跳出对话框提示是否成功。最后可以继续修改或者退出该界面。3.查询学生用例的活动图:图3-3查询学生用例活动图说明:进入首页后在主界面选择“查询学生”功能,在弹出的查询学生界面中输入要查询学生的学号信息。点击 “确定”会将信息提交给系统,系统进行检查,若不为空则继续检查,完成操作后若该生不存在会跳出对话框进行提示,若该生存在则显示该生的各项基本信息。最后可以继续查询或者退出。3.4.2时序图1.增加学生类的时序图:图3-4添加学生时序图说明:顺序图着重突出操作的时间顺序。1.系统开始运行,调用shouye类2.构造函数等执行,shouye界面出现

13、3.在首页中选择“添加学生”,add类中add()类被触发4.add界面出现5.在界面中输入信息并返回到该类中6.将数据插入到数据库中7.检查数据是否符合PK和CHECK约束8.更新数据库9.将添加的结果返回10.使用对话框向用户显示最终的处理结果。2.删除类的时序图:图3-5删除学生时序图说明:1.系统开始运行,调用shouye类2.构造函数等执行,shouye界面出现3.user在首页中选择“删除学生”,del类中del()类被触发4.del界面出现5.在界面中输入要删除的学生学号并返回到该类中6.检查数据是否存在7.更新数据库9.将添加的结果返回10.使用对话框向用户显示最终的处理结果。

14、3.修改类的时序图:图3-6修改学生时序图说明:1.系统开始运行,调用shouye类2.构造函数等执行,shouye界面出现3.user在首页中选择“修改学生”,update类中update()类被触发4.update界面出现5.在界面中输入要修改的学生学号并返回到该类中6.检查数据是否存在7.更新数据库9.将修改的结果返回10.使用对话框向用户显示最终的处理结果。4.查询类的时序图:图3-7查询学生时序图说明:1.系统开始运行,调用shouye类2.构造函数等执行,shouye界面出现3.user在首页中选择“查询学生”,select类中select()类被触发4.select界面出现5.在

15、界面中输入要查询的学生学号并返回到该类中6.检查数据是否存在7.从数据库中取数据9.将查询的结果显示在select界面上。4.详细设计阶段4.1使用Rose建立的类图模型4.1.1对用例分析抽象得到的类图:1图4-1对该类图的说明:在学生管理系统中用到的主要类有6个: user,add,delete,update,select ,shouye。这6个类之间有一定的关系: user是用户类,它的属性包括学生的ID(stuid)、姓名(stuname)、班级(class)、年龄(age)等。它是从数据库抽象出的类,与其它五个类成关联关系。add是增加学生类,包括在窗体中对数据库操作所需的主要参数和

16、方法如:sender(object类型),e(Eventargs类型),conn(SqlConnection类型),cmd(SqlCommand类型),da(DataAdapter类型),ds(DataSet类型),sqlconn(string类型,用于建立conn时作为参数),sql(string类型为sql语句)。delete,select,update类与add类的处理方式类似。youye是首页类,在系统启动时首页显示四个对象f1,f2,f3,f4分别是四个类的对象位于四个click()函数中,用于页面的跳转。其它几个类都依赖于youye类,若该类无法实现,则其他几个亦无法连接到。2用户

17、界面类的类图:图4-2对界面类的说明:这四个界面类由上述类图中的对应类触发加载。在相应界面进行系统的各项操作,执行类中的各项函数。最终实现本系统的功能。系统界面较为友好,但仍有一定的提高空间。其中showInfo是依赖于firstWindow存在的。于首页的下方显示。4.2使用Rose建立的活动图模型:图4-3user状态图说明:user进入系统,首页load()之后可以点击各按钮进入不同的页面状态。根据不同的要求,输入数据完毕后进入infoReady状态。提交数据对数据库进行相应的操作。操作完毕后进入successful状态。4.3包图图4-4business包的组件图图4-5包图和组件图的

18、说明:首先在Component View中建立相应的包,分别对应系统的各项操作。上图对应的business是操作的集合。组件图是对应用程序的可执行部件建模。4.4部署图图4-7部署图说明:部署图主要是用来说明如何配置系统的软件和硬件的。系统主要3个节点构成,该系统是单机版系统,通过lan与数据库服务器端连接;计算机需要有sql和c#支持。用户在PC端进行请求操作。另外还可以打印结果。4.5 数据库的建模本系统只建立了一个tb_stu表格。在Rose中建模如下:表格说明:该系统较为简单,因此只有一个表格。User只有四个属性。表格与用例图中的参与者相对应。共有两个约束。PK主键约束和对年龄的CH

19、ECK约束。5.实现说明部分5.1使用前向工程获得数据库代码CREATE TABLE tb_stu (学生id,主键stuid INT NOT NULL,学生姓名stuname VARCHAR ( 50 ) NOT NULL,学生所在的班级class VARCHAR ( 50 ) NOT NULL,学生年龄age INT,CONSTRAINT PK_tb_stu0 PRIMARY KEY NONCLUSTERED (stuid),CONSTRAINT checkage CHECK (check(age0 and age100) ON studentRoseSpaceGO5.2使用正向工程获得的

20、部分代码add类的生成代码:/Source file: E:businessadd.javapackage business;public class add /* * 函数中所需形参 */ private object sender; /* * 函数形参 */ private Eventargs e; /* * 数据库连接 */ private SqlConnection conn; /* * 数据库命令 */ private SqlCommand cmd; /* * 数据适配器 */ private DataAdapter da; /* * 数据集 */ private DataSet d

21、s; /* * 数据集中表格 */ private DataTable dt; public user theUser; /* * 构造函数 * roseuid 4CBF */ public add() /* * 添加学生按钮单击所触发的事件 * roseuid 4C */ public void addbutton_Click() 5.3使用c#编写的部分代码添加学生部分代码:namespace 数据库窗体 public partial class add : Form public add() InitializeComponent(); private void addbutton_Cl

22、ick(object sender, EventArgs e) if (textBox4.Text = ) MessageBox.Show(请输入学号); else SqlConnection conn = new SqlConnection(server=(local)sqlexpress;database=student;Trusted_Connection=True); conn.Open(); DataSet ds = new DataSet(); SqlDataAdapter da = new SqlDataAdapter(select * from tb_stu where stu

23、id= + textBox1.Text + , conn); da.Fill(ds); DataTable dt = ds.Tables0; if (dt.Rows.Count != 0) MessageBox.Show(对不起,该生已存在); else string Sql = INSERT INTO tb_stu(stuid,stuname,class,age) values ( + textBox1.Text + , + textBox2.Text + , + textBox3.Text + , + textBox4.Text + ); SqlCommand cmd = new SqlC

24、ommand(Sql, conn); cmd.ExecuteNonQuery(); conn.Close(); textBox1.Text = null; textBox2.Text = null; textBox3.Text = null; textBox4.Text = null; MessageBox.Show(添加成功); 首页显示如下:添加学生界面如下:主要实现代码用户登录代码实现:protected void btn_login_Click(object sender, EventArgs e) string strcmd = ; int i; DataAcess mydataAc

25、ess = new DataAcess( ) if (txtUsername.Text.Trim() != & txtPassword.Text.Trim() != ) if (DropDownList1.Text = 管理员) strcmd = select count(*) from admin where 用户名= + txtUsername.Text + and 密码= + txtPassword.Text + ; temp = 1; if (DropDownList1.Text = 教师) strcmd = select count(*) from teacher where 教师编

26、号= + txtUsername.Text + and 密码= + txtPassword.Text + ; temp = 2; if (DropDownList1.Text = 学生) strcmd = select count(*) from student where 学号= + txtUsername.Text + and 密码= + txtPassword.Text + ; temp = 3; i = mydataAcess.ExecuteScalar(strcmd); if (i = 1) SessionUsername = txtUsername.Text.ToString();

27、 if (temp = 1) Response.Redirect(admin/stuadmin.aspx); if (temp = 2) Response.Redirect(teacher/index.aspx); if (temp = 3) Response.Redirect(student/index.aspx); else Response.Write(alert(账号或密码错误!);history.go(-1);) else Response.Write(alert(请输入账号或密码!);history.go(-1);); txtUsername.Text = ; txtPasswor

28、d.Text = ; 实现用户管理模块功能的代码:public partial class admin_index : System.Web.UI.Page public string CID; public string sqlconn; DataRow dtr; SqlDataAdapter myadapter; SqlCommandBuilder scb; DataSet myDataSet; SqlConnection mysqlconnection; int returnValue; private SqlConnection conn = new SqlConnection(Sys

29、tem.Configuration.ConfigurationSettings.AppSettingsGrademanage); protected void Page_Load(object sender, EventArgs e) if (Sessionusername = null | .Equals(Sessionusername.ToString() DataAcess.Alert(你还未登陆请返回首页登陆!, ./login.aspx); CID = Sessionusername.ToString(); mysqlconnection = new SqlConnection(Sy

30、stem.Configuration.ConfigurationSettings.AppSettingsGrademanage); SqlCommand mysqlcommand = mysqlconnection.CreateCommand(); mysqlcommand.CommandText = select 用户名,密码,备注 from admin where 用户名= + + CID + ; myadapter = new SqlDataAdapter(); myadapter.SelectCommand = mysqlcommand; myDataSet = new DataSet

31、(); mysqlconnection.Open(); int numberOfRow = myadapter.Fill(myDataSet, admin); mysqlconnection.Close(); DataTable tb = myDataSet.Tablesadmin; dtr = tb.Rows0; protected void Button1_Click(object sender, EventArgs e) TextBox1.ReadOnly = false; TextBox4.Visible = true; TextBox4.ReadOnly = false; TextB

32、ox1.Text = ; TextBox2.Text = ; TextBox2.ReadOnly = false; TextBox3.Text = 请记住新的密码以免造成不必要的麻烦!; Label1.Text = 原始密码:; Label2.Text = 新  密  码:; Label3.Text = 小  提  示:; Label4.Visible = true; Button4.Visible = true; Button5.Visible = true; Button5.Text = 取消; protect

33、ed void Button6_Click(object sender, EventArgs e) TextBox1.Text = (String)(dtr用户名); TextBox2.Text = *; TextBox3.Text = (String)(dtr备注); Label1.Text = 用  户  名:; Label2.Text = 密        码:; Label3.Text = 备      &n

34、bsp; 注:; Label4.Visible = false; TextBox4.Visible = false; Button4.Visible = false; Button5.Visible = false; protected void Button2_Click(object sender, EventArgs e) Button4.Visible = true; Button5.Visible = false; TextBox4.Visible = false; TextBox3.ReadOnly = false; Label1.Text = 用  

35、户  名:; Label2.Text = 密        码:; Label3.Text = 备        注:; Label4.Visible = false; TextBox1.Text = (String)(dtr用户名); TextBox2.Text = *; TextBox3.Text = (String)(dtr备注); TextBox3.Focus(); protected void Button

36、3_Click(object sender, EventArgs e) Button4.Visible = true; Button5.Visible = false; Button4.Enabled = true; Button5.Enabled = true; TextBox4.Visible = false; TextBox1.ReadOnly = false; TextBox2.ReadOnly = false; TextBox3.ReadOnly = false; Label1.Text = 新用户名:; Label2.Text = 密    

37、    码:; Label3.Text = 备        注:; Label4.Visible = false; TextBox1.Text = ; TextBox2.Text = ; TextBox3.Text = ; protected void Button7_Click(object sender, EventArgs e) Label1.Text = 删除用户:; Button4.Visible = true; Button5.Visible = true; B

38、utton5.Enabled = false; TextBox4.Visible = false; TextBox1.ReadOnly = false; TextBox2.ReadOnly = false; TextBox3.ReadOnly = true; Label2.Text = 密        码:; Label3.Text = 备        注:; Label4.Visible = false; TextBox1.Tex

39、t = ; TextBox2.Text = ; TextBox3.Text = ; Button4.Text = 确定; Button5.Text = 提交删除; TextBox3.Text = 请输入要删除的用户名和密码!; protected void Button4_Click(object sender, EventArgs e) SqlCommand coutsqlcommand = mysqlconnection.CreateCommand(); mysqlconnection.Open(); if (TextBox1.Text != & TextBox2.Text != ) if (TextBox4.Visible = true)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁