1、实验报告5管理信息系统 管理信息系统 课 程 实 验 报 告实验名称:_实验5 综合性实验 任课教师: 高川翔_专 业:_信息与计算科学_ 班级:_071 姓 名:_陈钰阶_学 号:_200711314117_ _ 评分:_一、实验目的:联系所学的管理信息系统开发的原理、技术、方法、工具和步骤,以及在各个阶段上应该完成的工作内容等理论知识,亲身体会开发一个管理信息系统的全过程及其工作内容,训练独立从事开发管理信息系统的能力。二、实验内容:根据以下提示信息进行一个实际管理系统的系统分析、系统设计和系统实施。ZHK大学共有教职员工3758人。学校下设教务处、财务处和房产处等二十六处室,还设有计算机
2、系、自动控制系和管理工程系等十八个教学系,此外还附设一个机械工厂、一个电子厂和一所校医院。该校财务处负责全校教职工的工资管理工作,其工资管理业务情况如下: 每月25日至28日,房产处将本月职工住房的房费和水电费扣款清单报送财务处,总务处将托儿费扣款和通勤职工的交通补贴费清单报送财务处。财务处按期列出一份职工借支应扣款清单。所有这些清单的格式如表SJ-l和表SJ-2所示。 表 SJ-1 ( )月份职工( )项扣款清单 职工号 姓名 扣款金额(元) 备注 制表人: 日期: 表 SJ-2 ( )月份职工交通补贴清单 职工号 姓名 补贴金额(元) 备注 制表人: 日期: 此外,学校人事部门及时向财务处
3、提供下列信息: 1)若有职工在学校内部各部门之间调动工作情况发生,则提供这些职工的姓名、由何部门调至何部门工作、工资发放变动情况等。 2)若有校外人员调入学校工作,则应提供调入者的职工号、姓名、调入校内何部门、以及有关调入者工资方面的数据,还有他们的工资开始发放的月份,据此,财务处的工资管理会计员建立调入者的职工工资台帐帐页。 3)若有职工调离学校,则要提供调出人员的姓名、所在单位和终止发放本人工资的月份。 4)若调整工资,则应提供全校教职工工资调整变动情况清单和调整后工资从哪个月份开始发放。 当财务处收到各部门报送来的扣款单、补贴清单和其它有关职工工资变动通知单后,财务处的工资管理会计就可以
4、依据上个月份的职工工资台帐制做本月职工工资台帐。职工工资台帐格式如表SJ-3所示,每名职工全年工资信息占据台帐的一页。 表SJ-3 某大学职工工资台帐帐页第页 职工号: 姓名: 部门代号: 部门名称: 月份 基本 工资 工龄 工资 副食 补贴 煤粮 补贴 交通 补贴 备补 1 备补 2 应发 工资 房 费 水电 费 托儿 费 借支 扣款 其它 扣款 扣款 合计 实发 工资 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 表SJ-4 某大学一月份职工工资发放单 部门名称: 姓名 基本 工资 工龄 工资 副食 补贴 煤粮 补贴 交通 补贴 备补 1 备补 2 应发 工资
5、 房 费 水电 费 托儿 费 借支 扣款 其它 扣款 扣款 合计 实发 工资 汪大伟 李 俊 合计 工资管理会计员依据工资汇总表上的全校“实发工资”合计数字,从银行提回现金,并于下月的5号将本月份职工工资发至职工手中。 职工工资计算处理中的几项说明: 工龄工资每人每年增加50元。 应发工资 = 基本工资 + 工龄工资 + 各项补贴之和。 扣款合计 = 房费 + 水电费 + 托儿费 + 借支扣款 + 其它扣款。 实发工资 = 应发工资 - 扣款合计。 从上面的描述不难看出,该所大学现行职工工资管理业务工作量特别大,同时还时常出现差错现象。有关人员迫切要求早日开发出全校职工工资管理信息系统,用计算
6、机代替手工记帐、计算和制作报表工作。学校主管领导也十分支持这项工作,已批准投资10万元人民币用于购置设备和软件开发。同时,学校还拥有雄厚的技术力量。三、分析设计(要求:严格按照结构化系统分析方法,完成以下各项工作: 1)业务流程图 2)数据字典实体数据项名说明类型(长度)注释&内容部门DepartmentDepartmentNo部门编号char(3)唯一标识一个部门DepartmentName部门名称varchar2(20)公司各部门的名称Telphone联系电话varchar2(14)14位电话号码UpperDepartmentNo上级部门编号char(3)上级部门编号岗位DCPostPos
7、tNo岗位编号char(3)唯一标识一个岗位PostName岗位名称varchar2(20)公司所设岗位的名称员工EmployeeEmployeeNo员工编号char(8)唯一标识一个员工EmployeeName员工名称varchar2(20)员工的名称Sex性别char(2)只能为男、女DepartmentNo部门编号char(3)参照完整性PostNo岗位编号char(3)参照完整性WorkDate工作日期date员工参加工作的日期Id身份证号varchar2(18)18位身份证号BankNo银行帐号varchar2(19)19位银行帐号Birthday生日date日期类型Telphone
8、联系电话varchar2(14)14位电话号码工资SalaryEmployeeNo员工编号char(5)参照员工表BalanceDate结算时间date员工工资结算的时间RealWage实发工资number员工实际领取的工资IsBalance是否结算number只能在0和1之间取值工资项SalItemSalItemNo工资项编号char(5)惟一标识工资项SalItemName工资项名称number工资项名称SalItemType工资项类型number只能在1和-1之间取值工资明细SalDetailEmployeeNo员工编号char(5)参照完整性BalanceDate结算时间date员工工
9、资结算的时间SalItemNo工资项编号char(5)参照完整性SalItemWage工资项金额number工资项金额数量SalItemType工资项类型number只能在1和-1之间取值加班记录OvertimeRecordEmployeeNo员工编号char(5)参照完整性OvertimeDate加班时间date员工加班发生的时间OTLength加班时长number员工加班小时数VerifyPerson审核人编号varchar2(20)审核加班处理人Desrciption备注varchar2(30)备注记录考勤记录AttendanceRecordEmployeeNo员工编号char(5)参照
10、完整性AttendDate考勤时间date考勤发生的时间AttendType考勤类型number只能在0-2之间取值AttendPerson审核人编号varchar2(20)审核考勤处理人Desrciption备注varchar2(30)备注记录数据项条目名称:职工编号 总编号:0001-3758别名:无 编号:3758说明:高校职工工资管理系统职工的编号类型:字符长度:20有关数据结构:职工基本信息表数据项条目名称:职工姓名 总编号:0001-3758别名:无 编号:3758说明:高校职工工资管理系统职工的姓名类型:字符长度:20有关数据结构:职工基本信息表数据项条目名称:职工工资名称 总编
11、号:001-200别名:无 编号:200说明:高校职工工资管理系统职工的工资名称类型:字符长度:20有关数据结构:职工工资明细表数据项条目名称:职工工资金额 总编号:001-200别名:无 编号:200说明:高校职工工资管理系统职工的工资金额类型:字符长度:20有关数据结构:职工工资明细表严格按照结构化系统设计方法,完成以下各项工作: 1)功能结构图设计 2)存储文件格式设计(数据库结构设计)1、层次数据库结构 层次数据库结构将数据通过一对多或父结点对子结点的方式组织起来。一个层次数据库中,根表或父表位于一个类似于树形结构的最上方,它的子表中包含相关数据。层次数据库模型的结构就像是一棵倒转的树
12、。 优点: 快速的数据查询 便于管理数据的完整性 缺点: 用户必须十分熟悉数据库结构 需要存储冗余数据 2、网状数据库结构 网状数据库结构是用连接指令或指针来组织数据的方式。数据间为多对多的关系。矢量数据描述时多用这种数据结构。 优点: 快速的数据访问 用户可以从任何表开始访问其他表数据 便于开发更复杂的查询来检索数据 缺点: 不便于数据库结构的修改 数据库结构的修改将直接影响访问数据库的应用程序 用户必须掌握数据库结构 3、关系数据库结构 这就目前最流行的数据库结构了。数据存储的主要载体是表,或相关数据组。有一对一、一对多、多对多三种表关系。表关联是通过引用完整性定义的,这是通过主码和外码(
13、主键或外键)约束条件实现的。 优点: 数据访问非常快 便于修改数据库结构 逻辑化表示数据,因此用户不需要知道数据是如何存储的 容易设计复杂的数据查询来检索数据 容易实现数据完整性 数据通常具有更高的准确性 支持标准SQL语言 缺点: 很多情况下,必须将多个表的不同数据关联起来实现数据查询 用户必须熟悉表之间的关联关系 用户必须掌握SQL语言 4、面向对象数据库结构 它允许用对象的概念来定义与关系数据库交互。值得注意的是面向对象数据库设计思想与面向对象数据库管理系统理论不能混为一谈。前者是数据库用户定义数据库模式的思路,后者是数据库管理程序的思路。 面向对象数据库中有两个基本的结构:对象和字面量
14、。对象是一种具有标识的数据结构,这些数据结构可以用来标识对象之间的相互关系。字面量是与对象相关的值,它没有标识符。 优点: 程序员只需要掌握面向对象的概念,而不要掌握与面向对象概念以及关系数据库有关的存储 对象具有继承性,可以从其他对象继承属性集 大量应用软件的处理工作可以自动完成 从理论上说,更容易管理对象 面向对象数据模型与面向对象编程工具更兼容 缺点: 由于面向对象数据库不支持传统的编程方法,所以用户必须理解面向对象概念 目前面向对象数据库模型还没有统一的标准 由于面向对象数据库出现的时间还不长,稳定性还是一个值得关注的焦点 5、另外 还有两种:古老的平面文件数据库结构和较新的对象关系数
15、据库结构。当然现在还有人用纯XML文档作数据库。两层C/S结构由服务器、客户机在局部范围内建立局域网,数据库设置在服务器中,客户机中可存放其备份或临时表,就构成所谓两层C/S结构,如图76所示。图76 C/S结构图服务器中数据被众多客户机程序所共享,它们可以同时读或写服务器中的数据,如有多台客户机中程序对同一数据做读写操作,就可能发生冲突。这一问题我们已在并发控制中作了说明。在设计时,对数据可能有如下不同处理形式。在处理时,客户机先向服务器索取数据,然后释放数据库,在客户机端处理数据,最后将结果送回服务器。这种处理方式对服务器、通信线路利用效率较高,但要注意防止并发操作错误。在处理时,客户机接
16、受用户要求,并发给服务器,在服务器端处理,最后将结果传回客户机显示或打印。这种处理方式网络通信量较小、能防止并发操作错误,但服务器的CPU特别繁忙, 反应速度较低,且容易出现死锁或活锁。三层C/S结构(B/S结构)在Internet网络支持下,系统可更大规模扩大,出现了三层客户服务器体系结构,即Browser/server模式,其拓扑结构如图77所示。图7.7 三层C/S网络结构这种结构使系统从封闭的集中式主机向开放的与平台无关的环境过渡,服务器端可以不只一台主机,可采用主机的群集技术构成,客户端程序极大简化。在客户端借助Web游览器可以处理简单的客户端处理请求, 显示用户界面及服务器端运行结
17、果, Web服务器负责接收远程或本地的数据查询请求,然后运行服务器脚本,借助于中间件把数据通过ODBC发送到数据库服务器上以获取相关数据,再把结果数据传回客户的Browser。 数据库服务器端负责管理数据库,处理数据更新及完成查询要求,运行存储过程。这种方式使应用面极大扩展,而安全问题也变得更加令人重视。表3-1 部门表Department数据项名类型(长度)是否为空约束说明说明DepartmentNochar(3)not null主键约束:Department_PK部门编号DepartmentNamevarchar2(20)not null名称唯一部门名称UpperDepartmentNoc
18、har(3)null外键/触发器上级部门编号Telphonevarchar2(12)not null部门联系电话表3-3 职工表Employee数据项名类型(长度)是否为空约束说明说明EmployeeNochar(8)not null主键约束:Employee_PK员工编号,唯一标识一个员工EmployeeNamevarchar2(30)not null员工名称Sexchar(2)not nullCheck约束:“F”表示为女性,“M”表示为男性员工性别DepartmentNochar(3)not null外键约束:EmployeeDepartment_FK所属部门编号,参照部门表PostNo
19、char(3)not nullEmployeeDCPost_FK职位编号,参照岗位表WorkdatedatenullLike yyyy-mm-dd参加工作日期Idvarchar2(18)not null18位身份证号BankNovarchar2(19)not null19位银行帐号BirthdaydatenullLike yyyy-mm-dd员工出生年月Telphonevarchar2(12)null12位联系电话表3-4 工资表Salary数据项名类型(长度)是否为空约束说明说明EmployeeNochar(8)not null主键约束:Salary_PK 外键约束:SalaryEmploy
20、ee_FK员工编号BalanceDatedatenot null员工工资结算日期RealWagenumbernull员工实发工资IsBalancenumbernot nullCheck约束,0表示未结算,1表示已结算工资是否已结算表3-5 工资项表SalItem数据项名类型(长度)是否为空约束说明说明SalItemNochar(5)not null主键约束:SalItem_PK工资项编号SalItemNamevarchar2(20)not null工资项名称SalItemTypenumbernot nullCheck约束:1表示为增加工资项,-1表示为扣罚工资项工资项的类型表3-6工资明细表S
21、alDetail数据项名类型(长度)是否为空约束说明说明EmployeeNochar(8)not null主键约束:SalDetail_PKSalItemNo参照工作项表员工编号BalanceDatedatenot null结算时间SalItemNochar(5)not null工资项编号SalItemWagenumbernot null工资项金额SalItemTypenumbernot nullCheck in -1or1工资项类型表3-8 考勤记录表AttendanceRecord数据项名类型(长度)是否为空约束说明说明EmployeeNochar(8)not null主键约束:Atten
22、danceRecord_PK员工编号AttendDatedatenot null考勤时间AttendTypenumbernot nullCheck约束:用0表示早退,用1表示迟到,用2表示缺勤考勤类型AttendPersonChar(8)not null外键,参照员工表的员工编号审核人编号Desrciptionvarchar2(30)null备注记录备注表3-9 用户表SUsers数据项名类型(长度)是否为空约束说明说明UserNochar(8)not null主键约束用户编号UserNamevarchar2(20)not null用户名称UserPasswordVarchar2(20)not
23、 null用户密码UserTypenumbernot nullCheck约束: 0表示系统管理员,1表示财务人员,2表示员工,3表示人事部员工用户类型UsertypeNamevarchar2(20)not null用户类型名称严格按照结构化程序设计方法,完成以下各项工作:1) 程序框图2) 部分源程序)/* * JavaApp.java */package java;import org.jdesktop.application.Application;import org.jdesktop.application.SingleFrameApplication;/* * The main class of the application. */public class JavaApp extends SingleFrameApplication /* * At startup create and show the main frame of the application. */ Override protected void startup() show(new JavaView(this); /* * This method is to initialize th
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1