管理信息系统课程设计框架
随着我国教育事业的不断发展,高校学生数量逐年增加,学校的规模也在不断扩大。无锡旅游商贸职业技术学校虽然是一所地方性民办高职院校,但随着学校的不断发展,在校生数量的不断攀升,这几年学校信息量不断膨胀,信息更新也越来越频繁,而传统的人工管理方式存在更新困难、存放困难、备份困难等缺陷与窘境。因此,设计与开发高校管理信息系统的重要性越来越明显。
1 ASP 技术研究
ASP 主要的功能是提供 ASP 开发者一个基于 MVC的网络应用程序开发框架,其框架的设计目标贯穿整个开发周期,从开发到发布。
包含整个维护的过程。其实,ASP 并不是一个全新的开放原始码框架,在 Struts1 公开多年之后,对于其架构的缺点以及检讨声浪不断,于是 Struts1 的开发社群与 Web work(另一个基于 ASP 的网络应用程序开发框架)社群进行整合,以 web work 框架为基础,整合优点,造就了目前的 ASP 框架。
ASP 帮人们处理了来自使用者的 HttpRequest 需求,及产生对应的 HttpResponse 回复,过程中只需要自定义 Struts.xml 配置文件来映射用户要求和对应用户的Action 以及响应用户的可视化试图,大大简化了繁复的网络服务 API 开发。
在 Action 处理 Request 之后,一些基本工作如数据验证、型态转换、档案上传等将可以利用 Interceptor 函数进行切割分离,并且可以自定义重复这些 API 方法来贯穿整个 Action.这种方式可以大幅缩短开发流程,提高开发效率。
ASP.NET 把 Windows 编程中的控件延伸到了 Web应用开发环境中,使程序员对 Web 应用的开发变得更加方便,强大的 ASP.NET 开发环境 Visual Studio 为ASP.NET 的开发提供了支持。
ASP 的工作原理主要分为两步:(1)可以将 ASP对象远程化,将服务器端的某个 ASP 组件(可以为业务组件或者业务实体组件)转换为 ASP 中的.对象,从而服务器端上的 ASP 代码也可以同样运行在客户端浏览器上;(2)ASP 将通过浏览器内的 XML HttpRequest 对象向其服务器端的后台程序进行调用,帮助其返回到客户端的浏览器上进行显示。
总之,ASP 就是一个可以帮助开发者简化 AJAX 技术应用环境的技术,它提供了一种能在 Web 浏览器端采用ASP 语言直接调用后台业务商业组件的解决方案。它还能动态生成 ASP 代码和隐藏 Http 协议的编程实现的细节。
2 系统开发设计
本系统按 Web 层、Service 层、DAO 层及 PO 进行分层。针对系统功能,根据模块分类设计了多个 Action类以及对应的 Service 类,系统的每一个功能对应于一个或者多个 Action 类,一个 Action 类对应一个或者多个方法,一个功能块对应一个 Service,Service 通过对DAO 组件的正面模式包装,完成对应模块所要求的业务逻辑。根据 Hibernate 特性,对应数据库表格生成 POJO类,每个表对应一个持久化对象该类封装了对应的数据表的属性值以及属性值 getter/setter 方法。在页面中大量采用 Struts2 的标签,使页面更加简洁,与后台的数据交互更加简单。
用户填好用户名和密码后,点击登录按钮。发送请求 login.action.请求发送的同时,将用户名和密码作为参数传递。
请求发送出去后,在 web.xml 里面所有以 .action 结尾的请求都会被映射到 Struts 的 Filer Dispatcher,FilerDispatcher 根据请求决定调用合适的 Action.
控制器 FilerDispatche 根据配置文件 struts.xml 声明,发现 login. Action 请求对应的是 user Action 这个Course,由于 Action 作为一个 Bean 是由 Spring 管理的,Spring 为 Action 注入服务。所以,根据 applicationContext-user 声明可知,请求最终是转发给 Com.delta.tms.user Manage.action.user Action.User Action 回 调 check Login 方 法, 该 方 法先获得用户传递的参数,然后调用了由 Spring 管理的Staff Service,进行逻辑操纵,根据用户名和密码查询数据库,获取对应的用户 staff bean 的实例。
Staff Service 用 Staff Service. check Login(finalStaff Bean staff Bean)方法访问数据库,该方法封装了Service 类封装 staffDA.该 DAO 调用 ?ndByExampl(estaffBean)方法,传入用户实例 staff Bean,取得了查询数据库后对应的 staff Bean 新的实例。
Staff Service 把取到的 staff Bean 对象返回给 userAction.Action 通过 staff Bean 对象是否为空判断数据库中是否有这个用户名,如果有用户名和密码又是否正确等问题,再根据结果返回对应的页面至前端。
通过对无锡旅游商贸职业技术学校学校管理业务的分析,将系统分为教学信息模块、学生信息模块、教师信息模块、系统管理模块及系统管理。无锡旅游商贸职业技术学校学校管理系统主要功能模块如图 1 所示。
3 学校管理系统的实现
本文在参考国内外开发学校管理系统的经验和先 进 技 术 的 基 础 上, 使 用 ASP 开 发 技 术, 以 SQLSERVER2008 为后台数据库,设计并实现了基于 B/S 模式的学校管理系统。
该页面主要是在学校管理中学分制维护和成绩维护的工作(如图 2 所示)。
本系统采用基于 B/S 构架,B/S 是业务架构平台体系中常用的平台体系,有着良好的操作界面和高效快捷的软件设计基础,能够把繁复的软件设计过程通过一些界面步骤的开发在平台上实现,通过熟悉学校办公各个环节流程,建立一个比较完善方便控制的办公系统,为管理软件设计和开发提供有效的导向和依据。
4 结 语
由于时间有限,对各个功能模块只是做了基本的设计与实现,同时发现了基于 B/S 的各类操作模式在系统中并未达到完全实现,如子流程的并选与互斥的处理、分布式的管理、效率评估等。因此,针对这些情况,还有比较多的工作需要做,这些都将是本系统下一步需要继续研究的课题。
参考文献
[1] 程不功 , 龙跃进 .ASP 动态网站开发教程 [M]. 北京:清华大学出版社 ,:152-156.
随着信息化建设的深入推进, 各类组织特别是涉密单位和部门的保密工作逐步从传统的制度、人员管理模式向信息化管理模式转变。建立一个科学、高效、可靠的的保密工作管理信息系统, 日益成为加强信息化条件下保密工作的当务之急。本文以集团公司为模型, 在认真梳理保密工作流程的基础上, 以Excel综合平台为支持平台, 探讨设计了一个简单易用的保密工作管理信息系统, 以期实现保密日常工作信息化管理、重要安全保密信息的上传上报及信息通报、安全策略的制定及下发和对安全保密事件从发生到中间处理过程以及最终处理结果等环节进行全程动态跟踪管理。
2 需求分析
有8个方面的管理内容:
2.1 保密组织机构管理
保密组织机构对公司各级保密组织机构的职责、人员配备、工作进行管理。
保密员管理对保密员台账信息和变动信息进行管理。用户单位出现保密员变动, 填写专兼职保密员登记表, 相关部门审批后, 系统自动更新。
2.2 保密制度管理
保密制度管理对公司、单位保密基本制度管理, 明确单位保密负责人和保密责任。
2.3 要害部门部位管理
要害部门部位管理对外来单位人员进入公司涉密部位进行审批管理。
2.4 存储介质管理 (数码介质)
存储介质管理对数码相机、数码相机存储卡、摄像机、摄像机存储卡、录像带和录音笔台账信息进行管理, 不同介质分别由专门人员进行管理。
2.5 通信及办公自动化设备管理
通信及办公自动化设备管理对传真机、复印机和晒图机进行管理, 不同介质分别由专门人员进行管理。
2.6 涉密会议管理
涉密会议管理对涉密会议和涉密活动的申报、检查进行管理, 涉密会议和涉密活动必须先申报, 后检查。涉密会议中机密级以上会议需经分管副总经理批准, 涉密活动根据活动类型的不同, 相应的检查表分为三类。
2.7 安全保密设备管理
安全保密设备管理对安全保密设备进行管理, 主要包括台账信息和设备申请、借用、维修、报废业务。
2.8 涉密载体管理
涉密载体管理对涉密纸介质进行管理, 主要包括台账信息和载体移交、外带、销毁业务。
3 系统设计
图1体现了用Excel平台设计该信息系统的全过程。中间四个椭圆形组成的主线表达了建立一个信息系统所要完成的四个方面:建立部门、角色、用户等基本信息;建立基础数据;管理业务单据;完成统计、汇总、查询。
3.1 建立组织机构、角色、用户
Excel平台是一个网络应用程序, 可以多人同时使用。针对不同的人员, 需要赋以不同的权限。与权限管理相关的内容主要包括:组织机构、角色、用户。这些信息通过管理控制台来设置。管理控制台主界面左侧是一个树形, 列举了在管理控制台界面中可操作的各类信息;点击左侧的某树形节点, 右侧会列出该类信息的具体内容。例如, 点击左侧的“用户”节点, 右侧会显示所有的用户。在管理控制台上, 树形中每个节点上能够进行的操作都各不相同。在节点上点鼠标右键, 或者选中节点后, 点击窗口菜单【操作】, 会弹出相应的子菜单。同样, 在右侧的信息列表上, 选中某一行点鼠标右键, 或者选中这一行后, 点击窗口菜单【操作】, 会弹出针对这一行信息能够做的所有操作。这样, 就可以根据需要建立相关的组织机构、角色、用户, 赋予不同用户相应的权限。
3.2 保密组织机构管理
模块包括工作表:专兼职保密员登记表、保密员台帐;模块包括数据表:保密员信息表-主表、专兼职保密员登记表-主表;模块包括工作流如图2所示。
模块说明:用户单位出现保密员变动, 不能直接在保密员信息表进行修改, 需要填写专兼职保密员登记表, 经过专兼职保密员登记工作流程处理完成后, 系统自动更新涉密人员信息台账。专兼职保密员登记工作表中, 专职保密员需要经过人力资源部审批, 兼职则不需要。专兼职保密员登记工作表在审批过程中一旦出现领导审批不同意的情况, 此表单即宣告作废, 用户需要重新填写。
3.3 保密制度管理
模块包括工作表:基本制度、二级制度、专项制度;模块包括数据表:二级制度—主表、专项制度—主表;模块包括工作流:保密员填写—单位领导审批。
3.4 要害部门部位管理
模块包括工作表:涉足涉密部位审批;模块包括数据表:涉足涉密部位审批表—主表、涉足涉密部位审批表—来宾明细、涉足涉密部位审批表—涉足单位明细。
模块包括工作流:申请—单位审批—保密处审批—公司审批 (涉足涉密部位审批工作流程) 。
模块说明:涉足涉密部位审理表需要公司领导审批, 用户必须在申请时选择相应的公司领导。进入部位单位领导、保密处、公司领导均有权进行否定, 但不允许更改。进入时间最好精确到分钟。
3.5 存储介质管理 (数码介质) 管理
模块包括工作表:数码相机台帐、数码相机存储卡台帐、摄像机台帐、摄像机存储卡台帐、录像带台帐、录音笔台帐:模块包括数据表:数码相机台账—主表、数码相机存储卡台帐—主表、摄像机台帐—主表、摄像机存储卡台帐—主表、录像带台帐—主表、录音笔台帐—主表;
模块包括工作流:台账只需填写, 无工作流。
模块说明:不同台账分别由专门人员进行管理, 需要为该类人员设置专门权限。
3.6 通信及办公自动化设备管理
模块包括工作表:传真机台帐、复印机台帐、晒图机台帐;模块包括数据表:传真机台账—主表、复印机台帐—主表、晒图机台帐—主表;模块包括工作流:台账只需填写, 无工作流。模块说明:不同台账分别由专门人员进行管理, 需要为该类人员设置专门权限。
3.7 涉密会议管理:模块包括工作表
涉密会议方案申报, 涉密会议检查, 专项、重大涉密活动申报, 专项、重大涉密活动检查;
模块包括数据表:涉密会议保密方案申报表—主表、涉密会议保密方案申报表—明细、涉密会议检查表—主表、涉密活动申报表—主表、涉密活动申报表—明细、其他活动检查表—主表。
模块包括工作流:工作流大同小异, 仅举一例, 如图3所示。
模块说明:涉密会议保密方案申报表和涉密会议检查表是先后关系。必须先有涉密会议保密方案申报表, 然后才有对应的涉密会议检查表。用户填写涉密会议保密方案申报表, 保密处审批同意后, 才能在涉密会议检查表提取出对应的涉密会议保密方案申报表, 涉密会议检查表申请后, 对应的涉密会议保密方案申报表就无法再提出。专项重大涉密活动申报表和专项重大涉密活动检查表也是如此关系。
3.8 涉密会议管理
模块包括工作表:碎纸机台帐、密码文件柜台帐、手机柜台帐、会议屏蔽机台帐、安全保密设备申请、安全保密设备借用、安全保密设备维修、安全保密设备报废
模块包括数据表:碎纸机台账—主表、密码文件柜台帐—主表、手机柜台帐—主表、会议屏蔽机台帐—主表、安全保密设备申请—主表、安全保密设备申请—明细、安全保密设备借用—主表、安全保密设备借用—明细、安全保密设备维修—主表、安全保密设备报废—主表、安全保密设备报废—明细。模块包括工作流:台账只需填写, 无工作流。审批中, 设备申请、维修、报废基本一致, 设备借用增加借出和归还确认环节, 仅举一例:
申请—单位审批—保密处审批—主管审批 (安全保密设备申请工作流程) 。
模块说明:安全保密设备台账不允许新建, 只能通过安全保密设备申请, 流程处理完毕后, 系统自动新建, 保密员需要补充相关内容。安全保密设备处于业务流程中, 不允许对该设备再次进行业务申请。业务申请失败, 系统会给发起人一个反馈。
3.9 涉密载体管理
模块包括工作表:涉密载体台帐;模块包括数据表:涉密载体台帐-主表;模块包括工作流:台账只需填写, 无工作流;模块说明:涉密载体台账只针对纸介质载体, 磁介质载体不纳入管理范围。
4 系统界面
主界面和模块界面如图4、图5所示。
摘要:随着信息化建设的深入推进, 各类组织特别是涉密单位和部门的保密工作逐步从传统的制度、人员管理模式向信息化管理模式转变。建立一个科学、高效、可靠的的保密工作管理信息系统, 日益成为加强信息化条件下保密工作的当务之急。本文以Excel综合平台为支持平台, 对保密组织机构管理、保密制度管理、要害部门部位管理、存储介质管理 (数码介质) 、通信及办公自动化设备管理、涉密会议管理、安全保密设备管理、涉密载体管理等模块进行了分析和设计, 为保密工作管理信息系统的最终实现提供了支撑。
【关键词】物流 信息系统 课程设计 实验 民航
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2015)07-0032-01
引言:近些年来,在我国经济发展的推动下,民航业也得到了较快的发展,民航客货运输均呈现出快速增长的势头。在民航业蓬勃发展的背景下,形成了对于民航各相关专业人才的大量需求。民航类物流管理专业承担着培养民航物流高级应用型人才的责任,课程设置均贴近于民航物流的实际需求。以民航物流的实际需求为驱动力,为民航物流的发展培养人才。物流信息系统课程设计,是一门以信息技术在民航领域的实际应用为驱动的实验课程。该课程的先修课程包括计算机程序设计、管理信息系统、物流数据管理等若干门课程。该课程在先修课程的基础上,结合信息系统在民航物流中的应用,以培养学生实际设计开发能力为目标,达到将学生的先修课程融会贯通的教学目的。在本文中,结合民航物流的实际需求,设计了该课程的若干实验。
一、航空备件库存系统设计
航空备件泛指航空公司所储备的用于维修的航空配件。根据航空备件管理工作实际业务,并结合该课程的课时限制,以航空备件管理工作的主要业务为基础,形成航空备件库存系统的主要设计实现目标。
航空备件库存信息管理系统功能实现要求包括三项主要的功能,即:入库出库、信息查询和系统维护。
1.入库出库功能。包括备件入库、备件出库两项子功能。备件入库过程中,要首先查询仓库容量是否已满,如果容量已满,则该备件不能入库。入库需要详细记录入库备件信息、入库时间、入库数量等信息。备件出库过程中,将备件的状态进行调整。记录备件出库时间、出库去向等信息,并对应更新库存容量。
2.信息查询功能。信息查询功能包括备件信息查询、供应商信息查询、库存信息查询等具体功能。备件信息查询功能,需要支持按照备件名称、备件类别、备件编号、入库时间等作为检索条件进行数据查询,能够通过分页列表形式进行数据显示。供应商信息查询功能,支持按照供应商名称、编号等信息进行查询。查询结果界面需要显示供应商的详细信息,并且提供超链接显示每一个供应商所提供的商品信息。库存信息查询功能,提供对于仓库状态信息的检索。详细列表仓库各类商品的入库、出库详细流水信息。
3.系统维护。系统维护功能包括系统登录和密码修改两项功能。系统登录功能需要验证用户所输入的用户名、密码是否匹配,之后匹配的用户名、密码才能够完成登录。密码修改功能,需要正确输入原始密码,并两次输入新密码才能够完成密码修改。
学生在课程设计过程中,根据系统需求设计系统数据库结构模型,设计系统功能界面设计,完成应用程序各项功能实现,调试运行系统。
二、民航物流配送系统设计
物流配送工作是民航各货代公司的日常业务之一。配送过程中,需要实现车辆、司机、运单等各种资源的综合调度。以货代公司的车辆调度业务为背景,根据本课程的课时限制,确定民航物流配送系统的实现目标。
民航物流配送信息管理系统的主要功能实现包括资源管理、运输管理和系统维护三个部分。
1.资源管理功能。资源管理功能包括车辆信息管理、司机信息管理两项主要的子功能。车辆信息管理功能要求实现车辆信息录入、检索、删除、修改等各项功能。维护车辆的编号、牌照、车辆类型等各种信息。司机信息管理功能要求实现司机信息录入、司机信息附条件检索、司机信息列表等具体操作。
2.运输管理功能。运输管理功能包括运单录入、配送调度、运单签收、费用核算等子功能。。运单录入子功能实现运单向系统中的录入实现。运单录入系统过程中,需要填写发货人、收货人、货物类型等各种信息。配送调度功能根据车辆的容量限制、可用司机信息,为每一单货物分配车辆进行配送。运单签收功能由收货人实现对于配送货物的签收。在收获人签收完成之后,货物的配送业务完成。费用核算功能对于每一运单进行计费,并统计总体的运单费用。
3.系统维护功能。系统维护功能包括系统登录和密码修改子功能。系统登录子功能要求调度员、司机、收货客户登录系统后,跳转到各自不同的功能界面,界面中显示支持不同类型使用者功能实现的菜单。密码修改功能完成系统使用者的登录密码修改。
要求学生查根据需求设计系统数据库结构模型,设计每一种用户的系统功能界面设计。运用VB6作为系统开发工具,设计系统的功能界面。完成系统开发。完成应用程序各项功能实现,调试运行系统。
三、结论
民航院校物流信息系统课程设计是一门实践性较强的课程,需学生具有相应的前期知识储备。通过本文所设计的实验项目,将先修课程实现了有机融合。并且学生能够在课程实验的基础上,了解民航物流的运作原理与流程。
参考文献:
[1]胡美丽,初良勇. 纵深式教学法在物流管理信息系统教学中的应用[J]. 物流工程与管理,2010,05:183-184.
[2]孔继利,冯爱兰. 物流管理信息系统课程设计教学方法研究[J]. 物流技术,2010,Z2:229-232.
[3]章文燕. 物流信息管理课程设计[J]. 中国物流与采购,2011,10:58-59.
实验报告
姓名:张旭冉
学号:10105010117
班级:信10-1
北方工业大学理学院信息与计算科学系
2013年 12月 17日
员工管理系统一、实验目的
通过该课程设计,使同学们进一步理解概JAVA的基本概念、理论和方法,初步掌握JDK、Eclipse的调试和应用,以及程序中错误的解决方法,明确JAVA在实际程序设计中的应用。使课堂中学习到理论得到应用,练习文件形式在JAVA程序设计中的应用。
二、实验内容
A.设计题目:员工管理系统
设计要求:(1)完成员工信息的添加、删除、查询、修改功能
(2)使用用户界面操作
(3)使用文件形式完成
设计思路:首先设计界面进入面板,在面板中添加菜单选项,并将要实现的功能选项添加其中,然后对这些选项实施监听,实现其功能。通过文件类型知识的应用,实现对员工信息的管理。B.概要设计
面板设计:首先设计一个容器,然后再容器中添加菜单,在菜单中添加选项,并在容器中加入面板,面板布局设置为CardLayout,最后将面板添加进容器。
功能实现:在录入、查询、修改和删除界面中使用JButton、JLabel、ButtonGroup、JRadioButton、JTextField、Choice为界面中加入相应的组件,并对其进行监听,同时附加了文件流的处理。C.详细设计
1、定义员工类:
public class Employee implements java.io.Serializable { String number,name,discipling,grade,borth,sex;public Employee(){ } public void setNumber(String number){ this.number=number;} public String getNumber(){ return number;
} public void setName(String name){ this.name=name;} public String getName(){ return name;} public void setDiscipling(String discipling){ this.discipling=discipling;} public String getDisciping(){ return discipling;} public void setGrade(String grade){ this.grade=grade;} public String getGrade(){ return grade;} public void setBorth(String borth){ this.borth=borth;} public String getBorth(){ return borth;} public void setSex(String sex){ this.sex=sex;} public String getSex(){ return sex;}}
2、主程序:
import java.awt.*;
import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class EmployeeManager extends JFrame implements ActionListener { EmployeeSituation 基本信息录入=null;ModifySituation 基本信息修改=null;Inquest 基本信息查询=null;Delete 基本信息删除=null;JMenuBar bar;JMenu fileMenu;JMenuItem 录入,修改,查询,删除;Container con=null;Hashtable 基本信息=null;File file=null;CardLayout card=null;JLabel label=null;JPanel pCenter;public EmployeeManager(){ 录入=new JMenuItem(“录入员工基本信息”);修改=new JMenuItem(“修改员工基本信息”);查询=new JMenuItem(“查询员工基本信息”);删除=new JMenuItem(“删除员工基本信息”);bar=new JMenuBar();fileMenu=new JMenu(“菜单选项”);fileMenu.add(录入);fileMenu.add(修改);fileMenu.add(查询);fileMenu.add(删除);bar.add(fileMenu);setJMenuBar(bar);label=new JLabel(“欢迎进入员工信息管理系统”,JLabel.CENTER);label.setFont(new Font(“SansSerif”,Font.BOLD+Font.ITALIC,25));label.setForeground(Color.red);基本信息=new Hashtable();录入.addActionListener(this);修改.addActionListener(this);查询.addActionListener(this);删除.addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();
pCenter.setLayout(card);pCenter.setBackground(Color.yellow);file=new File(“基本信息.txt”);if(!file.exists()){
try
{
FileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);
objectOut.writeObject(基本信息);
objectOut.close();
out.close();
}
catch(IOException e)
{
} } 基本信息录入=new EmployeeSituation(file);基本信息修改=new ModifySituation(file);基本信息查询=new Inquest(this,file);基本信息删除=new Delete(file);pCenter.add(“欢迎语界面”,label);pCenter.add(“录入界面”,基本信息录入);pCenter.add(“修改界面”,基本信息修改);pCenter.add(“删除界面”,基本信息删除);con.add(pCenter,BorderLayout.CENTER);con.validate();addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){ System.exit(0);}});setVisible(true);setBounds(100,50,420,380);validate();} public void actionPerformed(ActionEvent e){ if(e.getSource()==录入){ card.show(pCenter,“录入界面”);} else if(e.getSource()==修改)
{ card.show(pCenter,“修改界面”);} else if(e.getSource()==查询){ 基本信息查询.setVisible(true);} else if(e.getSource()==删除){ card.show(pCenter,“删除界面”);} } public static void main(String args[]){ new EmployeeManager();}}
3、实现员工信息的录入: import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class EmployeeSituation extends JPanel implements ActionListener { Hashtable 基本信息表=null;JTextField 员工号,姓名,工资;Choice 部门;JRadioButton 男,女;Employee 员工=null;ButtonGroup group=null;JButton 录入,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public EmployeeSituation(File file){
this.file=file;
员工号=new JTextField(10);
姓名=new JTextField(10);
部门=new Choice();部门.add(“请选择”);部门.add(“研发部”);部门.add(“销售部”);部门.add(“人事部”);部门.add(“安全部”);工资=new JTextField(10);group=new ButtonGroup();男=new JRadioButton(“男”,true);女=new JRadioButton(“女”,false);group.add(男);group.add(女);录入=new JButton(“录入”);重置=new JButton(“重置”);录入.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel(“员工号:”,JLabel.CENTER));box1.add(员工号);Box box2=Box.createHorizontalBox();box2.add(new JLabel(“姓名:”,JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JLabel(“性别:”,JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox();box4.add(new JLabel(“部门:”,JLabel.CENTER));box4.add(部门);Box box6=Box.createHorizontalBox();box6.add(new JLabel(“ ”,JLabel.CENTER));Box box5=Box.createHorizontalBox();box5.add(new JLabel(“工资:”,JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box6);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel pCenter=new JPanel();pCenter.add(boxH);
pCenter.setBackground(Color.yellow);
setLayout(new BorderLayout());
add(pCenter,BorderLayout.CENTER);
JPanel pSouth=new JPanel();
pSouth.add(录入);
pSouth.add(重置);
pSouth.setBackground(Color.yellow);
add(pSouth,BorderLayout.SOUTH);
validate();
} public void actionPerformed(ActionEvent e){ if(e.getSource()==录入){ String number=“";number=员工号.getText();if(number.length()>0){ try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();} catch(Exception ee){ } if(基本信息表.containsKey(number)){ String warning=”该员工基本信息已存在,请到修改页面修改!“;JOptionPane.showMessageDialog(this,warning,”警告“,JOptionPane.WARNING_MESSAGE);} else { String m=”基本信息将被录入!“;int ok=JOptionPane.showConfirmDialog(this,m,”确认“,JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){ String name=姓名.getText();
String discipling=部门.getSelectedItem();String grade=工资.getText();String sex=null;if(男.isSelected()){ sex=男.getText();} else { sex=女.getText();} 员工=new Employee();员工.setNumber(number);员工.setName(name);员工.setDiscipling(discipling);员工.setGrade(grade);员工.setSex(sex);try { outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);
基本信息表.put(number,员工);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();
员工号.setText(null);
姓名.setText(null);
工资.setText(null);} catch(Exception ee){ System.out.println(ee);}}}} else { String warning=”必须要输入员工号!“;JOptionPane.showMessageDialog(this,warning,”警告“,JOptionPane.WARNING_MESSAGE);}}
if(e.getSource()==重置)
{
员工号.setText(null);
姓名.setText(null);
部门.remove(部门.getSelectedIndex());
工资.setText(null);}}}
4、实现员工信息的修改: import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class ModifySituation extends JPanel implements ActionListener { Hashtable 基本信息表=null;JTextField 员工号,姓名,工资;Choice 部门;JRadioButton 男,女;ButtonGroup group=null;JButton 开始修改,录入修改,重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public ModifySituation(File file)
{ this.file=file;员工号=new JTextField(10);姓名=new JTextField(10);部门=new Choice();部门.add(”请选择“);部门.add(”研发部“);部门.add(”销售部“);部门.add(”人事部“);部门.add(”安全部“);工资=new JTextField(10);group=new ButtonGroup();男=new JRadioButton(”男“,true);女=new JRadioButton(”女“,false);group.add(男);group.add(女);开始修改=new JButton(”开始修改“);录入修改=new JButton(”录入修改“);录入修改.setEnabled(false);重置=new JButton(”重置“);员工号.addActionListener(this);开始修改.addActionListener(this);录入修改.addActionListener(this);重置.addActionListener(this);Box box1=Box.createHorizontalBox();box1.add(new JLabel(”输入要修改信息的员工号:“,JLabel.CENTER));box1.add(员工号);box1.add(开始修改);Box box2=Box.createHorizontalBox();box2.add(new JLabel(”姓名:“,JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JLabel(”性别:“,JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox();box4.add(new JLabel(”部门:“,JLabel.CENTER));box4.add(部门);Box box6=Box.createHorizontalBox();box6.add(new JLabel(” “,JLabel.CENTER));Box box5=Box.createHorizontalBox();box5.add(new JLabel(”工资:“,JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox();
boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box6);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel pCenter=new JPanel();pCenter.add(boxH);pCenter.setBackground(Color.yellow);setLayout(new BorderLayout());add(pCenter,BorderLayout.CENTER);JPanel pSouth=new JPanel();pSouth.add(录入修改);pSouth.add(重置);pSouth.setBackground(Color.yellow);add(pSouth,BorderLayout.SOUTH);validate();
} public void actionPerformed(ActionEvent e){
if(e.getSource()==开始修改||e.getSource()==员工号)
{
String number=”“;
number=员工号.getText();
if(number.length()>0){ try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();} catch(Exception ee){ } if(基本信息表.containsKey(number)){ 录入修改.setEnabled(true);Employee stu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.getSelectedItem();工资.setText(stu.getGrade());
if(stu.getSex().equals(”男“)){ 男.setSelected(true);} else { 女.setSelected(true);} }
else
{
录入修改.setEnabled(false);String warning=”该员工号不存在!“;JOptionPane.showMessageDialog(this,warning,”警告
“,JOptionPane.WARNING_MESSAGE);员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);
} }
else { 录入修改.setEnabled(false);String warning=”必须要输入员工号!“;JOptionPane.showMessageDialog(this,warning,”警告“,JOptionPane.WARNING_MESSAGE);员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);}
}
else if(e.getSource()==录入修改)
{
String number=”“;
number=员工号.getText();
if(number.length()>0)
{
try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();
inTwo.close();} catch(Exception ee){ } if(基本信息表.containsKey(number)){ String question=”该员工基本信息已存在,您想修改他(她)的基本信息吗?“;JOptionPane.showMessageDialog(this,question,”警告“,JOptionPane.QUESTION_MESSAGE);String m=”基本信息将被修改!“;int ok=JOptionPane.showConfirmDialog(this,m,”确认“,JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){ String name=姓名.getText();String discipling=部门.getSelectedItem();String grade=工资.getText();String sex=null;if(男.isSelected()){ sex=男.getText();} else { sex=女.getText();} Employee 员工=new Employee();
员工.setNumber(number);
员工.setName(name);
员工.setDiscipling(discipling);
员工.setGrade(grade);
员工.setSex(sex);try { outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表.put(number,员工);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();
员工号.setText(null);姓名.setText(null);部门.remove(部门.getSelectedItem());工资.setText(null);} catch(Exception ee){ System.out.println(ee);} 录入修改.setEnabled(false);} else if(ok==JOptionPane.NO_OPTION){ 录入修改.setEnabled(true);} }
else
{ String warning=”该员工号没有基本信息,不能修改!“;JOptionPane.showMessageDialog(this,warning,”警告“,JOptionPane.WARNING_MESSAGE);录入修改.setEnabled(false);
}
}
else
{
String warning=”必须要输入员工号!“;JOptionPane.showMessageDialog(this,warning,”警告
“,JOptionPane.WARNING_MESSAGE);
录入修改.setEnabled(false);
}
}
if(e.getSource()==重置)
{
员工号.setText(null);
姓名.setText(null);
部门.remove(部门.getSelectedItem());
工资.setText(null);}}}
5、实现员工信息的查询: import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Inquest extends JDialog implements ActionListener { Hashtable 基本信息表=null;JTextField 员工号,姓名,部门,工资;JRadioButton 男,女;JButton 查询;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;public Inquest(JFrame f,File file){
super(f,”查询对话框“,false);
this.file=file;
员工号=new JTextField(10);
查询=new JButton(”查询“);
员工号.addActionListener(this);
查询.addActionListener(this);姓名=new JTextField(10);姓名.setEditable(false);部门=new JTextField(10);部门.setEditable(false);工资=new JTextField(10);工资.setEditable(false);男=new JRadioButton(”男“,false);女=new JRadioButton(”女“,false);group=new ButtonGroup();group.add(男);group.add(女);Box box1=Box.createHorizontalBox();box1.add(new JLabel(”输入要查询的员工号:“,JLabel.CENTER));box1.add(员工号);box1.add(查询);Box box2=Box.createHorizontalBox();box2.add(new JLabel(”姓名:“,JLabel.CENTER));box2.add(姓名);Box box3=Box.createHorizontalBox();box3.add(new JLabel(”性别:“,JLabel.CENTER));box3.add(男);box3.add(女);Box box4=Box.createHorizontalBox();box4.add(new JLabel(”部门:“,JLabel.CENTER));box4.add(部门);Box box5=Box.createHorizontalBox();box5.add(new JLabel(”工资:“,JLabel.CENTER));box5.add(工资);Box boxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box5);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel pCenter=new JPanel();pCenter.add(boxH);pCenter.setBackground(Color.green);Container con=getContentPane();con.add(pCenter,BorderLayout.CENTER);con.validate();setVisible(false);setBounds(100,200,360,270);
addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ setVisible(false);} });} public void actionPerformed(ActionEvent e){ 姓名.setText(null);部门.setText(null);工资.setText(null);if(e.getSource()==查询||e.getSource()==员工号){ String number=”“;number=员工号.getText();if(number.length()>0){ try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();} catch(Exception ee){ } if(基本信息表.containsKey(number)){ Employee stu=(Employee)基本信息表.get(number);姓名.setText(stu.getName());部门.setText(stu.getDisciping());工资.setText(stu.getGrade());if(stu.getSex().equals(”男“)){ 男.setSelected(true);} else { 女.setSelected(true);} } else {
String warning=”该员工号不存在!“;JOptionPane.showMessageDialog(this,warning,”警告“,JOptionPane.WARNING_MESSAGE);}} else { String warning=”必须要输入员工号!“;JOptionPane.showMessageDialog(this,warning,”警告“,JOptionPane.WARNING_MESSAGE);}}}}
6、实现员工信息的删除: import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.*;public class Delete extends JPanel implements ActionListener {
Hashtable 基本信息表=null;
JTextField 员工号,姓名,部门,工资;
JRadioButton 男,女;
JButton 删除;
ButtonGroup group=null;
FileInputStream inOne=null;
ObjectInputStream inTwo=null;
FileOutputStream outOne=null;
ObjectOutputStream outTwo=null;
File file=null;
public Delete(File file)
{
this.file=file;
员工号=new JTextField(10);
删除=new JButton(”删除“);
员工号.addActionListener(this);
删除.addActionListener(this);
姓名=new JTextField(10);
姓名.setEditable(false);
部门=new JTextField(10);
部门.setEditable(false);
工资=new JTextField(10);
工资.setEditable(false);
男=new JRadioButton(”男“,false);
女=new JRadioButton(”女“,false);
group=new ButtonGroup();
group.add(男);
group.add(女);
Box box1=Box.createHorizontalBox();
box1.add(new JLabel(”输入要删除的学号:“,JLabel.CENTER));
box1.add(员工号);
box1.add(删除);
Box box2=Box.createHorizontalBox();
box2.add(new JLabel(”姓名:“,JLabel.CENTER));
box2.add(姓名);
Box box3=Box.createHorizontalBox();
box3.add(new JLabel(”性别:“,JLabel.CENTER));
box3.add(男);
box3.add(女);
Box box4=Box.createHorizontalBox();
box4.add(new JLabel(”部门:“,JLabel.CENTER));
box4.add(部门);
Box box6=Box.createHorizontalBox();
box6.add(new JLabel(” “,JLabel.CENTER));
Box box5=Box.createHorizontalBox();
box5.add(new JLabel(”工资:“,JLabel.CENTER));
box5.add(工资);
Box boxH=Box.createVerticalBox();
boxH.add(box1);
boxH.add(box2);
boxH.add(box3);
boxH.add(box5);
boxH.add(box6);
boxH.add(box4);
boxH.add(Box.createVerticalGlue());
JPanel pCenter=new JPanel();
pCenter.add(boxH);
pCenter.setBackground(Color.yellow);
setLayout(new BorderLayout());
add(pCenter,BorderLayout.CENTER);
validate();
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==删除||e.getSource()==员工号)
{
String number=”“;
number=员工号.getText();if(number.length()>0){ try { inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);基本信息表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();} catch(Exception ee){
} if(基本信息表.containsKey(number)){
Employee stu=(Employee)基本信息表.get(number);
姓名.setText(stu.getName());
部门.setText(stu.getDisciping());
工资.setText(stu.getGrade());if(stu.getSex().equals(”男“)){ 男.setSelected(true);} else { 女.setSelected(true);} String m=”确定要删除该员工号及全部信息吗?“;int ok=JOptionPane.showConfirmDialog(this,m,”确认
“,JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);if(ok==JOptionPane.YES_OPTION){ 基本信息表.remove(number);try { outOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);outTwo.writeObject(基本信息表);outTwo.close();outOne.close();员工号.setText(null);姓名.setText(null);部门.setText(null);工资.setText(null);} catch(Exception ee){ System.out.println(ee);} } else if(ok==JOptionPane.NO_OPTION){ 员工号.setText(null);姓名.setText(null);部门.setText(null);
工资.setText(null);} } else {
String warning=”该员工号不存在!“;JOptionPane.showMessageDialog(this,warning,”警告
“,JOptionPane.WARNING_MESSAGE);} } else {
String warning=”必须要输入员工号!“;JOptionPane.showMessageDialog(this,warning,”警告",JOptionPane.WARNING_MESSAGE);}}}}
三、实验结果体会
本文介绍了数据库管理系统的基本设计方法,详细阐述了整个应用系统的设计思路,并对各部分设计周期进行了详尽的分析,最终达成了一个完整的设计方案;在文章的最后,还根据数据库系统的调试结果,提出了可以进一步改进的部分,以便在投入实际应用后系统可以更加稳定可靠的工作。
本文的数据库系统是一个图书管理系统,包括管理员界面和借阅者界面,分别有添加、删除、查阅等功能。
【关键词】图书管理系统图书管理系统的实现数据库系统
I
目录
摘要及关键词 ………………………………………………………………………Ⅰ目录 …………………………………………………………………………………Ⅱ
第一章、概述……………………………………………………………………… 11.1 数据库及其应用……………………………………………………1
1.2 数据库系统…………………………………………………………1
1.3 数据库系统简介……………………………………………………1
第二章、数据库系统设计 ………………………………………………………… 2
2.1数据库设计概述…………………………………………………… 2
2.2数据库设计周期……………………………………………………2
第三章、图书管理系统具体设计 ………………………………………………… 3
3.1 图书管理系统总体规划……………………………………………3
3.2需求分析……………………………………………………………3
3.3概念设计……………………………………………………………5
3.4逻辑设计……………………………………………………………6
3.5物理设计……………………………………………………………7
第四章、数据库实现 ……………………………………………………………… 8
第五章、结束语…………………………………………………………………… 31 参考文献…………………………………………………………………………… 32
(正文):
总结:
这次课程设计让我们对《管理信息系统》这么课程有了更深的理解,同时更加了解管理信息系统的过程,基本掌握了各个阶段的要点,特别是对代码设计的内容有了更加深刻的理解,能够在进行实际操作过程中运用所学知道,将理论用在实际上。对于本次的《图书馆管理信息系统》的设计报告,我更加认识到编码的重要性,通过编码,我们可以建立统一的经济信息语言,有利于提高通用化水平,使资源共享,达到统一化,有利于采用集中化措施以节约人力,加快处理速度,更便于检索。这对于图书量以及信息量都甚为庞大的图书馆来说,更加显得尤为重要。虽然对最后结果并不十分满意,但是我已经尽了最大的努力。
在本次的课程设计过程中,我们学到了很多,不仅仅是知识方面的收获,还有与人合作上的技巧和勇于探索的精神。同时,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我们收益非浅。
基于以上情况, 本文提出了基于ASP.NET平台和MVC的架构, 采用ASP.NET MVC技术进行学生信息管理系统的设计与实现, 希望能够对学生信息进行有效的管理, 使得学生信息的管理更加快速、准确、方便。
1 ASP.NET MVC框架
ASP.NET MVC是由微软官方提供的基于MVC架构模式的开发框架, 是一个易于开发、易于测试、易于维护的框架, 也是现今流行的一种MVC开发技术。在ASP.NET MVC框架中, 通过模型、视图和控制器的功能分离, 充分地实现用户输入、业务制定和界面显示的独立。
从用户在浏览器中输入请求信息, 到在页面获得处理结果, 大致需要经过5个步骤。
(1) 用户在浏览器中发出信息请求, 向控制器发送相关的操作命令。
(2) 控制器接收到请求命令之后, 向模型请求获得有关的数据信息。
(3) 模型根据请求将对应的数据信息返回给控制器。
(4) 控制器将相关的数据信息发送到相应的视图。
(5) 相应的视图将获得的数据信息返回到浏览器, 显示给用户。
在ASP.NET MVC的具体开发过程中, 主要的工作是对控制器进行程序编写。因为控制器既要处理用户请求, 又要实现与模型进行数据通信, 以及向视图发送数据信息, 控制器在模型、视图、控制器三者中处于一个中枢的位置。
2 学生信息管理系统的设计
建立学生信息管理系统, 实现数据处理的统一、规范和高效, 通过对学生信息管理系统的需求分析, 希望能够探索出信息处理的最佳途径。
2.1 需求分析
学生信息管理系统主要是围绕与学生有关的数据信息进行处理的, 应当具有登录管理、课程管理、学籍管理、成绩管理、德育管理等功能模块。
(1) 登录管理模块:系统管理员设定每个用户的登录用户名和初始密码, 并对用户名和密码具有修改和删除的权限;同时, 系统用户登录系统之后也能够对自己的登录信息进行修改。
(2) 课程管理模块:课程信息是属于稳定性比较强的一类信息, 而且课程的开设与取消在学校的权力范围之内, 系统管理员在系统中扮演学校的角色设置课程的基本信息, 并对课程的相关数据进行处理。教师只能查看课程的基本信息。
(3) 学籍管理模块:系统管理员根据学号为每个学生分配系统的登录信息。学生将个人资料信息按照学籍内容的要求输入到数据库, 并根据实际情况对信息进行及时的修改, 以确保信息的准确性。教师可在通过不同的条件查找学生的学籍信息, 了解学生的基本情况。
(4) 成绩管理模块:教师按照课程的考核要求进行不同方式的考试, 考试结束后将学生的考试成绩输入到系统, 对有错误的成绩数据进行编辑。学生参与课程学习并参加考试之后, 能够查阅自己的成绩。
(5) 德育管理模块:教师负责录入每位同学的德育评价等级, 并对录入有误的评价等级进行编辑。学生能够查阅每月的德育评价等级, 从而端正自己的日常行为。
2.2 功能设计
学生信息管理系统在实际的使用过程中, 主要有三类用户:系统管理员、教师、学生, 因此管理系统对应地分为三类用户端:系统管理员端、教师端、学生端。他们的功能权限分别是:
(1) 系统管理员端:系统管理员在学生信息管理系统中的操作平台, 系统管理员进入该平台后可以修改自己的登录密码, 并进行登录信息管理和课程信息管理两个模块的操作。
(2) 教师端:教师用户在学生信息管理系统中的操作平台, 教师进入该平台后可以修改自己的密码, 查看课程信息和学生的学籍信息, 并进行成绩信息管理模块和德育信息管理模块的操作。
(3) 学生端:学生用户在学生信息管理系统中的操作平台, 学生进入该平台后可以修改自己的密码, 编辑自己的学籍信息, 并可查看考试成绩和德育评价信息。
3 学生信息管理系统的实现
本学生信息管理系统采用ASP.NET MVC架构技术, 主要开发语言为ASP.NET, 数据库系统为SQL Server。
现以系统管理员端的课程信息管理功能的实现过程为例, 介绍ASP.NET MVC的开发情况。课程信息管理功能包括对课程信息的查询、添加、修改和删除。首先使用SQL Server创建课程信息表, 包括字段课程编号、课程名称、课程学分、课程类别、考试性质、考试时间等。
(1) 模型 (Model) 的实现:定义一个ADO.NET实体数据模型, 数据来源于课程信息表。
(2) 控制器 (Controller) 的实现:立一个控制器, 用来实现课程信息管理模块的查询、添加、修改和删除的功能的。
(3) 视图 (View) 的实现:创建cshtml页面, 用于显示课程的基本信息, 并提供管理操作以及相关的超链接。
4 结语
本文根据学校在学生信息管理中存在的问题, 提出了采用ASP.NET MVC框架开发较复杂的学生信息管理系统, 搭建了完整的基于ASP.NET MVC框架结构的信息管理系统。学生信息管理系统的应用, 给学校的学生信息管理工作带来了改变, 实现学生信息管理朝着规范化、科学化、现代化的方向转变, 提升学校的管理水平和工作效益。
摘要:本文介绍了学生信息管理系统在ASP.NET MVC框架下的解决方案, 通过对系统功能进行详细的分析, 同时运用ASP.NET MVC技术和SQL SERVER数据库, 实现系统的设计与开发, 为学生信息的管理建立统一、规范、高效的工作平台。
关键词:ASP.NET MVC,学生信息,管理系统
参考文献
[1]贡博文.浅谈ASP.NET网站建设中MVC与三层架构技术[J].科技风, 2013.
[2]周文红.基于ASP.NET MVC框架的Web应用开发[J].计算机与现代化, 2013.
关键词:教务日志;管理系统;ASP.NET技术
随着社会网络化和校园信息技术的不断发展,越来越多的院校逐步完善办公及教学管理系统。对于教学管理系统的研发进行自主研发成为热门的课题,自主开发与研制教务日志管理系统应运而生,本课题的研究就是在这样的背景下开展的。
一、系统分析
教务日志管理系统则是面向学校实际情况进行教务管理工作开展的软件,其主要的目标是对师生电子资料等数据进行自动采集并存储,实现无纸化教务管理,同时完成繁琐的教师评价工作,从各层进行立体评价,让该项工作更规范和清晰;最后学生的成绩管理是重要的一项功能,主要的目标是高效高速的完成学生成绩的录入、查询、自动生成成绩构成与绩点学分等功能。
二、系统整体设计
该系统对目标的进行研究和制定,需要系统达到以下各项功能和技术指标:
(1)教务日志的填写:完成学生的数据进行采集和存储,并且保存成功后能在系统中进行数据同步和互通,各用户在权限范围内进行查询。
(2)教师工作评价:教师工作的评价形成立体评价,学生的教学日志,科组长、教学部长、教务管理人员、教研工作人员、教师的电子资料等都形成评价体系中的一部分。
(3)学生成绩录入与管理:学生成绩的录入需要达到快速便捷,对学生成绩的管理也是常用的对后台数据库的增、删、改以及对各用户群体的不同查询等操作。
(4)各项信息的查询:在系统中以不同的用户身份登陆有不同的操作范围,对于系统中存储的各项信息也要达到灵活的查询,班主任和教学部长要按不同的要求进行操作,班主任按班进行,教学部长按专业部或年级进行,达到快速的进行信息管理。
以上是对系统需求的简单阐述,也是对几项主要功能的描述,系统的设计与研发工作围绕着这些功能要点开展。
1.教务日志管理模块。教学日志管理主要实现从学生填写评价表,采集和存储学生的信息。(1)教务日志录入:学生调出教出评价表进行数据填写。(2)教务日志统计:对填写的教务日志进行统计反馈,反应填写是否完整。(3)教务日志查询:查询教务日志填写的具体数据。
2.教师工作评价模块。教师工作评价主要实现各管理人员的评价统计与百分配比形成评价值,同时统计电子资料和录入学生成绩,给出最终的评价值。(1)课堂评价表:对课堂评价值进行对应填写,并形成记录表格。(2)电子资料提交:对教师的电子教案、计划、论文、获奖证书等电子资料进行提交并自动统计。(3)问卷调查记录:对学生录入的问卷调查进行统计和记录。(4)评价百分配分:对各层管理人员的评价进行百分配比,自动生成教师评价。
3.学生成绩管理模块。学生成绩管理主要实现录入后的成绩查询、自动生成总成绩与绩点学分等操作。(1)学生成绩录入:根据实际情况选择成绩录入方式,批量录入学生成绩。(2)学生成绩查询:对学生成绩进行条件查询。(3)学生成绩统计:根据用户权限对学生成绩进行自动计算。
针对我校教务工作的现状,本系统设计了教务日志管理、教师评价和学生成绩管理等三个功能模块。系统采用ASP.NET技术,结合SQL Server数据库,实现基于B/S三层架构的教务日志管理系统进行研发,具有操作简便有效、实用性强、可靠性与安全性高等特点。
参考文献:
[1]陈志刚.数字化校园建设的应用探讨[J].中国科教创新导刊,2010(46).
[2]帅小应.机房教学管理系统的设计[J].池洲师专学报,2006(10).
【管理信息系统课程设计框架】推荐阅读:
管理信息系统课程心得11-26
学生课程信息管理系统12-15
财务信息管理系统设计11-02
信息管理与信息系统专业综合设计教学大纲02-12
高校教学管理信息系统的设计03-28
测绘生产管理信息系统的设计与实现11-07
信息系统分析与设计课程设计教学大纲06-26
通用信息管理系统开发平台的设计与实践09-19
信息管理与信息系统简历12-05
护理管理信息系统06-11