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

上传人:小飞机 文档编号:1881184 上传时间:2022-12-23 格式:DOCX 页数:39 大小:1.93MB
返回 下载 相关 举报
学生档案管理系统(总).docx_第1页
第1页 / 共39页
学生档案管理系统(总).docx_第2页
第2页 / 共39页
学生档案管理系统(总).docx_第3页
第3页 / 共39页
学生档案管理系统(总).docx_第4页
第4页 / 共39页
学生档案管理系统(总).docx_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《学生档案管理系统(总).docx》由会员分享,可在线阅读,更多相关《学生档案管理系统(总).docx(39页珍藏版)》请在三一办公上搜索。

1、河北经贸大学课程设计总结报告河北经贸大学课程设计学生档案管理系统总结报告专业名称: 网络工程 班 级:学生姓名: 指导老师: 完成时间: 2015年1月 39 目录摘要41.1开发背景51.2开发工具介绍51.2.1vs2010简介51.2.2 SQL Server数据库简介51.2.3 C#简介62.COM组件技术62.1COM组件的特点62.2 C#使用com组件接口进行串口操作72.3.NET中怎么调用COM组件93COM组件实例103.1 VC6.0创建的COM组件103.2.1 使用VB6.0调用133.2.2 使用VC6.0调用153.2.3 使用.Net(VB)调用173.2.4

2、 使用.Net(C#)调用193.3 .NET(C#)创建的COM组件及调用过程213.3.1 C# 创建COM组件214本系统com调用的部分程序265需求分析295.1可行性研究295.1.1技术可行性305.1.2经济可行性305.1.3操作可行性305.2. 系统功能需求分析306项目概述306.1系统目标306.2性能需求317.系统设计317.1项目概述317.2软件的开发环境318.详细设计319.系统测试389.1 登录模块测试389.2 档案查询模块测试399.3 档案处理模块测试3910.过程总结39 摘要学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括后台数

3、据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强,数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 MICROSOFT公司的C#+SQL Server2000开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 1.1开发背景随着科技的发展,计算机本身经历了巨大的变化。计算机的概念也由原始的分立式走向今天的网络式。网络技术已逐渐成为现代信息技术的主流,网络的概念也随

4、着 Internet 技术和应用的发展而渐入人心。 Internet/Intranet 的作用正为越来越多的人所认识,通过网络共享信息正成为科学研究的一种重要手段。可以这么说,谁拥有信息,谁就能在科技信息革命的大潮中获得主动权,就能获取成功。 面对信息时代的挑战,网络的功能越来越强,国内教育系统也在积极建设或升级计算机网络,并已建成了规模较大的中国教育科研网,全国许多学校也纷纷建立或升级自己的校园网络系统,许多高校还提出了办公无纸化的口号。校园网是实现办公自动化、管理科学化、教学手段现代化和图书情报信息网络化最有利的支撑环境。但是,目前校园网的利用率却不是很高,主要原因是缺少好的网络应用平台。

5、以前开发的 MIS 系统往往是在单机上运行,或者采用 C/S 技术开发出来的,对于今天因特网时代来说,这些系统很大程度上已经不能满足用户随时随地获取信息的需要。学校学生档案管理最初是人工方式进行,显然在信息化发展的今天,这远远不能满足档案管理的需要。后来,随着单机板档案管理系统的开发,这在很大程度上解决了上述矛盾但是,这种系统如今也不能满足档案管理的要求了,这主要是由于高校的扩招,在校学生人数的增加。因此,开发 B/S 结构的 MIS 是势在必行。 本文正是在这种背景下提出的,目的是为了开发出一套功能完善、操作便捷、及时性好、适用面广学校学生档案管理系统,以提高学校学生档案管理的效率。1.2开

6、发工具介绍1.2.1vs2010简介 Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 TP( Community Technology Preview-CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM

7、DB2和Oracle数据库。 1.2.2 SQL Server数据库简介 在当今数据库开发中,主流的数据库工具是Micorosoft SQL Server 2000 。Micorosoft SQL Server 2000建立在Windows XP/2000操作系统的基础之上,为用户提供了一个功能强大的客户/服务器数据库平台,是一个能同时支持多个并发用户的大型关系数据库。SQL Server 2000是微软公司推出的普及关系数据库系统,其一经推出,就迅速成为使用最广的数据库系统。1.2.3 C#简介C#语言自C/C+演变而来,它是给那些愿意牺牲C+一点底层功能,经获得更方便和更新产品化的企业开发

8、人员而创造的。C#具有现代、简单、完全面向对象和类型安全等特点。C#最重要的一点:它是现代的编程语言。它在类、名字空间、方法重载和异常处理等领域简化了C+。摒弃了C+的复杂性,使它更易用、更少出错。2.COM组件技术COM 主要应用于Microsoft Windows操作系统平台上。在COM标准中,一个组件程序也被称为一个模块,它可以是一个动态连接库(DLL), 被称为进程内组件(in-of-process component)也可以是一个可执行程序(EXE),被称为进程外组件(out-of-process component).COM对象是建立在二进制可执行代码级的基础上,而C+等语言中的对

9、象是建立在源代码级基础上的,因此COM对象是语言无关的。这一特性使用不同编程语言开发的组件对象进行交互成为可能。在Microsoft Windows系统平台上,COM技术被应用于系统的各个层次,从底层的COM对象管理到上层的应用程序交互都用到了COM标准。COM组件的优点:可以将系统中的组件用新的替换掉,以便随时进行系统的升级和定制;可以在多个应用系统中重复利用同一个组件;可以方便的将应用系统扩展到网络环境下;COM组件的特性是与语言无关和与平台无关。因此,一经开发便可以使用不同的高级语言和开发工具调用。并且,客源在此COM组件基础进行二次开发。2.1COM组件的特点1、组件与开发工具语言无关

10、。(1)VB、VC、JAVA等(2)对于Internet应用而言,完成事务逻辑处理计算任务的组件以Visual Basic进行开发是首选方案。其结果是开发迅速,调试方便,编译之后的组件以二进制的形式发布,可跨Windows 平台使用,而且源程序代码不会外泄,有效地保证了组件开发者的版权。2、通过接口有效保证了组件的重用性。每个接口代表组件的某个属性或方法(1)负责集成的开发人员无需了解组件功能是如何实现的,只需简单地创建组件对象并与其接口建立连接。(2)在保证接口一致性的前提之下,可以调换组件、更新版本,也可以把组件安插在不同的应用系统中。(3)其重用性主要表现在以下的使用场合:COM 组件并

11、不是专为一种Windows平台而设计的,同一COM组件可以在Win95、Win98、Workstation及NT上使用。组件既可以被嵌入动态Web页面,又可以在LAN或桌面环境的VB和VC等应用中使用。COM 组件之间是彼此独立的。当应用需求发生变更时,可能需要更换中间层的个别COM组件,但这并不会影响其他组件的继续使用。COM 组件具有若干对外接口(属性和方法),相当于芯片的“管脚”。根据不同的应用需求,可以有选择地使用不同的管脚。即使某些管脚被“废弃”,COM组件本身仍然可继续使用。同一COM组件可以在不同的应用环境中重复使用。COM组件不一定是为专门的系统而设计,可以有较宽的应用领域,不

12、会因为某一系统的过时而被废弃。3、组件运行效率高、便于使用和管理。组件是二进制代码,运行效率比ASP脚本高很多。核心的商务逻辑计算任务必须由组件来担纲,ASP脚本只起组装的角色。而且组件在网络上的位置可被透明分配,组件和使用它的程序能在同一进程中、不同进程中或不同机器上运行。2.2 C#使用com组件接口进行串口操作1在目标嵌入式主板上进行COM组件注册 串口COM组件的核心文件就是英创提供的ComSerial.dll动态链接库文件,首先需要将它在目标嵌入式工控主板上注册。用户可以使用Visual Studio Remote Tools提供的“远程文件查看器”连接目标嵌入式工控主板,并将英创提

13、供的ComSerial.dll和REGSVR32.exe这两个文件下载到目标主板的Flash存储器上去(这里假设下载到EM9000的Nor Flash)。然后在开发主机PC上使用Telnet连接目标工控主板(如图),进入放置刚才下载这两个文件的Flash存储器目录,运行:REGSVR32 ComSerial.dlll即可完成COM组件注册。2、在C#工程中添加COM组件引用 接下来可以进入C# COM组件开发。首先将ComSerial.dll文件复制到用户的C#工程目录下,然后在Visual Studio 2005.NET集成开发环境中打开用户工程。为了使用ISA总线COM组件,必须为该工程添

14、加外部引用;用户可在集成开发环境的右侧的“解决方案资源管理器”中找到“引用”,对其单击鼠标右键,然后单击“添加引用”(如图)。在弹出的“添加引用”对话框中,选择“浏览”选项卡,并在你的工程目录下找到你刚才复制过来的ComSerial.dll文件,选择它,并单击“确定”。这时,你已经完成了添加工程中的COM组件的引用工作,这时,你可以在集成开发环境的右侧的“解决方案资源管理器”中看到了一个名称为COMSERIALLib的引用,同时,ComSerial.dll也加入到了你的工程中(如图)2.3.NET中怎么调用COM组件.NET在设计之初就考虑到了如何方便的利用现有的各种技术资源,这也是微软的一贯

15、作风,.NET的强大之处也可见一斑。.NET提供了大量的类库来方便的实现同COM的相互操作,其中很重要的一个名称空间就是:System.Runtime.InteropServices。通过这个名称空间的名字我们也可以从字面上看出,“互操作服务”。System.Runtime.InteropServices这个名称空间提供了一系列的类来对COM对象进行操作。下面的例子中,我们来调用一下系统自带的Win32函数MessageBoxA,这个函数位于系统的COM组件user32.dll当中,我们调用的代码如下:using System;using System.Runtime.InteropServi

16、ces;class TestDllImport( user32.dll )public static extern int MessageBoxA(inthWnd,string strMsg,string strCaption,intnType);public static void Main()int myMsg;myMsg=MessageBoxA(0, Hello! , test ,0);切换到MS-DOS命令行下面,运行:C: csc Test.cs编译完毕我们的C#应用程序之后,直接运行就可以看到对话框了需要注意的是,在调用COM组件之前,我们需要在.NET程序中引用名称空间:Syst

17、em.Runtime.InteropServices。因为我们需要使用这个名称空间所提供的一个方法:DllImport。你需要做的是:1.做一个COM+的.NET封装(可以直接在VS.NET中引用COM组件,也可以使用Regsvcs.exe命令自己完成)2.在项目中引用上面产生的dll最好可以帖出你的代码,这样判断的才准确!3COM组件实例3.1 VC6.0创建的COM组件1、在VC中新建“ATL COM AppWizard”工程,工程名称为“VCCOMTest”,并确认。2、 在服务器类型中,选择“动态链接库(DLL)”,完成3、 选择菜单栏“插入”“ATL对象”,选择“Simple Obj

18、ect”,点击“Next”4、 在上面C+“Short Name”后输入“COMTestInVC”,将会自动填充其余选项。Attributes部分按默认设置。如下图点开VC工程左边的“Class View”,此时会看到系统已经建立“CCOMTestInVC”类和“ICOMTestInVC”接口。如图5、 右击“ICOMTestInVC”接口,选择“Add Method”,添加如下方法方法:LAdd参数:in long num1,in long num2,out long * num36、 方法实现。选择LAdd方法其默认代码为在该方法中添加代码:*num3=num1+num2;7、 编译COM

19、组件,VC6.0中会自动注册COM组件。3.2.1 使用VB6.0调用1、 VB6.0中新建“标准EXE”工程,2、 在Form1中加入一个CommandButton ,并将其Caption属性设为:调用VC写的COM组件。3、 在工程,“引用”中选择“VCCOMTest”组件,如下图4、 双击CommandButton 按钮,添加如下代码Private Sub Command1_Click()Dim obj As COMTestInVCSet obj = New COMTestInVC 定义一个COMTestInVC对象Dim num1, num2, num3 As Long 定义变量num

20、1 = 1num2 = 2obj.LAdd num1, num2, num3 函数调用MsgBox 1+2= & num3End Sub5、 保存工程,并执行,效果,如下图3.2.2 使用VC6.0调用1、 新建“Win32 Console Application”空工程,并命名为“myAddComTest”如下图所示2、 向工程中添加“MyAddComTest”源文件。(工程-添加到工程-新建)3、 将生成的“VCCOMTest.dll”拷贝到工程目录和程序生成目录中。添加引用#include #import VCCOMTest.dll no_namespace4、 向工程中加入main函数

21、和调用方法。void main(void)/ 声明HRESULT和ICOMTestInVC接口指针HRESULT hr = S_OK;long num1=1;long num2 = 2;long num3;CoInitialize(NULL);/NULL换成0也可以ICOMTestInVCPtr IMyComInVC(_uuidof(COMTestInVC);IMyComInVC-LAdd(num1,num2,&num3);cout Method1: The answer for 1 + 2 is: num3 num3;/等待IMyComInVC.Release();IMyComInVC =

22、NULL;CoUninitialize(); 5、 执行结果如下图所示3.2.3 使用.Net(VB)调用1、 创建“Windows 窗体应用程序”工程,命名为“InVBDotNETTestCom”,如下图所示2、 选择项目,添加引用,“COM”,并找到“VCCOMTest”,确认,如下图3、 向窗体中添加一个“Button”按钮,并将Text设为“VB.NET调用VC写的COM组件”4、 双击“Button”,为其添加代码 Dim obj As VCCOMTESTLib.COMTestInVC obj = New VCCOMTESTLib.COMTestInVC 定义一个COMTestInV

23、C对象 Dim num1, num2, num3 As Long 定义变量 num1 = 1 num2 = 2 obj.LAdd(num1, num2, num3) 函数调用 MsgBox(1+2= & num3)5、 运行程序,结果如下所示3.2.4 使用.Net(C#)调用1、 创建“Windows 窗体应用程序”,并命名为“InCSharpTestCom”,如下2、 选择项目,添加引用,找到“COM”中的“VCCOMTest”,如下图3、 在窗体中放入“Button”控件,并设置Text属性为“使用C#调用VC6写的COM组件”4、 双击Button按钮,并添加如下代码。 private

24、 void button1_Click(object sender, EventArgs e) /定义COM组件COMTestInVC的对象 VCCOMTESTLib.COMTestInVC comTest = new VCCOMTESTLib.COMTestInVC(); /定义变量 int num1, num2, num3; num1 = 1; num2 = 2; /调用COM组件的方法 comTest.LAdd(num1, num2, out num3); /弹出消息 MessageBox.Show(1+2= + num3.ToString(); 注意:VC中的long类型,转化到C#中

25、变为int 类型5、 运行程序,效果,如下图3.3 .NET(C#)创建的COM组件及调用过程.NET(C#)创建的COM组件在VB6.0和VC6.0中以COM组件形式调用,调用“*.tlb”文件;而在VB.NET 和C#中应以.NET程序集形式调用,调用时,直接引用“*.dll”文件即可。3.3.1 C# 创建COM组件1、 创建C#类库,名称为CLCOMTestInCSharp,如下图2、 在“解决方案资源管理器”(CTRL+W,S)中,类“Class1.cs”更名为“CAdd.cs”,并在弹出的对话框选项中选择“是”。如下图3、 添加接口“IAdd”,并使类“CAdd”继承接口“IAdd

26、”,代码如下namespace CLCOMTestInCSharp public interface IAdd / / 加法运算 / / 整数1 / 整数2 / 返回两数字之和 int Add(int num1, int num2); public class CAdd:IAdd / / 构造函数 / public CAdd() / / 加法运算 / / 整数1 / 整数2 / 返回两数字之和 public int Add(int num1, int num2) return num1 + num2; 4、 文档最上方添加命名空间“System.Runtime.InteropServices”

27、的引用语句。using System.Runtime.InteropServices;5、 通过菜单“工具”“创建GUID”创建GUID,如下图6、 “IAdd”接口上方使用该GUID,如下: Guid(058B0D56-360E-489c-BF19-567BEBF74C82) public interface IAdd7、 同样的方法在类“CAdd”的上方再生成添加一个GUID Guid(C6926C48-02CC-44db-8C07-B70F4E11F300)/类GUID ClassInterface(ClassInterfaceType.None)/不为类生成类接口 public cla

28、ss CAdd:IAdd8、 完整代码如下图9、 打开“解决方案资源管理器”,打开“AssemblyInfo.cs”,将assembly: ComVisible(false)设为true。10、 右击该类库项目,选择“属性”“生成”,将“为COM互操作注册”选中。如图11、 右击项目,“生成”。将生成“CLCOMTestInCSharp.dll”、“CLCOMTestInCSharp.tlb”、“CLCOMTestInCSharp.pdb”三个文件4本系统com调用的部分程序using System;using grproLib;using System.Data;using System.D

29、ata.OleDb;namespace StudentMangerSystem/ / public class Utility /public const string GetDatabaseConnectionString() = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.DataNorthwind.mdb; /public static void RegisterGridppReport() / / GridppReport TempGridppReport = new GridppReport(); / bool Succeeded =

30、TempGridppReport.Register(BS530DTAS2); / if ( !Succeeded ) / System.Windows.Forms.MessageBox.Show(Register Grid+Report Failed, Grid+Report will run in trial mode., Register / ,System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation); /private struct MatchFieldPairT

31、ypepublic IGRField grField;public int MatchColumnIndex;public static void FillRecordToReport(IGridppReport Report, IDataReader dr)MatchFieldPairType MatchFieldPairs = new MatchFieldPairTypeMath.Min(Report.DetailGrid.Recordset.Fields.Count, dr.FieldCount);int MatchFieldCount = 0;for (int i=0; idr.Fie

32、ldCount; +i)foreach (IGRField fld in Report.DetailGrid.Recordset.Fields)if (String.Compare(fld.RunningDBField, dr.GetName(i), true) = 0)MatchFieldPairsMatchFieldCount.grField = fld;MatchFieldPairsMatchFieldCount.MatchColumnIndex = i;+MatchFieldCount;break;/ Loop through the contents of the OleDbData

33、Reader object.while (dr.Read()Report.DetailGrid.Recordset.Append();for (int i=0; iMatchFieldCount; +i)if ( !dr.IsDBNull(MatchFieldPairsi.MatchColumnIndex) )MatchFieldPairsi.grField.Value = dr.GetValue(MatchFieldPairsi.MatchColumnIndex);Report.DetailGrid.Recordset.Post();public static void FillRecord

34、ToReport(IGridppReport Report, DataTable dt)MatchFieldPairType MatchFieldPairs = new MatchFieldPairTypeMath.Min(Report.DetailGrid.Recordset.Fields.Count, dt.Columns.Count);int MatchFieldCount = 0;for (int i=0; idt.Columns.Count; +i)foreach (IGRField fld in Report.DetailGrid.Recordset.Fields)if (Stri

35、ng.Compare(fld.Name, dt.Columnsi.ColumnName, true) = 0)MatchFieldPairsMatchFieldCount.grField = fld;MatchFieldPairsMatchFieldCount.MatchColumnIndex = i;+MatchFieldCount;break;foreach (DataRow dr in dt.Rows)Report.DetailGrid.Recordset.Append();for (int i=0; iMatchFieldCount; +i) if (!dr.IsNull(MatchF

36、ieldPairsi.MatchColumnIndex) if (drMatchFieldPairsi.MatchColumnIndex.GetType() = typeof(byte) MatchFieldPairsi.grField.FieldType = GRFieldType.grftBinary; MatchFieldPairsi.grField.Value = drMatchFieldPairsi.MatchColumnIndex; Report.DetailGrid.Recordset.Post();public static uint RGBToOleColor(byte r,

37、 byte g, byte b)return (uint)b)*256*256 + (uint)g)*256 + r;public static uint ColorToOleColor(System.Drawing.Color val)return RGBToOleColor(val.R, val.G, val.B); /public static string GetSampleRootPath() / / string FileName = Application.StartupPath.ToLower(); / int Index = FileName.LastIndexOf(samp

38、les); / FileName = FileName.Substring(0, Index); / return FileName + samples; / /public static string GetReportTemplatePath() / / return GetSampleRootPath() + Reports; / /public static string GetReportDataPath() / / return GetSampleRootPath() + Data; / /public static string GetReportDataPathFile() /

39、 / return GetReportDataPath() + NorthWind.mdb; / /public static string GetDatabaseConnectionString() / / return Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + GetReportDataPathFile(); / 5需求分析5.1可行性研究目前,在不少学生档案管理系统都是单机的 MIS,甚至有的还是手工方式。这种单机的管理系统不仅工作方式效率是极低,而且存在许多弊端,主要包括: 1 、档案录入效率低下:例如每学期开学,数以千计的学生档案

40、都由学生处负责录入,这个工程量之大,可想而知。 2 、查询不便:例如,某个年级要调出某个学生的档案,由于学生没有管理档案的权限,他就必须到学生处去调这个学生的档案。 3 、毕业生转档不便:每年大量毕业生,他们都要转走自已的档案。在这个过程中,若没有管理信息系统的参与,工作繁重不可言喻。5.1.1技术可行性随着科学技术的不断提高也带动了计算机网络的发展及通信平台技术的提高。同时,操作系统Windows XP/2000接口能力强,界面友好,加上采用C#技术开发内容丰富、动态的、个性化的Web应用程序,使用SQL Server 2000作为系统开发后台数据库,能有效存储和管理数据。所以完成在技术上是可行的。5.1.2经济可行性计算机不仅价格低廉还可以代替人工进行许多繁杂的劳动,节省许多资源,大大的提高人们的工作效率,同时本系统开发周期短、成本低。因此在信息时代的今天传统的查阅方法必然被计算机为基础的在线查阅所取代。5.1.3操作可行性作为计算机应用的一部分,使用计算机对学生档案信息进行查阅,具有手工查阅所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号