一、实验目的《管理信息系统》课内实验指导书实验五系统设计(二)——数据库设计建立新系统的逻辑模型并在SQLSEVER或其它数据库环境下创建数据库二、实验设备与仪器Win2000以上软件操作系统,SQLSEVER2000或其它数据库开发环境。三、实验内容1、熟悉由概念模型向逻辑模型(主要指关系数据库模型)转化的过程;2、根据系统分析的结果,创建数据库并在数据库中创建数据表;3、根据所创建的数据表,绘制数据库的逻辑关系模型。四、实验步骤1、利用相关工具,根据实验三、四的结果,创建数据库并在数据库中创建数据表。2、添加数据库记录。五、实验要求提交本次实验结果的WORD文档,并保留创建的数据库文件。1一、实验目的实验六系统实施—MIS应用程序设计在VB或其它开发环境下创建信息系统应用程序二、实验设备与仪器Win2000以上软件操作系统,VB或其它软件开发环境。三、实验内容1、新系统应用程序的登录界面的实施;2、创建应用程序的主界面并进行菜单设计;3、连接应用程序和数据库,并完成对数据的查询、更新等数据操作程序设计;4、完成统计报表的程序设计和打印模块的程序设计;5、制作简单的应用程序帮助系统;6、调试、编译程序;7、运行测试应用程序。四、实验步骤本部分实验内容较多,同学们需要有计划有条理地独立完成各部分的功能。下面给出应用程序的主要界面及大部分代码,以供参考,希望对同学们进行程序设计有所帮助和启迪,同学们在实验过程中应该侧重理解,不要盲目照抄代码。程序的体系结构及参考实例如下:21、设计数据库:按照上述要求用Access建立数据库与表院系信息表:Department(deptID,deptName)班级信息表:Class(className,studentNum,detpID)学生信息表:Student(studentID,studentName,ClassName)课程信息表:Course(courseID,courseName,ExamTime,deptID)教室信息表:Classroom(classroomName,holdNum)考试性质表:KSXZ(KSXZID,KSXZ)补考信息表:BK_Stud(xn,xq,studentID,courseID,KSXZ,BKID,BKClassroom,BKTime,score,reason)补考分配表:BK_Flag(BKBH,BKnum,xn,xq,courseID,BKTime)补考教室分配表:Exam_Classroom(BKBH,BKClassroom)用户信息表:User(userID,UserName,Userpassword)2、系统功能结构图高校补考管理系统系统维护3、用VB6.0实现系统(1)、创建工程项目BKXT。数据操作报表打印退出系统启动VB,单击“文件》新建工程”菜单,选择“VB企业版控件”,将自动产生一个窗体,其属性都是默认设置。将默认窗体移去,重命名工程全称为BKXY,然后单击“文件》保存工程”,选择保存工程位置,将工程保存。(2)、创建BKXT的主窗体。单击“工程》添加MDI窗体”,生成一个MDI窗体,设置窗体属性(参见主窗体及其控件属性设置)。在主窗体中加入状态栏控件,设置状态栏的一般属性(参见主窗体及其控件属性设置);然后选中状态栏,右键单击,在弹出菜单中选中“属性”,在弹出的属性页中,在“窗格”选项卡中两次单击“插入空格”,使状态栏的窗格为3个,然后分别设置不同窗格的样式:表:状态栏空格样式属性设置面板索引样式属性1SbrText2SbrDate3SbrTime单击“工具》菜单编辑器”,为主窗体加入菜单(参见主窗体菜单属性设置)。3控件FrimMain(Form)SbatatusBar(StatusBar)菜单标题文件用户信息基本信息表维护-课程信息班级信息时间信息-考试备注标志补考备注标志数据补考名单录入补考成绩录入-学生信息录入班级信息录入课程信息录入院系信息录入教室信息录入-补考性质录入操作自动安排考试地点与时间统计查询报表打印补考考试安排单补考学生成绩间退出(3)、模块代码设计:表:主窗体及其控件属性设置属性NameCaptionStartUpPositionVindowStateBackColorName表:主窗体菜单属性设置名称wjYhxxJbxxbwhL11KcxxBjxxSjxxL12KsbzbzBkbzbzsjBkmdlrL20XsxxlrBjxxlrYxxxlrL21KsxzlrczapksddsjTjcxBbdyBkksapdBkxscjdTc属性取值FrmMain补考系统屏幕中心Maximized&H00E7DFE7&SbStatusBar上层菜单无文件文件基本信息表维护基本信息表维护基本信息表维护基本信息表维护基本信息表维护基本信息表维护基本信息表维护无数据Bkcjlr数据数据数据数据Kcxxlr数据数据Jsxxlr数据数据数据无操作操作无报表打印报表打印无为了实验本程序的部分功能,也为了更好的分类设计程序,将功能相似的操作放在同一4创建数据库并在数据库中创建数据表模块中,设计了三个模块:MdlMain模块(与数据库连接也和程序启动有关):具体代码如下:PubliccnnAsNewADODB.ConnectionPublicFunctionExecuteSQL(ByValSQLAsString,MsgStringAsString)AsADODB.RecordsetDimrstAsADODB.RecordsetDimsTokens()AsStringOnErrorGoToExecuteSQL_ErrorExecuteSQL_Error:MsgString=查询错误:&Err.DescriptionResumeExecuteSQL_ExitEndFunctionPublicFunctionConnectString()AsStringsTokens=Split(SQL)IfInStr(INSERT,DELETE,UPDATE,UCase(sTokens(0)))Thencnn.ExecuteSQLMsgString=sTokens(0)&QuerySuccessful!ElseSetrst=NewADODB.RecordsetConnectStringProvider=Microsoft.Jet.OLEDB.4.0;DataSource=db.mdb;PersistSecurityInfo=falseEndFunctionPublicSubMain()CallDBConnFrmMain.ShowEndSub=rst.OpenTrim(SQL),cnn,PublicSubDBConn()SetExecuteSQL=rstMsgString=查询到&rst.RecordCount&条记录EndIfExecuteSQL_Exit:Setrst=NothingExitFunctionSetCnn=NewADODB.ConnectionEndSubPublicSubDBClose()cnn.CloseSetcnn=NothingEndSubMdlCheckData(此模块主要验证输入的信息正确与否),代码如下:PublicFunctionTesttxt(ByValtxtAsString)AsBooleanIfTrim(txt)=ThenTesttxt=FalseElseTesttxt=TrueEndIfEndFunctionPublicFunctioncheckStudentID(ByValstuIDAsString)AsBooleancheckStudentID=TrueIfLen(stuID)8ThenMsgBox(学生学号必有为8位整数)checkStudentID=FalseEndIfEndFunction5PublicFunctioncheckStudentName(ByValstuNameAsString)AsBooleancheckStudentName=TrueIfLen(stuName)=0OrLen(stuName)50ThenMsgBox(学生姓名不能为空,而且不能超过50个字符!)checkStudentName=FalseEndIfEndFunctionPublicFunctioncheckClassName(ByValclsNameAsString)AsBooleancheckClassName=TrueIfLen(clsName)6ThenMsgBox(班级名称必须为6位整数)checkClassName=FalseEndIfEndFunctionPublicFunctioncheckCourseID(ByValcouIDAsString)AsBooleancheckCourseID=TrueIfLen(couID)8ThenMsgBox(课程编号必须为8位整数)checkCourseID=FalseEndIfEndFunctionPublicFunctioncheckCourseName(ByValcouNameAsString)AsBooleancheckCourseName=TrueIfLen(couName)=0OrLen(couName)50ThenMsgBox(课程名称不能为空,而且不能超过50个字符!)checkCourseName=FalseEndIfEndFunctiondeptNameAsString)AsBooleancheckdeptName=TrueIfLen(deptName)=0OrLen(deptName)50ThenMsgBox(课程名称不能为空,而且不能超过50个字符!)checkdeptName=FalseEndIfEndFunctionPublicFunctioncheckKSXZID(ByValKSXZIDAsString)AsBooleancheckKSXZID=TrueIfLen(KSXZID)2ThenMsgBox(考试性质编号必须为2位整数)checkKSXZID=FalseEndIfEndFunctionPublicFunctioncheckKSXZ(ByValKSXZAsString)AsBooleancheckKSXZ=TruePublicFunctioncheckExamTime(ByValIfLen(KSXZ)=0OrLen(KSXZ)50ExamTimeAsInteger)AsBooleancheckExamTime=TrueThenMsgBox(考试性质不能为空,而且IfcheckExamTime60OrcheckExamTime120ThenMsgBox考试时间必有为60—120分钟之间!checkExamTime=FalseEndIfEndFunctionPublicFunctioncheckdeptID(ByValdeptIDAsString)AsBooleancheckdeptID=TrueIfLen(couID)2ThenMsgBox(院系编号必须为2位整数)checkdeptID=FalseEndIfEndFunctionPublicFunctioncheckdeptName(ByVal不能超过50个字符!)checkKSXZ=FalseEndIfEndFunctionPublicFunctioncheckClassroomName(ByValclassroomNameAsString)AsBooleancheckClassroomName=TrueIfLen(classroomName)=0OrLen(classroomName)50ThenMsgBox(教室名称不能为空,而且不能超过50个字符!)checkClassroomName=FalseEndIfEndFunctionMdlShowData(此模块主要在窗体中显示数据之用),代码如下:6PublicSubreadDat