学生管理系统设计与实现0.doc_第1页
学生管理系统设计与实现0.doc_第2页
学生管理系统设计与实现0.doc_第3页
学生管理系统设计与实现0.doc_第4页
学生管理系统设计与实现0.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.系统分析1.1可行性分析可行性分析对系统的开发至关重要,可以大幅减少不必要的损失,保证系统开发的顺利进行。因此要对系统进行技术可行性、经济可行性、操作可行性三方面的系统可行性分析:1.1.1 技术可行性近几年来计算机技术发展异常迅猛,高速度大容量的电脑已成为许多学校里日常工作必不可少的设备,随着办公自动化的软件不断涌现,微机的普及为该系统的开发奠定了坚实的基础。1.1.2 经济可行性一方面,系统的开发不需要额外增加设备购置费、软件开发费、管理和维护费用。另一方面,系统的开发可以较好地解决学生管理系统因日常事务繁杂而造成的处理效率低,出错率偏高的局面,并可以及时了解各项日常事务的进展情况,为及时调整库存资料提供可靠的数据支持,从而明确工作目标,同时还可以减少人工劳动、提高工作效率、增加学生数据。1.1.3 操作可行性计算机以强大的信息处理能力作为人类脑力劳动的有利助手登上历史舞台后,已渗透到社会生活的各个领域,使现代社会组织、特别是企业,学校的信息处理能力适应现代化管理的要求,且系统逐步从单项事务信息处理系统迅速向综合服务(决策支持系统)的管理信息系统发展。本系统使用界面良好,易于操作。教务处拥有一批较高素质的员工,只需了解相关知识,就可熟练操作本系统了。通过以上分析,学生管理系统的开发在经济上、技术上、操作上都是可行的。1.2系统的总目标学生管理系统的总目标是按照管理信息系统的管理和开发方法,采用先进的信息技术和手段,支持并规范学生基本资料的管理、修改、课程的选修、成绩操作等操作的全过程,并加强上述过程中各种信息资源的管理和应用,提高各部门管理工作的现代化水平,实现各部门信息的准确、及时处理和沟通及共享,为教务处对库存资料的决策提供有利的支持和反馈信息,以实现教务处的总体目标。1.3具体目标(1)每年开学,新生报到的时候,教务处系统管理员要给每一位新生的信息建立个人档案。学生的个人档案包括学生的学号、姓名、性别、班级、所属院系。(2)学生毕业的时候,教务处系统管理员要及时对每位学生的信息进行删除。(3)没次学校开新的课程时,教务处要及时添加及完备新课程的资料,以便学生可以选修该门课程。(4)每次可以有多个学生选同一门课,达到一定人数后禁止再选该门课程。(5)学生可以在学生管理系统中查询自己的选课信息,修完以后可以查询该门课的成绩。(6)系统应该有很好的可扩展性。2.需求分析2.1需求分析阶段的根本任务是要明确教务处在决策和日常事务处理上的信息需求,以便提出整个系统的总体方案。在需求分析中,主要采用流程图和数据字典来描述。图1.学生管理系统主要工作示意图学生基本信息课程信息成绩查询学生管理系统教师信息授课信息学生选课2.11学生基本信息 管理系统的管理者对学生进行资料设计。如每年的新学期,需要对新进入学校的学生进行注册,对毕业的学生的资料进行删除或移存。另外,对转专业的学生的资料进行修改。2.1.2学生信息查询 该模块是方便在必要时对学生信息的了解。2.1.3学生选课 每个学期伊始或学期中,学生都要通过管理系统进行选课。他们可以查询自己所选的课程、改选、退选等功能。2.1.4成绩查询 当学生结束其课程以后,学生可以通过管理系统查询其在该门课程的成绩。2.2数据库设计2.2.1数据库概念结构设计根据上面的分析,所涉及的数据有学生基本信息和课程信息,他们可以合在一个实体中,规划出来的实体为:学生信息实体和课程实体,分别如下图所示:图2. 学生资本信息实体学生基本资料学号姓名入学年份导师附加分入学成绩出生日期院系班级图3.课程信息实体课 程课程名课程号上课地点可选人数学分课程性质开课时间所用教材授课教师2.2.2数据库逻辑结构设计现在需要将上面的数据库概念结构转化为SQL Server 2000数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。在上面的实体的基础上,形成数据库中的表(在建表时省略了一些属性)。根据以上信息,可把各个数据分类可得到下列各表,各表分别代表数据库中的表:学生表字段名类型约束学号char(6)主键姓名char(10)非空性别char(2)只取男、女出生日期date入学成绩number(5,1)附加分number(3,1)班级编码char(5)与班级表中班级编码外键关联班级表字段名类型约束班级编码char(5)主键班级名char(10)非空所属系部char(2)与系部表中系部编码外键关联系部表字段名类型约束系部编码char(2)主键系部名char(10)非空课程表字段名类型约束课程编码char(5)主键课程名char(20)非空教师表字段名类型约束教师编码char(6)主键教师姓名char(8)非空性别char(2)只取男、女出生日期date职称char(10)选修表字段名类型约束学生编码char(6)主键, 与学生表中学号外键关联,级联删除课程编码char(5)主键, 与课程表中课程编码外键关联成绩number(5,1)授课表字段名类型约束教师编码char(6)主键, 与教师表中教师编码外键关联,级联删除课程编码char(5)主键, 与课程表中课程编码外键关联3.系统实现3.1数据表结构的实现经过前面的需求分析和概念设计之后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析其中创建。下面给出了查询分析器中创建这些表格的SQL语句(只列出学生表):3.1.1创建学生表CREATE TABLE 学生表(学号 char(6) PRIMARY KEY ,姓名char(10) NULL,性别Varchar(2) NULL,出生日期date,入学成绩number(5,1),附加分number(3,1),班级编码char(5) )3.1.2视图的查询:选修信息SELECT dbo.学生表.学号, dbo.学生表.姓名, dbo.班级表.班级名, dbo.选修表.成绩, dbo.教师表.教师姓名, dbo.课程表.课程名FROM dbo.学生表 INNER JOIN dbo.选修表 ON dbo.学生表.学号 = dbo.选修表.学生编码 INNER JOIN dbo.课程表 ON dbo.选修表.课程编码 = dbo.课程表.课程编码 INNER JOIN dbo.班级表 ON dbo.学生表.班级编码 = dbo.班级表.班级 INNER JOIN dbo.授课表 ON dbo.课程表.课程编码 = dbo.授课表.课程编码 INNER JOIN dbo.教师表 ON dbo.授课表.教师编码 = dbo.教师表.教师编码3.2系统用户窗体创建上面的SQL语句仅仅是在SQL Server 2000中的查询分析器执行后,产生了需要的所有数据表格,。有关数据结构的所有后端工作已经完成,剩下的是编写对数据库进行操作的数据库系统客户端程序。本系统才有Delphi作为开发客户端程序的工具,开发过程依据前文中提到的功能模块依次进行代码和窗体的设计,由于代码繁杂,本报告在附录中仅提供了主窗体的具体详细代码。主窗体代码:(主题窗:form6)unit Unit6;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, DB, ADODB,unit2;type TForm6 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; Button2: TButton; Image1: TImage; StaticText1: TStaticText; StaticText2: TStaticText; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form6: TForm6;implementation$R *.dfmprocedure TForm6.Button2Click(Sender: TObject);begin showmessage(欢迎您再次登录!); close;end;procedure TForm6.Button1Click(Sender: TObject);beginif (edit1.text=070809) and (edit2.text=070809) then begin form6.Hide; form2.show; end else begin showmessage(没有该用户或密码错误!); end;end;end.学生基本信息查询窗体代码:(form1)unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls, Mask, DBXpress, SqlExpr;type TForm1 = class(TForm) DataSource1: TDataSource; Button1: TButton; Edit1: TEdit; DBGrid1: TDBGrid; Button2: TButton; m: TComboBox; StaticText1: TStaticText; ADOQuery1: TADOQuery; ADOConnection1: TADOConnection; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject);private Private declarations public Public declarations end;var Form1: TForm1;implementation uses unit2;$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);begin if (m.Text=学号查询) then begin if (edit1.Text=) then showmessage(请输入要查询的学号!); if (edit1.Text) then begin with adoquery1 do begin close; sql.Clear; sql.Add(SELECT dbo.学生表.姓名, dbo.学生表.性别, dbo.班级表.班级名, dbo.系部表.系部名 FROM dbo.学生表 INNER JOIN dbo.班级表 ON dbo.学生表.班级编码 = dbo.班级表.班级 INNER JOIN dbo.系部表 ON dbo.班级表.系部编码 = dbo.系部表.系部编码 where 学号 =:SNUM) ; parameters.parambyname(SNUM).VALUE:=edit1.text; open; end; end; if (m.Text学号查询) then begin showMessage(查询方式有误!); end; end; if (m.Text=姓名查询) then begin if (edit1.Text=) then showmessage(请输入要查询的姓名!); if (edit1.Text) then begin with adoquery1 do begin close; sql.Clear; sql.Add(SELECT dbo.学生表.姓名, dbo.学生表.性别, dbo.班级表.班级名,dbo.系部表.系部名 FROM dbo.学生表 INNER JOIN dbo.班级表 ON dbo.学生表.班级编码 = dbo.班级表.班级 INNER JOIN dbo.系部表 ON dbo.班级表.系部编码 = dbo.系部表.系部编码 where 姓名 =:SNUM) ; parameters.parambyname(SNUM).VALUE:=edit1.text; open; end; end; end; if (m.text=查询方式) then showmessage(请选择查询方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论