基于java语言开发的客户档案管理系统课程设计报告Word文档格式.docx
- 文档编号:17776199
- 上传时间:2022-12-10
- 格式:DOCX
- 页数:23
- 大小:115.10KB
基于java语言开发的客户档案管理系统课程设计报告Word文档格式.docx
《基于java语言开发的客户档案管理系统课程设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于java语言开发的客户档案管理系统课程设计报告Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
本软件是一个小型的电子档案管理系统,主要应用于企业,学校,政府部门等企事业单位,以使他们能对档案进行简便的管理。
软件能够方便的管理用户、部门、档案和档案库,包括添加、删除、修改、查询等,同时也可以对档案进行检索和借阅。
可行性分析
该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。
我们在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析。
技术可行性
技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。
本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。
软件方面,由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。
经济可行性
开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。
而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。
所以,从经济的角度来看,该系统可行。
操作可行性
当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在操作上是可行性的。
具体需求
功能需求
图2-1用户功能需求图
性能需求
精度的需求
对插入数据库中的数据要求不为空
对用户密码长度以及用户名的长度做了限制
登录时要求用户名不能为空
时间特性的要求
1、响应时间不能太长,否则和用户的交互不好
2、更新处理时间不能太长
3、数据的转换和传送时间
灵活性
由于软件环境可能随时会发生变化,为了应对软件环境的变化。
在遇到需求发生变化时,有以下几种:
运行环境的变化:
由于本软件使用JSP语言开发,有很强的可维护性和扩展性;
计划的变化或改进:
由于种种原因可能导致软件的开发不能按照计划如期进行,应该及时改进软件开发计划,有条不紊的完成软件的开发。
UML用例
用例:
用户管理
小结:
在系统管理员选择对应操作后,系统进行业务逻辑的处理,实现用户和管理员的添加、删除、修改等功能。
参与者:
系统管理员
前置条件:
系统提供用户操作的界面,等待操作的信息。
描述:
当进行用户管理时,系统管理员可以实现用户的添加和删除功能。
如果是增加用户,该用户会有普通用户的权限;
删除用户,则此用户不再有访问系统的权限。
异常:
错误:
由于身份不符,无法通过系统的认证,提示“您无法进行此操作!
”
用户已存在:
如果系统管理员新增的用户名已经存在,就会显示“该用户已经存在”,系统退出当前页,等待系统管理员的重新输入。
密码不一致:
如果系统管理员前后两次输入的密码不一样,就会显示“两次密码不一样”,系统退出当前页,等待系统管理员的重新输入。
输入不完整:
如果系统管理员输入的信息不完整,就会显示“请输入用户名”或“请输入密码”,系统退出当前页,等待系统管理员的重新输入。
后置条件:
添加或删除用户,等待系统管理员的操作信息。
新增部门
在系统管理员选择对应操作后,系统进行业务逻辑的处理,实现增加机构的功能。
选择新增机构操作,弹出信息输入对话框,系统管理员进行输入,填写新增机构的详细信息,增加对应机构。
由于身份不符,无法通过系统的认证,提示“您无法进行此操作!
如果系统管理员输入的信息不完整,就会显示“请输入机构名”或“输入机构信息不完整”,系统退出当前页,等待系统管理员的重新输入。
后置条件:
新增机构,等待系统管理员的操作信息。
更改部门
在系统管理员选择对应操作后,系统进行业务逻辑的处理,实现更改机构的功能。
图2-2系统管理员用例图
第3章系统所涉及的技术介绍
系统分析就是在调查研究的基础上,对系统的各种方案和设想进行分析、研究、比较和判断的过程,目的是获得有关合理的新系统的逻辑模型。
系统分析方法主要有结构化方法、原型法、面向对象方法、Case方法。
系统分析是管理信息系统开发的生命周期中的第一个阶段,主要解决系统“做什么”的问题。
在当今科学技术高度发达的现代化社会里,事物间的联系日趋复杂,出现了各式各样的系统,且这些系统通常都是开放性系统,它们与所处的环境即更大的系统发生着物质、能量和信息等的交换关系。
系统同环境的不适应将对系统的存在产生不利影响,这是系统的外部条件要求。
从系统内部看,它们通常由许多层次的分系统组成。
系统与分系统之间有着纵横交叉的复杂关系。
本系统采用了结构化的开发方法,结构化分析方法具有严格的秩序和一套可以实施的标准、规范、方法和技术,是最基本、最成熟的开发方法。
其基本思想是:
用系统的思想和系统工程的方法,按照用户至上的原则结构化、模块化,自顶向下对系统进行分析与设计。
结构选择:
B/S结构
B/S结构,即Browser/Server(浏览器/服务器)结构,是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),服务器安装Mysql、Oracle、Sybase、Informix或SQLServer、TRIP等数据库,浏览器通过WebServer同数据库进行数据交互。
B/S结构是随着Internet技术的兴起,对C/S(客户机/服务器)结构的一种变化或者说是对其改进后的结构。
对一个稍具规模的单位来说,系统管理人员如果需要在几百甚至几千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护,B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;
并增加了交互性,能进行局部实时刷新。
因此,本系统决定采用B/S结构。
编程语言:
Java
Java是一种编程语言,被特意设计用于互联网的分布式环境。
Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。
使用Java编写的应用程序,既可以在一台单独的电脑上运行,也可以被分布在一个网络的服务器端和客户端运行。
另外,Java还可以被用来编写容量很小的应用程序模块或者applet,做为网页的一部分使用。
applet可使网页使用者和网页之间进行交互式操作。
Java是Sun微系统公司在1995年推出的,推出之后马上给互联网的交互式应用带来了新面貌。
目前,最常用的两种互联网浏览器软件中都包括一个Java虚拟机。
几乎所有的操作系统中都增添了Java编译程序。
多线程支持符合时新的基于网络和图形用户界面的应用程序,这些应用程序必须同时参加多个任务,而异常处理机制则简化了错误情况的处理。
尽管Java的内建工具很强大,但它仍然是一门简单的语言,程序员能够很快的上手。
JavaBean组件
JavaBean概述
JavaBean是一种JAVA语言写成的可重用组件。
为写成JavaBean,Java类必须是具体的和公共的,并且具有无参数的构造器。
JavaBean通过提供符合一致性设计模式的公共方法,将内部域暴露为成员属性。
众所周知,属性名称符合这种模式,其他Java类可以通过自身机制发现和操作这些JavaBean属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JavaBean可分为两种:
一种是有用户界面(UI,UserInterface)的JavaBean。
还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。
JSP通常访问的是后一种JavaBean。
JavaBean的任务
JavaBean的任务就是:
“Writeonce,runanywhere,reuseeverywhere”,即“一次性编写,任何地方执行,任何地方重用”。
这个任何实际上就是要解决困扰软件工业的日益增加的复杂性,提供一个简单的、紧凑的和优秀的问题解决方案。
具体描述如下:
JavaBean组件在任意地方的重用说的是它能够在包括应用程序、其他组件、文档、Web站点和应用程序构造器工具的多种方案中再利用。
这也许是JavaBean组件的最为重要的任务了,因为它正是JavaBean组件区别于Java程序的特点之一。
Java程序的任务就是JavaBean组件所具有的前两个任务,而这第3个任务却是JavaBean组件独有的。
JavaBean的主要设计目标
紧凑而方便的创建和使用JavaBean紧凑性的需求是基于JavaBean组件常常用于分布式计算环境中,这使得JavaBean组件常常需要在有限的带宽连接环境下进行传输。
显然,为了适应传送的效率和速度,JavaBean组件必须是越紧凑越好。
另外,为了更好地创建和使用组件,就应该使其越简单越好。
JavaBean与Java
虽然JavaBean和Java之间已经有了明确的界限,但在某些方面JavaBean和Java之间仍然存在着非常明显的混淆。
Java确实是能够为用户创建可重用的对象,但它却没有管理这些对象相互作用的规则或标准。
JavaBean提供了一个框架包,使用这个包进行通讯就容易得多了。
JavaBean组件能够通过定义好的标准属性改进性能。
总体而言,JavaBean充分发展了Javaapplet的功能,并结合了JavaAWT组件的紧凑性和可重用性。
数据库:
Mysql
数据库概述
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。
当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。
所有的信息(数据率档)的编纂物,不论其是以印刷形式,计算机存储单元形式,还是其它形式存在,都应视为“数据库”。
Mysql简介
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。
在2008年1月16号被Sun公司收购。
而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL的官方网站的网址是:
Mysql的优点与特性
使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2
Wrap、Solaris、Windows等多种操作系统。
为多种编程语言提供了API。
这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
支持多线程,充分利用CPU资源。
优化的SQL查询算法,有效地提高查询速度。
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
WEB应用服务器:
Tomcat
如今,基于Web的应用越来越多,传统的Html已经满足不了如今的需求。
我们需要一个交互式的Web,于是便诞生了各种Web语言。
如Asp,Jsp,Php等。
当然,这些语言与传统的语言有着密切的联系,如Php基于C和C++语言,Jsp基于Java语言。
本文所要介绍的Tomcat即是一个Jsp和Servlet的运行平台。
JSP简介
Jsp(JavaServerPage)是在普通Html中嵌入了Java代码的一个脚本,在这一点上,它与其它的脚本语言(如Php)一样,但它与其它语言不同的是:
其它脚本语言由服务器直接解释这个脚本,而Jsp则由Jsp容器(如Tomcat)首先将其转化为Servlet,然后再调用Javac将Servlet编译为Class文件。
最终,服务器解释的是Class文件。
那么什么是Servlet呢?
Servlet其实是一个特殊的Java类,Servlet类一般从HttpServlet类继承而来,在这个类中至少要实现doGet或者doPost函数,在这两个函数中处理来自客户的请求,然后将结果返回。
Servlet和Jsp是Sun公司J2EE架构中重要的部分。
由于基于Java语言,因此其可以方便的调用功能强大的JavaAPI(如JDBC)。
Struts简介
Struts是一种基于MVC模式的开源代码的应用框架,它通过将Servlet、JSP、JavaBean、自定义标签和信息资源整合到一个统一的框架中,为Web开发提供的MVC模式更具有可配置性。
而Struts2框架是Struts的替代版本,Struts2框架整合了Struts框架和WebWork框架的优点。
相对Struts,Struts2已经有了非常大的改变,去掉了ActionForm,降低了框架组件之间的耦合性,Struts2的Action只是普通的Java类(POJO),给模块测试工作带来了极大的方便。
Struts2提供了强大的整合能力,支持多种返回结果类型,改进了Struts的标签库,引入OGNL表达式和值栈的概念,给开发者带来了更好的体验。
Struts2在WebWork基础上发展起来的,可扩展的JAVAEEweb框架。
框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
Action类:
Struts2Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。
Struts2提供一个ActionSupport基类去实现常用的接口。
Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
Tomcat概述
Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。
Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的java产品,可见其在业界的地位。
开发工具:
Myeclips
利用Eclipse,我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。
如果这些互相补充的独立工具采用Eclipse扩展点彼此连接,那么当我们用调试器逐一检查应用时,UML对话框可以突出显示我们正在关注的器件。
事实上,由于Eclipse并不了解开发语言,所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。
因其用户广泛、免费开源、功能强大,本项目的开发工具使用Eclipse。
而MyEclipse只是Eclipse的一个插件。
图标制作工具:
MicrosoftOfficeVisio
MicrosoftOfficeVisio2010有助于IT和商务专业人员轻松地可视化、分析和交流复杂信息。
它能够将难以理解的复杂文本和表格转换为一目了然的Visio图表。
该软件通过创建与数据相关的Visio图表(而不使用静态图片)来显示数据,这些图表易于刷新,并能够显着提高生产率。
使用OfficeVisio中的各种图表可了解、操作和共享企业内组织系统、资源和流程的有关信息。
基于以上理由,我在此项目中选择使用Visio2003作为软件结构图、流程图等图标的制作工具。
第4章总体设计
系统功能分析
电子档案管理系统涉及用户信息、部门信息、档案库信息、档案信息、借阅信息、档案检索信息等多种数据信息。
档案管理用户包括系统管理员、普通用户。
系统管理员负责日常的档案管理工作,如各种基本信息的录入、修改、查询、删除等操作。
普通用户使用该系统可修改密码,查询档案信息和自己的借阅信息等。
经过调研与分析,电子档案理系统主要应具有以下功能:
(1)用户信息管理:
包括用户信息数据的录入,密码、权限修改,删除等功能。
(2)部门信息管理:
包括部门信息的录入、修改描述与删除等功能。
(3)角色信息管理:
包括角色信息的录入、修改、查询与删除等功能。
(4)档案信息管理:
包括档案信息的录入、修改、查询与删除等功能。
(5)检索信息管理:
包括按照不同方法检索档案、档案库等。
系统功能结构图
主要功能流程图
N
YY
图4-2主要功能流程图
数据库设计
数据库设计是对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
信息管理要求是指在数据库中应该存储管理哪些数据对象;
数据操作要求是指对数据对象进行哪些操作,如查询、增加、删除、修改、统计等。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
对于数据库应用系统来讲,数据库结构是否合理,将直接影响该系统的开发。
基于一个设计合理的数据库开发的数据库应用系统,不但软件编码速度快,而且软件在需求发生变化后,修改周期也大大缩短。
数据库设计分为需求分析、概念设计、逻辑设计和物理设计。
需求分析是分析用户的要求,概念设计是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。
数据库逻辑设计是建立表结构(即定义表中的字段(字段名、类型、长度等))及表之间的关系。
数据库物理设计是要在一个具体的数据库管理系统下实际创建数据库、规划数据库(存储位置、增长方式、访问权限等),设计表及表间关系。
关系数据库
本系统将采用关系数据库。
关系数据库因为它结构简单、格式单一、理论基础严格以及数据表之间相对独立的优点,因而被业界所推崇,如今已成为使用最广泛的数据库结构模型。
1.关系数据库内部结构
关系数据库是由数据表和数据表之间的关联组成的。
其中数据表通常是一个由行和列组成的二维表,每一个数据表分别表名数据库中某一特定的方面或部分的对象及其属性。
数据表中的行又称为记录或元组,他代表众多具有相同属性的对象中的一个;
数据表中的列又称为字段或属性,它代表相应数据库表中存储对象的共有的属性。
2.关系数据库表的关联
在关系数据库中,表的关联是一个非常重要的组成部分。
表的关联是指数据库中的数据表与数据表之间使用相应的字段实现数据表的连接。
通过使用这种连接,无须再将相同的数据多次存储,同时这种连接在进行部门查询时也非常重要。
例如,一个单位中的人事信息表的部门编号要与部门表中的部门编号进行关联,从而获取部门表的部门汉字名称。
3.设计规划关系数据库在设计数据库时,首先要考虑数据库中要包含那些表,每个数据表要说明的具体对象集是什么,同时还要确定这些表之间存在什么样的关系。
然后才能按部就班地组织和建设数据库。
4.表的主键外键
主键是数据表中具有唯一型的字段,也就是说数据表中任意两条记录都不可能拥有相同的主键字段。
在管理数据表时,也可以通过设置主键以提高查询性能,因为数据库管理系统将使用主键进行查询,以提高查询速度。
数据库管理系统并不会强制要求在每一个数据表中都设置主键,但这样做,有助于提高操纵数据的性能。
5.数据的完整性
数据的完整性是指存储在数据库中数据的正确性和可靠性,它是衡量数据库中数据质量好坏的一种标准。
数据完整性要确保数据库中数据一致、准确,同时符合企业规则。
数据库需求分析
电子档案管理系统的流程中,都需要用到数据的查询、添加、修改和删除。
管理员有权对普通员工和管理员进行信息修改,权限修改,同时也能对系统里面的档案信息、档案库信息进行基本的增删改查处理,对借阅信息进行管理。
而普通员工只能对他所拥有的权限的档案库以及里边的档案进行管理,但是他不能对员工的基本信息进行修改。
数据库概念结构设计
在概念设计阶段中,采用自底向上方法设计概念结构,从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。
将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。
利用ER方法进行数据库的概念设计,可分成三步进行:
首先设计局部ER模式,然后把各局部ER模式综合成一个全局模式,最后对全局ER模式进行优化,得到最终的模式,即概念模式。
图4-3系统E-R图
数据库E-R图如下所示:
图4-4数据库E-R图
实体和属性的定义如下:
用户数据实体:
包括用户账号,用户密码,用户权限,其中账号和密
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 语言 开发 客户 档案管理系统 课程设计 报告