[毕业论文]基于Java SSH框架技术的办工自动化系统.doc_第1页
[毕业论文]基于Java SSH框架技术的办工自动化系统.doc_第2页
[毕业论文]基于Java SSH框架技术的办工自动化系统.doc_第3页
[毕业论文]基于Java SSH框架技术的办工自动化系统.doc_第4页
[毕业论文]基于Java SSH框架技术的办工自动化系统.doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

黑龙江大学毕 业 设 计题 目: 基于javaweb技术的办工自动化管理系统 专 业: 计算机软件 班 级: 05级软件1班 学生姓名: 刘忠阳 指导教师: 李继武 黑龙江大学毕业设计(论文)任务书毕业设计(论文)题目:基于javaweb技术的办公自动化管理系统姓名: 刘忠阳 院(系):计算机 专业(班级):05级软件1班任务起止日期 2009 年 3月 1 日 至 2009 年 5 月 1 日立题的目的和意义:随着计算机技术突飞猛进的发展,电脑使用的大规模普及,办公人员迫切的希望能有一套好的办公管理系统。但是,市面上大部分产品都是针对大中型企业而开发的,并且使用成本教高,维护麻烦,这就要求我们开发出一套适合中小企业,操作简便的 ,成本较底的自动化系统。技术要求与主要内容:1 技术要求:采用 struts+spring+hibernate,j2ee等主流框架技术,mysql免费数据库,tomcat服务器,myeclipse开源开发工具进行javaweb开发。2 主要内容:对办公中最常使用的模块(个人通讯录,日程安排,工作日志,短消息管理,公告管理,会议管理)等进行添加,修改,删除,查询等操作。进度安排:2009.3.1-2009.3.7 完成开题及相关信息的搜集 2009.3.7-2009.3.15 完成系统调研及需求分析2009.3.15-2009.4.15 模块划分及各模块详细设计2009.4.15-2009.4.21 系统运行及测试2009.4.21-2009.5.10 撰写论文并进行修正2009.5.10-2009.5.28 整理相关资料,准备答辩 同组设计者及分工:本人独立完成指导教师签字 年 月 日系主任签字 年 月 日摘要本系统是将办公和计算机网络结合起来的办公方式,是信息化社会的产物。通过网络,部门机构内部的人员可跨越时间、地点协同工作。通过office-automation(oa)系统,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。 具体而言,办公自动化是指利用先进的科学技术,不断地使办公业务物化于人以外的设备中,并由这些设备与办公人员构成人机信息处理系统。一般来说,一个比较完整的办公自动化系统,包括信息采集、信息加工、信息传输和信息保存这4个基本环节。核心任务是及时向使用者提供信息。可以这样简单地理解办公自动化:办公人员通过网络,采用各种媒体形式,管理和传输信息,改变传统办公的面貌,提高办公效率和质量,辅助办公决策,实现无纸化办公。办公自动化(oa)较少地应用管理模型,而强调技术的应用和办公设备的自动化使用。系统使用struts,spring,hibernate,mysql6.0,tomcat5.5,myeclipse6.0的编程环境。关键词:oa;管理;信息;自动化。abstractabstract office automation system is a system of office and computer networks combined office, information is a social product。the network and internal organs may be beyond time, locations to work with office-automation (oa) system, the transfer of information faster and more convenient, thus greatly expanding the office means achieved high office efficiency。 specifically, office automation refers to the use of advanced science and technology。 continue to make business materialized in the office other than the equipment, with office equipment and personnel man-machine information processing systems。 generally, a more complete office automation systems, including information gathering, information processing, information transmission and preservation of these four basic areas。 the main mission is to provide information to users in time。 it simply understanding oa : office staff through the network, using various forms of media, management and transmission of information。 change the traditional appearance of the office and improve office efficiency and the quality of back-office decisions, achieving paperless office。 office automation (oa) applications less management model emphasizes the use of technology and office automation equipment use。 used: struts,spring,hibernate,mysql6.0,tomcat5.5,myeclipse6.0 programming environment。 keywords :oa; management ; information ; automation。目 录摘要abstract第一章 绪论11.1课题研究的现状和存在的问题11.2论文主要研究的内容21.3论文结构的安排2第二章 相关理论及技术 32.1开发平台及运行环境32.2相关理论简介32.2.1j2ee定义32.2.2 .mvc框架 42.2.3. stru ts框架 52.2.4. spring框架62.2.5. hibernate简介 72.3开发工具简介82.3.1eclipse 82.3.2. myeclipse 82.3.3. mysql 92.3.4. tomcat92.3.5. sitemesh 10第三章 系统调研及需求分析11 3.1系统调研113.2可行性分析概述113.3. 需求分析概述123.4. 前/后台功能 13第四章 系统设计 154.1软件设计的原则15 4.1.1软件设计的原则 154.1.2. 体系结构 154.1.3. 体系结构设计原则 154.1.4. 用户界面设计 174.2系统功能结构设计174.2.1系统功能结构图17 4.2.2. 系统总体功能模块184.3系统数据库设计194.4系统模块功能详细设计224.4.1. struts 与spring框架整合方式224.4.2登陆与注册模块234.4.3个人通讯录模块244.4.4日程安排模块254.4.5工作日志模块264.4.6短消息管理模块274.4.7公告管理模块284.4.8会议管理模块29第五章 系统实现 315.1. 开发前的准备315.2. 程序结构315.3. 分页栏通用模块335.4. 装饰页面及sitemesh配置 345.5. 功能实现345.5.1总体框架及开发流程345.5.2登陆,注册模块355.5.3. 个人通讯录模块365.5.4日程安排模块385.5.5工作日志模块395.5.6短消息管理模块415.5.7公告管理模块425.5.8. 会议管理模块43第六章 系统测试及运行 466.1软件测试466.1.1软件测试的必要性466.1.2软件测试使用的方法466.2系统评价466.3软件运行47结论48致谢51参考文献52附录53附录1. struts-config.xml53附录2. applicationcontext.xml 第一章 绪 论1.1 课题的研究现状和存在的问题办公室自动化是近年随着计算机科学发展而提出来的新概念。办公室自动化英文原称office automation,缩写为 oa。办公室自动化系统一般指实现办公室内事务性业务的自动化,而办公自动化则包括更广泛的意义,即包括网络化的大规模信息处理系统。 办公自动化没有统一的定义,凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化的领域。 oa的核心问题是如何提高日常的办公效率问题。因此我们日常工作的所有内容都可以归入oa处理的范畴,如文字处理、文件誊写、传真、申请审批、办公用品、公文管理、会议管理、资料管理、档案管理、客户管理、订货销售,库存管理,生产计划,器材需求,技术管理,质量管理,成本、财务计算、劳资、人事管理。等等,那么这些都是办公软件的处理范围。 但是我们发现oa承载过多, 那到底办公自动化应该包含那些内容:广义讲,对于提高我们日常工作效率的软硬件系统,包括打印机、复印机以及办公软件都是可以成为办公自动化系统。狭义上讲,办公自动化系统是处理公司内部的事务性处理,辅助管理,提高办公效率和管理手段的系统。办公自动化的发展过程:基本界定办公自动化软件系统以后,我们先回顾一下办公自动化系统在我国的发展脉络。1、 中国的办公自动化软件系统起源于政府的公文和档案管理。由于计划经济体制的影响,政府对企业的管理出了依靠法律、法规之外,还有大量的行政指令和指示。企业在进行许多决策的时候,也经常需要向主管的政府部门请示汇报。另外,当时的政府官员和企业领导经常是你来我往难以分辨,并且存在着比较严格的对应关系,即企业领导和政府官员行政级别挂钩,因此在企业应用红头文件就比较自然。此时的办公自动化系统的特点:以公文处理、档案管理为核心的办公管理系统。其实办公其实就是办文。 2、 随着企业的介入,oa软件也有一定的发展,加入了很多企业的特性,例如,oa现在强调的知识管理,强调了业务流程的整合,但是,效果并不是很理想。主要的功能的收发文、档案管理、物品管理、文档管理、车辆管理、后勤管理、简单的人事管理等。尽管解决了企业中存在的层级结构,传统的办文程序,从文件起草、审阅、会签、签发、下发到归档、借阅等各个环节,存在流程复杂,流转时间长,导致办公效率低,决策缓慢等问题。但是由于在机构和流程上很难作很大的改动,因此解决之道就是采用先进的计算机和网络技术,不仅将办文内容电子化,而且实现整个办文过程电子化,从根本上改变了传统的工作模式。在此种情况下,办公自动化作的所有工作是将手工工作搬到计算机网络上,并利用了计算机技术的一些先进特点1.2 论文主要研究内容j2ee是一种利用java2平台来简化企业级解决方案的开发,部署和管理相关的复杂问题的体系结构。java2ee技术的基础就是java2平台标准版。目前它已经成为企业级应用开发的首选解决方案。本文主要是采用mvc的3层架构模型,整个程序采用了当前最流行的struts+spring+hibernate开源框架构成。目前市面上流行的办公管理系统不少。但是,对于企、事业单位的办公系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足该企业对数据的管理及需求的系统。我们的目标就是在于开发一个功能实用、小巧方便,简单明了的办公自动化管理系统。1.3 论文结构安排本文共分为六章:1简要阐述了本论文的研究前景和意义,以及论文内容的安排。2综述j2ee中应用到的各种相关理论与技术、开发环境、开发工具的选择。3需求分析:对本系统做简单的需求分析。4系统各功能模块的详细定义,包括应实现的功能,界面元素等。5 各功能模块实现的具体流程及代码。6 系统测试及应用。第二章 相关理论及技术近年来随着j2eeweb技术的不断成熟和应用的蓬勃发展,许多新名词的不断出现,因此在此有必要对本系统中用到的一些术语做一些介绍。故本章节就目前的一些理论及应用技术做简单描述,如j2ee,mvc,struts框架,spring框架等相关定义及特性,技术优势,以及常用的系统开发软件版本功能介绍。2.1开发平台及运行环境本系统采用struts+spring+hibernate框架实现,开发工具为jdk1.5,myeclpse6.0,mysql6.0,tomcat5.5.以上开发工具均是开源软件,可免费下载使用。运行环境:操作系统:windows 2000或 windows xp。服务器软件:tomcat5.5。浏览器:internet explorer6.0及以上版本。2.2相关理论介绍:2.2.1 j2ee简介:java和javaweb有什么区别吗?人们平常说的java一般指javase,也就是java standard edition,java的标准版,一般用来开发桌面应用程序,但是在开发桌面应用程序上相对vb,delphi,vc+并没有什么优势。 而javaweb则到了javaee领域了,也就是java enterprise edition,java的企业版,看那个web就应该想到是与internet有关的,目前,java 2平台有3个版本,它们是适用于小型设备和智能卡的java 2平台micro版(java 2 platform micro edition,j2me)、适用于桌面系统的java 2平台标准版(java 2 platform standard edition,j2se)、适用于创建服务器应用程序和服务的java 2平台企业版(java 2 platform enterprise edition,j2ee)。 j2ee是一种利用java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j2ee技术的基础就是核心java平台或java 2平台的标准版,j2ee不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的jdbc api、corba技术以及能够在internet应用中保护数据的安全模式等等,同时还提供了对 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 j2ee体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j2ee降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持enterprise javabeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。 j2ee为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。j2ee使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。2.2.2 mvc框架:mvc是model-view-controller的简称,即模型-视图-控制器。mvc是xerox在80年代为smalltalk语言提出的一种设计模式,其核心为三个模块:模型,视图和控制器。该设计模式如今已被广泛使用。在最初的b/s应用开发过程中,一般处理业务逻辑代码都嵌入在html页面中。这样做使得表示层与业务逻辑混合在一起,页面难以修改和维护。mvc设计模型把输入,输出和处理分成独立的处理模块,并在系统运行时将其结合,这样使得程序开发的耦合充非常低。其中,视图负责与用户交互,接收用户输入,并将结果返回给用户,视图一般由jsp页面组成;模型用来处理软件要涉及的业务范围,它主要是业务数据模型和业务逻辑模型,并通常负责与后台数据库交互,模型一般由javabean,ejb等组成;控制器是整个mvc模型的核心,它起总体协调和控制作用,如调用某个模型组件完成某些业务功能并最终向用户返回某个视图组件。mvc设计模式如图2.1:图2.1 mvc设计模式图2.2.3 struts框架:jakarta-struts是apache软件组织的一项开放源代码项目,它为web应用提供了模型-视图-控制器框架,特别适合于开发可扩展和可维护的web应用。struts由一组相互协作的类(组件),serlvet以及jsp标签库组成。在struts框架中,控制器角色主要由actionservlet类和action类来实现。其中actionservlet类是整个struts框架的流程控制核心,它接收来自视图组件的请求,并调用相应的action组件,然后它会把合适的视图组件返回给客户端。当web窗口接收到客户请求时就会把请求交给actionservlet类,该类根据struts-config.xml文件中的配置内容调用合适的action来处理请求,并传递请求过程的数据,这些数据是通过actionform来传递的。action本身并不包含业务逻辑的处理代码,它只是负责调用业务的处理代码。视图角色由一组jsp文件组成,负责向用户显示最终界面。struts框架建议视图组件只包含struts标签库的标签或者是jsp客户化标签。这些jsp文件中不能包含业务逻辑,也不能包含模型的信息。在struts中actionform也被看成是视图的一部分。模型表示应用程序的状态和业务逻辑。在struts框架中模型一般由javabean或ejb组件来实现。struts的工作原理如图2.2所示:图2.2 struts原理图2.2.4 spring 框架:spring 框架是一个分层架构,由 7 个定义良好的模块组成。spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,如图2.3所示。图2.3 spring结构图组成 spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现 spring mvc 框架:mvc 框架是一个全功能的构建 web 应用程序的 mvc 实现。通过策略接口,mvc 框架变成为高度可配置的,mvc 容纳了大量视图技术,其中包括 jsp、velocity、tiles、itext 和 poi。 spring 框架的功能可以用在任何 j2ee 服务器中,大多数功能也适用于不受管理的环境。spring 的核心要点是:支持不绑定到特定 j2ee 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 j2ee 环境 (web 或 ejb)、独立应用程序、测试环境之间重用。 2.2.5 hibernate简介:hibernate是一个开放源代码的对象关系映射框架,它对jdbc进行了非常轻量级的对象封装,使得java程序员可以随心所欲的使用对象编程思维来操纵数据库。hibernate可以应用在任何使用jdbc的场合,既可以在java的客户端程序实用,也可以在servlet/jsp的web应用中使用,最具革命意义的是,hibernate可以在应用ejb的j2ee架构中取代cmp,完成数据持久化的重任2.3 开发工具介绍2.3.1 eclipse简介eclipse是一个开放源代码的、与netbeans、sun one studio和borland jbuilder类似的一种基于java的整合型可扩展开发平台,也是目前最著名的开源项目之一,ibm在最近几年里也一直在大力支持该项目的发展,目标是将其做成用以替代ibm visual age for java(简称ivj)的下一代ide开发环境,并于2001年11月宣布投入4千万美元资金到该项目的研发。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse 附带了一个标准的插件集,包括 java 开发工具(java development tools,jdt)。其未来的目标不仅仅是成为专门开发java程序的ide环境,根据eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。2.3.2 myeclipse简介myeclipse是eclipse的插件,也是一款功能强大的j2ee集成开发环境,支持代码编写、配置、测试以及除错。genuitec发布了myeclipse enterprise workbench 5.0,更智能、更快捷、更简单和更便宜的j2ee工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是j2ee ide市场一个重量级的选手。通过增加uml双向建模工具、wysiwyg的jsp/strutsdesigner、可视化的hibernate/orm工具、spring和web services支持,以及新的oracle数据库开发。2.3.3 my sql: mysql是最受欢迎的开源sql数据库管理系统,它由mysql ab开发、发布和支持。mysql ab是一家基于mysql开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。mysql是mysql ab的注册商标。mysql是一个快速的、多线程、多用户和健壮的sql数据库服务器。mysql服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。2.3.4 tomcat自从jsp发布之后,推出了各式各样的jsp引擎。apache group在完成gnujsp1.0的开发以后,开始考虑在sun的jswdk基础上开发一个可以直接提供web服务的jsp服务器,当然同时也支持servlet, 这样tomcat就诞生了。tomcat是jakarta项目中的一个重要的子项目,其被javaworld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的servlet和jsp容器,因此其越来越多的受到软件公司和开发人员的喜爱。servlet和jsp的最新规范都可以在tomcat的新版本中得到实现。其次,tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。tomcat与apache的组合相当完美。2.3.5 sitemesh简介sitemesh是由一个基于web页面布局、装饰及与现存web应用整合的框架。它能帮助我们再由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条、一致的banner、一致的版权等。它不仅能处理动态的内容,如jsp、php、asp、cgi等产生的内容,还能处理静态的内容,比如html的内容,使得它的内容也符合你的页面结构的要求。甚至它能像include那样将html文件作为一个面板的形式嵌入到别的文件中去。所有的这些,都是gof的decorator模式的最生动的实现。装饰模式是在不必改变原类文件和使用集成的情况下,动态地扩展一个对象的功能。它能通过穿件一个包装对象,也就是装饰来包裹真是的对象。尽管它是由java语言来实现的,但是它能与其他web应用很好的集成第三章 系统调研,可行性分析及需求分析3.1 系统调研正式开发管理信息系统之前进行调研是非常必要的,其必要性主要表现在以下几个方面。明确用户的要求,以根据调查结果进行可行性分析,确认系统的开发是否可行。提出新系统的人员并不都是系统研究人员,有些人对于其功能和处理数据的方法没有明确的认识。它们只是根据自己业务工作的需要提出了要求,系统开发人员要对此进行详细的调查和分析,确认用户的要求可以通过现有的计算机技术实现,保证开发的管理信息系统的功能与用户提出的要求相吻合。企业的现行系统可能是手工系统,也可能是使用和计算机的系统,无论是何种情况,都要详细地调查现行系统中信息处理的具体情况,系统内部功能结构,以便设计出一个合理的、好的新系统逻辑模型,为新系统的设计工作打好基础,保证整个系统开发的质量。3.2 可行性分析概述可行性分析是在用户的要求和系统调研的基础上进行的,对新系统的开发从社会、技术、经济、管理等方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力的调查,判断它是否可行。可行性分析阶段的主要工作包括以下几个方面:新系统目标可行性分析:分析新系统的目标是否符合企业的现状和发展的需要。社会可行性分析:社会可行性分析主要是指管理信息系统的开发是否符合国家法律、下策,是否能够与社会大系统实现良好的对接。技术可行性分析:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。经济可行性分析经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。管理可行性分析:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。本系统在开发前,与需求人员,同学,老师等人密切沟通,认真听取他们的意见,并吸收他们的积极观点,使本系统的开发在相当大的程度上具有一定的先进性和合理性。3.3 需求分析概述系统分析是开发管理信息系统的关键性阶段,是一个从不断认识和逐步细化的过程,是下一阶段的工作基础,是为下一阶段进行物理方案设计、解决“怎么做”提供依据,基关键性主要体现在“理解需求”和“表达需求”两方面。通过对现行系统的详细调研,主要是从系统的角度理解用户的需要,确定新系统的综合要求,并提出这些需求的实现条件以及需求应达到的标准,也就是确定新系统要做什么,做到什么程度。这些需求包括:功能需求。确定新系统应做什么,这是最主要的需求。性能需求。给出所开发的新系统的技术性能指标,包括存储容量限制、运行时间限制、安全保密性等。环境需求。这是对系统运行以及所处环境的要求。例如,在硬件方面采用什么机型、有什么硬件设备等;在软件方面,采用什么支持系统运行的系统软件(指操作系统、数据库管理系统)。未来需求。这类要求是指目前不属于系统开发的范围,但将来随着外界环境的变化以及系统的发展可能会提出的要求。了解这类要求的目的是在开发过程中,可对系统将来可能的扩展与修改做准备。一旦需要时,就比较容易进行补充和修改了。3.4 前/后台功能介绍3.4.1 前台功能前台主要是针对用户而言,为用户提供友好界面,主要包括:1.用户登录注册及退出2.个人通讯录的添加,修改,删除3.日程安排的添加,修改,删除4.工作日志的添加,修改,删除5.短消息的发送,接收,浏览,删除6.公告的发布,浏览,删除7.会议纪录的浏览,添加,修改,删除3.4.2 后台功能后台主要是对数据库表进行具体操作,包括:1.对user表的添加、修改、删除2.对address表的添加、修改、删除3.对schedule表的添加、修改、删除4.对worklog表的添加、修改、删除5.对sms表的添加,修改,删除6.对notice表的添加,修改,删除7.对meeting表的添加,修改,删除第四章 系统设计在软件需求分析阶段,己经弄清楚了软件的各种需求,解决了要让所开发的软件“做什么”的问题,并已在软件需求说明书中详尽地阐明了需求,在软件设计阶段,要着手解决“怎么做”的问题。软件设计是一个把软件需求变换成软件表示的过程,从工程管理的角度来看,软件设计分两步完成。首先,做概要设计,将软件需求转换为数据结构和软件的系统结构,并建立接口;然后是详细设计,即过程设计,通过对结构表示进行细化,得到软件的详细的数据结构和算法。4.1 软件设计的原则4.1.1 软件设计原则软件设计是把需求转化为软件系统的最重要的环节,系统设计的优劣在根本上决定了软件系统的质量。一般把设计过程划分为两个阶段:概要设计阶段和详细设计阶段。概要设计阶段的重点是体系结构设计。详细设计阶段的重点是用户界面设计、数据库设计、模块设计、数据结构与算法设计等。4.1.2 体系结构体系结构如同人的骨架。如果某个家伙的骨架是猴子,那么无论怎样喂养和美容,这家伙始终都是猴子,不会成为人。由此可见,体系结构乃是系统设计的重中之重。目前业界比较流行的软件结构模式有c/s(客户/服务器)、b/s(browse/server)、层次结构(上下级层次结构、顺序相邻的层次结构、含中间件的层次结构)4.1.3体系结构设计原则合适性即体系结构是否适合于软件的“功能性需求”和“非功能性需求”。高水平的设计师高就高在“设计出恰好满足客户需求的软件,并且使开发方和客户方获取最大的利益,而不是不惜代价设计出最先进的软件。结构稳定性详细设计阶段的工作如用户界面设计、数据库设计、模块设计、数据结构与算法设计等等,都是在体系结构确定之后开展的,而编程和测试则是更后面的工作,因此体系结构应在一定的时间内保持稳定。软件开发最怕的就是需求变化,但“需求会发生变化”是个无法逃避的现实。人们希望在需求发生变化时,最好只对软件做些皮皮毛毛的修改,可千万别改动软件的体系结构。如果当需求发生变化时,程序员不得不去修改软件的体系结构,那么这个软件的系统设计是失败的。高水平的设计师应当能够分析需求文档,判断出哪些需求是稳定不变的,哪些需求是可能变动的。于是根据那些稳定不变的需求设计体系结构,而根据那些可变的需求设计软件的“可扩展性”。可扩展性可扩展性是指软件扩展新功能的容易程度。可扩展性越好,表示软件适应“变化”的能力越强。可扩展性越来越重要,这是由现代软件的商业模式决定的:社会的商业越发达,需求变化就越快。需求变化必将导致修改(或者扩展)软件的功能,现代软件的规模和复杂性要比十年前的大得多(对比一下操作系统的变化就明白了),如果软件的可扩展性比较差的话,那么修改(或者扩展)功能的代价会很高。现代软件产品通常采用“增量开发模式”,开发商不断地推出软件产品的新版本,从而不断地获取增值利润。如果软件的可扩展性比较差的话,每次开发新版本的代价就会很高。虽然开发商抓住了商机,但却由于设计水平差而导致没有赚取多少利润,真是要活活气死。可复用性由经验可知,通常在一个新系统中,大部分的内容是成熟的,只有小部分内容是创新的。一般地可以相信成熟的东西总是比较可靠的(即具有高质量),而大量成熟的工作可以通过复用来快速实现(即具有高生产率)。可复用性是设计出来的,而不是偶然碰到的。要使体系结构具有良好的可复用性,设计师应当分析应用域的共性问题,然后设计出一种通用的体系结构模式,这样的体系结构才可以被复用。 4.1.4用户界面设计为了提高用户界面的易用性和美观程度,总结了以下设计原则。用于提高易用性的界面设计原则:用户界面适合于软件的功能容易理解风格一致及时反馈信息出错处理适应各种用户国际化个性化用于提高美观程度的设计原则有:合理的布局和谐的色彩4.2系统功能结构设计4.2.1 系统功能结构本系统的开发分为若干模块进行开发,每个功能模块基本独立,但前提是必须经过登陆模块的判断用户是否有效,所以说,登陆,注册模块是最先与用户进行交互的功能模块,该模块结构图如下: 图4.1 登陆结构图 图4.2 注册结构图4.2.2 系统总体功能模块该系统包括注册,登陆,退出,个人通讯录模块,日程安排模块,工作日志模块,短消息管理模块,公告管理模块,会议管理模块等。各模块之间的关系图4.3:图4.3 系统总体模块图4.3系统数据库设计4.3.1系统数据库设计address表:create table if not exists address ( id int(10) unsigned not null auto_increment, username varchar(50) not null default , name varchar(50) not null default , sex varchar(10) , mobile varchar(20) , email varchar(50) , qq varchar(20) , company varchar(100) , address varchar(100) , postcode varchar(10) , primary key (id), unique key id (id), key id_2 (id);meeting表:create table if not exists meeting ( id int(10) unsigned not null auto_increment, sender varchar(50) not null default , starttime varchar(20) , endtime varchar(20) , address varchar(100) , title varchar(100) , content text , primary key (id), unique key id (id), key id_2 (id);schedule表:create table if not exists schedule ( id int(10) unsigned not null auto_increment, username varchar(50) not null default , year int(4) , month int(2) , day int(2) , plan text , primary key (id), unique key id (id), key id_2 (id);sms表:create table if not exists sms ( id int(10) unsigned not null auto_increment, username varchar(50) not null default , sender varchar(50) not null default , message text , sendtime varchar(20) , isread varchar(1) default 0 , primary key (id), unique key id (id), key id_2 (id);worklog表:create table if not exists worklog ( id int(10) unsigned not null auto_increment, username varchar(50) not null default , year int(4) , month int(2) , day int(2) , title varchar(100) , description text , logtime varchar(20) , primary key (id), unique key id (id), key id_2 (id);user表:create table if not exists user ( id int(10) unsigned not null auto_increment, username varchar(50) , password varchar(50) , email varchar(50) , primary key (id), unique key id (id), key id_2 (id);notice 表:create table if not exists notice ( id int(10) unsigned not null auto_increment, sender varchar(50) not null default , title varchar(100) , content text , sendtime varchar(20) , primary key (id), unique key id (id), key id_2 (id);4.4系统模块功能详细设计4.4.1 struts与spring框架整合的方式:1.struts的action继承spring的actionsupport类,并在action中获取spring的 applicationcontext。这是最简单的一种整合方式。 2.在struts的配置文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论