[计算机软件及应用]学籍管理系统详细设计.doc

上传人:sccc 文档编号:4561818 上传时间:2023-04-27 格式:DOC 页数:35 大小:674.50KB
返回 下载 相关 举报
[计算机软件及应用]学籍管理系统详细设计.doc_第1页
第1页 / 共35页
[计算机软件及应用]学籍管理系统详细设计.doc_第2页
第2页 / 共35页
[计算机软件及应用]学籍管理系统详细设计.doc_第3页
第3页 / 共35页
[计算机软件及应用]学籍管理系统详细设计.doc_第4页
第4页 / 共35页
[计算机软件及应用]学籍管理系统详细设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《[计算机软件及应用]学籍管理系统详细设计.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]学籍管理系统详细设计.doc(35页珍藏版)》请在三一办公上搜索。

1、学籍管理系统 需求分析报告毕业实习 课题: 学籍管理系统 姓 名:* 学 号:* 班 级:* 指导老师:*计算机与信息学院目录第一章 系统开发工具及开发平台31.1开发工具及平台31.2 开发工具的简单介绍31.2.1 .NET31.2.2 C# 语言41.2.3 SQL Server 200051.2.4 访问数据库:ADO.NET5第二章 需求分析62.1 用户需求6第三章 功能模块设计63.1主要功能模块63.2 H图7第四章 用例设计74.1用例描述74.2序列图10第五章 系统概要设计165.1 设计思想165.2 设计原则17第六章 网站功能详细设计及实现176.1 系统通用类:1

2、76.2 模块设计:186.2.1.管理员登录后界面:186.2.2.系别维护186.2.3.专业信息设置196.2.4.学生成绩录入196.2.5.学生基本信息查询206.3详细设计206.3.1课程成绩查询206.3.2班级信息表基本操作236.3.3.学生成绩录入30第七章 系统改进和意见357.方案的改进和意见35结论36概 述学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人 们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长

3、,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。第1章 系统开发工具及开发平台1.1开发工具及平台本系统采用ASP.NET模式开发制作,用Visual Studio.NET 2005和SQL SERVER 2000作为开发工具,用Web数据库理论设计网上数据库,SQL语言进行数据库查询、操作、设计出各个功能模块的WEB应用程序(B/S)模式。1.2 开发工具的简单介绍1.2.1 .NET.NET作为新一代互联软件和服务战略,将使微软现有的软件在网络时

4、代不仅适用于传统的个人计算机,而且能够满足呈现强劲增长的新设备的需要。到底什么是.NET呢?微软总裁兼首席执行官Steve Ballmer把它定义为:.NET代表一个集合,一个环境,一个可以作为平台支持下一代Internet的可编程结构。.NET的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求,然后只管接收就可以了。而所有后台的复杂性是完全屏蔽起来的。.NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于 .

5、NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。 .NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器 XML Web 的服务能力以满足您的所有业务需求。.NET为开发人员提供了新的开发平台 (.NET框架) ,新的开发语言(C#) ,新的开发工

6、具 (Visual Studio .NET) ,新的开发方式 (Web Service) ;为普通用户提供了Windows CE、Windows XP、Stinger、Xbox、Tablet PC、.NET My Services、MSN等产品;为企业提供了bCentral。在未来,最终大多数流行的 Microsoft 软件应用程序-包括 Office 和 Visual Studio .NET-将开始与 XML Web 服务实现交互,并把它们的主要功能作为 XML Web 服务公开,以便其他开发人员可以利用。1.2.2 C# 语言.NET支持多种程序语言,仅.NET架构就默认支持Visual

7、Basic.NET与C#两种程序语言。C#是专门针对在.NET架构上开发应用程序而设计的新程序语言,就程序语法来说有点类似C+,或者说更像Java。因此有着易用、灵活性大的特点,不但拥有完整的面向对象支持,在程序语法的执行效率上也比Visual Basic.NET快,所以说C#是.NET上的钦定语言也不为过。用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。C#语言在.NET的IDE(集成环境)下

8、提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,选择各种“控件”,并设置这些控件的属性,.NET会自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。C#通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击”(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用.NET设计大型应用软件时,不必建立具有明显开始和结束的程序

9、,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。1.2.3 SQL Server 2000Microsoft SQL Server 2000是一个高性能的客户端/服务器结构的关系数据库管理系统(RDBMS,Relational Database Management System)。SQL Server 2000是为了支持高容量的事务处理以及数据仓库和决策支持系统(比如销售分析应用)而设计的。它运行在Microsoft Windows NT4或Mic

10、rosoft Windows 2000 Server上-基于intel处理器的网络。可以把SQL Server 2000作为一种个人桌面数据库系统安装在运行Window NT Workstation 、Windows 2000 Professional、Windows98和Windows Millennium Edition(Me)的机器上。可以使用相同的CD来安装任何一个SQL Server 2000的服务器版本或个人版本。1.2.4 访问数据库:ADO.NETC#.NET在数据库程序设计方面,使用ADO.NET作为数据库存取的接口。ADO.NET采用新颖的对象观念,专为Microsoft.

11、NET平台量身打造,采用离线存取模式,可供多人同时存取,特别适合在Internet环境中使用。ADO.NET是微软新一代.NET数据库的存取结构,ADO.NET是数据库和数据源间沟通的桥梁,主要提供一个面向对象的数据存取架构,用来开发数据库应用程序。ADO.NET具有下列优越性:ADO.NET 是在.NET Framework上存取数据库的一组类库,它包含了.NET Data Provider(数据提供者)以进行数据库的连接与存取,通过ADO.NET,数据库程序设计人员能够很轻松地使用各种对象,来存取符合自己需求的数据库内容。换句话说,ADO.NET定义了一个数据库存取的标准接口,让提供数据库

12、管理系统的各个厂商可以根据此标准,开发相应的.NET Data Provider,如此编写数据库应用程序人员不必了解各类数据库底层运作的细节,只要学会ADO.NET提供对象的架构,便可轻易地存取所有支持. NET Data Provider的数据库。ADO.NET是应用程序和数据源之间沟通的桥梁。通过ADO.NET提供的对象,再配合SQL语法就可以存取数据库内的数据,而且凡是通过ODBC或OLEDB接口所能存取的数据库(如:Dbase、FoxPro、Excel、Access、SQL Server、Oracle等),也可通过ADO.NET对象来存取。ADO.NET可提高数据库的延展性。ADO.N

13、ET可以将数据库内的数据以XML格式传送到客户端(Client)的DataSet对象中,此时客户端可以和数据库服务器联机,当客户端程序对数据进行新增、修改、删除等动作后,再和数据库服务器联机,将数据送回数据库服务器端完成更新的动作。如此一来就可以避免客户端和数据库服务器联机时,当客户端不对数据库服务器作任何动作时,却一直占用数据库服务器的资源。此种结构使得数据处理有相互连接的双层结构,朝多层结构发展,因而提高了数据库的延展性。此外,ADO.NET的其它优越性这里不再一一列举。考虑到实际情本次网站设计选用了SQL Server 2000 数据库,它具有简单易学,操作方便的特性。如果需要,还可以稍

14、加修改,将数据库与应用程序分离,采用客户端/服务器方式,将数据库放置到服务器端,此软件作为客户端应用程序,可对数据库进行联机存取。第二章 需求分析2.1 用户需求2.1.1 能够从屏幕上读取一个学生的信息并将信息存入到数据文件中。2.1.2.能够将指定的信息从文件中删除。2.1.3.能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。2.1.4.可以统计全部学生的总成绩,及其在班上的排名。2.1.5.能够统计各科的平均成绩及及格率。2.1.6.要求有错误提示功能,例如性别只能输入男女,输入错误提示重新输入。2.1.7.如果检索不到相应的信息应提示用户第三章 功能模块设计3.1主要功能

15、模块3.1.1. 实现学生基本情况的录入、修改、删除等基本操作。3.1.2. 对学生基本信息提供灵活的查询方式。3.1.3. 实现学生成绩的录入、修改、删除等基本操作。3.1.4. 能方便的对学生的个学期成绩进行查询。3.1.5. 具有成绩统计、排名等功能。3.1.6. 具有数据备份和数据恢复功能3.2 H图高校学籍管理系统基本信息管理学生成绩管理信息查询系统管理员操作基本信息录入基本信息修改基本信息删除学生成绩录入学生成绩修改学生成绩删除学生信息查询学生成绩查询学生成绩排名修改密码帮助信息第四章 用例设计4.1用例描述用例名称:注册简要说明:在登陆系统之前进行信息注册前置条件:无基本事件流:

16、1选择登录类型2输入账号3输入密码4确认注册其他事件流:未输入完整信息异常事件流:账号错误后置条件:登陆系统注释:无用例名称:系统登录简要说明:用户登录系统进行操作前置条件:已经完成注册基本事件流:1选择登录类型2输入账号3输入密码4确认登录其他事件流:未输入完整信息异常事件流:输入密码错误后置条件:进行其他操作注释:无用例名称:成绩录入简要说明: 对学生的成绩进行登录前置条件:已登录系统基本事件流:1输入学生姓名2 输入学生成绩3 确认完成其他事件流:无 异常事件流:未输入完整信息后置条件:选择其他操作注释:无用例名称:学籍录入简要说明: 对学生的学籍进行登录前置条件:已登录系统基本事件流:

17、1输入学生姓名2 输入学生学籍信息3 确认完成其他事件流:无 异常事件流:未输入完整信息后置条件:选择其他操作注释:无用例名称:成绩修改简要说明: 对学生的成绩进行修改前置条件:已登录系统基本事件流:1输入学生姓名2 修改学生成绩3 确认完成其他事件流:无 异常事件流:未输入完整信息后置条件:选择其他操作注释:无用例名称:学籍修改简要说明: 对学生的学籍进行修改前置条件:已登录系统基本事件流:1输入学生姓名2 修改学籍信息3 确认完成其他事件流:无 异常事件流:未输入完整信息后置条件:选择其他操作注释:无4.2序列图图表 1管理员学籍录入图表 2管理员学籍修改图表 3教师登录图表 4教师成绩录

18、入图表 5管理员登录图表 6学生查询成绩图表 7学生登录图表 8用户注册图表 9管理员成绩修改图表 10类图第五章 系统概要设计5.1 设计思想(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。5.2 设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:(1)合法性原则:依据产品核算系

19、统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(3)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。(5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。(6)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事

20、件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。(7)安全性原则:可以为该系统的用户设置用户权限。第6章 网站功能详细设计及实现6.1 系统通用类:class connclass SqlConnection mycon; public void con_open() string sqlconnstr = data source=.;database=学籍管理;integrated security=true; mycon = new SqlConnection(sqlconnstr); mycon.Open(); public void con_close() myco

21、n.Close(); mycon.Dispose(); 6.2 模块设计:6.2.1.管理员登录后界面:6.2.2.系别维护6.2.3.专业信息设置6.2.4.学生成绩录入6.2.5.学生基本信息查询6.3详细设计6.3.1课程成绩查询public partial class frmCourseScoreQuery : Form public frmCourseScoreQuery() InitializeComponent(); SqlConnection mycon; SqlCommand com; SqlDataAdapter sd; SqlDataReader dr; private

22、void opencon() string sqlconnstr = data source=.; + persist security info=False; + initial catalog=学籍管理; + integrated security=SSPI; mycon = new SqlConnection(sqlconnstr); mycon.Open(); private void FillComboBox(ComboBox cbx, string sqlstring) cbx.Items.Clear(); com = new SqlCommand(sqlstring, mycon

23、); if (mycon.State = ConnectionState.Closed) mycon.Open(); dr = com.ExecuteReader(); if (dr.HasRows) while (dr.Read() cbx.Items.Add(dr0.ToString(); mycon.Close(); private void FillDataGridView(string sqlstring) sd = new SqlDataAdapter(sqlstring, mycon); DataSet ds = new DataSet(); if (mycon.State =

24、ConnectionState.Closed) mycon.Open(); int count = sd.Fill(ds, fill); mycon.Close(); dataGridView1.DataSource = ds.Tablesfill; lblcount.Text = 共有 + Convert.ToString(count) + 条记录; private void cbxdepartment_SelectedIndexChanged(object sender, EventArgs e) cbxclass.Items.Clear(); cbxclass.Text = string

25、.Empty; cbxterm.Items.Clear(); cbxterm.Text = string.Empty; cbxCourse.Items.Clear(); cbxCourse.Text = string.Empty; FillComboBox(cbxspecial, select 专业名称 from 专业设置 where 所属系别= + cbxdepartment.SelectedItem + ); cbxspecial.Text = string.Empty; private void frmCourseScoreQuery_Load(object sender, EventA

26、rgs e) opencon(); FillComboBox(cbxdepartment, select 系别 from 系别 ); private void cbxspecial_SelectedValueChanged(object sender, EventArgs e) FillComboBox(cbxclass, select 班级名称 from 班级 where 专业= + cbxspecial.SelectedItem + ); cbxclass.Text = string.Empty; private void cbxclass_SelectedValueChanged(obj

27、ect sender, EventArgs e) cbxterm.Text = string.Empty; cbxterm.Items.Clear(); cbxCourse.Text = string.Empty; cbxCourse.Items.Clear(); string term = 第一学期, 第二学期, 第三学期, 第四学期, 第五学期, 第六学期, 第七学期, 第八学期, 第九学期, 第十学期 ; int xuezi = 1; com = new SqlCommand(select 学制 from 班级 where 班级名称= + cbxclass.SelectedItem +

28、, mycon); if (mycon.State = ConnectionState.Closed) mycon.Open(); dr = com.ExecuteReader(); if (dr.HasRows) while (dr.Read() xuezi = Convert.ToInt32(dr0.ToString(); mycon.Close(); for (int i = 0; i xuezi * 2; i+) cbxterm.Items.Add(termi); private void cbxterm_SelectedValueChanged(object sender, Even

29、tArgs e) FillComboBox(cbxCourse, select 课程名称 from 班级课程 where 班级名称= + cbxclass.SelectedItem + and 学期= + cbxterm.SelectedItem + ); private void cbxCourse_SelectedValueChanged(object sender, EventArgs e) FillDataGridView(select 学号,姓名,分数 from 学生成绩 where 班级名称= + cbxclass .SelectedItem + ); 6.3.2班级信息表基本操作

30、public partial class frmclass : Form SqlConnection mycon; SqlDataAdapter da; SqlCommand com; SqlDataReader sd; string specialid; string classid; public frmclass() InitializeComponent(); private void label6_Click(object sender, EventArgs e) public void conopen() string sqlconnstr = data source=.; + p

31、ersist security info=False; + initial catalog=学籍管理; + integrated security=SSPI; mycon = new SqlConnection(sqlconnstr); mycon.Open(); public void FillDataGridView(string sqlstring) da = new SqlDataAdapter(sqlstring ,mycon ); DataSet ds=new DataSet (); try if (mycon.State = ConnectionState.Closed) myc

32、on.Open(); int count=da.Fill(ds, class); mycon.Close(); dataGridView1.DataSource = ds.Tablesclass; lbShowAll.Visible = true; lbQuery.Visible = false; lbShowAll.Text = 总共有 + count.ToString() + 个班级; catch (Exception ex) MessageBox.Show(ex.Message.ToString(); private void FillComboBox(ComboBox cbx, str

33、ing sqlstring) cbx.Items.Clear(); com = new SqlCommand(sqlstring ,mycon ); if (mycon.State = ConnectionState.Closed) mycon.Open(); sd = com.ExecuteReader(); if (sd.HasRows) while (sd.Read() cbx.Items.Add(sd0.ToString(); sd.Close(); private string QueryId(string sqlstring, string field) da = new SqlD

34、ataAdapter(sqlstring, mycon); DataSet ds = new DataSet(); if (mycon.State = ConnectionState.Closed) mycon.Open(); da.Fill(ds, dep); return ds.Tablesdep.Rows0field.ToString();/返回所查询的编号 private void frmclass_Load(object sender, EventArgs e) conopen(); FillComboBox(cbxdepartment, select 系别 from 系别); /F

35、illComboBox(cbxspecial, select 专业名称 from 专业设置); FillDataGridView(select * from 班级); txtClassName.Focus(); cbxxuezi.SelectedIndex = 1; lbQuery.Visible = false; lbShowAll.Visible = true; private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) txtClassId.Text = dataGridView1.Cu

36、rrentRow.Cells0.Value.ToString(); txtClassName.Text = dataGridView1.CurrentRow.Cells1.Value.ToString(); cbxdepartment .Text = dataGridView1.CurrentRow.Cells2.Value.ToString(); cbxspecial .Text = dataGridView1.CurrentRow.Cells3.Value.ToString(); cbxxuezi .Text = dataGridView1.CurrentRow.Cells4.Value.ToString(); txtYear.Text = dataGridView1.CurrentRow.Cells5.Value.ToString(); private void btnAdd_Click(object sender, EventArgs e) string ID = QueryId(select max(ID) as 最大ID from 班级 where 专业= + cbxspecial.SelectedItem + , 最大ID)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号