版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2页共36页1引言当今社会是一个信息社会,一个知识经济时代。自世界上第一台计算机ENIAC(Electronicnumericalintegratorandcalculator)于1946年在美国问世到现在,计算机业飞速发展,技术淘汰指标高的惊人,价格下降以及软件应用的快速扩展引发了以信息处理计算机化为标志的“微机革命”,随之而来的是以全球信息网络普及和全球信息共享为标志的“全球信息网络革命”的蓬勃兴起。可见,世界已进入在计算机信息管理领域中激烈竞争的时代,计算机已经变得普通的不能再普通的工具,如同我们离不开的自行车、汽车一样。在这种环境下证实了一句话:谁掌握的知识多,信息量大,信息处理速度快,批量大,谁的效率就高,谁就能在各种竞争中立于不败之地[1]。中小型企业在我国经济发展中具有重要的地位,目前我国的中小型企业数量较多、地区分布广泛、行业分布跨度大,随着全球经济一体化的发展及中国加入WTO,中小型企业将面临外资企业和国外产品与服务的严峻挑战。如果我国的中小型企业不借助先进的管理思想转变经营观念、使用信息化提高企业的管理水平和工作效率,将很难在今后的国际竞争中取胜。随着技术发展,电脑的操作及管理日趋普及,因此我国中小型公司采用电脑管理公司的各种业务也已成为趋势和必然。管理信息系统(MIS)是一个由人、计算机等组成的能进行信息的收集、传递、存储、加工和使用的系统。其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。随着我国与世界信息高速公路的接轨,企业通过计算机网络获得信息必将为企业带来巨大的经济效益和社会效益,企业的办公及管理都将朝着高效、快速、无纸化的方向发展。MIS系统通常用于系统决策,MIS系统的最终目的是使管理人员及时了解公司现状,把握将来的发展路径。北京图信时代内部资源管理系统是针对公司内部相关业务的需要建立起来的一个科学、有效的现代管理系统。它是一个基于WEB页面的、B/S模式的管理系统(Browser/Server)。普通用户可以通过浏览器登录系统实现对公司信息、客户关系、生产计划、物资管理的查询录入等操作。此外,系统管理员登录系统后可以对用户、部门和岗位进行增加删改操作,还可以对用户的权限进行重新设置、对公司的信息进行初始化和提交操作。a)项目背景随着科学技术的发展,管理软件不断被应用于社会各个层面,随着公司规模和业务的不断扩展,北京图信时代科技有限公司单靠原来的管理模式已经满足不了现有工作的需求,因此急需开发出一套全面有效方便、快捷的业务展示平台来满足公司的发展要求。b)项目名称北京图信时代科技有限公司内部资源管理系统设计。c)用户图信时代内部资源管理系统管理员包括系统管理员用户和普通用户两大类,其中系统管理员一般为公司的高级管理人员;普通用户一般为公司各部门工作人员。d)相关软件MicrosoftOfficeWord2000相关软件不属于项目范围,但是必须相互协作完成工作。本科毕业设计第9页共36页2开发工具与技术简介2.1JSP技术简介随着电子计算机技术的迅猛发展,Java作为一种面向对象的程序设计语言,从1995年7月开始在计算机界受到高度重视。Java问世以前,Internet应用程序只能采用CGI编程。Java降低了Internet应用程序的编写难度。在WWW世界中有数不清的Java小程序,它们极大地丰富了Web网页的效果,使Internet世界变得更加丰富多彩。时至今日,JSP技术已经相当成熟,前景非常广阔。在此背景下,利用JSP开发公司资源管理系统具有非常的意义。JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.1.1JavaBean技术JavaBeans就是一个可以复用的软件模型。JavaBeans在某个容器中运行,提供具体的操作性能。JavaBeans是建立应用程序的建筑模块。大多数常用的JavaBeans通常是中小型控制程序,但也可以编写包装整个应用程序运行逻辑的JavaBeans组件,并将其嵌入到复合文档中,以便实现更为复杂的功能。一般来说,JavaBeans可以表示为简单的GUI组件,可以是按钮组件、游标、菜单等等。这些简单的JavaBeans组件提供了告诉用户什么是JavaBeans的直观方法。但我们也可以编写一些不可见的JavaBeans,用于接受事件和在幕后工作,例如访问数据库,执行查询操作的JavaBeans,它们在运行时刻不需要任何可视的界面。在JSP程序中所用的JavaBeans一般以不可见的组件为主,可见的JavaBeans一般用于编写Applet程序或者Java应用程序。2.1.2ServletServlet是使用JavaServlet应用程序设计接口(API)及相关类和方法的Java程序。除了JavaServletAPI,Servlet还可以用以扩展和添加到API的Java类软件包。Servlet在启用Java的Web服务器上或应用服务器上运行并扩展了该服务器的能力。JavaServlet对于Web服务器就好象Javaapplet对于Web浏览器。Servlet装入Web服务器并在Web服务器内执行,而applet装入Web浏览器并在Web浏览器内执行。JavaServletAPI定义了一个Servlet和Java使能的服务器之间的一个标准接口,这使得Servlets具有跨服务器平台的特性[4]。2.2MySQL数据库简介MySQL是一个真正的多用户、多线程SQL数据库服务器。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序MySQL和很多不同的客户程序和库组成。SQL是一种标准化的语言,它使得存储、更新和存取信息更容易。例如,你能用SQL语言为一个网站检索产品信息及存储顾客信息,同时MySQL也足够快和灵活以允许存储记录文件和图像。MySQL主要目标是快速、健壮和易用。最初是因为我们需要这样一个SQL服务器,它能处理与任何并不昂贵硬件平台上提供数据库的厂家在一个数量级上的大型数据库,但速度更快,MySQL就开发出来。自1996年以来,我们一直都在使用MySQL,其环境有超过40个数据库,包含10,000个表,其中500多个表超过7百万行,这大约有100个吉字节(GB)的关键应用数据。2.3B/S结构简介B/S(Browser/Server,浏览器/服务器)结构是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过浏览器实现,只有少部分事务逻辑在浏览器端实现,大部分事务逻辑集中在服务器端实现,形成所谓的3层结构。B/S结构利用不断成熟和普及的浏览器技术实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构已逐渐成为当今应用软件的首选体系结构。B/S结构和服务器之间的通信是以TCP/IP协议为基础的,校园内的Web服务器可以接受安装有Web浏览器程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成,这样大大简化了客户端,减轻了系统维护与升级的成本和工作量。随着软件系统的改进和升级越来越频繁,B/S结构的产品可以明显体现出更方便的特性。因为无论用户的规模有多大,有多少分支机构,都不会增加任何维护升级的工作量,因为所有的操作只需要针对服务器进行。如果是异地,只需把服务器连接上网即可进行维护和升级,这对人力、时间、费用的节省是相当惊人的。对于规模较大的公司,系统管理人员如果需要在几百甚至几千部电脑之间来回进行维护,其效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。所以客户机越来越“瘦”而服务器越来越“胖”是将来软件的主流发展方向,这使得升级和维护越来越容易,使用越来越简单。2.4开发工具介绍JSP是基于Java语言的,因此在进行项目开发前,要安装JDK,系统的开发采用J2SDK1.4.2。开发工具采用MyEclipse6.0,应用服务器采用了ApacheTomcat5.0.30,数据库采用MySQL4.0.24。2.4.1Eclipse+MyEclipse简介在开发工具方面,IBM,Borland,Sun,BEA等软件巨头在其应用服务器的基础上,都推出开发JavaWeb应用程序的开发工具。这些IDE大多都兼顾了各种类别的Java应用程序的开发,需要较大空间进行安装,启动过程相对较慢。而且,由于它们都是各厂商的私有产品,外界无法对其进行定制或改造,因此无法跟随J2EE不断前进的步伐。而Eclipse有一群无私的开发者开发,作为目前IDE的佼佼者,Eclipse由于其开放性受到越来越多的用户及厂商的欢迎。首先,Eclipse是开源的,Eclipse遵循CommonPublicLicense协议。任何人可以免费获得Eclipse软件本身及其源代码;其次,Eclipse是免安装的,只要在本机装有JDK,可以从其他机器上将Eclipse目录复制到本机,只要经过简单的配置就可以使用。总之,Eclipse是优秀的开发工具。简介的界面,便捷的热键,可定制的视图等,都不足以概括Eclipse的内涵。据称,从其他IDE转到Eclipse上的开发人员,很少将Eclipse抛弃而选择其他的IDE。Eclipse标准软件包中只提供了Java应用程序的开发和调试,而没有提供JSP开发环境。不过有众多的插件支持在Eclipse上进行JSP的开发。在开发JSP的插件中,最强大的非MyEclipse莫属。MyEclipse具备了众多令人欣喜的特色,贴心的Wizard、图形化的配置管理、JSP错误跟踪、代码跳转等,都可以令J2EE开发飞速运转起来[6]。2.4.2Tomcat简介自从JSP发布之后,推出了各式各样的JSP引擎。ApacheGroup在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet,这样Tomcat就诞生了。Tomcat是Jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品,同时它又是sun公司官方推荐的Servlet和JSP容器,因此其越来越多的受到软件公司和开发人员的喜爱。Servlet和JSP的最新规范都可以在Tomcat的新版本中得到实现。其次,Tomcat是完全免费的软件,任何人都可以从互联网上自由地下载。Tomcat与Apache的组合相当完美[7]。2.4.3Hibernate框架简介Hibernate是Apache软件基金会的一个开放源代码的O/Rmapping(对象关系映射)框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以随心所欲地使用对象编程思想来操纵数据库。为了企业应用与后端数据库频繁交互,开发者在应用和数据库之间创建了一个“持久层”。在基于J2EE的企业应用中,组成这个持久层的Java类既可以映射对象到数据,也可以映射数据到对象。持久层的建立是比较简单的,但是这种关系的有时候又很复杂,由于对象数据库结构的复杂性,很难做到把关系表记录完整地映射到持久对象的关系上来,这主要表现在多表的关系无法直接映射到持久对象的映射上来,可能是一个表映射到多个持久对象,可能是多个表映射到一个持久对象上来,也可能是表的某个字段映射到一个持久对象,另外一些字段映射到其他持久对象上。Hibernate相当于是对持久层数据处理的一种新的解决方案,是一个与持久层和查询相关的框架,它可以应用于任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。2.4.4Structs框架简介Struts是Apache组织的一个开放源代码项目,提供了一个构建基于MVC体系结构的Web应用程序的框架。Struts继承了MVC的各项特性,并根据J2EE的特点做了相应的变化和扩展。即Struts框架将MVC的优点应用与J2EEWeb应用的开发,可以说是传统模式的一种变化类型。Struts的体系结构包括模型、视图、控制三部分。模型(数据访问层)表示数据和处理数据的业务逻辑或应用程序;视图(表示层)表示用户想查看/存取数据的表示界面;控制器(业务规则层)定义用户与模型和视图交互的方式。距离用户最近的是表示层,为用户提供了良好的操作界面。通过本层收集用户的数据并向业务层传递,数据验证通过后传递给数据访问层,最后到达数据库。距离数据库最近的是数据访问层,封装了对数据库的各种操作,包括数据库的连接等,提供了数据库的安全,其它层从数据库中获得数据或者要更新数据库中的数据,都要通过数据访问层。业务规则层负责协调表示层和数据访问层之间的关系。例如,对表示层的数据进行验证,对数据库中指定的表数据进行增加、删除、修改和查询等工作。
3需求分析需求分析是对用户需求的真正明确,是对要解决的问题的彻底理解。在解决问题之前要理解问题,只有真正的理解问题才能更好的解决问题。需求分析就是给系统分析、设计人员一个和用户交流来理解问题的机会进而了解用户究竟需要什么。需求分析也是一个建模的过程,就是以市场运作中的业务定义为基础,重新定义一个业务在业务系统中的概念、业务流程、数据流程、业务间关系、数据间关系等,以便于计算机高效的实现这个业务。需求分析既可以用于一个业务的具体分析,也可以用于一类业务的分析和整个业务支撑系统的分析。3.1用户需求北京图信时代科技有限公司内部资源管理系统主要需求是:系统采用先进的应用系统体系结构和开发模式,提高系统的可扩展性、可维护性和交互性。该系统相对独立,接口实现简单、安全,可操作性强。本系统主要包含企业信息管理、客户关系管理、企业物资管理、生产计划管理、企业产品、企业综合管理、权限管理七大部分。3.2可行性分析3.2.1技术可行性如果没有资源和时间上的限制,任何项目都将是可行的,但是在现有资源条件下,要在规定时间内完成项目开发则必须细致而谨慎地评估项目的可行性。北京图信时代科技有限公司内部资源管理系统主要完成企业内部的资源管理,从而在管理上提高效率,因此项目的经济可行性无庸置疑;技术可行性方面,根据提出的要求,结合现行技术的发展程度得出结论,项目所要求功能和性能完全可以实现。3.2.2经济可行性根据北京图信时代科技有限公司实际的经济实力,它有能力应用计算机管理软件。企业能负担得起其支出费用(包括设备的购置费,软件的开发费,人员工资和培训费用等);另一方面是取得收益,其中一部分可以用钱来衡量,加强库存管理可加快流动资金周转,减少资金积压等,还包括不能用金钱来衡量的收益,系统提供更多、更快的信息,缩短取得信息的时间。3.2.3管理可行性软件充分结合现代管理理论达到企业与管理人员与企业业务流程的合理分配,结合企业现有的管理方式、规章制度以及原始数据达到软件与企业融合的目的。接受现代管理知识比较容易,加之软件是根据MIS、ERP现代管理原理开发的。经调查大多部门经理认为软件有必要开发也是必须开发的。3.2.4可行性分析结论从经济、技术、管理三方面分析软件是有必要开发的,且市场前景广阔。3.3系统运行环境该系统采用Browser/Server模式进行设计:数据库系统:MySQL应用服务器:Tomcat5.0服务器操作系统:WindowsServer2000客户机操作:Windows9X/NT/2000/XP/2003,其上运行浏览器程序。服务器和客户机可为同一设备。3.4系统开发目标北京图信时代科技有限公司内部资源管理系统将基本涵盖企业内部资源管理的主要需求,包括物资的进销存管理的完整信息,具有完善细致的功能、强大的数据处理功能和较完备的安全机制;随心所欲的查看所见即所得的在线编辑功能。北京图信时代科技有限公司内部资源管理系统一方面是适应市场需求,提高应用本软件的企业的管理效率。满足信息时代管理数字化的要求、利用管理信息系统中合理的数据库结构来保存数据信息,及时了解各个环节中信息的变更,对企业内部资源进、销、存进行管理。通过有效的程序结构来支持各种数据操作的执行,以提高管理效率,实现资源管理的系统化,规范化,自动化;另一方面,通过该项目开发的全过程,加深了对MIS系统开发理论的理解,学到MIS系统化的开发的更许多实际知识,还加深了对ERP的了解。能够更好的将自己的理论知识与实际情况联系起来,很大程度上增加自己的实际项目开发经验。为毕业后走入社会打下坚实的理论与实际操作的基础。本科毕业设计第37页共37页4概要设计北京图信时代科技有限公司内部资源管理系统在需求分析阶段已经较好地解决了要让系统“做什么”的问题,下一步要设计实现系统的需求,即要着手解决“怎么做”的问题。概要设计阶段的主要目的就是将需求分析阶段所提出的反映公司需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理方案。这一阶段的主要任务是从系统的总体目标出发,根据需求分析阶段对系统逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划,确保总体目标的实现。4.1模块结构设计北京图信时代内部资源管理系统采用现今流行的B/S结构模式,用户通过浏览器直接对服务器端的数据库进行各种操作,服务器端将操作结果反馈回客户端。该模式同时具有开发时间短,成本较低,而且数据量的传输快等优点。根据北京图信时代内部资源管理系统的需求分析,设计出系统的整体构架,进一步形成系统整体模块图。根据系统的总体目标、系统业务流程和数据流图的逻辑功能,按照结构化程序设计方法的分解协调原则,对系统的总体功能进行了功能的设计,系统模块图如图4.1所示。4.2模块功能设计4.2.1企业信息管理模块该模块的主要功能是对企业信息进行采编、企业信息审核、企业信息查询。企业信息采编包括企业公告、企业活动、企业信息、企业说明等栏目。根据这些栏目可以清晰的了解到该企业的最新动态。其中企业信息审核模块只能有拥有最高权限的系统管理员来操作。当信息经过审核后才能发布出去,提高了系统的安全有效性。之后单击客户名可以以报表的形式查询信息。4.2.2CRM管理模块该模块的主要功能是登记公司发展中有过的业务联系的客户的相关信息并对其进行增、删、改和查询操作。公司的客户主要分为企业客户和个人客户。利用它可以清晰方便快捷的查询到有关客户的信息。包括客户编号、客户名称、客户所在公司、客户所在部门、客户类型、联系方式等信息。图4.1系统模块图4.2.3企业物资管理模块该模块类似与ERP系统模块它分为:物资生成采购报表、物资入库、物资出库、和库存查询四大部分。在采购过程中,系统能够处理采购单与采购退货单,使企业可以轻松管理采购、商品入库、采购退货和商品出库等各项工作。商品的流通是本系统的主要业务,库存在系统占有重要的地位,系统应提供库存管理功能。库存管理主要进行盘点查询处理与提货查询处理这两方面的工作。4.2.4计划管理模块主要管理客户所下的订单:如添加订单、退回订单、待办理订单等。在销售工作中,系统能够处理销售单与销售退货单,使企业可以轻松管理销售、商品出库、销售退货和商品入库等各项工作。4.2.5产品信息管理模块产品资料是企业经营产品的基本信息,是库存资源的保障。该模块主要维护产品资料的信息,可对产品进行增加、删除及修改操作。4.2.6综合管理模块综合管理模块又分为企业用户即公司内部人员信息、公司内部各部门信息、和各个栏目信息等三大部分。公司内部人员的信息包括登录账号、登录密码、确认密码、姓名、性别、所属部门、电子邮箱、主页、省份、城市、地址、联系电话、手机、备注相关信息。4.2.7企业权限管理模块在此系统中系统员的权限最高可设置其他用户的最终权限。其流程为先增加用户权限角色代码,然后为用户添加角色,再授予其具体的权限。4.3数据库设计对大多数应用系统而言,很大程度上都是围绕对数据库的操作展开的,数据库本身才是应用系统的核心部分,程序界面只是提供用户对数据库中的数据的组织与管理的接口。任何数据库结构的变更都很可能导致界面程序的改动。因此,数据库结构设计至关重要。4.3.1分析与设计数据库数据库采用MySQL,它所支持的字段数据类型包括数值、字符、日期时间以及二进制和图片等类型,它性能稳定适合本系统的工作需求。根据功能模块的设计,以及规范化的设计要求,该系统的数据库设计了9个表,即信息标题表(Info_title)、用户信息表(Users)、信息内容表(Info_Content)、信息栏目表(Sys_column)、系统部门表(Sys_department)、系统角色表(Role)、角色功能表(RoleMenu)、角色栏目表(RoleColumn)、角色用户表(RoleUser)。据功能要求在MySQL里创建数据库,建立各数据表,数据表清单如表4.1。表4.1数据库mw_irmsdb的数据表清单数据表名称简短描述Info_title信息标题表Info_content信息内容表Sys_column系统栏目表Sys_user系统用户表Sys_department系统部门表Roleuser角色用户表RoleColumn角色栏目表RoleMenu角色功能表Role角色表信息标题表主要用于保存企业信息的各项内容。表Info_title的结构如表4.3所示。其中其id属性段和信息栏目表的Sys_column_id属性段建立关联。表4.2信息标题表(Info_title)字段数据类型长度可空否说明idint11N信息编号,主键,自增titlevarchar255Y信息标题keywordsint5Y信息关键字Sourcevarchar255Y信息来源Summaryvarchar255Y信息摘要columnIDint11Y栏目IDCreatuserIDint11Y信息创建用户IDCreateDateintdateY信息创建日期File_namevarchar100Y附件名称File_pathvarchar100Y附件地址Image_pathvarchar100Y图片地址信息内容表主要用于体现信息的主要内容。表Info_Content的结构如表4.3所示。表4.3信息内容表(Info_Content)字段数据类型长度可空否说明Info_title_idint11N信息编号,主键,自增ContentLongtext_Y信息标题信息栏目表主要用于列出各项栏目的具体名称及父栏目和子栏目的对应关系。表Sys_column的结构如表4.4所示。表4.4信息栏目表(Sys_column)字段名称数据类型长度可空否说明Sys_column_idint11N信息编号,主键,自增Parent_idint11Y栏目父IDSys_department_idint11Y部门IDSerial_idint11Y栏目IDnamevarchar255Y栏目名称oidint11Y操作用户IDotimeDate_Y操作时间Column_typeint11Y栏目类型ordersint11Y栏目排序statustinyint4Y栏目状态系统用户表主要用于体现用户的基本信息。其中系统部门ID是系统部门表的主键。表Sys_User的结构如表4.5所示。表4.5系统用户表(Sys_User)字段名称数据类型长度可空否说明Sys_user_idint11N用户编号,主键,自增Sys_department_idvarchar50Y系统部门IDRoleIDint11Y系统权限IDNamevarchar255Y用户名称Accoutsvarchar255Y登录账户Passwordvarchar255Y登录口令续表4.5系统用户表(Sys_User)字段名称数据类型长度可空否说明Sextinyint1Y性别BirthdayDate10Y出生日期Addressvarchar255Y地址Cityvarchar255Y城市Mailvarchar255Y邮件CreationDateDate_Y用户创建日期LastTimeDate_Y最后登录日期LogonCountDate_Y注销日期系统部门表主要用于显示企业内部部门基本信息和操作人的相关信息。表Sys_department的结构如表4.6所示。表4.6系统部门表(Sys_department)字段名称数据类型长度可空否说明Sys_department_idint11N部门编号,主键,自增Namevarchar255Y部门名称memovarchar255Y部门概要oidint11Y操作人IDotimedate_Y操作时间statustinyint4Y状态系统角色表主要用于角色和权限的相关信息。表Role的结构如表4.7所示。表4.7系统角色表(Role)字段名称数据类型长度可空否说明Sys_codevarchar200N角色代码Role_codevarchar200Y权限代码Role_namevarchar200Y权限名称Remarkvarchar200Y标记角色功能表Role的结构如表4.8所示。表4.8角色功能表(RoleMenu)字段名称数据类型长度可空否说明Sys_codevarchar200N系统代码Role_codevarchar200Y权限代码Menu_codevarchar200Y功能代码Menu_namevarchar200Y功能名称Menu_ordervarchar200Y功能排序角色栏目表RoleColumn的结构如表4.9所示。表4.9角色栏目表(RoleColumn)字段名称数据类型长度可空否说明Role_codevarchar200Y权限代码Column_idInt11Y栏目IDRoleUser角色用户表主要记录每个登录用户的权限代码,用户类型不同对应的权限代码不同,从而每个用户的操作权限不同,每个字段的具体含义见表4.9角色用户表RoleUser的结构如表4.10所示。表4.10角色用户表(RoleUser)字段名称数据类型长度可空否说明Role_codevarchar200Y权限代码Login_uservarchar200Y登录用户Remarkvarchar200Y标记对大多数应用系统而言,很大程度上都是围绕对数据库的操作展开的,数据库本身才是应用系统的核心部分,程序界面只是提供用户对数据库中的数据的组织与管理的接口。任何数据库结构的变更都很可能导致界面程序的改动。因此,数据库结构设计至关重要。4.4代码设计代码是代表客观存在的实体或属性的符号,科学合理的代码,可以使计算机对数据的分类、校对、统计、查询等的处理变得简单快捷。本系统的代码设计的原则是:代码要具有唯一性、标准化、方便,结构尽量简单,长度尽可能的短。以数据库设计中的几个表所涉及到的代码为例说明本系统的代码设计。系统多数代码设计采用无实意顺序码与实意日期编辑,由于产品进销存其关键的是时间,因代码编排采用时间顺序。而信息,生产厂商信息采用无实意的代码编辑。4.5输入输出设计输入输出是用户与系统的重要的、直接的接口,企业日常运作而产生的原始数据要靠系统的输入完成,同时用户所需的各种信息、报表都要由系统的输出完成,所以输入输出设计对于系统将来的实际使用效果会产生很大影响。本系统的输入设计原则是本着保证处理需要的前提下尽量减少输入;数据输入时要采取有效措施,以减少错误的发生,输入方式以键盘输入为主。为避免输入时产生数据错误大部分输入采用系统自动生成,用户只要双击或者单击鼠标就能实现数据的插入或删除。本系统的输出设计原则是界面美观、数据准确,采用的输出方式主要以显示输出为主,同时在必要的地方采用打印输出。4.6安全保密设计本系统的保密功能通过用户的权限设定来实现。用户在登录系统时输入密码,如果密码正确,系统根据该用户的权限,设置该用户可以进行的操作。用户的权限设定是以系统的菜单项为基本单位,只有用户具有使用该菜单的权限时,菜单项才可以为其所用。当添加新用户时,用户的权限为空(即不能进行任何操作)。系统的数据安全通过数据备份与恢复的功能来实现,此时应为该用户设置相应权限;用户权限也可以根据具体情况随时修改。在进行备份时,用户最多可以保存三个备份,相应的数据库恢复也可以从三个备份中选择一个进行恢复。此外,为保证计算机的安全,每台计算机都加装了UPS不间断电源,保证在突然断电情况下能够正常退出系统。
5详细设计5.1企业信息管理模块5.1.1企业信息采编a)页面位置WebRoot/admin/News/index.jspb)功能分析添加、删除并刷新企业的各种栏目信息。如企业公告类、企业信息类、企业活动类、企业产品类、企业说明类。各个栏目下又有其相应的子信息。如企业说明类的子栏目类包括关于企业、关于领导、关于部门、关于我们。各栏目信息内容包括标题、来源、关键字、摘要、栏目子栏目、内容、相关文件名称、相关文件等属性信息。该模块主要通过在线编辑器来简化企业信息的录入操作并且丰富了企业信息。c)算法分析当进行添加操作时会调用add_act.jsp页面中的myInfoDao.addNewInfo()方法来完成信息的添加操作。添加消息页面,如图5.1所示。图5.1添加显示页面(add.jsp)Stringsql="insertintoinfo_content(content)values(?)";//sql语句串PreparedStatementpstmt=conn.prepareStatement(sql);/*使传入的SQL命令事先编好等待使用,执行操作*/StringReaderreader=newStringReader(infovo.getInfoContent());pstmt.setCharacterStream(1,reader,infovo.getInfoContent().length());/*设定字符流数值给PreparedStatement类对象的In参数*/intcount=pstmt.executeUpdate();//对数据库进行更新操作并将其返回值给countStringsql=newString("updateinfo_titlesetstatus=-1whereinfo_title_id="+infoID);booleansign=db.executeUpdate(sql);/*执行删除操作后结果的返回值给sign,从而表明其状态。*/5.1.2企业信息审核a)页面位置Admin/news/auditing.jspb)功能分析由系统管理员对录入后的企业信息进行审核。根据事实情况可进行发布和驳回两种操作。c)算法分析:DBConnManagerdb;//建立数据库对象Vectorinfolist;//建立一个vector对象StringinfoSql=null;//初始化SQL语句db=newDBConnManager();/*建立数据库连接,DBConnManager通过hibernate连接数据库应用与操作。*/infolist=newVector();//infolist初始化infoSql="SELECT_title_id,,a.summary,a.source,a.otime,a.keyword,a.memo,_content_id,a.sys_column_id,a.preinfo_id,a.link_name,a.link_url,a.file_name,a.file_path,a.file_type,a.image_memo,a.image_path,a.readed_num,a.status,b.content,sysname,operatornameFROMinfo_titlea,info_contentb,sys_columnc,sys_userdwherea.status=1and_content_id=_content_idanda.sys_column_id=c.serial_idandc.status=1anda.oid=d.sys_user_idorderbya.qh,a.otimedesc";//数据库SQL语言拼写InfoVoinfovo;//初始化javaBean对象的一个VO类for(ResultSetrs=db.executeQuery(infoSql);rs.next();infolist.add(infovo)){/*将executeQuery方法取到的数据放入resultSet对象中,并通过循环,将值传给JavaBean对象的InfoVo对象*/Stringsqls[]=newString[infoID.length];//建立拥有多条查询语句的数组conn=getConnection();//生成一数据库连接对象conn.setAutoCommit(false);//设置Connection类的AutoCommit状态stmt=conn.createStatement();//建立Statement类对象for(i=0;i<sql.length;i++){stmt.addBatch(sql[i]);//添加批处理查询语句}stmt.executeBatch();//执行批量删除语句mit();//确定执行对数据库SQL语句操作5.1.3站内综合查询a)页面位置Admin/news/search.jspb)功能分析对于企业所有信息根据其信息、标题、关键字等进行综合查询。方便快捷的得到企业的各种信息。c)算法分析站内综合信息查询页面如图5.2所示:图5.2站内综合信息查询页面(search.jsp)点击栏目名称可以进入其下属的下级栏目列表页面查看二级栏目信息。实现此操作须调用mySysColumnDao.SysColumnListParent(columnlist),点击“搜索”链接到admin/search_list.jsp,调用mySysUserDao.listSysUser()方法来实现搜索操作。用来实现操作的sql语句如下:sql="SELECT_title_id,a.flag,,a.otime,sysname,opernamefrominfo_titlea,sys_columnb,sys_usercwherea.status<>-1anda.sys_column_id=b.serial_idandb.status=1anda.oid=c.sys_user_id"+"and"+sysInfoTitle+"and"+sysColumnID+"and"+sysCreaterName"and"+sysInfoStartTime+"and"+sysInfoEndTime+"orderbya.otimedesc";System.out.println(sql);//输出查询结果5.2CRM信息管理模块5.2.1客户信息总管理a)文件位置admin/customer/cmessage.jspb)功能分析该模块主要用来查看、编辑、修改客户和管理员的基本信息。客户是企业定单的来源。因此对于客户信息的维护相当重要。对客户信息的初始化处理.包括创建、删除两个功能。当点击创建时页面跳转到图5.3界面。图5.3客户信息添加页面(customer.jsp)在上述窗体中输入信息,点击“提交”,运用POST方法即将信息传至客户列表中5.2.2管理员管理a)页面位置admin/customer/cmessage_cadmin.jspb)功能分析该模块的主要功能是对管理员的信息进行添加、修改、删除、刷新操作。c)算法分析Stringsql="updatesys_usesetRolID="+sysUserVo.getRolID()+",sys_department_id="+sysUserVo.getDeptID()+",Name='"+sysUserVo.getName()+"',Accounts='"+sysUserVo.getAccounts()+"',Password='"+sysUserVo.getPassword()+"',Sex="+sysUserVo.getSex()+",Birthday='"+sysUserVo.getBirthday()+"',Address='"+sysUserVo.getAddress()+"',City='"+sysUserVo.getCity()+"',Province='"+sysUserVo.getProvince()+"',Phone='"+sysUserVo.getPhone()+"',Mobile='"+sysUserVo.getMobile()+"',Mail='"+sysUserVo.getMail()+"',HomePage='"+sysUserVo.getHomePage()+"',PDesc='"+sysUserVo.getDesc()+"'wheresys_user_id="+sysUserVo.getUseID();/*进行刷新操作的sql语句*/resultValue=db.executeUpdate(sql);//执行sql语句并将其结果放在结果集中5.2.3客户管理a)页面位置admin/customer/cmessage_cadmin.jspb)功能分析该模块的主要功能是对管理员的信息进行添加、修改、删除、刷新操作。5.3企业物资管理模块包括企业报表管理、走单、入库、出库、库存查询五个模块。该五个模块实现了企业管理的ERP部分。5.3.1报表管理a)页面位置admin/material/table.jspb)功能分析在该模块中对报表的操作涉及添加、删除、修改、走单四种操作。c)算法分析报表管理的页面如图5.4所示:图5.4报表管理页面(table.jsp)<%if(!"2".equals(c_status)&&!"3".equals(c_status)){%><ahref="editPP.jsp?mkey=4&id=<%=c_id//如果c_status满足要求则转到editPP.jsp页面5.3.2物资走单a)页面位置admin/material/ztable.jspb)功能分析在该模块中对报表的操作涉及添加、删除、修改、走单四种操作。c)算法分析if(dao.passCustomer(id))//如果单击了走单按钮{if(qsURL.indexOf("mod")==0){response.sendRedirect("search_list.jsp?"+qsURL);}//重定向页面到search_list.jspelse{response.sendRedirect("table.jsp");//返回报表管理页面}}else{out.println("走单信息失败")};5.3.3物资入库a)页面位置admin/material/in.jspb)功能分析物资走单之后会进入到该模块,在该模块中用户可对走单的物资进行修改、删除和出库操作。c)算法分析当用户单击出库时页面跳转到editpppp.jsp页面,运用delete方法删除页面。StringqsURL=request.getQueryString();//获取查询子串给qlURLout.println(qsURL);//输出qsURL内容Stringid=request.getParameter("id");//获取idMaDaodao=newMaDao();//生成一对象实例if(id==null){out.println("删除信息失败");}Else{if(dao.passCustomerck(id))//如果改变了c_status{if(qsURL.indexOf("mod")=0){response.sendRedirect("search_list.jsp?"+qsURL);}else{response.sendRedirect("out.jsp");}}else{out.println("走单信息失败");}5.3.4物资出库a)页面位置admin/material/out.jspb)功能分析该模块的主要功能是查看出库的商品的相关信息c)算法分析ResultSetrs=db.executeQuery(sql);//执行sql查询语句,并将结果给结果集rs.next();//移动记录指针到下一条记录list.add(vo);//在列表中加入查询结果5.3.5物资查询a)页面位置admin/material/search.jspb)功能分析该模块的主要功能是搜索库存中的物资信息。5.4生产计划管理模块5.4.1计划信息管理a)页面位置admin/plan/plan.jspb)功能分析先生成采购订单,可对采购定单进行添加、删除操作。关于定单的相应信息包括:订单名称、订单编号、供应日期、品量、订单级别、经手人、订单日期、状态、操作。进行删除操作时可进行单条记录的删除也可实现批量信息的删除。d)算法分析计划信息管理模块的页面如图5.5所示:图5.5计划信息管理界面(plan.jsp)StringqsURL=request.getQueryString();/*获取查询字符串,该字符串是由客户端以get方法向服务器端传送*/Stringid=request.getParameter("id");//得到id的属性值并将它传递给id对象{if(dao.deleteCustomer(id){if(qsURL.indexOf("mod")==0){response.sendRedirect("search_list.jsp?"+qsURL);}//重新定向客户端的请求到search_list.jsp页面else{response.sendRedirect("table.jsp");}}else{out.println("删除信息失败");}}5.4.2计划退回管理a)页面位置admin/plan/backword.jspb)功能分析判断用户角色,删除特定采购订单所有信息。c)算法分析url='operP.jsp?actType=delete¤tPage=<%=currentPage%>';/*定义字符串进行delete操作后转到operP.jsp页面并向该页面传递参数document.myform.action=url;5.4.3计划代办理a)页面位置admin/plan/wait.jspb)功能分析计划代办理又分为两种情况,一种是订单未退回且正在办理的情况,另一种情况是定单是退回状态且正在代办理的情况。c)算法分析通过对c_status状态的判断来进行相应的处理。第一种情况:<%if("1".equals(c_status)){%><!--status=1订单处理中--><ahref="editPP.jsp?mkey=4&id=<%=c_id%>¤tPage=<%=currentPage%>"class="">代办</a>第二种情况:<%if("3".equals(c_status)){%><!--status=3订单退回--><ahref="editPP.jsp?mkey=4&id=<%=c_id%>¤tPage=<%=currentPage%>"class="">代办</a>5.5企业产品管理模块5.5.1企业产品查询a)页面位置admin/product/search.jspb)功能分析实现对产品相应信息的查询操作。具体实现操作步骤:根据用户输入的产品名称和产品编号,当用户点击搜索时开始查询符合条件的产品信息。当用户点击重置时重新开始查询。c)算法分析企业产品查询页面如图5.6所示:图5.6企业产品查询页面(search.jsp)Vectorproductlist=(java.util.Vector)productdao.search(name,cid);//搜索方法名;Vectorproductlist=newVector();//初始化一产品列表DBConnManagerdb=newDBConnManager();sql="selectp.id,asname,p.cidascid,asinfo,p.picpathaspicpath,p.statusasstatus,"+"ductcontentidasproductcontentid,pc.contentascontent"+"fromproductp,product_contentpc"+"whereductcontentid=duct_content_id"+"and"+name+"and"+cid;//sql查询语句5.5.2企业产品列表a)页面位置admin/product/index.jspb)功能分析实现对产品相应信息的查询、添加、删除和刷新操作。c)算法分析若操作员选择操作时,系统会首先调用goto_delete()方法来判断用户是否选定了记录,该方法的主要算法如下;functiongoto_delete(){num=numChecked();//用于是否选定了记录if(num<=0){alert('请选择要删除的信息!');returnfalse;}//未选定记录的情况tflag=window.confirm("您确认要删除所选项目?");5.6企业综合管理模块5.6.1企业用户管理a)页面位置admin/user/index.jspb)功能分析通过用户名和登录名来查找所有用户的信息。当点击修改时会显示该用户的详细信息,并完成修改操作。c)算法分析if(mySysUserDao.updateSysUser(userVo))//如果修改了用户信息{response.sendRedirect("index.jsp?"+qsURL);}网页重定向到index.jspelse{out.println("修改用户信息失败");}5.6.2企业部门管理a)页面位置admin/dept/index.jspb)功能分析针对公司部门的变动情况对其进行适时的更新。当前公司的部门有人事部、财务部、经理部等。拥有系统管理员权限的人可查看添加并可修改部门的信息。c)算法分析publicbooleanaddNewDepartment(DepartmentVodepartmentVo)sql="insertintosys_department(name,memo,oid,otime,status)values('"+departmentVo.getDepartmentName()+"','"+departmentVo.getDepartmentMemo()+"',"+departmentVo.getOperatorID()+",now(),1)";isadd=db.executeUpdate(sql);//执行数据库更新5.6.3信息单元管理a)页面位置admin/column/index.jspb)功能分析对企业内部公布的信息条目和信息内容进行修改。当单击父栏目列表时会进入相应的子栏目列表,同样当单击ROOT时会返回到上一级的父栏目。c)算法分析单元管理页面如图5.7所示:图5.7单元管理页面(index.jsp)Stringparentid=request.getParameter("parentid");/*生成一实例并将从客户端传送到服务区的参数值赋给它*/Stringid=request.getParameter("id");//取得ID属性值Stringname=GetGBK.getGBK(request.getParameter("name"));//转换字符编码5.7权限受理管理模块5.7.1角色授权管理a)页面位置admin/system/rolemanager/roleopr.dob)功能分析在权限受理管理模块中,只能由管理员来增加用户角色从而赋予别的用户不同的权限。c)算法分析角色授权页面如图5.8所示:图5.8角色授权页面(rolemanager.jsp)单击增加,可增加新的用户角色。其界面如图5.9所示:图5.9增加新角色页面(newrole.jsp)<%Superiortreetree=newsuperiortree(sys_code,role_code,hyperlink.ROLE_MANAGER);Stringtrees=tree.buildTree();%>action="/admin/system/rolemanager/endueroleAction"method="post">for(inti=0;i<columnID.length;i++){sql[i]="insertintopurview_rolecolumnvalues('"+roleCode+"',"+columnID[i]+")";}//添加角色代码isadd=db.executeMoreSql(sql);//执行批量sql语句5.7.2用户授权管理a)页面位置admin/system/rolemanager/userlist.jspb)功能分析当单击用户列表的对应值时显示对应用户的用户名。在这个模块中只能由系统管理员来操作。点击授权后可对用户角色进行添加和修改。c)算法分析用户授权页面如图5.10所示:图5.10用户授权页面(userlist.jsp)functionaddRole(){//添加用户角色for(vari=0;i<unChoosed.options.length;i++)//遍历未选中的角色{if(unChoosed.options[i].selected)//未被选中的角色被选中{vartempUnchoosed=unChoosed.options[i];varoption=document.createElement("OPTION");option.text=tempUnchoosed.text;option.value=tempUnchoosed.value;beChoosed.add(option);unChoosed.options.remove(i);i-=1;}}}5.8网站实现中的关键技术a)JavaBean组件技术系统在开发过程中,运用面向对象的分析与设计方法,将系统需求中涉及到的各种实体抽象为JavaBean组件类,并为这些类设定属性和方法,这样在调用某个Bean组件时,它的属性名可以直接映射到数据库中字段的名称,从而用这些属性名对数据库进行操作。系统的最大特点是采用动态栏目管理。在正确的定义问题域后,通过对问题域进行抽象,准确的理解系统需求和内部运行机制,充分理解用户对系统的需求,设计了用于实现动态栏目的数据结构和功能模块。另外,通过对各类信息的分析发现,有些信息的操作动作相同或相似,用于实现这些操作的几乎完全相同的代码需要在几个甚至更多的地方重复出现,不但影响了开发效率,也使得程序出错的可能性加大,降低了程序的质量,给程序代码的维护、扩展工作带来很多不必要的麻烦和额外的工作量。为了解决这一问题,在数据结构方面,页面内容、新闻和招聘信息整合为一个表,用attrib字段进行区分;在技术方面采用了组件技术。组件是具有一定功能、能够独立工作或同其他组件组合起来协调工作的软件模块。每个组件包含一组属性、事件和方法,使用者通过接口使用组件。组件在开发分布式校园应用中得到广泛应用,应用组件技术可以明显提高开发效率和开发质量,极大增强软件的重用能力,同时使得程序的后期维护工作极其方便。通过创建对应着若干相关表的复合起来的JavaBean和封装了若干用例所需功能的JavaBean,组建技术在系统开发过程中得到了很好的利用。b)Hibernate技术系统利用Hibernate来封装数据库持久层,通过高质量的数据库映射关系,将数据库的操作优化到极限。通过Hibernate技术的应用,可以利用Hibernate的众多组件来实现很多数据库操作上的功能。当前,Hibernate的数据库连接配置可以分为两种,一种是在Hibernate.cfg.xml文件中进行配置,还有一种是在Hperties文件中进行配置,其效果都是相同的。例如:数据库连接,通过编辑Hibernate.cfg.xml文件可以很好的对数据库连接进行操作。针对Session-factory进行优化配置,从而跨越JDBC连接数据库的方式。<session-factory><!--数据库连接设置--><propertyname="connection.url"><![CDATA[jdbc:mysql://:3306/jxc?useUnicode=true&characterEncoding=GBK]]></property><propertyname="connection.username">root</property>//连接用户名<propertyname="connection.password"><!—数据库密码--></property><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property>//连接所用到的数据库<propertyname="dialect">net.sf.hibernate.dialect.MySQLDialect</property><propertyname="connection.useUnicode">true</property><propertyname="connection.characterEncoding">gbk</property><propertyname="c3p0.min_size">1</property><propertyname="c3p0.max_size">2</property><propertyname="c3p0.time_out">1800</property><propertyname="c3p0.validate">true</property></session-factory>c)XML技术XML是eXtensibleMarkupLanguage的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。XML(可扩展标记语言)简化了数据交换、进程间消息交换这一类的事情。XML使用一个简单而又灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段,提供了直接处理全球数据的通用方法。结论本次毕业设计开发的是基于B/S结构的北京图信时代内部资源管理系统,采用MyEclipse为开发环境、MySQL作为后台数据库管理工具,利用Hibernate和Struts完成数据访问的操作。在开发的过程中,采用了软件工程的设计思想,根据关系模式设计数据库表,用模块化设计方法将系统的各个功能模块层层分解,设计出系统的模块化结构,并根据系统的具体要求,详细地定义了系统各个模块的具体功能。北京图信时代内部资源管理系统主要包括登录验证模块、公司信息管理、客户关系管理、公司物资管理、生产计划管理、公司产品管理、公司综合管理、权限管理八大管理部分。其中公司信息管理、客户关系管理、公司物资管理、生产计划管理、公司产品管理均涉及基本信息的录入查询和删除操作。通过该系统公司管理人员可看到公司的各个部门的工作进展情况。在整个设计过程中,尽管进行了多次测试和更改,但难免出现不妥之处,希望各位老师给予批评指正。致谢经过近四个月的努力,我的毕业设计终于接近了尾声。在短短的几个月内,我的毕业设计能够顺利完成,从很大程度上,得益于我的指导老师的悉心指导。在此,我向他们表示我最诚挚的敬意和最衷心的感谢!在毕业设计过程中,指导老师的给了我大力支持和帮助,使得设计过程中所遇到的许多问题得以解决,并且使我能够在解决问题的同时,很好地掌握了所用相关领域的知识以及自主思考、解决问题的方法,同时掌握了进行课题研究时将所用的方法、模式和具体实现手段相结合的技巧,充分地将所学理论应用于毕业设计的实践过程当中,使我独立分析、解决问题的能力得以提高。在设计完成的过程中,我还得到了许多同学的热情帮助,在此表示感谢!最后,再次感谢对我的帮助,并向所有帮助过我的人致以最诚挚的谢意!参考文献1印旻.Java语言与面向对象程序设计教程.北京:清华大学出版社,20002杨绍方.深入掌握J2EE编程技术.北京:科学出版社,20023张琴,张千帆.JSP动态网页制作基础培训教程.北京:人民邮电出版社,20054刘甫迎,谢春,徐虹.Java程序设计实用教程.北京:科学出版社,20055孙佳,刘中兵,李伯华.JSP+Oracle动态网站开发实例精选.北京:清华大学出版社,20056吴其庆.JSP动态网站设计教程.北京:冶金工业出版社,20057刘祥才.计算机应用.北京.企业管理出版社,20058高海茹.MySQL网络数据库技术精粹.北京:机械工业出版社,20029科夫勒.MySQL权威指南.北京:人民邮电出版社,200710马伟主.网页设计与制作.北京:机械工业出版社,200511汪孝宜,吴大力,胡俦.网络系统开发实例精粹.北京:电子工业出版社,200612龙马工作室.JSP+Oracle网站开发实例精讲.北京:人民邮电出版社,200713陈刚.Eclipse从入门到精通.北京:清华大学出版社,200514JamesMartin.Carma.McClureSoftwareMaintenanceTheProblemandItsSolutions.NewYork:Pretice-Hall,198315徐敏奎.管理信息系统.北京:中国标准出版社,200316GavinPowell.BeginningDatabaseDesign.北京:清华大学出版社,200717BruceA.Tate.BeyondJava.南京:东南大学出版社,200718JamesMartin.CarmaMcClure.SoftwareMaintenanceTheProblemandItsSolutions.NewYork:Pretice-Hall,1983基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《美国的诞生》课件
- 《LA格式讲座》课件
- 教培合同范本(2篇)
- 2024年度涉外离婚登记所需材料与程序详解协议3篇
- 《地下水资源调查》课件
- 《知识产权常识》课件
- 2025年扬州货运资格证考试有哪些项目
- 2025年安康货运从业资格证考试技巧
- 2025年兰州从业资格证应用能力考些啥
- 国际金融学课件汇率理论与学说
- 第四章分子的对称性
- (最新)专家服务基层工作培训会领导讲话(精)
- 苏州预防性试验、交接试验费用标准
- 最新【SD高达G世纪-超越世界】各强力机体开发路线
- 完整MAM-KY02S螺杆空压机控制器MODBUSⅡ通信协议说明
- 《纳米材料工程》教学大纲要点
- 专业英语四级听力模拟题
- [广州]污水处理厂工程监理投标大纲(325页完整)_secret
- 南京禄口机场二期扩建工程项目融资分析报告(第一稿)
- 《做阳光少年主题班会》PPT课件(1)
- 乡镇殡葬整治工作开展情况汇报
评论
0/150
提交评论