• 原创美文
  • 经典文章
  • 情感美文
  • 伤感文章
  • 散文
  • 美文随笔
  • 感人文章
  • 人生哲理
  • 学生美文
  • 民族文化
  • 说说大全
  • 网名大全
  • 范文大全
  • 当前位置: 佩佩美文网 > 原创美文 > 正文

    (档案管理)学生档案管理系统(总)

    时间:2021-02-27 07:31:24来源:佩佩美文网 本文已影响 佩佩美文网手机站

    精品文档,助你启航,欢迎下载关注!

    精品文档,助你启航,欢迎下载关注!

    精品文档,助你启航,欢迎下载关注!

    (档案管理)学生档案管

    理系统(总)

    目录

    摘要 4

    开发背景 5

    开 发 工 具 介 绍 5 1.2.1vs2010 简 介 5 1.2.2SQLServer 数据库简介 5 1.2.3C#简介 6

    COM 组件技术 6

    COM 组件的特点 6

    C#使用组件接口进行串口操作 7

    2.3.NET 中怎么调用 COM 组件 9

    3COM 组件实例 10

    3.1VC6.0 创建的 COM 组件 10

    使用 VB6.0 调用 13

    使用 VC6.0 调用 15

    使用.Net(VB)调用 17

    使 用 .Net(C#) 调 用 19 3.3.NET(C#)创建的 COM 组件及调用过程 21

    3.3.1C#创建 COM 组件 21

    4 本系统调用的部分程序 26

    需求分析 29

    可行性研究 29

    技术可行性 30

    经济可行性 30

    操作可行性 30 5.2.系统功能需求分析 30

    项目概述 30

    系统目标 30

    性能需求 31 7.系统设计 31

    项目概述 31

    软件的开发环境 31 8.详细设计 31

    系统测试 38

    登录模块测试 38

    档案查询模块测试 39

    档案处理模块测试 39 10.过程总结 39

    摘要

    学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强,数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。

    经过分析,我们使用 MICROSOFT 公司的 C#+SQLServer2000 开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。

    开发背景

    随着科技的发展,计算机本身经历了巨大的变化。计算机的概念也由原始的分立式走向今天的网络式。网络技术已逐渐成为现代信息技术的主流,网络的概念也随着 Internet 技术和应用的发展而渐入人心。Internet/Intranet 的作用正为越来越多的人所认识,通过网络共享信息正成为科学研究的一种重要手段。可以这么说,谁拥有信息,谁就能在科技信息革命的大潮中获得主动权,就能获取成功。

    面对信息时代的挑战,网络的功能越来越强,国内教育系统也在积极建设或升级计算机网络,并已建成了规模较大的中国教育科研网,全国许多学校也纷纷建立或升级自己的校园网络系统,许多高校还提出了办公无纸化的口号。校园网

    是实现办公自动化、管理科学化、教学手段现代化和图书情报信息网络化最有利的支撑环境。

    但是,目前校园网的利用率却不是很高,主要原因是缺少好的网络应用平台。以前开发的 MIS 系统往往是在单机上运行,或者采用 C/S 技术开发出来的,对于今天因特网时代来说,这些系统很大程度上已经不能满足用户随时随地获取信息的需要。学校学生档案管理最初是人工方式进行,显然在信息化发展的今天,这远远不能满足档案管理的需要。后来,随着单机板档案管理系统的开发,这在很大程度上解决了上述矛盾但是,这种系统如今也不能满足档案管理的要求了,这主要是由于高校的扩招,在校学生人数的增加。因此,开发 B/S 结构的 MIS 是势在必行。

    本文正是在这种背景下提出的,目的是为了开发出一套功能完善、操作便捷、及时性好、适用面广学校学生档案管理系统,以提高学校学生档案管理的效率。

    开发工具介绍1.2.1vs2010 简介

    VisualStudio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。VisualStudio2010 版本于 2010 年 4 月 12 日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。VisualStudio2010 同时带来了 NETFramework4.0、MicrosoftVisualStudio2010TP(CommunityTechnologyPreview--CTP),并且支持开发面向 Windows7 的应用程序。除了 MicrosoftSQLServer,它还支持 IBMDB2 和 Oracle 数据库。

    SQLServer 数据库简介

    在当今数据库开发中,主流的数据库工具是 MicorosoftSQLServer2000。MicorosoftSQLServer2000 建立在 WindowsXP/2000 操作系统的基础之上,为用户提供了一个功能强大的客户/服务器数据库平台,是一个能同时支持多个并发用户的大型关系数据库。SQLServer2000 是微软公司推出的普及关系数据库系统, 其一经推出,就迅速成为使用最广的数据库系统。

    C#简介

    C#语言自 C/C++演变而来,它是给那些愿意牺牲 C++一点底层功能,经获得更方便和更新产品化的企业开发人员而创造的。C#具有现代、简单、完全面向对象和类型安全等特点。

    C#最重要的一点:它是现代的编程语言。它在类、名字空间、方法重载和异常处理等领域简化了 C++。摒弃了 C++的复杂性,使它更易用、更少出错。

    COM 组件技术

    COM 主要应用于 MicrosoftWindows 操作系统平台上。

    在 COM 标准中,一个组件程序也被称为一个模块,它可以是一个动态连接库(DLL),被称为进程内组件(in-of-processponent)也可以是一个可执行程序(EXE),被称为进程外组件(out-of-processponent).

    COM 对象是建立在二进制可执行代码级的基础上,而 C++等语言中的对象是建立在源代码级基础上的,因此 COM 对象是语言无关的。这一特性使用不同编程语言开发的组件对象进行交互成为可能。

    在 MicrosoftWindows 系统平台上,COM 技术被应用于系统的各个层次,从底层的 COM 对象管理到上层的应用程序交互都用到了 COM 标准。

    COM 组件的优点:①可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;②可以在多个应用系统中重复利用同一个组件;③可以方便的将应用系统扩展到网络环境下;④COM 组件的特性是与语言无关和与平台无关。因此,一经开发便可以使用不同的高级语言和开发工具调用。并且,客源在此 COM 组件基础进行二次开发。

    COM 组件的特点

    1、组件与开发工具语言无关。

    VB、VC、JAVA 等

    对于 Internet 应用而言,完成事务逻辑处理计算任务的组件以VisualBasic 进行开发是首选方案。其结果是开发迅速,调试方便,编译之后的组件以二进制的形式发布,可跨 Windows 平台使用,而且源程序代码不会外泄,有效地保证了组件开发者的版权。

    2、通过接口有效保证了组件的重用性。

     每个接口代表组件的某个属性或方法

    负责集成的开发人员无需了解组件功能是如何实现的,只需简单地创建组件对象并与其接口建立连接。

    在保证接口一致性的前提之下,可以调换组件、更新版本,也可以把组件安插在不同的应用系统中。

    其重用性主要表现在以下的使用场合:

    COM 组件并不是专为一种 Windows 平台而设计的,同一 COM 组件可以在Win95、Win98、Workstation 及 NT 上使用。组件既可以被嵌入动态 Web 页面, 又可以在 LAN 或桌面环境的 VB 和 VC 等应用中使用。

    COM 组件之间是彼此独立的。当应用需求发生变更时,可能需要更换中间层的个别 COM 组件,但这并不会影响其他组件的继续使用。

    COM 组件具有若干对外接口(属性和方法),相当于芯片的“管脚”。根据不同的应用需求,可以有选择地使用不同的管脚。即使某些管脚被“废弃”,COM 组件本身仍然可继续使用。

    同一 COM 组件可以在不同的应用环境中重复使用。COM 组件不一定是为专门的系统而设计,可以有较宽的应用领域,不会因为某一系统的"过时"而被"废弃"。

    3、组件运行效率高、便于使用和管理。

    组件是二进制代码,运行效率比 ASP 脚本高很多。核心的商务逻辑计算任务必须由组件来担纲,ASP 脚本只起组装的角色。而且组件在网络上的位置可被透明分配,组件和使用它的程序能在同一进程中、不同进程中或不同机器上运行。

    C#使用组件接口进行串口操作

    1 在目标嵌入式主板上进行 COM 组件注册

    串口 COM 组件的核心文件就是英创提供的动态链接库文件,首先需要将它在目标

    嵌入式工控主板上注册。用户可以使用 VisualStudioRemoteTools 提供的“远程文件查看器”连接目标嵌入式工控主板,并将英创提供的和 REGSVR32.exe 这两个文件下载到目标主板的 Flash 存储器上去( 这里假设下载到 EM9000 的NorFlash)。然后在开发主机 PC 上使用 Telnet 连接目标工控主板(如图),进入放置刚才下载这两个文件的 Flash 存储器目录,运行:REGSVR32

    l

    即可完成 COM 组件注册。

    2、在 C#工程中添加 COM 组件引用

    接下来可以进入 C#COM 组件开发。首先将文件复制到用户的 C#工程目录下,然后在 VisualStudio2005.NET 集成开发环境中打开用户工程。为了使用 ISA 总线COM 组件,必须为该工程添加外部引用;用户可在集成开发环境的右侧的“解决方案资源管理器”中找到“引用”,对其单击鼠标右键,然后单击“添加引用”(如图)。

    在弹出的“添加引用”对话框中,选择“浏览”选项卡,并在你的工程目录下找到你刚才复制过来的文件,选择它,并单击“确定”。

    这时,你已经完成了添加工程中的 COM 组件的引用工作,这时,你可以在集成开发环境的右侧的“解决方案资源管理器”中看到了一个名称为COMSERIALLib 的引用,同时,也加入到了你的工程中(如图)

    NET 中怎么调用 COM 组件

    .NET 在设计之初就考虑到了如何方便的利用现有的各种技术资源,这也是微软的一贯作风,.NET 的强大之处也可见一斑。.NET 提供了大量的类库来方便

    的实现同 COM 的相互操作,其中很重要的一个名称空间就是:.InteropServices。通 过 这 个 名 称 空 间 的 名 字 我 们 也 可 以 从 字 面 上 看 出 ,“互 操 作 服务”。.InteropServices这个名称空间提供了一系列的类来对COM对象进行操作。下面的例子中,我们来调用一下系统自带的 Win32 函数 MessageBoxA,这个函数

    位于系统的 COM 组件 user32.dll 当中,我们调用的代码如下:

    usingSystem; using.InteropServices;

    classTest{[DllImport("user32.dll")] publicstaticexternintMessageBoxA(inthWnd,stringstrMsg,stringstrCaption,intnType

    );

    publicstaticvoidMain(){intmyMsg; myMsg=MessageBoxA(0,"Hello!","test",0);}}切换到 MS-DOS 命令行下面,运行: C:\csc

    编译完毕我们的 C#应用程序之后,直接运行就可以看到对话框了

    需要注意的是, 在调用 COM 组件之前, 我们需要在.NET 程序中引用名称空间:.InteropServices。因为我们需要使用这个名称空间所提供的一个方法: DllImport。

    你需要做的是:

    做一个 COM+的.NET 封装(可以直接在中引用 COM 组件,也可以使用命令自己完成)

    在项目中引用上面产生的dll 最好可以帖出你的代码,这样判断的才准确!

    3COM 组件实例

    3.1VC6.0 创建的 COM 组件

    1、在 VC 中新建“ATLCOMAppWizard”工程,工程名称为“VCCOMTest”,并确认。

    2、在服务器类型中,选择“动态链接库(DLL)”,完成

    3、选择菜单栏“插入”“ATL 对象”,选择“SimpleObject”,点击“Next”

    4、在上面 C++“ShortName”后输入“COMTestInVC”,将会自动填充其余选项。

     Attributes 部分按默认设置。如下图

    点开 VC 工程左边的“ClassView”,此时会看到系统已经建立“CCOMTestInVC”

    类和“ICOMTestInVC”接口。如图

    5、右击“ICOMTestInVC”接口,选择“AddMethod”,添加如下方法方法:LAdd

    参数:[in]longnum1,[in]longnum2,[out]long*num3 6、方法实现。选择 LAdd 方法

    其默认代码为

    在该方法中添加代码:

    *num3=num1+num2;

    7、编译 COM 组件,VC6.0 中会自动注册 COM 组件。

    使用 VB6.0 调用

    1、VB6.0 中新建“标准 EXE”工程,

    2、在 Form1 中加入一个 CommandButton,并将其 Caption 属性设为:调用 VC 写的 COM 组件。

    3、在工程,“引用”中选择“VCCOMTest”组件,如下图 4、双击 CommandButton 按钮,添加如下代码PrivateSubCommand1_Click()

    DimobjAsCOMTestInVC

    Setobj=NewCOMTestInVC'定义一个 COMTestInVC 对象Dimnum1,num2,num3AsLong'定义变量

    num1=1 num2=2

    num1,num2,num3'函数调用MsgBox"1+2="&num3 EndSub

    5、保存工程,并执行,效果,如下图

    使用 VC6.0 调用

    1、新建“Win32ConsoleApplication”空工程,并命名为“myAddComTest”如下图所示

    2、向工程中添加“MyAddComTest”源文件。(工程----添加到工程 新建)

    3、将生成的“”拷贝到工程目录和程序生成目录中。添加引用#include<iostream.h>

    #import""no_namespace

    4、向工程中加入 main 函数和调用方法。voidmain(void)

    {

    //声明 HRESULT 和 ICOMTestInVC 接口指针HRESULThr=S_OK;

    longnum1=1; longnum2=2; longnum3;

    CoInitialize(NULL);//NULL 换成 0 也可以ICOMTestInVCPtrIMyComInVC( uuidof(COMTestInVC)); IMyComInVC->LAdd(num1,num2,&num3); cout<<"Method1:Theanswerfor1+2is:"<<num3<<endl;//输出结果cin>>num3;//等待

    (); IMyComInVC=NULL;

    CoUninitialize();

    }

    5、执行结果如下图所示

    使用.Net(VB)调用

    1、创建“Windows 窗体应用程序”工程,命名为“InVBDotNETTestCom”,如下图所示

    2、选择项目,添加引用,“COM”,并找到“VCCOMTest”,确认,如下图

    3、向窗体中添加一个“Button”按钮,并将 Text 设为“调用 VC 写的 COM 组件”

    4、双击“Button”,为其添加代码

    DimobjAs

    obj=New'定义一个COMTestInVC对象Dimnum1,num2,num3AsLong'定义变量num1=1

    num2=2

    (num1,num2,num3)'函数调用MsgBox("1+2="&num3)

    5、运行程序,结果如下所示

    使用.Net(C#)调用

    1、创建“Windows 窗体应用程序”,并命名为“InCSharpTestCom”,如下 2、选择项目,添加引用,找到“COM”中的“VCCOMTest”,如下图

    3、在窗体中放入“Button”控件,并设置 Text 属性为“使用 C#调用 VC6 写的 COM

    组件”

    4、双击 Button 按钮,并添加如下代码。

    privatevoidbutton1_Click(objectsender,EventArgse)

    {

    //定义COM组件COMTestInVC的对象Test=new();

    //定义变量intnum1,num2,num3; num1=1;

    num2=2;

    //调用COM组件的方法(num1,num2,outnum3);

    //弹出消息("1+2="+num3.ToString());

    }

    注意:VC 中的 long 类型,转化到 C#中变为 int 类型

    5、运行程序,效果,如下图

    NET(C#)创建的 COM 组件及调用过程

    .NET(C#)创建的 COM 组件在 VB6.0 和 VC6.0 中以 COM 组件形式调用, 调用“*.tlb”文件;而在和 C#中应以.NET 程序集形式调用,调用时,直接引用“*.dll”文件即可。

    C#创建 COM 组件

    1、创建 C#类库,名称为 CLCOMTestInCSharp,如下图

    2、在“解决方案资源管理器”(CTRL+W,S)中,类“Class1.cs”更名为“”,并在弹出的对话框选项中选择“是”。如下图

    3、添加接口“IAdd”,并使类“CAdd”继承接口“IAdd”,代码如下

    namespaceCLCOMTestInCSharp

    {

    publicinterfaceIAdd

    {

    ///<summary>

    ///加法运算

    ///</summary>

    ///<paramname="num1">整数1</param>

    ///<paramname="num2">整数2</param>

    ///<returns>返回两数字之和</returns> intAdd(intnum1,intnum2);

    }

    publicclassCAdd:IAdd

    {

    ///<summary>

    ///构造函数

    ///</summary> publicCAdd()

    {}

    ///<summary>

    ///加法运算

    ///</summary>

    ///<paramname="num1">整数1</param>

    ///<paramname="num2">整数2</param>

    ///<returns>返回两数字之和</returns> publicintAdd(intnum1,intnum2)

    {

    returnnum1+num2;

    }

    }

    }

    4、文档最上方添加命名空间“.InteropServices”的引用语句。

    using.InteropServices;

    5、通过菜单“工具”“创建 GUID”创建 GUID,如下图

    6、“IAdd”接口上方使用该 GUID,如下:

    [Guid("058B0D56-360E-489c-BF19-567BEBF74C82")]

    publicinterfaceIAdd

    7、同样的方法在类“CAdd”的上方再生成添加一个 GUID

    [Guid("C6926C48-02CC-44db-8C07-B70F4E11F300")]//类GUID

    [ClassInterface()]//不为类生成类接口publicclassCAdd:IAdd

    8、完整代码如下图

    9、打开“解决方案资源管理器”,打开“”,将[assembly:ComVisible(false)]

    设为 true。

    10、右击该类库项目,选择“属性”“生成”,将“为 COM 互操作注册”选中。如图

    11、右击项目,“生成”。将生成“”、“”、“”三个文件

    4 本系统调用的部分程序

    usingSystem; usinggrproLib; using; using.OleDb;

    namespaceStudentMangerSystem

    {

    ///<summary>

    ///</summary> publicclassUtility

    {

    ////publicconststringGetDatabaseConnectionString()=@"Provider=.OLEDB.4.0;DataSource=..\..

    \..\..\Data\";

    //publicstaticvoidRegisterGridppReport()

    //{

    //GridppReportTempGridppReport=newGridppReport();

    //boolSucceeded=("BS530DTAS2");

    //if(!Succeeded)

    //..Show("RegisterGrid++ReportFailed,Grid++Reportwillrunintrialmode.","Register"

    //,..OK,..Exclamation);

    //} privatestructMatchFieldPairType

    {

    publicIGRFieldgrField; publicintMatchColumnIndex;

    }

    publicstaticvoidFillRecordToReport(IGridppReportReport,IDataReaderdr)

    {

    MatchFieldPairType[]MatchFieldPairs=newMatchFieldPairType[(..Count,)]; intMatchFieldCount=0;

    for(inti=0;i<;++i)

    {

    foreach(IGRFieldfldin.)

    {

    if((,(i),true)==0)

    {

    MatchFieldPairs[MatchFieldCount].grField=fld; MatchFieldPairs[MatchFieldCount].MatchColumnIndex=i;

    ++MatchFieldCount; break;

    }

    }

    }

    //LoopthroughthecontentsoftheOleDbDataReaderobject. while(())

    {

    .();

    for(inti=0;i<MatchFieldCount;++i)

    {

    if(!(MatchFieldPairs[i].MatchColumnIndex)) MatchFieldPairs[i].=(MatchFieldPairs[i].MatchColumnIndex);

    }

    .();

    }

    }

    publicstaticvoidFillRecordToReport(IGridppReportReport,DataTabledt)

    {

    MatchFieldPairType[]MatchFieldPairs=newMatchFieldPairType[(..Count,.Count)]; intMatchFieldCount=0;

    for(inti=0;i<.Count;++i)

    {

    foreach(IGRFieldfldin.)

    {

    if((,[i].ColumnName,true)==0)

    {

    MatchFieldPairs[MatchFieldCount].grField=fld; MatchFieldPairs[MatchFieldCount].MatchColumnIndex=i;

    ++MatchFieldCount; break;

    }

    }

    }

    foreach(DataRowdrin)

    {

    .();

    for(inti=0;i<MatchFieldCount;++i)

    {

    if(!(MatchFieldPairs[i].MatchColumnIndex))

    {

    if(dr[MatchFieldPairs[i].MatchColumnIndex].GetType()==typeof(byte[]))

    {

    MatchFieldPairs[i].=;

    }

    MatchFieldPairs[i].=dr[MatchFieldPairs[i].MatchColumnIndex];

    }

    }

    .();

    }

    }

    publicstaticuintRGBToOleColor(byter,byteg,byteb)

    {

    return((uint)b)*256*256+((uint)g)*256+r;

    }

    publicstaticuintColorToOleColor(.Colorval)

    {

    returnRGBToOleColor(val.R,val.G,val.B);

    }

    //publicstaticstringGetSampleRootPath()

    //{

    //stringFileName=.ToLower();

    //intIndex=("samples");

    //FileName=(0,Index);

    //returnFileName+@"samples\";

    //}

    //publicstaticstringGetReportTemplatePath()

    //{

    //returnGetSampleRootPath()+@"Reports\";

    //}

    //publicstaticstringGetReportDataPath()

    //{

    //returnGetSampleRootPath()+@"Data\";

    //}

    //publicstaticstringGetReportDataPathFile()

    //{

    //returnGetReportDataPath()+@"";

    //}

    //publicstaticstringGetDatabaseConnectionString()

    //{

    //return"Provider=.OLEDB.4.0;DataSource="+GetReportDataPathFile();

    //}

    }

    }

    需求分析

    可行性研究

    目前,在不少学生档案管理系统都是单机的 MIS,甚至有的还是手工方式。这种单机的管理系统不仅工作方式效率是极低,而且存在许多弊端,主要包括:

    1、档案录入效率低下:例如每学期开学,数以千计的学生档案都由学生处负责录入,这个工程量之大,可想而知。

    2、查询不便:例如,某个年级要调出某个学生的档案,由于学生没有管理档案的权限,他就必须到学生处去调这个学生的档案。

    3、毕业生转档不便:每年大量毕业生,他们都要转走自已的档案。在这个过程中,若没有管理信息系统的参与,工作繁重不可言喻。

    技术可行性

    随着科学技术的不断提高也带动了计算机网络的发展及通信平台技术的提高。同时,操作系统 WindowsXP/2000 接口能力强,界面友好,加上采用 C#技术开发内容丰富、动态的、个性化的 Web 应用程序,使用 SQLServer2000 作为系统开发后台数据库,能有效存储和管理数据。所以完成在技术上是可行的。

    经济可行性

    计算机不仅价格低廉还可以代替人工进行许多繁杂的劳动,节省许多资源, 大大的提高人们的工作效率,同时本系统开发周期短、成本低。因此在信息时代的今天传统的查阅方法必然被计算机为基础的在线查阅所取代。

    操作可行性

    作为计算机应用的一部分,使用计算机对学生档案信息进行查阅,具有手工查阅所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好等。且本系统的开发六周时间即可完成。前两周主要是对图书馆运作流程的熟悉和公众对在线查阅要求的了解,接下来就是运用 C#编程即可完成整个系统工作。

    5.2.系统功能需求分析

    学生档案管理系统的主要任务就是对学生的档案信息进行管理,即查询、添加、修改、删除等功能。使用户能方便的得到想要的信息,使学校学生的档案管理更加系统化、自动化、规范化,从而提高管理的效率。

    项目概述

    系统目标

    学生档案管理系统要实现的目标是为学校提供学生管理解决方案,具体目标如下:

    提高学生信息管理效率,节约管理成本,增强学生管理的安全性。

    满足学校学生管理的人员、老师和学生的不同层次和不同方面的需要。

    为学校将来的信息化建设提供必要的支持。

    总之,通过该系统的建设来提高学校的学生信息管理效率,使得学校的发展能够适应当前的教育信息化建设的中体发展趋势。

    性能需求

    数据精确度:经多次测试,该系统最终的输出数据的精确度达到 95%以上时间特性:该系统在响应时间、更新处理时间,数据转换与传输时间、与运

    行时间等方面时间短、速度快。

    适应性:该系统专为高校量身定做,对高校有很强的适应性

    复用性:该系统的功能和大多数高校基本吻合,所以可以在大多数高校中复

    灵活性:该系统可以在大多数 WindowsXP 以上版本上应用,与微软的 office 办公软件相结合,可以打印该系统中的成绩、学生表等,该系统采用团队分块制作,以后维护、改方便

    系统设计

    项目概述

    该生管理系统应用于高校学生档案管理,主要有 3 个主要功能模块组成,分别是: 学生档案管理系统模块,学生成绩管理模块和系统管理模块。学生档案管理模块包括对学生的学籍等基本信息的查看和维护管理;学生成绩管理模块主要包括对学生成绩的录入和查询;系统管理主要包括对系统数据字典以及管理员的维护模块。除了这三大主要功能模块之外还涉及到于本系统相关的一系列小的功能模块, 例如,学科管理、班主任管理等。本系统设计的学生档案管理系统很好的解决了学生档案管理方面的困难,提高了学生档案管理效率、减轻了教务员的工作负担, 节省了大量的人力、物力资源,给高校学生档案管理带来了很大的方便。

    软件的开发环境

    Windows 为开发平台,采用面向对象的软件开发方式,以 Microsoft 公司的可 视 开 发 环 境 VisualStudio2008 作 为 主 要 开 发 工 具 , 使 用MicrosoftSqlServer2005 作为关系数据库,并为 C#编程语言中采用 ADO 数据库编程模型,配合功能强大的 SQL 查询语言实现建立关系数据库,访问数据库,对数据库的更新,较好的实现了预定的需求功能。

    详细设计

    该软件分为六个模块:系统、档案管理、用户管理、工具、打印预览、帮助。

    系统

    该模块分为四部分,修改密码、数据维护、重新登录、退出系统。

    档案管理

    该模块分为四部分,录入档案、修改档案、删除档案、查询档案。

    用户管理

    该模块分为四部分,添加用户、修改用户、删除用户、查询用户。

    工具

    该模块分为四部分,计算器、更改背景、使用默认背景、记事本。

    打印预览

    该模块分为三部分,学生档案信息、所有系别及专业和班级信息、所有专业和班级信息。

    帮助

    点击帮助菜单栏中的查看帮助文档选择,即可查看该软件的帮助说明文档。界面设计(静态原型图,界面的统一风格)

    用户登录主界面,若密码错误则无法登陆,如下图: 数据的维护,如下图:

    当用户需要录入档案时,档案管理模块可以实现这一功能: 用户处理模块:

    密码修改

    当用户要修改自己的密码时,本系统可以实现这一操作。如图: 实现用户的查询功能:

    另外本软件还可以添加了一些简单实用的小工具,比如计算器以及记事本,如下

    图:

    最后,可以将学生档案信息、所有系别及专业和班级信息、所有专业和班级信息打印出来:

    系统测试

    系统的测试的主要任务是发现并排除在分析、设计、编程各阶段中产生的各种类型的错误,以得到可使用的软件系统。

    系统的测试按是否在实际应用环境中运行来分类,可将测试方法分为静态测试与动态测试。

    静态测试

    是通过对需求文件、设计文件及源程序的阅读和分析,找出其中的错误或可疑之处。静态测试时不执行被分析的程序。

    动态测试

    动态测试就是直接在计算机上运行所要测试的程序模块,从实际运行的结果发再并纠正错误。按产生测试数据的不同方式,动态测试可分为功能测试和结构测试。功能测试又称为“黑盒测试”,结构测试又称为“白盒测试”。

    登录模块测试

    使用本学生档案管理系统时,先从登录界面登录,登录后到达主界面,在主界面的菜单栏里有系统的功能模块及模块下的子模块,通过单击菜单即可进入设计界面。

    档案查询模块测试

    在主界面菜单栏里点击档案查询,就可进入设计界面,进入界面可看到一条信息,点上一条即可看到前面一条的信息,点下一条即可看到下面一条信息,首条就显示第一条信息,点条就显示最后一条信息。这样就可以看到全部数据库中的信息,方便了用户的浏览。

    档案处理模块测试

    档案处理模块就是以录入、修改和删除档案的功能为主,在设计界面中的文本框中输入正确的信息,点击修改就可以把数据库中的信息更新,达到修改目的。点击删除按钮就可以把该条信息删除。处理模块能让管理人员更快的修改学生的信息,大大减少了工作时间。

    过程总结

    经过这断时间的设计和开发,学生档案管理系统基本开发完毕。其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及课程管理。并提供部分系统维护功能,使用户方便进行数据添加、修改和数据删除。对于数据的一致性的问题也通过程序进行了有效的解决。但是由于设计时间较短,所以该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。在该系统的整个开发过程中,我们团队的整体心得总结以下几点:

    ?拓宽了知识面,增进了专业技能。较深入的学习和 c#语言的应用与文档的编写;

    ?体现了团队合作精神。小组成员各自有所负责模块和任务,分工同时进行工作;

    ?理论应用于实践;

    ?了解了企业开发流程;

    ?发现我们存在的不足。文档与程序的编写没能很好协调同步,程序测试不足, 还有许多缺陷存在。

    在本次设计中,我们从指导老师曾文献老师身上学到了很多东西。曾老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我们收益匪浅。他无论在理论上还是在实践中,都给与我们很大的帮助,使我们得到不少的提高这对于我们以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。

    感谢阅读

    • (档案管理)学生档案管理系统(总) 相关文章: