您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 设计及方案 > 学籍管理系统-数据库设计
《.net程序设计》大作业学生姓名:学号:学院:电子与计算机科学技术学院专业:软件工程题目:学生学籍管理系统成绩:指导教师:王素红2011年5月30日2程序代码下载地址:设计目的学籍管理系统是一个典型的信息管理系统,主要目标是使用它管理学生学籍信息,包括学生基本的信息管理,学生成绩管理。力求能很好地管理有关学生学籍方面的工作,比如系统管理员负责日常的学籍管理工作,如各种基本信息的录入、修改、删除等操作,教师使用该系统可完成教学班级信息查询和成绩管理,2.设计内容2.1.内容描述(1)实现学生基本情况的录入、修改、删除等基本操作。(2)对学生基本信息提供灵活的查询方式。(3)完成一个班级的学期选课功能。(4)实现学生成绩的录入、修改、删除等基本操作。(5)能方便的对学生的个学期成绩进行查询。(6)具有成绩统计、排名等功能。(7)具有留级、休学等特殊情况的处理功能。2.2系统开发模式(1)本系统事实上是基于C/S模式的信息管理系统,客户机通过服务器去访问所需要的数据库,在这里客户机就是指用C#开发应用程序,服务器是指SQLServer2005所用的服务器,本系统用的是本地服务器,系统模式图如下图1所示:图1系统模式图数据库数据库管理系统服务器客户机2客户应用程序通过本地服务器连接到SQLServer2005的数据库,访问所需要的数据信息。在学生学籍管理系统中,从而实现用户对相应的数据信息进行修改、查询和录入等操作,以达到对学生学籍方面工作的各项管理。C/S模式是一种两层结构的系统:第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了数据库服务器。C/S模式主要由客户应用程序、服务器管理程序和中间件三个部分组成,以下是C/S模式的一些优点:C/S交互性强。因为客户端有一套完整应用程序,在出错提示、在线帮助等方面都有强大的功能,并且可以在子程序间自由切换。C/S模式提供了更安全的存取模式。由于CS配备的是点对点的结构模式,采用适用于局域网、安全性可以得到可靠的保证。响应速度快。由于客户端实现与服务器的直接相连,没有中间环节。操作界面漂亮,形式多样,可以充分满足客户自身的个性化要求。3.需求描述3.1用例图图2学籍管理系统用例描述3表1用例描述名称文档用户现实中实际使用者学生信息管理用户登陆系统后,可以对学生信息进行基本的管理,包括对学生信息的增加、删除、修改,并且能够对信息进行简单的查找,方便用户使用。学生信息查询用户能够对学生的基本信息进行查询,并且以友好的方式显示出来,按各种条件进行查询。成绩管理用户可以对学生成绩进行基本的管理,包括对学生成绩的添加、删除、修改、具有简单的查询功能,能对整个班级进行选课,及成绩的录入。软件帮助用户能够对学生的成绩信息进行查询,可以按不同的条件进行查询。成绩查询用户能够对留级、休学等特殊情况进行处理。特殊处理显示软件的基本信息,并且能够提示软件的在线帮助。3.2数据库设计(1)数据库E—R图用户用户名密码图3帐户E-R图4学生姓名宿舍班级性别学号成绩课程课程编号课程名学时教师学分教室图4学籍管理系统基本E-R图(2)数据库表的设计表2学生信息表中文含义字段名称数据类型是否为空备注学号Snumbervarchar(50)否主键姓名Snamevarchar(50)否班级Sclassvarchar(50)否性别Ssexvarchar(50)否有效为男女宿舍Sdormitoryvarchar(50)否表3课程信息表中文含义字段名称数据类型是否为空备注课程编号Cnumbervarchar(50)否主键课程名Cnamevarchar(50)否教师Cteachervarchar(50)否教室Crommvarchar(50)是学分Cperiodint否学时Ccreditint否5表4选课信息表中文含义字段名称数据类型是否为空备注学号Snumbervarchar(50)否主键课程编号Cnumbervarchar(50)否主键成绩scoreint是4.系统详细分析设计4.1开发工具及系统运行环境开发工具:MicrosoftVisualStudio2008、MicrosoftSQLServer2005运行环境:MicrosoftWindowsXP4.2系统顺序图(1)学生成绩查询:参与者主界面学生查询界面控制类数据库1:进入系统2:相应按钮被触发3:获取查询命令4:数据查询5:显示查询信息图5学生成绩查询顺序图描述:用户进入选课系统,查询成绩,系统会自动显示已修课程的成绩。6(2)学生选课:参与者登陆选定课程窗口控制类数据库1:输入信息2:信息正确3:点击查看信息按钮4:获取查看信息5:显示课程信息6:选定课程7:更新数据信息8:显示选课信息图6选定课程顺序图描述:用户登陆系统后,查看选课信息,选定课程,更新数据库。(3)学生信息及成绩信息管理:参与者主界面个人信息管理界面控制类数据库1:进入系统2:相应按钮被触发3:输入相关信息4:获取输入信息5:更新数据6:显示更新后信息图7个人信息管理顺序图7描述:学生进入选课主界面后,查看基本信息,在信息管理界面,输入信息,数据更新,修改完成之后,显示修改后的信息。4.3系统实现(1)DAL层设计①主要包括直接对数据库的操作,将各种常用的方法进行封装,全球后面的使用。staticclassSQLConnection{staticSqlCommandcommand=null;staticSqlConnectionconnection=null;publicstaticvoidSetSQLConnection(){stringconnectionString=GetConnectionString();connection=newSqlConnection(connectionString);try{command=connection.CreateCommand();}catch(Exceptionex){Console.Write(ex);}}publicstaticstringGetConnectionString(){returnDataSource=(local);8+Database=mysql;UserID=sa;pwd=gdonenff;}publicstaticvoidSetCommandText(StringText){try{Console.Write(Text);command.CommandText=Text;}catch(Exceptionex){Console.Write(ex);}}publicstaticSqlDataReaderGetSqlDataReader(){Console.Write(-----------+command.CommandText+---------------);SqlDataReaderreader=command.ExecuteReader();returnreader;}publicstaticvoidExecute(Stringsql){command.CommandText=sql;command.ExecuteNonQuery();}publicstaticvoidSqlOpen(){9connection.Open();}publicstaticvoidSqlClose(){connection.Close();}}②将对DataGridView操作的各种方法进行封装。publicstaticclassDataManager{publicstaticstringstrCon=SQLConnection.GetConnectionString();publicstaticSqlConnectionconnection=null;publicstaticSqlDataAdapteradapter=null;publicstaticvoidInitSqlConnection(){try{connection=newSqlConnection(strCon);adapter=newSqlDataAdapter();adapter.MissingMappingAction=MissingMappingAction.Passthrough;adapter.MissingSchemaAction=MissingSchemaAction.Add;}catch(Exceptionex){10}}publicstaticvoidInsert(StringsqlInsert){SqlCommandinsertCommand=connection.CreateCommand();insertCommand.CommandText=sqlInsert;adapter.InsertCommand=insertCommand;}publicstaticvoidDelete(StringsqlDelete){SqlCommanddeleteCommand=connection.CreateCommand();deleteCommand.CommandText=sqlDelete;adapter.DeleteCommand=deleteCommand;}publicstaticvoidQuery(StringsqlQuery){SqlCommandqueryCommand=connection.CreateCommand();queryCommand.CommandText=sqlQuery;adapter.SelectCommand=queryCommand;}publicstaticvoidUpdata(StringsqlUpdata){SqlCommandupdataCommand=connection.CreateCommand();updataCommand.CommandText=sqlUpdata;adapter.UpdateCommand=updataCommand;11}publicstaticDataSetGetDataSet(){if(adapter.SelectCommand==null&&adapter.UpdateCommand==null&&adapter.InsertCommand==null&&adapter.DeleteCommand==null){thrownewException(AlltheCommandisnull!);}else{connection.Open();DataSetdataSet=newDataSet();adapter.Fill(dataSet);connection.Close();returndataSet;}}publicstaticvoidSetBindingSource(DataGridViewdataGridVew){BindingSourcebindingSource=newBindingSource();bindingSource.DataSource=GetDataSet().Tables[0];dataGridVew.DataSource=bindingSource;}publicstaticvoidUpdateDataBase(DataTabledataTable,String12sql){connection.Open();SqlCommandBuilderbuilder=newSqlCommandBuilder(adapter);Query(sql);adapter.Update(dataTable);connection.Close();}publicstaticvoidDeleteDataBases(Stringsql,DataGridViewdataGridView){SQLConnection.SetSQLConnectio
本文标题:学籍管理系统-数据库设计
链接地址:https://www.777doc.com/doc-3202157 .html