1、厦门大学软件学院毕业设计(论文)开题报告 学生姓名 班级 学号 校内指导教师姓名 职称 所在单位 厦门大学 毕业设计(论文)题 目 厦门大学档案馆 学生成绩管理与打印系统 毕业设计的 目标: 一、 背景 厦门大学档案馆现有一项业务是 管理已毕业学生的 学业 信息、 成绩信息 等 , 提供学生成绩、学历证、学位证中英文的打印。 档案馆现有一个简易的打印系统,需要档案管理员手动输入信息并打印。 现有系统的问题有: 1. 运行环境陈旧,只能运行在 DOS 炒作系统上,不支持鼠标操作 。 2. 没有完全保存历届所 有学生的档案信息,每次打印需要档案管理员将特定学生信息录入到系统中,再由系统打印输出,工
2、作效率低下。 3. 打印采用老式套打方式,格式固定,不够灵活。 4. 无法利用教务处每年提供的学生电子数据,只能利用纸质文件等信息 5. 久系统设计问题导致无法兼容 某些特殊院系专业设置(例如厦门大学软件工程专业直接率属于软件学院 ,而没有系这种情况 ) 二、 整体软件目标 1 提供学生基本信息、成绩信息导入功能,解决旧系统只能手工录入成绩的弊端。 2 提供学生 基本 信息、成绩信息,院系专业等信息 的手动录入、更新等基本功能。 3 提供成绩单、 学位证、学历证打印功能 ,满足 档案馆 的基本业务需求。 4 打印采用激光打印,不受套打的限制。 5 提供系统日志功能,方便管理员进行系统维护、管理
3、 ,以及对一些操作的追踪等功能 。 6 权限管理,档案管理员与超级管理员具体不同的操作权限。 7 系统课运行在 Windows Xp 及以上的 操作 系统上,有简介清晰的操作界面。 三、 方案设计 系统架构图如下: 应 用 服 务操 作 系 统 W i n d o w s X PM i c r o s o f t S Q L S e r v e r 数 据 库 服 务 器基 础 服 务权 限 管 理 日 志 服 务打 印 功 能学 生 信 息 , 成 绩 信息 管 理数 据 导 入打印机用 户 界 面教务处学生信息图 1 系统架构图 实现方法: 一、 软件 架构 本系统是一个桌面应用程序,软件
4、架构 分为三层,从下至上分别为:数据访问层、业务逻辑层( 又或成为领域层)、表示层。 软件 架构 图如下: 表现层业务逻辑层数据访问层数 据 导 入 界 面打 印 界 面课 程 管 理 界 面课 程 管 理 操 作 学 生 信 息 管 理 操 作数 据 导 入 操 作 打 印 操 作院 系 信 息 管 理 操 作学 生 信 息 管 理 界 面院 系 信 息 管 理 界 面日 志 信 息 查 看 界 面日 志 操 作数 据 访 问 接 口具 体 数 据 库具 体 数 据 库 操 作 类用 户 登 陆 界 面 系 统 主 界 面图 2 软件架构图 下面分别对每层做简要说明: 1, 表示层 位于最上
5、层,是与用户交互的图形界面 ,简介方便的界面是本系统的一个重要指标 。 主要包括登陆界面、主界面、学生信息界面、院系专业界面、成绩显示界面、数据导入界面 、打印界面 、日志管理界面 以及各种提示界面 等 。界面除了使用 .NET 提供的基本控件外,还 使用 了 Custome Control 控件、UserControl 控件等技术。 2, 业务逻辑层 业务逻辑层在体系架构中 的位置很关键, 它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。 业务逻辑主要分为相对独立的功能模块,分别为: 学生信息管理、院系专业管理、数据导入、成绩管理、报表打印、日志等。 详细的模块分析将进一步讨论
6、。 3, 数据访问层 数据访问就是封装数据库的连接、数据访问、数据更新、数据删除、事务处理等 一系列 操作,提供统一的接口给上层访问。 这样既达到的模块的细分,也降低模块间的耦合,使得数据访问安全可靠。 二、 功能模块 详细的模块功能图如下: 档 案 馆 学 生 成 绩 管 理 与 打 印 系 统院系专业管理模块学生信息管理模块课程管理模块数据导入模块打印模块日志模块院系专业信息查询院系专业信息添加学生信息添加学生信息查询院系专业信息修改学生信息修改课程信息查询课程信息添加课程信息修改01年前数据库导入01年后数据库导入信息英文数据导入成绩单中文版打印成绩单英文版打印学位证英文版打印学历证英文
7、版打印主要操作日志记录理员业务量汇总图 3 功能模 块图 关键模块 使用的技术方法 将做进一步讨论 三、 技术方法 1, 院系专业管理模块 由于 学院 -系 -专业这三者之间有明显的树形结构,但是 .NET 提供的 TreeView 控件不能满足我们的需求,这时我们对 TreeView 控件进行定制。定制后的UniversityTreeView 控件有以下独特的特性: 1 . 每个树节点可以提供右键点击弹出菜单功能。 2 可以查看并更新每个节点的详细信息,例如某个学院的信息。信息的更新可以保存到数据库。 3 .可从给每个节点添加下一级别的节点,例如给学院添加一个系等。 2, 数据导入 参考现今
8、热门的课题数据仓库创建与实现中有关数据抽取、转换、装载( ETL)的概念与方法论,实现系统中对于不同数据库格式进行有效的数据转换,保证数据完整导入与导入后数据的质量。同时要保证数据转换的效率,减少数据转换过程所耗费的时间。 3, 打印 打印采用 Crystal Reports for Visual Studio .Net 实现。用到的报表知识(技术)有:报表设计,基于 Windows 应用程序的报表集成,使用 Crystal Reports.NET进行数据访问,报表公式与逻辑( Crystal SQL、 Basic 语法、 Crystal 语法),crystalReportViewer 的动态
9、报表绑定和参数传递等。 四、 开发流程 开发工具: Visual Studio 2008 开发语言 : C# 开发平台: Windows XP 数 据 库: Microsoft SQL Server 2005 软件建模: StartUML, Microsoft Visio 代码管理: TortoiseSVN 五、 开发流程 1, 数据库设计 数据库设计 采用 E-R 模型,建表完成后得到的数据关系 图如下: 图 4 数据关系图 2, 数据访问层 代码实现 数据访问层主要是定义一些调用接口并编程实现,接口举例如下: 接口 说明 IList getColleges() 获取所有学院信息 列表 IL
10、ist searchByName(string studentName) 通过学生名搜索学生 Student searchByStudentID(string studentID) 通过学号搜索学生 void update(Student student) 更新学生信息 void update(Course student) 更新课程信息 Course getCourse(int courseID) 通过课程号得到课程信息 IList getScores(string studentID) 获取某学生所有的成绩列表 bool authenticate(string userID, passwo
11、rd, type) 验证登陆信息 bool createUser(string userID, password, type) 创建用户 。 。 3, 界面开发 部分已完成界面展示如下: 3.1 进入系统的 登陆界面 图 5.3.1 登陆界面 3.2 院系专业管理界面 图 5.3.2 院系专业界面 3.3 学生信息界面 图 5.3.3 学生信息界面 3.4 数据导入界面 图 5.3.4 数据导入界面 3.5 学生成绩页面 图 5.3.5 学生成绩界面 3.6 学历证 图 5.3.6 学历证打印界面 3.7 选择不打印课程超过 3 门时的警告页面 图 5.3.7 警告界面 3.8 成绩打印页 面
12、 图 5.3.8 成绩打印界面 4, 数据导入功能实现 数据导入的具体类图设计如下: T r a n s 20 01 B e f o r eT r a n s 20 01 A f t e rT r a n s M a n a g e r-d a t a S rc-d a t a D e s t+t ra n s f or m ( )+e x t ra c t ( )+l oa d ( )+e x e c u t e ( )T r a n s A n yD a t a I n t e r f a c e+g e t D a t a ( )+l oa d D a t a ( )D B I n t e r f a c e F ile I n t e r f a c eA c c e s s D BSQ L Se r v e r D BD B M a p p in g