版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨师范大学
课程名称:任课老师:
题
目:
姓
名:
学
号:
学
院:
系
别:
目录TOC\o"1-3"\h\u27272第一章系统开发背景概述 图3-1系统功效模块
3.2、数据步骤分析
数据流图(DataFlowDiagram),是描述系统逻辑模型关键工具之一,它是在对系统业务步骤图进行分析基础上用少数多个符号综合地反应出信息在系统中流动、存放和处理等情况,并能将信息处理功效和相互之间联络,自上而下,逐层分解,从逻辑上正确地描述出系统应含有数据加工功效、数据输入输出、数据存放、数据起源和去向等项目。数据库需求分析是数据库结构设计第一个阶段,也是很关键一个阶段。数据步骤是指数据在系统中产生、传输、加工处理、使用、存放过程。数据是信息载体,是以后系统要处理关键对象。所以必需对系统调查中所搜集数据和统计处理数据过程进行分析和整理。数据和数据步骤分析是以后建立数据库系统和设计功效模块处理过程基础在这个阶段关键工作是搜集基础数据和数据处理步骤,为以后深入设计一打下基础。需求分析关键处理两个问题:内容要求。调查应用系统用户所需要操作数据,决定在数据库中存放什么数据。处理要求。调查应用系统用户要求对数据库进行什么样处理,理清数据库中多种数据之间关系。在数据库需求分析后,得到一个数据字典文档,包含3方面内容。数据项。包含名称、含义、类型、取值范围、长度和和其它数据项之间逻辑关系。数据结构。若干个数据项有意义集合,包含名称、含义和组成数据结构数据项。概念结构是独立于实际数据模型信息结构,必需将其转化为逻辑结构后才能进行数据库应用设计。也就是要将概念上结构转化为BP数据库系统所支持实际数据模型。数据流。指数据中数据处理过程,包含输入、处理和输出。
3.3、数据字典管理员表:编号、账号名、密码用户表(职员):编号、用户名、密码、性别、年纪、地址、电话、部门编号部门表:编号、部门名称、部门主管、部门介绍公告表:编号、作者、公布时间、标题、内容请假表:编号、职员编号、开始时间、返回时间、请假原因、申请人、审批人、审批状态考情表:编号、签到时间、签退时间、用户名、签到类型、总计第四章系统分析和设计系统分析是系统开发关键阶段。系统分析目标是要回复新系统将要“做什么”这个关键性问题。在这个阶段要集中精力,认真分析用户需求,用科学方法来表示新系统逻辑方案,建立新系统逻辑模型。
系统分析工作开始和用户提出新系统要求,进行初步调查和可行性分析后,确定新系统开发为可行即可进行具体调查和分析,提出新系统逻辑模型,最终写出系统分析汇报。系统设计就是具体定义基于计算机多种活动处理方案。在系统设计阶段,把系统分析过程当中得到逻辑模型结合对应网络技术、数据库技术等具体描述出来,并为系统实施阶段多种工作准备必需技术资料和相关文件。
系统设计基础目标就是要使所设计系统必需满足系统逻辑模型各项功效要求,同时尽可能地提升系统性能。系统设计目标是评价和衡量系统设计方案优劣基础标准,也是选自系统设计方案关键依据。评价和衡量系统设计目标实现程度指标关键有以下方面:系统效率、系统工作质量、系统可变更性、系统通用性、系统可靠性。
4.1、管理信息系统总体架构设计企业办公管理系统后台登陆企业办公管理系统后台登陆公告管理请假管理职员登录领导增删改职员请假申请领导请假审批管理员登录职员查看详情部门管理职员管理考勤统计领导增删改职员查看信息月考勤统计周考勤统计职员注册、修改密码领导查看、删除季度考勤统计4.2、管理信息系统基础设施设计和选择经过研究现在市场最普遍多个开发工具产品:eclipse,myeclipse,idea和多种java
和数据库开发工具Oracle,Sybase,SQL
Server
,MySQL,Access
等。考虑到硬件设备兼容性和所作对应软件环境要求,本系统采取eclipse和MySQL作为开发工具,采取了Jetty作为web容器。
4.3、企业管理系统总体功效及具体设计
4.3.1、企业管理系统总体功效设计本系统是针对企业办公,对职员和管理员(领导)权限设置,领导含有对公告、部门添加、修改、删除、查看功效,和对职员请假审批,对职员考勤汇总查看等功效,而已注册职员含有查看公告、部门具体信息,申请请假,查询个人请假情况,每日签到签退,和对自己考勤查看等功效,简单易于操作,很适合和企业管理和办公。
4.3.2、企业管理系统具体功效设计登录管理:分为管理员登录和职员登录,进入相关登录页面后有管理员注册和职员注册。公告管理:管理员含有对公告添加、修改、删除和查询操作,职员含有对公告查询、过滤查看功效。请假管理:职员含有申请请假、查看请假统计等功效,管理员含有对职员请假审批、对职员请假统计查看和对审批统计查看功效。部门管理:管理员含有对部门添加、修改、删除和查询操作,职员含有对公告查询、过滤查看功效。职员管理:对职员添加、删除、修改、查询功效,职员本身含有对自己信息修改和查询操作,管理员含有对职员信息查询和删除操作。考勤管理:职员含有每日签到签退功效、对自己签到签退统计查看功效和分别按最近一季度、一月、一周查看自己考勤统计。管理员含有对职员考勤统计查看功效。4.4、数据库设计4.4.1、管理员表(领导)字段名字段描述数据类型长度备注id编号Int10主键adminName系统账号名Varchar30password系统账号密码Varchar30bz1预留字段1Int20bz2预留字段2Varchar2004.4.2、用户表(职员)字段名字段描述数据类型长度备注id编号Int10主键username用户名Varchar30password密码Varchar30sex性别Varchar5age年纪Varchar5address地址Varchar100tel电话Varchar20did部门编号Int10外键bz1预留字段1Int20bz2预留字段2Varchar2004.4.3、部门表字段名字段描述数据类型长度备注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_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预留字段2Varchar2004.5、创建数据库SQL语句/*MySQLBackupSourceServerVersion:5.0.27SourceDatabase:companyDate:/11/1612:12:25*/SETFOREIGN_KEY_CHECKS=0;--Tablestructurefor`admin`--DROPTABLEIFEXISTS`admin`;CREATETABLE`admin`(`id`int(10)NOTNULL,`adminName`varchar(20)defaultNULL,`password`varchar(50)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefor`department`--DROPTABLEIFEXISTS`department`;CREATETABLE`department`(`id`int(10)NOTNULL,`depName`varchar(50)defaultNULL,`depManager`varchar(20)defaultNULL,`profile`varchar(100)defaultNULL,`did`int(10)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefor`leaving`--DROPTABLEIFEXISTS`leaving`;CREATETABLE`leaving`(`id`int(11)NOTNULL,`start_time`varchar(50)defaultNULL,`back_time`varchar(50)defaultNULL,`reason`varchar(100)defaultNULL,`username`varchar(20)defaultNULL,`flag`int(5)defaultNULL,`bz1`varchar(255)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefor`news`--DROPTABLEIFEXISTS`news`;CREATETABLE`news`(`id`int(10)NOTNULL,`author`varchar(20)defaultNULL,`date`varchar(50)defaultNULL,`title`varchar(50)defaultNULL,`content`varchar(255)defaultNULL,`bz1`varchar(255)defaultNULL,`bz2`varchar(255)defaultNULL,`bz3`varchar(255)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefor`user`--DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`id`int(10)NOTNULL,`username`varchar(20)defaultNULL,`password`varchar(30)defaultNULL,`level`int(5)defaultNULL,`sex`varchar(10)defaultNULL,`age`varchar(10)defaultNULL,`address`varchar(50)defaultNULL,`tel`varchar(20)defaultNULL,`bz1`varchar(255)defaultNULL,`did`int(10)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;--Tablestructurefor`work`--DROPTABLEIFEXISTS`work`;CREATETABLE`work`(`id`int(11)NOTNULL,`comeTime`varchar(50)defaultNULL,`leaveTime`varchar(50)defaultNULL,`username`varchar(20)defaultNULL,`flag`int(5)defaultNULL,`bz1`varchar(255)defaultNULL,`bz2`int(10)defaultNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;
4.6、代码设计4.6.1、程序结构展示代码结构分为:模型层dao、业务层service、控制层action、实体domain、工具util图4.2程序代码结构图4.6.2、部分代码展示***注:因为代码过多,在此只展示一个完整模块。doamin:News.java(新闻实体类)/***@(#)News.java*Description: TODO新闻实体类*Version: 0.0.0*Copyright: Copyright(c)ZRH版权全部*Createby: 朱润华11月10日*/packagecom.zs.domain;importjava.io.Serializable;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.Table;/***TODO新闻实体类*@author朱润华*/@Entity@Table(name="news")publicclassNewsimplementsSerializable{ privatestaticfinallongserialVersionUID=5031021L; //主键 privateIntegerid; //作者 privateStringauthor; //公布时间 privateStringdate; //新闻标题 privateStringtitle; //新闻内容 privateStringcontent; //预留字段1 privateStringbz1; //预留字段2 privateStringbz2; publicIntegergetId(){ returnid; } @Id @GeneratedValue(generator="id",strategy=GenerationType.IDENTITY) publicvoidsetId(Integerid){ this.id=id; } publicStringgetAuthor(){ returnauthor; } publicvoidsetAuthor(Stringauthor){ this.author=author; } publicStringgetDate(){ returndate; } publicvoidsetDate(Stringdate){ this.date=date; } publicStringgetTitle(){ returntitle; } publicvoidsetTitle(Stringtitle){ this.title=title; } publicStringgetContent(){ returncontent; } publicvoidsetContent(Stringcontent){ this.content=content; } publicStringgetBz1(){ returnbz1; } publicvoidsetBz1(Stringbz1){ this.bz1=bz1; } publicStringgetBz2(){ returnbz2; } publicvoidsetBz2(Stringbz2){ this.bz2=bz2; } }dao:INewsDao.java(新闻模型层借口)/***@(#)INewsDao.java*Description: TODO填写文件作用简明说明*Version: 0.0.0*Copyright: Copyright(c)ZRH版权全部*Createby: 朱润华11月11日*/packagecom.zs.dao;importjava.util.List;importcom.zs.domain.News;/***TODO新闻模型层接口*@author朱润华*/publicinterfaceINewsDao{ List<News>findNewsAll(); NewsfindNewsById(Integerid); voiddeleteNews(Integerid); voidupdateNews(Newsnews); voidaddNews(Newsnews); NewsfindNewsByTitle(Stringtitle);}dao:NewsDaoImpl.java(新闻模型层实现类)/***@(#)NewsDaoImpl.java*Description: TODO填写文件作用简明说明*Version: 0.0.0*Copyright: Copyright(c)ZRH版权全部*Createby: 朱润华11月11日*/packagecom.zs.dao;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.jdbc.core.JdbcTemplate;importorg.springframework.jdbc.core.RowCallbackHandler;importorg.springframework.stereotype.Repository;importcom.zs.domain.News;importcom.zs.util.NewsMapper;/***TODO新闻模型层实现类*@author朱润华*/@RepositorypublicclassNewsDaoImplimplementsINewsDao{ @Autowired privateJdbcTemplatejt; publicvoidsetJt(JdbcTemplatejt){ this.jt=jt; } /** *显示 */ publicList<News>findNewsAll(){ Stringsql="SELECT*FROMNEWSWHERE1=1"; returnjt.query(sql,newNewsMapper()); } /** *查找 */ publicNewsfindNewsById(Integerid){ finalNewsnews=newNews(); Stringsql="SELECT*FROMNEWSWHEREID=?"; jt.query(sql,newObject[]{id},newRowCallbackHandler(){ publicvoidprocessRow(ResultSetrs)throwsSQLException{ 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")); } }); returnnews; } /** *删除 */ publicvoiddeleteNews(Integerid){ Stringsql="DELETEFROMNEWSWHEREID=?"; jt.update(sql,newObject[]{id}); } /** *更新 */ publicvoidupdateNews(Newsnews){ Stringsql="UPDATENEWSSETBZ1=?,AUTHOR=?,DATE=?,TITLE=?,CONTENT=?WHEREID=?"; jt.update(sql,newObject[]{news.getBz1(),news.getAuthor(),news.getDate(),news.getTitle(), news.getContent(),news.getId()}); } /** *添加 */ publicvoidaddNews(Newsnews){ Stringsql="INSERTINTONEWS(ID,AUTHOR,DATE,TITLE,BZ1,CONTENT)VALUES(?,?,?,?,?,?)"; jt.update(sql,newObject[]{news.getId(),news.getAuthor(),news.getDate(),news.getTitle(), news.getBz1(),news.getContent()}); } /** *查找bytitle *select*fromnewswheretitlelike'%qw%' */ publicNewsfindNewsByTitle(Stringtitle){ finalNewsnews=newNews(); StringBuildersql=newStringBuilder(); sql.append("select*fromnewswheretitlelike").append("'%") .append(title).append("%'"); jt.query(sql.toString(),newRowCallbackHandler(){ publicvoidprocessRow(ResultSetrs)throwsSQLException{ 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")); } }); returnnews; } }service:INewsService.java(新闻业务层借口)/***@(#)INewsService.java*Description: TODO填写文件作用简明说明*Version: 0.0.0*Copyright: Copyright(c)ZRH版权全部*Createby: 朱润华11月11日*/packagecom.zs.service;importjava.util.List;importcom.zs.domain.News;/***TODO新闻业务层接口*@author朱润华*/publicinterfaceINewsService{ List<News>findNewsAll(); NewsfindNewsById(Integerid); voiddeleteNews(Integerid); voidupdateNews(Newsnews); voidaddNews(Newsnews); NewsfindNewsByTitle(Stringtitle);}(5)service:NewsServiceImpl.java(新闻业务层实现类)/***@(#)NewsServiceImpl.java*Description: TODO填写文件作用简明说明*Version: 0.0.0*Copyright: Copyright(c)ZRH版权全部*Createby: 朱润华11月11日*/packagecom.zs.service;importjava.util.List;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importcom.zs.dao.INewsDao;importcom.zs.domain.News;importcom.zs.util.DateUtil;importcom.zs.util.RandomInt;/***TODO新闻业务层实现类*@author朱润华*/@ServicepublicclassNewsServiceImplimplementsINewsService{ @Autowired privateINewsDaodao; publicINewsDaogetDao(){ returndao; } /** *显示 */ publicList<News>findNewsAll(){ returndao.findNewsAll(); } /** *查找 */ publicNewsfindNewsById(Integerid){ returndao.findNewsById(id); } /** *删除 */ publicvoiddeleteNews(Integerid){ dao.deleteNews(id); } /** *更新 */ publicvoidupdateNews(Newsnews){ dao.updateNews(news); } /** *添加 */ publicvoidaddNews(Newsnews){ news.setId(RandomInt.getRandomInt()); news.setDate(DateUtil.getDate()); dao.addNews(news); } /** *查找 */ publicNewsfindNewsByTitle(Stringtitle){ returndao.findNewsByTitle(title); }}(6)action:NewsAction.java(新闻控制层)/***@(#)NewsAction.java*Description: TODO填写文件作用简明说明*Version: 0.0.0*Copyright: Copyright(c)ZRH版权全部*Createby: 朱润华11月11日*/packagecom.zs.action;importjava.util.ArrayList;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.ResponseBody;importorg.springframework.web.context.request.RequestAttributes;importorg.springframework.web.context.request.RequestContextHolder;importorg.springframework.web.context.request.ServletRequestAttributes;importcom.zs.domain.News;importcom.zs.service.INewsService;/***TODO新闻控制层*@author朱润华*/@ControllerpublicclassNewsAction{ @Autowired privateINewsServiceservice; publicvoidsetService(INewsServiceservice){ this.service=service; } /** *TODO显示全部新闻信息 *@return */ @RequestMapping("showNews.do") @ResponseBody publicList<News>showNews(){ List<News>news=service.findNewsAll(); RequestAttributesra=RequestContextHolder.getRequestAttributes(); HttpServletRequestrequest=((ServletRequestAttributes)ra).getRequest(); request.getSession().setAttribute("news",news); returnnews; } /** *TODO查找新闻 *@return */ @RequestMapping("findNewsById.do") @ResponseBody publicNewsfindNewsById(Integerid){ returnservice.findNewsById(id); } /** *TODO删除新闻 *@return */ @RequestMapping("deleteNews.do") @ResponseBody publicvoiddeleteNews(Integerid){ service.deleteNews(id); } /** *TODO修改新闻 *@return */ @RequestMapping("updateNews.do") @ResponseBody publicvoidupdateNews(Newsnews){ service.updateNews(news); } /** *TODO添加新闻 *@return */ @RequestMapping("addNews.do") @ResponseBody publicvoidaddNews(Newsnews){ service.addNews(news); }
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44846-2024塑料齿轮承载能力计算
- GB/T 40816.1-2024工业炉及相关工艺设备能量平衡测试及能效计算方法第1部分:通用方法
- 《光电信息科学与工程专业毕业实习》课程教学大纲
- 人教版部编本二年级语文上册全本教案
- 2024年出售转让绕线机合同范本
- 2024年代理柴油买卖合同范本
- 2024年便利店盘货转让合同范本
- 江苏省淮安市2024-2025学年九年级上学期期中历史试卷(含答案解析)
- 基础护理的护理
- 广东省2024-2025学年七年级上学期期中语文试题
- 2024届高考高考英语高频单词素材
- 回收PET塑料资源化利用及产业化进展研究
- 《住院患者身体约束的护理》团体标准解读课件
- 安全事故管理考核办法范本(2篇)
- 2024-2025一年级上册科学教科版2.4《气味告诉我们》课件
- 宣讲《铸牢中华民族共同体意识》全文课件
- 睡眠障碍的种类和处理方法
- 10000中国普通人名大全
- 口腔诊所器材清单
- 产品合格证模板
- 天然基础基坑3M深土方开挖专项方案
评论
0/150
提交评论