1、哈尔滨师范大学 课程名称: 任课老师: 题目: 姓名: 学号: 学院: 系别:目 录第一章 系统开发背景概述11.1、系统开发背景11.2、系统开发工具11.1.1、Eclipse Mars.1 Release (4.5.1)11.1.2、MySQL5.011.1.3、JavaScript21.1.4、CSS21.1.5、JQuery21.1.6、JQuery EasyUI21.1.7、Jetty2第二章 总体计划22.1、系统需求分析22.1.1、管理员(领导)32.1.2、一般用户(职员)32.2、系统可行性分析32.2.1、社会可行性分析32.2.2、技术可行性分析32.2.3、经济可行
2、性分析32.3、系统设计目标和设计思想42.3.1、系统设计目标42.3.2、开发设计思想4第三章 系统分析43.1、组织机构分析43.2、数据步骤分析4第四章 系统分析和设计54.1、管理信息系统总体架构设计64.2、管理信息系统基础设施设计和选择64.4、数据库设计74.4.1、管理员表(领导)74.4.2、用户表(职员)74.4.3、部门表74.4.4、公告表84.4.5、请假表84.4.6、考勤表84.5、创建数据库SQL语句94.6、代码设计114.6.1、程序结构展示114.6.2、部分代码展示124.7、IPO设计(输入、处理、输出)224.7.1、输入输出界面设计结果224.7
3、.2、处理描述31第五章 总结和体会33第一章 系统开发背景概述1.1、系统开发背景因为企业规模深入扩大,企业信息管理也变得越来越复杂。为此,切实有效把企业信息管理系统引入企业管理领域中,对于促进企业管理制度和提升企业质量有着显着意义。Internet发展使我们企业越来越现代化,现在网上企业信息管理是我们现在企业管理中一个热点。现在,职员跟企业之间信息传输只在一指之间。现在国家企业管理体制也正处于不停改革、创新阶段,中国工商部门充足吸收国外优异管理模式,结合中国多年企业管理经验,逐步探索出适合中国特色企业管理形式。所以,企业信息管理软件应充足依靠企业本身信息,实现企业信息集中管理、分散操作、信
4、息共享,、使传统管理朝数字化无纸化、智能化、综合化方向发展,并为深入实现完善信息系统打下良好基础。因为Internet含有影响范围广,能够方便快捷传输信息,含有近乎实时交互性,本身又是一个巨大无比信息库等很多优点。本企业信息系统,能够提升企业信息管理效率。我们目标是用本企业信息系统实现最快对企业信息综合管理。在这里,利用计算机辅助管理,即能实时地对大量信息数据进行检验和统计,十分方便地输出管理结果,同时也避免了人工处理时轻易产生错误。1.2、系统开发工具1.1.1、Eclipse Mars.1 Release (4.5.1)Eclipse 是一个开放源代码、基于Java可扩展开发平台。就其本身
5、而言,它只是一个框架和一组服务,用于经过插件组件构建开发环境。幸运是,Eclipse 附带了一个标准插件集,包含Java开发工具(Java Development Kit,JDK),该版本是现在最新版本。1.1.2、MySQL5.0MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 企业开发,现在属于 Oracle 旗下企业。MySQL最流行关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL是一个关联数据库管理系统,关联数据库将数据保
6、留在不一样表中,而不是将全部数据放在一个大仓库内,这么就增加了速度并提升了灵活性。MySQL 所使用 SQL 语言是用于访问数据库最常见标准化语言。MySQL 软件采取了双授权政策(本词条“授权政策”),它分为小区版和商业版,因为其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,通常中小型网站开发全部选择 MySQL 作为网站数据库。因为其小区版性能卓越,搭配 PHP 和 Apache 可组成良好开发环境。1.1.3、JavaScriptJavascript是一个继承面向对象动态类型区分大小写用户端脚本语言,关键目标是为了处理服务器端语言,为用户提供更流畅浏览效果。JavaScript
7、是一个基于对象和事件驱动并含有相对安全性用户端脚本语言。同时也是一个广泛用于用户端Web开发脚本语言,常见来给HTML网页添加动态功效,比如响应用户多种操作。1.1.4、CSSCSS(CascadingStyleSheet)可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面外观。经过使用CSS样式设置页面格式,可将页面内容和表现形式分离。1.1.5、JQueryJquery是继prototype以后又一个优异Javascript框架。它是轻量级JS库(压缩后只有21k),它兼容CSS3,实现动画效果,而且方便地为网站提供AJAX交互。1.1.6、jQuery Easy
8、UIjQuery EasyUI是一组基于jQueryUI插件集合体,而jQuery EasyUI目标就是帮助web开发者更轻松打造出功效丰富而且美观UI界面。开发者不需要编写复杂javascript,也不需要对css样式有深入了解,开发者需要了解只有部分简单html标签。1.1.7、JettyJetty 是一个开源servlet容器,它为基于Javaweb容器,比如JSP和servlet提供运行环境。Jetty是使用Java语言编写,它API以一组JAR包形式公布。开发人员能够将Jetty容器实例化成一个对象,能够快速为部分独立运行(stand-alone)Java应用提供网络和web连接。第
9、二章 总体计划2.1、系统需求分析中国不少企业全部实施了企业信息管理系统,即把信息得到自主权交给职员。在这里,职员得到信息时制约原因比较复杂,工作量也很大,而且有些信息往往在较短时间内就会失效。利用计算机辅助管理,开发自主信息系统,即能实时地对大量信息数据进行检验和统计,十分方便输出结果,同时也避免了人工处理时产生错误。能够提升管理工作效率、提升信息开放性、改善职员对其最新信息查询正确性。经过对系统需求进行分析,我们确定系统中二类用户:管理员(领导)、一般用户(职员)。各类用户具体描述以下:2.1.1、管理员(领导)描述:管理员维护整个系统,包含设置本身和职员信息和对应企业信息。含有对公告、部
10、门添加、修改、删除、查看功效,和对职员请假审批,对职员考勤汇总查看等功效。2.1.2、一般用户(职员)描述:一般用户(职员)负责查询企业对应信息,和本身基础信管理。含有查看公告、部门具体信息,申请请假,查询个人请假情况,每日签到签退,和对自己考勤查看等功效。2.2、系统可行性分析2.2.1、社会可行性分析因为办公自动化是基于现有业务,对现在办公资源进行有效整合,进行资源共享,实现“无纸化办公”。在以前办公环境下,已经积累了丰富办公经验及经验丰富办公人员,所以对人员培训在业务上已经没有什么问题,只需对人员进行计算机操作培训即可。这些知识、经验和人才贮备既是医院财富,也是本项目成功基础。2.2.2
11、、技术可行性分析伴随互联网蓬勃发展,越来越多机构将信息管理和Internet融合到一起,以方便企业信息管理。在这么一个社会背景下,采取B/S模式开发利郎企业信息管理系统,将职员和企业有机地结合在一起,有效地提升管理水平和效率。伴随科学技术不停提升,计算机科学日渐成熟,基于以上技术在现今比较轻易实现。2.2.3、经济可行性分析经济可行性研究是对组织经济现实状况和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得社会和经济效益进行估量。关键处理资金可得性和经济合理性两个问题。作为开发本系统关键软件环境是eclipse和MySQL,这两个软件已经是市面上比较常见,技术上比较成熟
12、两个软件开发工具,所以,在软件上本系统开发成本是能够被接收。在外围设备方面,该系统只需要最常见一般输出设备,如打印机。除此之外,在系统投入运行后,能提升工作人员工作效率,协同工作能力深入加强,时间效益得到深入提升,优化生产关系,提升生产力。2.3、系统设计目标和设计思想2.3.1、系统设计目标本系统关键是对企业办公管理,对职员和管理员(领导)权限设置,领导含有对公告、部门添加、修改、删除、查看功效,和对职员请假审批,对职员考勤汇总查看等功效,而已注册职员含有查看公告、部门具体信息,申请请假,查询个人请假情况,每日签到签退,和对自己考勤查看等功效,简单易于操作,很适合和企业管理和办公。2.3.2
13、、开发设计思想该系统才用了SpringMVC作为开发框架,SpringJDBC作为数据库连接,MySQL数据库和使用了jQuery EasyUI作为页面。此次管理信息系统使用是三层架构和MVC.所用到三层,即BLL(业务逻辑层)、DAL(数据访问层)、UI(展示层)。这里UI层由MVC做,MVC包含Model(业务逻辑和数据库交互),Controller(捕捉控制请求转发),View(显示提交数据)。MVC控制器采取SpringMVC注解开发。在进行数据提交时候避免页面刷新,采取了Ajax异步提交表单方法。第三章 系统分析3.1、组织机构分析企业办公管理系统后台登陆公告管理请假管理部门管理职员
14、管理考勤统计图3-1 系统功效模块3.2、数据步骤分析数据流图(Data Flow Diagram),是描述系统逻辑模型关键工具之一,它是在对系统业务步骤图进行分析基础上用少数多个符号综合地反应出信息在系统中流动、存放和处理等情况,并能将信息处理功效和相互之间联络,自上而下,逐层分解,从逻辑上正确地描述出系统应含有数据加工功效、数据输入输出、数据存放、数据起源和去向等项目。 数据库需求分析是数据库结构设计第一个阶段,也是很关键一个阶段。数据步骤是指数据在系统中产生、传输、加工处理、使用、存放过程。数据是信息载体,是以后系统要处理关键对象。所以必需对系统调查中所搜集数据和统计处理数据过程进行分析
15、和整理。数据和数据步骤分析是以后建立数据库系统和设计功效模块处理过程基础在这个阶段关键工作是搜集基础数据和数据处理步骤,为以后深入设计一打下基础。需求分析关键处理两个问题:内容要求。调查应用系统用户所需要操作数据,决定在数据库中存放什么数据。处理要求。调查应用系统用户要求对数据库进行什么样处理,理清数据库中多种数据之间关系。在数据库需求分析后,得到一个数据字典文档,包含3方面内容。数据项。包含名称、含义、类型、取值范围、长度和和其它数据项之间逻辑关系。数据结构。若干个数据项有意义集合,包含名称、含义和组成数据结构数据项。概念结构是独立于实际数据模型信息结构,必需将其转化为逻辑结构后才能进行数据
16、库应用设计。也就是要将概念上结构转化为BP数据库系统所支持实际数据模型。数据流。指数据中数据处理过程,包含输入、处理和输出。3.3、数据字典管理员表:编号、账号名、密码用户表(职员):编号、用户名、密码、性别、年纪、地址、电话、部门编号部门表:编号、部门名称、部门主管、部门介绍公告表:编号、作者、公布时间、标题、内容请假表:编号、职员编号、开始时间、返回时间、请假原因、申请人、审批人、审批状态考情表:编号、签到时间、签退时间、用户名、签到类型、总计第四章 系统分析和设计系统分析是系统开发关键阶段。系统分析目标是要回复新系统将要“做什么”这个关键性问题。在这个阶段要集中精力,认真分析用户需求,用
17、科学方法来表示新系统逻辑方案,建立新系统逻辑模型。系统分析工作开始和用户提出新系统要求,进行初步调查和可行性分析后,确定新系统开发为可行即可进行具体调查和分析,提出新系统逻辑模型,最终写出系统分析汇报。系统设计就是具体定义基于计算机多种活动处理方案。在系统设计阶段,把系统分析过程当中得到逻辑模型结合对应网络技术、数据库技术等具体描述出来,并为系统实施阶段多种工作准备必需技术资料和相关文件。系统设计基础目标就是要使所设计系统必需满足系统逻辑模型各项功效要求,同时尽可能地提升系统性能。系统设计目标是评价和衡量系统设计方案优劣基础标准,也是选自系统设计方案关键依据。评价和衡量系统设计目标实现程度指标
18、关键有以下方面:系统效率、系统工作质量、系统可变更性、系统通用性、系统可靠性。4.1、管理信息系统总体架构设计企业办公管理系统后台登陆公告管理请假管理职员登录领导增删改职员请假申请领导请假审批管理员登录职员查看详情部门管理职员管理考勤统计领导增删改职员查看信息月考勤统计周考勤统计职员注册、修改密码领导查看、删除季度考勤统计 图4.1 管理信息系统总体架构设计4.2、管理信息系统基础设施设计和选择经过研究现在市场最普遍多个开发工具产品:eclipse,myeclipse,idea和多种java和数据库开发工具Oracle,Sybase,SQLServer,MySQL,Access等。考虑到硬件设
19、备兼容性和所作对应软件环境要求,本系统采取eclipse和MySQL作为开发工具,采取了Jetty作为web容器。4.3、企业管理系统总体功效及具体设计4.3.1、企业管理系统总体功效设计本系统是针对企业办公,对职员和管理员(领导)权限设置,领导含有对公告、部门添加、修改、删除、查看功效,和对职员请假审批,对职员考勤汇总查看等功效,而已注册职员含有查看公告、部门具体信息,申请请假,查询个人请假情况,每日签到签退,和对自己考勤查看等功效,简单易于操作,很适合和企业管理和办公。 4.3.2、企业管理系统具体功效设计登录管理:分为管理员登录和职员登录,进入相关登录页面后有管理员注册和职员注册。公告管
20、理:管理员含有对公告添加、修改、删除和查询操作,职员含有对公告查询、过滤查看功效。请假管理:职员含有申请请假、查看请假统计等功效,管理员含有对职员请假审批、对职员请假统计查看和对审批统计查看功效。部门管理:管理员含有对部门添加、修改、删除和查询操作,职员含有对公告查询、过滤查看功效。职员管理:对职员添加、删除、修改、查询功效,职员本身含有对自己信息修改和查询操作,管理员含有对职员信息查询和删除操作。考勤管理:职员含有每日签到签退功效、对自己签到签退统计查看功效和分别按最近一季度、一月、一周查看自己考勤统计。管理员含有对职员考勤统计查看功效。4.4、数据库设计4.4.1、管理员表(领导)字段名字
21、段描述数据类型长度备注id编号Int10主键adminName系统账号名Varchar30password系统账号密码Varchar30bz1预留字段1Int20bz2预留字段2Varchar2004.4.2、用户表(职员)字段名字段描述数据类型长度备注id编号Int10主键username用户名Varchar30password密码Varchar30sex性别Varchar5age年纪Varchar5address地址Varchar100tel电话Varchar20did部门编号Int10外键bz1预留字段1Int20bz2预留字段2Varchar2004.4.3、部门表字段名字段描述数据类
22、型长度备注id编号Int10主键depName部门名称Varchar30depManager部门主管Varchar30profile部门介绍Varchar200bz1预留字段1Int20bz2预留字段2Varchar2004.4.4、公告表字段名字段描述数据类型长度备注id编号Int10主键author作者Varchar30date公布时间Varchar50title标题Varchar30content内容Varchar500bz1预留字段1Int20bz2预留字段2Varchar2004.4.5、请假表字段名字段描述数据类型长度备注id编号Int10主键uid职员编号Int10外键start
23、_time开始时间Varchar50back_time返回时间Varchar50reason请假原因Varchar100username申请人Varchar30approver审批人Varchar30flag审批状态Int100未审批1审批bz1预留字段1Int20bz2预留字段2Varchar2004.4.6、考勤表字段名字段描述数据类型长度备注id编号Int10主键comeTime签到时间Varchar50leaveTime签退时间Varchar50username用户名Varchar30flag类型Int50签到,1签退coun总计Varchar50bz1预留字段1Int20bz2预留字
24、段2Varchar2004.5、创建数据库SQL语句/*MySQL BackupSource Server Version: 5.0.27Source Database: companyDate: /11/16 12:12:25*/SET FOREIGN_KEY_CHECKS=0;- - Table structure for admin- -DROP TABLE IF EXISTS admin;CREATE TABLE admin ( id int(10) NOT NULL, adminName varchar(20) default NULL, password varchar(50) d
25、efault NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for department- -DROP TABLE IF EXISTS department;CREATE TABLE department ( id int(10) NOT NULL, depName varchar(50) default NULL, depManager varchar(20) default NULL, profile varchar(100) default NULL, did int(10) d
26、efault NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for leaving- -DROP TABLE IF EXISTS leaving;CREATE TABLE leaving ( id int(11) NOT NULL, start_time varchar(50) default NULL, back_time varchar(50) default NULL, reason varchar(100) default NULL, username varchar(20)
27、default NULL, flag int(5) default NULL, bz1 varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for news- -DROP TABLE IF EXISTS news;CREATE TABLE news ( id int(10) NOT NULL, author varchar(20) default NULL, date varchar(50) default NULL, title varchar(5
28、0) default NULL, content varchar(255) default NULL, bz1 varchar(255) default NULL, bz2 varchar(255) default NULL, bz3 varchar(255) default NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for user- -DROP TABLE IF EXISTS user;CREATE TABLE user ( id int(10) NOT NULL, usern
29、ame varchar(20) default NULL, password varchar(30) default NULL, level int(5) default NULL, sex varchar(10) default NULL, age varchar(10) default NULL, address varchar(50) default NULL, tel varchar(20) default NULL, bz1 varchar(255) default NULL, did int(10) default NULL, PRIMARY KEY (id) ENGINE=Inn
30、oDB DEFAULT CHARSET=utf8;- - Table structure for work- -DROP TABLE IF EXISTS work;CREATE TABLE work ( id int(11) NOT NULL, comeTime varchar(50) default NULL, leaveTime varchar(50) default NULL, username varchar(20) default NULL, flag int(5) default NULL, bz1 varchar(255) default NULL, bz2 int(10) de
31、fault NULL, PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;4.6、代码设计4.6.1、程序结构展示代码结构分为:模型层dao、业务层service、控制层action、实体domain、工具util图4.2 程序代码结构图4.6.2、部分代码展示*注:因为代码过多,在此只展示一个完整模块。(1) doamin:News.java (新闻实体类)/* * (#)News.java * Description:TODO 新闻实体类 * Version :0.0.0 * Copyright:Copyright (c) ZRH 版权
32、全部 * Create by:朱润华 11月10日 */package com.zs.domain;import java.io.Serializable;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;/* * TODO 新闻实体类 * author 朱润华 */EntityTable(name=new
33、s)public class News implements Serializable private static final long serialVersionUID = 5031021L;/主键private Integer id;/作者private String author;/公布时间private String date;/新闻标题private String title;/新闻内容private String content;/预留字段1private String bz1;/预留字段2private String bz2;public Integer getId() ret
34、urn id;IdGeneratedValue(generator=id,strategy=GenerationType.IDENTITY)public void setId(Integer id) this.id = id;public String getAuthor() return author;public void setAuthor(String author) this.author = author;public String getDate() return date;public void setDate(String date) this.date = date;pub
35、lic String getTitle() return title;public void setTitle(String title) this.title = title;public String getContent() return content;public void setContent(String content) this.content = content;public String getBz1() return bz1;public void setBz1(String bz1) this.bz1 = bz1;public String getBz2() retu
36、rn bz2;public void setBz2(String bz2) this.bz2 = bz2;(2) dao:INewsDao.java (新闻模型层借口)/* * (#)INewsDao.java * Description:TODO 填写文件作用简明说明 * Version :0.0.0 * Copyright:Copyright (c) ZRH 版权全部 * Create by:朱润华 11月11日 */package com.zs.dao;import java.util.List;import com.zs.domain.News;/* * TODO 新闻模型层接口 *
37、author 朱润华 */public interface INewsDao List findNewsAll();News findNewsById(Integer id);void deleteNews(Integer id);void updateNews(News news);void addNews(News news);News findNewsByTitle(String title);(3) dao :NewsDaoImpl.java (新闻模型层实现类)/* * (#)NewsDaoImpl.java * Description:TODO 填写文件作用简明说明 * Versi
38、on :0.0.0 * Copyright:Copyright (c) ZRH 版权全部 * Create by:朱润华 11月11日 */package com.zs.dao;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.jdbc.core.JdbcTemplate;import org.springframe
39、work.jdbc.core.RowCallbackHandler;import org.springframework.stereotype.Repository;import com.zs.domain.News;import com.zs.util.NewsMapper;/* * TODO 新闻模型层实现类 * author 朱润华 */Repositorypublic class NewsDaoImpl implements INewsDao Autowiredprivate JdbcTemplate jt;public void setJt(JdbcTemplate jt) this
40、.jt = jt;/* * 显示 */public List findNewsAll() String sql = SELECT * FROM NEWS WHERE 1=1;return jt.query(sql, new NewsMapper();/* * 查找 */public News findNewsById(Integer id) final News news = new News();String sql = SELECT * FROM NEWS WHERE ID=? ;jt.query(sql, new Objectid,new RowCallbackHandler() pub
41、lic void processRow(ResultSet rs) throws SQLException news.setId(rs.getInt(id);news.setAuthor(rs.getString(author);news.setBz1(rs.getString(bz1);news.setDate(rs.getString(date);news.setTitle(rs.getString(title);news.setContent(rs.getString(content););return news;/* * 删除 */public void deleteNews(Integer id) String sql = DELETE FROM NEWS WHERE ID=?;jt.update(sql, new Objectid);/* * 更新 */public void updateNews(News news) String sql = UPDATE NEWS SET BZ1=?,AUTHOR=?,DATE=?,TITLE=?,CONTENT=? WHERE ID=?;jt.update(s
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100