软件生产实习报告书
办公自动化系统的设计与实现
学 号:0905010422
姓 名:常勇
指导老师:姜磊
完成日期:20##年3月15日
目 录
第一章 前言---------------------------------------------------1
第二章 可行性分析-------------------------------------------1
1、 社会可行性分析---------------------------------------------1
2、 使用可行性分析---------------------------------------------1
第三章 系统分析----------------------------------------------1
1、性能需求------------------------------------------------1
2、功能需求------------------------------------------------2
3、用户需求------------------------------------------------------2
第四章系统总体设计-----------------------------------------2
1、功能描述------------------------------------------------2
2、系统操作流程图-----------------------------------------3
第五章 系统详细设计--------------------------------------4
1、数据库设计---------------------------------------------4
2、系统模块设计-------------------------------------------5
第六章 系统测试--------------------------------------------9
1、测试环境-----------------------------------------------9
2、主要模块测试及结果-------------------------------------9
总结-----------------------------------------------------10
参考文献------------------------------------------------------11
第一章 前言
随着信息技术的飞速发展和日趋激烈的商业竞争,企业已不再满足于独立、零散的办公自动化应用,企业需要的是协同工作、综合、集成化的解决方案。而网络是解决由于物理距离造成的信息交流不畅、协商沟通不便的办公瓶颈问题的最佳方式。企业网上办公自动化通过对各办公自动化要素的闭环整合,实现了工作流、信息流、知识流和办公自动化系统的整合管理,提供了一个科学、开放、先进的信息化办公平台,实现办公自动化,并进行远程办公或在家办公。企业网上办公自动化将人从繁琐、无序、低序、低端的工作中解放出来从事核心事务,整体提高了单位办事效率和对信息的可控性,降低办公成本,提高执行力,使管理趋于完善
第二章 可行性分析
2.1、 社会可行性分析
随着中国加入WTO及全球经济一体化进程的加快,世界经济已由工业化经济逐步进入网络信息化时代。在信息时代来临之季,各企业都紧跟时代的脚步,转变着企业的经营模式、管理模式,从传统的人工管理体制,向信息自动化管理体制过渡。与此同时,企业的传统式的办公管理模式也在逐步向自动化办公管理模式转变。网络自动化办公系统就是在这样的大背景下应运而生的。
2.2、 使用可行性分析
信息时代的到来让人们尝到了“信息爆炸”的滋味,信息的大量拥入让企业在信息处理方便应接不暇,传统的办公模式、对信息的处理方法,早已不能满足企业对信息快速、准确的处理的要求。一个企业对信息数据的掌握程度、处理能力,体现了一个企业对市场的敏感程度,数据的真实性、准确性直接决定着企业的发展方向。从传统的办公模式向自动化办公管理模式转变,提高企业的信息处理能力,以增强企业的市场竞争力,也将给社会的信息化建设带来深远而有意义的影响。
第三章 系统分析
3.1、性能需求
系统应该操作简单,界面友好,运行过程便于维护,系统地执行速度要快,安全性要好。
3.2、功能需求
本课程设计要求实现办公自动化的基本功能,主要的表有:部门信息、员工信息、用户信息、员工ID信息、文档信息、短信信息等,所设计的办公自动化系统应包含输入输出、查询、插入、删除等基本功能。系统各功能模块如下:
(1)部门信息管理
部门信息包括:部门ID、部门名称、部门描述、联系电话、上级部门名称、备注。
(2)员工基本信息管理
员工基本信息包括:员工ID、员工名称、员工编号、性别、民族、办公电话、移动电话、职务、部门ID。
(3)用户信息管理
用户信息包括:用户名称、真实姓名、用户密码、联系电话、电子邮件。
(4)员工ID信息管理
员工ID信息包括:员工编号、员工姓名。
(5)文档信息管理
文档信息包括:文档ID、文档名称、文档创建时间、文档作者、文档来源、用户ID。
(6)短信信息管理
短信信息管理包括:短信ID、发送者、接收者、发送日期、主体内容、是否阅读、移动电话号码。
其中,部门名称需要和实际存在的部门对应起来,员工编号需要和实际存在的员工编号对应起来。
此外,与企业实际情况相结合会涉及到管理权限的问题:如员工有权登陆查看自己的基本信息,除了密码以外无权修改其他信息,管理员无权查看员工的个人密码。因此,在数据库设计和前台应用程序设计的时候,应对这些问题给予解决方案。
3.3、用户需求
合理的登录,用户根据自己的权限来进行操作。
第四章 系统总体设计
4.1.功能描述:
该信息管理系统可以在Windows xp平台上运行,开发工具采用Visual c++语言开发,其工作流程为:用户登录通过权限判断,普通用户不能浏览、阅读和查询信息,指定用户可以操作,可以进行信息录入、修改和删除的操作。
系统的主要功能特点有:
(1)系统登录表单
该表单的功能是在系统被访问之前,要对进入系统的用户进行安全性检查,防止非法用户进行系统破坏数据及威胁系统安全,避免不必要的损失。只有合法的用户在输入正确的密码后方可进入系统。
(2)主界面
在该界面窗口中,共有文件、数据、关于等所有系统功能,用户可以操作菜单的方式快捷地使用系统。
(3)更改密码
使用本表单可以方便地修改用户的密码,以防密码泄露后对数据的安全性造成威胁。
4.2系统操作流程图:
图 4-1系统操作流程图
第五章 系统详细设计
5.1数据库设计
部门信息表:dept
表5-1
用户信息表:employee
表5-2
通讯录信息表:address_book
表5-3
短信信息表:messages
表5-4
新闻信息表:news
表5-5
5.2、系统模块设计
1)经过对系统的整体需求分析之后,确定该人事管理系统的模块有如下:
图:5-1
2)项目采用MVC三层体系结构,使用了Javascript,Servlet,ajax和Jsp等技术。
该系统采用的是jdbc连接数据库,封装dao层,这样子不用每次对数据库操作都会运用get()和set()函数,这样提高了程序的设计效率,减少代码量
示例代码:
/**
* 据sql获取数据
*
* @param sql
* @return data查询结果集
*/
public List queryInfoBySql(String sql) {
// 用于接收返回
List data = new ArrayList();
Class cls = this.getObjectClass();
conn = DBConnection.getConnection();
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
// rs存储结果集类
ResultSetMetaData rsmd = rs.getMetaData();
Class rscls = rs.getClass();
int cols = rsmd.getColumnCount();// rs中数据列数
while (rs.next()) {
Object obj = cls.newInstance();
for (int i = 1; i <= cols; i++) {
// 据列名拼属性名
String fieldName = this.underlineToUpper(rsmd
.getColumnName(i).toLowerCase());
// 据属性名获得属性对象
Field field = cls.getDeclaredField(fieldName);
// 据属性名拼该属性的set方法名
String setStr = "set"
+ Character.toUpperCase(fieldName.charAt(0))
+ fieldName.substring(1);
// 据set方法名获取set方法对象
Method setMethod = cls.getDeclaredMethod(setStr,
field.getType());
// 据属性类型拼rs的get方法名
String rsget = "get"
+ Character.toUpperCase(field.getType()
.getSimpleName().charAt(0))
+ field.getType().getSimpleName().substring(1);
// 据rs的get方法名获取get方法
Method rsgetMethod = rscls.getDeclaredMethod(rsget,
int.class);
setMethod.invoke(obj, rsgetMethod.invoke(rs, i));
}
data.add((Object) obj);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
DBConnection.closeConnStmtRs(conn, pstmt, rs);
}
return data;
}
3)框架设计
模拟struts2.1搭建框架如图:5-2
图:5-2
部分代码如下(继承HeepServlet类):
/**
* 继承HttpServlet类实现doPost()方法来实现动态action
* @author wenqier
*
*/
public class ActionControl extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// 解析链接url
// 获取模块方法名
String method = request.getParameter("do");
// 获取链接为字符串
String uri = request.getRequestURI();
// 获取模块类简单名
String classSimpleName = uri.substring(uri.lastIndexOf("/") + 1, uri
.indexOf("."));
try {
// 获取模块类名
String className = ActionConfigManage
.getServiceClassName(classSimpleName);
// new模块类对象
Class cls = Class.forName(className);
Object obj = cls.newInstance();
// 据方法名获取方法类
Method callMethod = cls.getMethod(method, HttpServletRequest.class,
HttpServletResponse.class);
// 调用方法
ActionForward fwd = (ActionForward) callMethod.invoke(obj, request,
response);
System.out.println(fwd.getName());
// 依据fwd的name从config中获取fwd的redirect和target
fwd = ActionConfigManage.getActionForward(classSimpleName, fwd
.getName());
// 跳转
if (fwd.isRedirect()) {
response.sendRedirect(fwd.getTarget());
} else {
request.getRequestDispatcher(fwd.getTarget()).forward(request,
response);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
第六章 系统测试
6.1 测试环境
系统软件:Windows 7
工具软件:myeclipse、oracle 11g、tomcat6.0。
6.2 主要模块测试
管理员用固定的用户名administer登陆,程序通过判断用户输入的用户名,查询不同的数据表,得到该用户的密码,和用户输入的密码比较。若密码正确,则根据用户的不同显示不同的界面;若密码错误,则提示重新输入。管理员成功登陆后,显示一个选项卡界面,五各选项卡分别显示五张数据表。程序的登录模块基本可以运行。
如下图所示为登陆界面:
图6-1
下图所示为一个用户登录到的静态页面:
图6-2
六、设计体会及总结
课程设计是培养我们综合运用所学知识,发现、提出、分析、解决问题的一个过程,是对我们所学知识及综合能力的一次考察。随着科学技术日新月异的不断发展,计算机网络也在不断的变化发展当中,这就要求我们用相应的知识来武装自己,夯实基础,为将来走向工作岗位,贡献社会做好充分的准备
通过此次课程设计,使我更加扎实的掌握了有关方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰
七、参考资料
1、 《数据库系统概论》 萨师煊,王珊主编 高等教育出版社
2、 《OA办公自动化系统在企业中的实际应用价值》 刘雁 科技资讯-20##年13期
3、 《Delphi数据库开发毕业设计指导及实例》 刘瑞新主编 机械工业出版社
4、 《办公自动化系统管理设计》 于文奇 电脑编程技巧与维护-20##年8期
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸 计算机系综合管理平台设计
二、设计目的
使学生在网络协议编程、网络应用设计、网络工程、网络性能分析等方面进行实践训练。
三、设计说明
每小组4人,以组为单位进行实验。
四、设计内容
计算机系综合管理平台设计
包括总体设计、教师队伍、新闻发布、资料共享、教学师生讨论BBS、学科竞赛活动、科学研究等模块。
五、设计条件
(一)计算机实验室:B502、B503、B505
(二)参考文献:
1. 网络协议编程教材,比如:吴英. 计算机网络应用软件编程技术. 机械
工业出版社,2010.6;
2. 其他基于ASP.NET、JSP等网站设计参考书。
六、时间安排
本课程总学时2周,时间为第1-2周。
第1周周1上午8点开始,第2周周5验收。
验收方式:学生演示设计成果,并回答教师提问。
七、设计方案及流程
- 1 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸 本次课设依照设计要求,在两周的时间内进行包括需求分析、总体设计、分块设计和综合编译等若干步骤,按照上述的几个步骤,我们在两周时间内基本完成了设计要求。在其中一些方面进行了进一步的拓展。
(一)、需求分析
1.概述和目标
随着网络的高速发展,网络OA系统逐渐受到关注。高校中不乏致力实现学校、教师和学生之间的网络管理自动化,这将为他们节省大量的人力资源,节省大量的管理费用,大幅度提高管理效率。
我们将开发一个适合我们计算机系使用的小型网络OA管理系统。其开发目的旨在通过设计来初步实现和了解网络OA系统的构建。
该OA系统主要实现:
a、专业内各种信息资源的公布;
b、加强教师间的交流、提高整体工作效率;
c、提供给外界一些数据,方便外界了解关注计算机系;
d、提供各种工作记录,以备事后查询。
2.用户特点
本OA办公系统软件的最终用户是面向计算机系的老师和同学们及相关管理人员一套软件,由于时间、精力等客观因素的限制,本系统现在还无法对学生开放,只局限于老师和管理员之间,同时操作人员需要有一定的计算机操作基础,对于系统管理员不仅要有一定的计算机基础,还要求有一定的网络管理经验。
3.假定与约束
用户全部基于浏览器的使用方式最为流行的B/S模式,通过IE浏览器,即可进入系统的登录画面,方便用户使用,降低了系统维护的工作量。完善的用户登录及安全机制登陆系统提供用户名和口令后才能访问系统,保证系统的安全性。
4.软件的基本分划
系统功能模块图
- 2 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
- 3 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸 限于篇幅和能力有限,这里的需求分析较为简单,关于OA系统的更多内容,将在下面的内容中详细介绍。
(二)、软件功能简介
1.软件网页主页登陆画面
登陆界面包括教师登陆和管理员登陆,同时出于人性化的考虑特在主业左上角添加了日期时间等信息。
2.公告管理
公告管理系统,主要分为两大部分。第一部分是“查看以前的公告”
- 4 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸 在此菜单下用户可以查看其他授权用户发出的公告的详细信息,并可删除显示的公告。
第二部分是发布公告系统,在此菜单下,授权用户可以发布新的公告,并可在第一个菜单中查询到自己的公告。
3.教师管理
教师管理系统有三部分组成。在这里,不仅可以查询数据库中每一位教师的详细信息。(包括出生年月、学历、职称、所在专业、电话、地址和工作状态等)还可以添加教师信息等针对教师的管理和查询。
第二部分就可以查看到所有老师的详细信息。
- 5 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
第三部分是教师信息的添加,这里有一些信息是选择性的(如:专业 性别等)
,此功能规范了教师信息的添加,使得信息的正确有效性大大提高。
4.专业信息
此模块功能主要是查看每个专业的一些信息和介绍
- 6 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸
5.收发信息
此模块是我们小组在设计中进行拓展的一部分,在这个网络和信息高速发展的现代,软件的实时性是一个重点问题,这里我们加入了一个收发信息的模块,不仅提高了软件的实时性,而且更方便了用户之间的交流,
体现了人性化的优点。
下面是一些重要模块的主要代码段
- 7 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸 八、遇到的问题及解决方案
最开始遇到的是构建平台的问题,
画为程序流程图对地址映射很迷惑,在0块芯片不是04,05,06顺序输入,经过小组讨论才明白不同地址存微址映射到1~7的芯片,8块芯片使用时分别有各自的功能,缺一不可协同工作,这就导致连接扩展板时只有8块芯片都确认无误才能连接pc端的pcec,才能进行下一步的检验部分,因为无法正确连接扩展板反复检查芯片输入,因为不够细心再输入的时候出现大大小小的差错,经过修改可以正常连接pc端解决问题。
验证程序需要使用汇编语言,对于微程序的使用格式和程序的编写需要很多逻辑上的关系,虽然有些程序很短很简洁但里面都有需要注意的地方,有时候指令没有错误但程序就是不能达到预想的结果,这种情况大部分都是验证程序有些出入,在小组的讨论和查阅书籍的情况下不仅仅完成了指令的验证也对汇编语言语句和所编的程序都有了更深一步的了解,受益匪浅。
十二、总结和感想
经过两周的课程设计,最主要的感受就是实践出真知,起初对网络编程的相关知识只是在书本理论和要求的实验阶段,没有做过具体的实验。而且对于我们以前写过的一些代码,只能说是代码段,他是一个软件的组成部分,代表不了软件,而一个软件是有许多部分组成的,不仅仅是代码。通过课程设计这个实践的机会,我们了解了一个软件的基本组成部分。更是清楚每个软件模块所要付出的精力时间都很大,这是目前我们所不足的地方。
小组分工不是很明确,但都参与其中,整个课设是一个完整的工作,分工过于明细只能了解部分的操作,每个人都参与工作的每一步,从最初的简陋的需求分析到模块的设计和查找,再到许多平台配置的难题,每一步都有每一个人努力,课设过程中大大小小遇到很多问题,解决一个马上又出现一个,小到一段代码错误,大到整个软件的的崩溃,虽然过程不是很顺利但从问题中学到了更多的东西,在规定时间完成课设的要求,两周在忙碌中过的很快而且很充实。
把书本上学的东西实践到眼前实际的设计,看着软件的模块一个个的成功完成测试,体会感觉书本上学的知识不再只写在纸上,可以真正用在生活中。现在所使用的各种人性化的功能都是在这个基础上实现的。总之在两周的课程设计学
- 8 -
北京石油化工学院 BEIJING INSTITUTE OF PETROCHEMICAL TECHNOLOGY 课程设计用纸 习中学到了与书本上相互补充的知识.
- 9 -
信息与电气工程学院课程设计说明书20xx20xx学年第二学期课程名称网络工程课程设计题目校园网内网设计专业班级组长组员指导教师设计…
淮海工学院计算机工程学院课程设计报告设计名称:计算机网络课程设计姓名:学号:专业班级:系(院):设计时间:设计地点:网络技术室
武汉理工大学华夏学院课程设计报告书课程名称计算机网络课程设计题目小型互联网组网工程模拟系名专业班级姓名学号指导教师月日课程设计任务…
网络工程实践报告要求根据本课程的教学内容和下列要求设计一个网络方案的实施计划书希望结合实际体现目前较新和较成熟的网络技术体现其实用…
淮海工学院计算机工程学院课程设计报告设计名称计算机网络课程设计姓名学号专业班级系院计算机工程学院设计时间20xx010420xx0…
点对点数据交换P2P目录需求分析511课程设计目的512课程设计要求513选题与操作流程514开发环境与开发平台5总体设计521总…
课程设计报告专业班级姓名学号一实践内容1掌握RJ45网线接头的制作方法1双绞线的性能指标分类2RJ45接头线序各线的位置作用3制作…
天津职业技术师范大学1使用ARP发现局域网内活动主机发送ARP数据包摘要ARP协议用于完成IP地址与MAC地址之间的转换熟悉ARP…
长治学院课程设计报告课名称:计算机网络设计题目:一个简单企业网的设计与实现系别:计算机系专业:计算机科学与技术(1301班)组别:…
课程设计教学院课程名称题目专业班级姓名同组人员指导教师计算机学院计算机网络原理计算机网络原理计算机科学技术3班廖万君唐稳舟潘明磊兰…