版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章绪论1.1开发背景与意义如今随着计算机网络技术和通信技术的迅速发展。互联网阶段的快速发展现状,已成为当今社会势如破竹的发展趋势,一个国家,社会现代化程度的高低主要看该国家的信息化程度的高低,一个国家经济发展水平及科学技术水平的衡量标准是信息的处理能力以及利用能力高低。在网络端现在几乎所有购物、打车、旅游、等人类所需服务都可以得到实现,例如:拼多多、携程、去哪儿、京东、同程等移动端软件都很好地给我们提供了我们所需的服务,由此可见网络端的软件,在未来将起到非常重要的作用。当前网络已有很多相关的商品配送的管理系统,可是大多数管理系统的功能太多复杂以至于根本就找不到,或者是说很难找到所需要的功能,这对用户来说是相当不方便的。更有甚者一些管理系统的功能在实际中根本就用不到或者很少用到,这也给用户带来了很多的不便与烦恼。所以,开发一款管理系统以简单实用便捷为主成为局势所需,主要在涉及到商品配送管理的常用功能的简化,管理系统的操作以与实际结合简单实用。随着经济浪潮的来袭,各行各业对配送管理趋之若鹜,很多配送公司也迎刃而出。由于条件的限制,各个配送公司也参差不齐,管理方式也大相径庭。商品配送管理的作业方式经历了四个发展阶段:传统的人工管理阶段,机械化操作的阶段,自动化管理的阶段,智能化管理阶段。目前,大部分配送公司还集中在传统的人工管理阶段。在货物配送的过程中,技术含量低,通过传统的人工记账方式完成信息的登记,通过手工配送单信息的传递完成商品的配送。这样的服务因为人工的手动管理可能出现的错误率比较高,客户产成很多投诉的同时,因为配送效率的问题也引起客户的不满。想在激烈的市场竞争中立于不败之地,必须引进新的管理模式完成配送工作的实现。现代化的货物配送要求能够在最短的时间给客户提供最优质的服务,准确有效地将商品送到客户手中。专业化的技术手段为商品配送管理提供了很好的技术支持;网络化信息技术的共享,提高了商品配送的管理水平。完善的商品配送系统就是在此环境下随之而生。1.2开发方法本系统的开发采用的是java语言加上MYSQL数据库来实现,在前期的阶段,主要使用相关知识,搜索资料,查询数据等很好的管理系统开发方法,并且结合相关要求进行编写,需求分析。然后,我们进行了这个该系统的设计和开发。该系统的页面主要是用web语言设计的,通过MYSQL数据库的查询搜索,表单以及数据的验证,和控件页面的正确显示,用户模块的权限设计。MYSQL数据库可以于实现整个系统全部的操作。在整个系统设计过程中,要根据需求分析,编写整个系统实现过程以及相关问题的实现方法,系统开发完成后,进行调试运行完善,并且记录运行的相关数据。1.3论文结构第一章-绪论,主要叙述该系统的研究背景与意义,和系统开发的方法,目的,还有课题研究的内容等可行性分析,对开发该系统的可行性分析介绍,还有对论文各章内容进行大概的介绍。第二章-系统开发技术与环境,本章节对系统前端技术,网络架构,数据库的选择,运行环境等相关技术进行介绍,其中对开发本系统的相关的重点技术进行介绍,可以让读者都能对本系统和相关知识有很好地认识和了解。第三章-主要是对本系统分析,其中包括系统可行性分析,需求分析 ,功能需求分析,性能需求分析,系统流程分析,数据流程分析,可以让读者了解软件系统分析相关的主要内容及方法。第四章-系统设计概要,本章是重点章节,主要是系统的详细设计其中就包括设计原则,系统功能的设计,开发环境分析和选择。第五章-系统的编码实现。主要有用户和管理员模块设计,介绍了系统的功能的详细地实现设计,读者可以通过本章的阅读就能够很好了解系统的结构。第六章-系统的测试。主要介绍了系统测试方法的意义及重要性,系统的测试目的,测试实例,系统维护,读者可以通过本章就能够很好了解系统的测试性能和重要性。PAGE2系统开发技术与环境2.1系统开发语言Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,1995年5月,SunMicrosystems公司推出Java程序设计语言以及Java平台(即JavaSE,JavaEE,JavaME),总称为Java。Java平台包括两个部分,即Java虚拟机(JavaVirtualMachine)与Java应用编程接口(ApplicationProgrammingInterface,API)。API为JAVA提供的标准接口是独立于操作系统的,含有基本部分及扩展部分。目前Java平台几乎已经被所有操作系统兼容,对于一个Java程序,只需要编译一次就能适应各种操作系统。Java是一门面向对象编程语言,不仅吸收了C+语言的各种优点,还摒弃了C+里难以理解得多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有健壮性程序不会崩溃,强大的生态系统,高能性通过虚拟机优点点提升几十倍的运行效率,面对对象,多线程,安全性,分布性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。Java语言的有一个特性就是跨平台性也被称作可移植性,也可以说使用Java语言编写的程序,在编译后不需要经过任何的修改,就可以在任意硬件设备的条件下运行,这个特性通常被称为“一次编译,到处运行”。执行Java应用程序必须安装JavaRuntimeEnvironment(JRE),JRE内部有一个Java虚拟机(JavaVirtualMachine,JVM)以及一些标准的类库(ClassLibrary)。通过JVM才能在电脑系统执行Java应用程序(JavaApplication),这与.NetFramework的情况一样,所以电脑上没有安装JVM,那么这些程序将不能够执行。有些编译器,比如GCJ,可以自动生成原始代码而不需要解释层。但是这些编译器所生成的代码只能应用于特定平台。并且GCJ目前只支持部分的JavaAPI。甲骨文公司对于Java的许可是“全兼容的”,这也导致了微软和升阳关于微软的程序不支持RMI和JNI接口、并且增加特性为己所用的法律争端。升阳最终赢得了官司,获得了大约两千万美元的赔偿,法院强制要求微软执行升阳公司关于Java的许可要求。作为回应,微软不再在Windows系统中捆绑Java,最新的Windows版本,WindowsVista和InternetExplorer7.0版本也不再提供对于Java应用程序和控件的支持。但是升阳公司和其他使用Java运行时系统的公司在Windows操作系统下对用户提供无偿的第三方插件和程序支持。Java语言使用解释层最初是为了轻巧性。所以这些程序的运行效率比C语言和C+要低很多,用户也对此颇有微词。很多最近的调查显示Java的程序运行速度比几年前要高出许多,有些同样功能的程序的效率甚至超过了C+和C语言编写的程序。2.2系统前端技术所谓的Html,它不是编程语言,而是一种超文本标记语言,这也是我们网页使用最广泛的一种标记语言了,经历了多个版本的发展与完善,如今已更新到了5.0版本,通过认真的观察网页源代码,我们可以知道:“<”“>”括起来的是制作网页的语言,有些是成对出现,有些不是>我们把这些不是成对出现用>的符号的语言称为HTML,意思是:超文本标记语言,超文本,指的是超链接,标记指的是标签,是一种用来制作网页的标记语言,该种语言由一个个的标签组成,用这种语言来制作的文件保存的是一个文本文件,文件的扩展名为:.html或者.htm。CSS指层叠样式表,全称为:CascadingStyleSheets,那么(HTML)元素是如何在样式定义中显示的,样式一般存储在数据库的样式表中,之所以把样式添加到HTML4.0中,是为了更好来解决内容和表现分离的问题,这样外部样式表就可以极大提高工作效率,外部样式表可以极大提高工作效率,外部样式表通常存储在CSS文件中,多个样式定义可层叠为一。JavaScript的定义是:一种直译式的脚本语言,或者说它是一种动态类型和弱类型以及基于原型的语言与内置支持类型。通常把JavaScript的解释器称作JavaScript引擎,它是浏览器的一部分,客户端的脚本语言所用的通常就是JavaScrip,JavaScript最开始是在HTML网页上使用,HTML网页的动态功能得到了提升。2.3系统网络架构三层体系结构的B/S(浏览器/服务器,浏览器/服务器结构)系统中,用户可以通过浏览器将请求发送到分布在网络上的众多服务器。B/S系统可以大大简化了客户端的工作量。只要在客户端上安装和配置少量客户端就能运行软件。服务器承担着很多的工作。服务器将访问数据库并且执行应用程序的执行。B/S体系结构持续成熟,主要使用‘WWW’浏览器技术,以及结合各种浏览器的脚本语言,使用通用浏览器来实现原本是很复杂的专有软件的强大功能,并且可以节省开发成本。新的软件架构。需要在服务器端解决基于B/S体系结构的软件的安装,修改和维护。使用该系统时,只有一个浏览器用户可以运行所有模块,从而实现“零客户端”功能,并且很容易在运行时自动升级。B/S体系结构还提供了均化器,在线异构网络,在线异构应用程序服务以及统一开放服务的最现实基础。B/S系统包括:表示逻辑层,控制逻辑层,数据展现层,三层是相对独立又相互关联,在这里我们在三个层面上做一个介绍:1.表示逻辑层,其主要任务是:提出一个服务请求到网络上的Web服务器中,服务进行器验证身份,然后使用HTTP协议把所需的主页传送到客户端,客户机接收到传来的主页文件,并且把它们显示到Web浏览器上。2.控制逻辑层,其主要的任务是:接受用户的数据请求,首先需要执行相关的程序与数据库的连接,并且进行数据处理请求的数据库服务器,再进行数据库服务器等待数据处理的结果,并提交到Web服务器,然后再由Web服务器返回到客户端。3.数据表示层,其主要任务是:接受Web服务器请求的数据库的操作,来实现对数据库的修改,查询,更新和删除等的功能,操作的结果返回给Web服务器。2.4数据库的选择数据库是指:可以按照数据结构来进行组织,存储,管理数据的一个仓库,而每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储与管理的大量数据。关系型数据库指的是;建立在关系模型基础上的数据库,利用集合代数,函数等数学概念和方法来进行处理数据库中的数据。MySQL是关系型数据库管理系统的一种,是由瑞典MySQL
AB公司进行开发,但目前属于Oracle公司。MySQL是:一种关联数据库管理系统,关联数据库是可以将数据保存在不同的表中,并不是将所有的数据都集中到一个大仓库内,这样就有效的提升了速度和灵活性。Mysql是开源的,因此你就不需要支付额外的费用,它就能处理拥有成千上万条记录的大型数据库。MySQL遵从标准的,SQL数据语言和规范。Mysql数据库是能够运行于多个系统之上,并且可以支持多种编程语言。这些编程语言其中包括Ruby、C+Tcl、Java、Eiffel、PHP、perl、c和Python等。Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。MySQL数据库是:一个关系型数据库管理系统的数据库,是如今最热门的关系型数据库管理系统的一种,是因为在Web应用方面的成就很大,所以也得到了很多大型物联网公司的喜欢及应用。因为其将所有数据集中存放到一大仓库内,所以它的速度与灵活性都得到很大的提高。此外,由于MySQL数据库可以在多个系统中运行,所以它具有很好的跨平台性。MySQL访问数据库是使用准确语言SQL来进行访问数据库。因为MySQL的速度却很快,体积小,总共拥有的成本非常的低,而且它对于源代码是开源的,所以一般的中小型网站的开发都选择了,MySQL作为网站数据库是很常见的。2.5系统运行环境2.5.1硬件环境硬盘空间;至少50GB及以上内存:至少4GB及以上处理器:至少InterCOREI5及以上2.5.2软件环境系统开发的工具是指软件环境,在系统开发的这个过程中,如果开发人员对该系统软件开发极为熟练的话,那便系统的开发时间就可以得到很大的提升,人工精力的投入和开发成本,以及选择一个自己比较熟悉的软件环境,对系统开发影响极大,选择用自己熟悉的软件环境这个是很重要的。服务器:Tomcat操作系统:windows软件开发语言:Javaweb数据库:MySQL系统开发工具:eclipse本软件的运行界面便捷,稳定,美观。3系统分析3.1可行性分析①经济可行性本系统的研发对经济上的需求没有那大,物品信息的获取费用的需求也很小。而且,目的也十分的简单,虽然这样并不实用,而且研发的时间相对说很长,但是事实上它却达到了用户方便使用的目的,还可以让该应用拥有很大的发展空间,所以它所产生的回报就会大于支出。Java平台是一个很好的平台,可是开发技术员的付出却是有限的。这样该系统的高效性这一特点就得到了很大的提升,这给为研发的工作,创造了一个很好的条件以及基础。经过结果的证实,本系统的开发的具有较强的经济可行性。②技术可行性本系统的开发采用的是基于java语言开发,从现阶段来说,java语言的发展已经相当的成熟了,并且现在以java为开发平台的研发慢慢的增加,也受到很多研发技术人员的青睐。所以,技术这方面java是可以很好的完成平台开发的所以任务的。因此系统开发在技术这方面上是可行的。③操作可行性软件的操作的难度,很大程度上决定了它能否被大规模推广即使用,这是也研发者的一大难题,如果系统非常的简单易于操作。使用者在不需要指导的前提下能够一个人自己操作设备,自己学会使用,操作完全没有复杂性,将受到广大用户的喜欢,所以该系统的操作是可行的④法律可行性本系统在各个方面,它都没有涉及到法律,所以在法律问题上本系统是完全可行的,可以研发能够进行。3.2需求分析软件需求分析是根据用户的需求进行研究,充分去了解用户的软件所需功能的完整性,确认用户的软件功能的需求之后就可以建立可识别和可验证的基础。用户应提供尽可能多的与软件实现要求的相关信息,以便软件技术人员和软件测试人员更好的去设计及测试减少不必要的麻烦。这就要求软件内容分析内容必须正确和完整,而且可以进行验证。还要能够确保软件设计的质量,软件功能的休息和验证才能得到保证。软件的表达中没有任何歧义,且具有可追溯性及可修改性。3.2.1功能需求分析当选题确定之后,首先要对需求进行分析,根据系统的需要以及要求,进行需求分析以,进行可行性的分析,各个动能模块介绍如下:用户的用例图的功能如图3.1所示:图3.1用户用例图管理员的用例图的功能如图3.2所示:图3.2管理员用例图3.2.2性能需求分析该系统在性能功能达到的要求如下:可扩展性系统进行设计时的扩展性问题是必须要考虑的,因为它是以现阶段的动能需求为目的去进行开发的,要能适应未来实际的需求变化,当系统达到实际需求增加新功能模块后,原有系统架构和功能模块不会造成太大的影响。②.稳定性系统应该做到高内聚低耦合,高效,稳定和可靠,如果要按功能模块进行划分时,要做到不对其它功能产生强依赖,要提高独立性这样才能保证系统的稳定性。③.易用性系统的使用是为了方便用户,所以节省用户的时间精力,才能实现高效的管理,在设计系统时不仅要提供实用功能的基础上,还要做到操作易学易用,界面美观大方,效率高,给用户体验感良好。④.流畅性要提升用户的体验感,系统的使用过程中要减少用户的等待时间,运行效率要高。所以代码质量的提升和建立高效的刷新机制必不可少的,合理优化布局和内存可以提高系统的响应速度,避免使用过程中出现的程序卡顿,能减少等待时间。通过减少层级,删除一些控件无用属性,提升布局的复用,优化界面就提高页面加载速度。⑤.安全性每个系统都要建立安全机制以及权限使用的设置,因为大量的个人数据都存储在系统中,设置权限后可以保证用户的合法性,避免越权操作的出现。3.3系统流程分析1.系统开发流程需求设计-〉实际开发-〉部署测试-〉上线运营需求设计书:描述当前项目具体要实现的功能(和技术无关)概要设计文档:原型图数据库设计文档UML建模详细设计文档实现的技术细节,伪代码接口说明文档服务端开发者提供,对客户端调用服务的接口url,type,参数列表,请求案例,返回结果类型,返回案例,返回参数说明Swagger可以直接在controller上面添加注解,然后通过命令直接生成接口架构搭建通常由架构师完成,或者技术总监,团队负责人然后上传到Git或者SVN上团队人员checkout,分模块开发分模块开发(领功能/接口,方案的评审,通过以后再进行代码的编写)单元测试,交叉测试提交SVN/Git部署测试环境(人工/自动化部署)分类黑盒测试:功能测试,点就可以了;白盒测试:压力测试,边界测试,性能测试,需要脚本自动化测试工具等…在设计需求文档的时候就根据需求设计文档,编写测试用例测试人员根据测试用例开始逐条测试环境部署的项目测试人员会将测出的BUG提交到一个BUG系统开发人员根据自己的bug列表进行复现和修改测试完成在完整的系统开发流程中,首先以需求分析为基础,基于系统选择的开发模式及模型,然后使用相关工具和技术,依次对数据库设计和功能实现。在系统的开发完成后,要通过黑盒测试进行系统的调试与完善系统,系统开发具体步骤如图3.3所示:图3.3系统的开发流程图2.登录流程图该系统一共有两个登录界面,一个是用户的端登录界面,另一个是后台管理系统管理员的登录端,但不管登录对象是管理员还是用户他们的登录流程时一样的只是权限不同,登录系统会对登录者的角色进行判断,然后赋予其相应的权限。具体的登录流程步骤如图3.4所示。图3.4-登录的流程图3.系统核心业务的流程图本系统的用户端主要业务包括用户注册,用户登录,用户信息的修改,查看商品的信息,购买,订单信息,资讯查看等。其中对用户最核心的业务是商品的购买,商品流程具体步骤如图3.5所示。图3.5商品的购买流程图4.数据操作的流程图该系统需要从数据库中,进行读取的数据主要有用户信息,物流信息,商品信息,订单信息,资讯信息,数据读取流程图的操作步骤如图3.6所示。图3.6-数据读取流程图当要把用户信息、商品、订单的添加、商品库存等信息写入数据库时就要进行数据存储,而数据存储的操作步骤流程如图3.7所示。图3.7-数据存储的流程图结合以上对系统功能的分析可以看出,无论是用户登录系统,或者是管理员登录的系统后台管理都必须通过账号和密码进行认证,数据进行验证后系统将自动进行权限验证。要是判断为用户,那么只能对用户的信息,订单信息商品购买信息进行存储,并且分类信息和商品信息只有读取的权限;若判断为管理员,那他将具有对所有数据的管理和审核的权限。所以本系统的数据处理步骤的流程如图3.8所示。图3.8-系统数据的流程图3.4数据流程分析数据流程分析主要包括对信息的流动,变换和存贮等等的分析判断。分析的目的是:识别,解决数据流中所遇到的问题。这些问题主要有:数据流程的不顺畅,前面的数据与后数据不相匹配,数据处理的过程不合理。问题产生的原因有的是属于现行管理混乱,数据处理流程本身有问题,有的也可能是我们调查了解数据流程有误或作图有误。调查的目的就是要尽量地暴露系统存在的问题,并找出加以解决的方法。数据流程分析可以从以下几个方面着手:1.围绕系统目标进行分析业务处理角度:分析正常信息处理中,需要哪些信息,哪些信息冗余,哪些信息暂缺有待于进一步收集。管理角度:分析信息的精度、及时性和处理区间,能否为预测、控制等定量分析提供信息支持等。2.信息环境分析
弄清数据来自哪个部门、用途,环境影响情况,层次信息结构等等。3.围绕现行业务流程进行分析分析现有报表的数据依据现有业务流程的改进,分析信息和信息流的改进,以及信息处理的新要求分析信息的生产方式
4.数据的逻辑分析逻辑分析主要是对各种各样的信息梳理出不同的层次,根据需要提出相应的处理方法和存储结构。5.数据汇总分析通过归纳和筛选,确定每个流程中实际数据流的内容和数据的处理方法及计算方法。6.数据特征分析分析数据的类型以及长度、合理的取值范围、数据所属业务、数据业务量和数据重要程度和保密程度等本系统根据前面设计的业务流程图,系统采用分层细化的方法。各层各部分数据的流程图如下:①第0层数据流图系统的登录不管用户还是管理员都可以通过登录界面进行登录进入到系统中,如图3.9数据图所示:图3.9-第0层数据流图当系统的用户使用自己的账户和密码数据登录时,数据将流通到数据库的接口,这时数据输入进行逻辑的验证。若是找到数据的记录,那么进行页面跳转,并且根据用户身份的信息,跳转到相关的功能页面,执行数据操作时在系统中进行。这时,数据流的有效数据流将流向数据库的中心,并且执行相应的数据sql语句,然后完成数据库的添加,查询,去除等操作。接着数据流从数据库的中心流向系统接口,最后,显示结果。3.第1层数据流图该层为系统的详细数据流图,管理员或者用户通过登录就能进行访问的过程。如图3.10所示:图3.10-第1层数据流图图3.10第1层的数据流图中的数据实体包括用户以及管理员,用户的数据流程包括商品的信息和订单的信息;而管理员的数据流程一个是商品管理,另一个是分类管理,管理员数据流其中有信息的添加,删除,修改,查询,浏览,提示等,第一层的数据表包括管理员与及用户。3.第2层数据流图第2层是管理员的数据流图,管理员通过添加,修改,删除来进行系统的管理,如下图所示:图3.11-第2层数据流图(管理员)图3.11第2层的数据流图中,用户和管理员是第2层的主要数据流实体,其中管理员可以对订单,商品用户等进行增加,查询,删除。第2层的数据表,包括这些数据存在的表中。
4系统设计概要4.1系统开发软件的选择该系统前后台web的编写是用java语言进行的,java是功能很丰富的J2EE集成的开发环境,这其中包就有完备的编码,测试,发布功能和调试,可以支持\o"HTML"HTML,\o"Hibernate"Hibernate,\o"Struts"Struts,\o"JSF"JSF,\o"SQL"SQL,\o"Javascript"Javascript,\o"CSS"CSS。在开发过程中,本系统采用的Eclipse开发的工具,Eclipse企业级的工作平台是对\o"EclipseIDE"EclipseIDE进行扩展,然后利用它能够在数据库以及\o"J2EE"J2EE的开发,发布和应用程序服务器的整合方面,提高工作效率得到很大的提升。Eclipse从结构的特征可以分为7大类:①J2EE模型,②\o"WEB"WEB开发工具,③数据库服务,④\o"EJB"EJB开发工具,⑤应用程序服务器的连接器;⑥J2EE项目部署服务,⑦数据库服务、Eclipse整合帮助,这几种动能的每一种功能上的类别,\o"Eclipse"Eclipse中都有相关的功能部件对应,而且通过一系列的插件可以实现它们。Eclipse这种模块化,在对其他模块不影响的情况下,任可一模块进行单独的扩展与升级,表面这是一款好用的开发工具。系统的数据存储在数据库之中,该系统采用了MySQL数据库使系统的安全性得到了很大的保障。4.2系统总体功能设计在系统的开发与运行及总体规划,上述阶段以严格的线性开发顺序排列,每个会话都将制作出完整技术文件作为下一阶段的工作依据,系统开发阶段可以进一步分为系统设计、分析以及系统实现等环节。而每阶段都有中相应的文档进行审评,确认现阶段的工作已经完成,而且在进入下一阶段之前也要满足之前的要求,在未来的工作中不能轻易改变以前的审查结果。系统设计的过程是:将需求转换为用软件系统的这个过程。首先我们要研究并分析目标的体系,然后再进行系统的总体的规划,这就是系统开发的首要过程步骤。在经过系统作出分析和研究之后,就可以进行本系统的整体规划。可以系统设计共有六小部分就是系统的整体设计,系统的详细设计数,系统的据库设计,系统的开发工具,系统的技术,系统的开发模式,后三者可以根据(高内聚低耦合)的原则,对系统的功能进行模块划分具体流程为如图4-1所示:图4-1系统功能图4.3系统数据库设计4.3.1概念模型设计所谓的数据库设计是:首先根据业务系统的需要,然后结合选择的DBMS去设计最理想的数据存储模型。并且要建立好表的结构和表与表之前的关联关系。这样就可以进行有效的存储数据,并且能够提高从数据库中取出已存储数据的效率性。需求分析:数据具有的属性是什么?什么才是数据呢?属性和数据它们各自都有什么特点呢?。逻辑设计:系统数据库进行逻辑建模是通过E-R图来实现的。物理设计:系统要把逻辑设计转换成物理设计的主要依据是数据库它本身的特点。维护优化:运行效率提升,时间减少,将新的动能需求建表。实体:一个实体是一个可以被触摸的实体,它具有区别于其他事物并与其他实体相关联的特征或属性。例如书桌可以是一个实体,行李箱也是一个实体。属性他是实体的特征。图则是实体的介绍。4.2-商品实体图4.3-订单实体图图4.4-分类实体图4.3.2数据库结构设计概念设计是:系统的分析和数据库设计的建立要在分析数据的基础上进行的,结合之前的分析把设计的观点集中在一起,把系统的结构分析和优化设计完成。数据库结构的一般概念是:实体与属性的关系模型。E-R模型具有实,属性与联系等多方面的信息,E-R图就是E-R模型的表示,而实体信息的表述是属性。数据库管理项目的开发,往往离不开数据库表结构的设计,因为那是数据库管理开发的基石,如果表结构的设计不理想,就可能会影响项目开发的效率。这样就会浪费很多的时间。数据库逻辑设计的重要组成部分是表结构的设计,数据库性能的好坏取决于表结构的设计,所以本章节就来讲解数据库的设计技巧以及它的注意事项。1.数据库表名的设计一般是由模块名来实现,而且同一模块的前缀是一致。2.表的名称不能太长,正常不能超过三个英文的单词,中文拼音最好不要用,因为表的总长度一定不能超过30个字符。所以表名用英文来表达最好不过了。3.数据库的表名的表前缀能不用tab,tb等就不要用。4.当数据库表要进行多对多连接表时,两个表与表的前缀可以作为表名。unll值与unll是不可以链接的,5.若系统中存在部分的重复值,那么就可以使用字典表来节省存储空间,并进行优化和查询。如,区域和系统中的用户类型的名称。虽然这些值在程序运行的时候不会进行更改,但是需要存储在数据库内。在一般的数据库中,存储系统使用的基本数据通常保存在数据字典表。大型字段表(比如城市和农村地字典表)统一的缀是Dictionary。想要建立一个不错的数据库,那么就需要遵循一下原则:避免出现数据的冗余。不要出现重复的数据。3.数据库表的结构设计与操作设计要相互的结合。4.数据结构的稳定性要良好。5.经过对系统需求的分析和一些相关的数据流程,下列是数据库中不同的表:表名:addr编号列名数据类型长度小数位允许空值1idbigint20002shrvarchar255013shrtelvarchar255014memberidvarchar255015delstausvarchar25501表名:car编号列名数据类型长度小数位允许空值1idbigint20002gidvarchar255013midvarchar255014slint1101表:kcercord编号列名数据类型长度小数位允许空值1idbigint20002gidvarchar255013happennumvarchar255014typevarchar255015sveimevarchar25501表名:sysuer编号列名数据类型长度小数位允许空值idbigint2000usertypevarchar25501usernamevarchar25501userpwdvarchar25501realnamevarchar25501sexvarchar25501Telvarchar25501emailvarchar25501delstatusvarchar25501savetimevarchar25501
5系统详细设计和实现5.1用户模块的设计5.1.1用户登录注册模块设计登录:我们可以把登录看作两个部分,第1部分是用户的注册,用户依次填写:用户名,密码,姓名,性别,男,电子邮箱,电话。进行注册,当用户在注册界面把所有的个人信息填写之后,就可以点击注册按钮提交,用户填写的个人信息数据就会存到系统的数据库内,第2部分则是用户的登陆,当用户把自己的账号和密码输入数据库中,系统进行判断,若与系统数据库中的数据一致即可登陆成功,当用户输入的账号与密码填与系统数据库中的数据不一致,则登陆不成功。意思就是说,如果你输入自己的账号与密码,系统若不提示登录失败就会跳转到系统的首页,即登录成功。用户注册的界面如图所示5-1.1所示:图5-1.1系统注册模块的界面图用户登录的界面如图所示5-1.2所示图5-1.2系统登录模块的界面图5.1.2系统首页模块设计当我们的用户登录之后首先是会进入到系统的首页界面,在系统的首页界面之后,用户可以看到一些商品资讯的图片,还可以在首页中就能够很好地去了解系统的功能分布,用户通过系统的首页可以迅速的学会使用系统。系统首页设计简单整洁可以方便用户的使用。系统首页的界面如图5-2所示:图5-2系统首页设计模块界面图5.1.3系统商品信息模块设计当用户登录系统之后,可以对商品信息进行查看,首先要点击菜单里的全部商品,页面就会跳转到商品信息的列表界面,然后用户可以通过商品分类,品牌,和价格区间来查找自己想查看的商品,信息的分类可以检索进行查看,通过下面的这些图片我们就能知道,商品信息的获取是,要通过商品表中的表获取数据,输入参数到该接口就可以得到我们所需的返回值。编写商品信息的代码如下所述:1.把参数输入数据库中,数据库建立可以从中看到类型表的信息:类型表中每个字段的类型都是string。所以传入参数就可以从中获取数据。2.这部分编写的接口是给客户端调用的接口。taotaoresult之所以可以用来对商品信息的返回值进行包装,是因为当我们提交参数成功之后,我们必须要将这类型信息遍历后,返回给前端。但返回的是数据list信息,那就要进行包装下。商品信息的界面如图5-3所示:图5-3商品信息模块界面图5.1.4系统商品购买模块设计在购物车的模块之中我们可以看到自己添加到购物车所有的商品,用户登录之后在购物车模块可以对商品进行数量的添加,也可以把商品从购物车列表中删除,当用户确定要购买后,就能进行付款购买商品。商品购买的界面如图5-4所示:图5-4商品购买模块的界面图5.2管理员模块设计5.2.1资讯管理的模块设计当管理员登录系统之后,点击系统的资讯管理就能查询或者添加,删除资讯信息,首先系统会将数据传到数据库的资讯表中进行查询,接着后台收到返回值后再将返回值进行遍历之后转给页面,这样管理员就可以查询到历史的资讯信息。当管理员点击添加资讯信息时,页面会跳转到新的页面,管理员可以在这个页面输入要添加的资讯信息,然后点击save提交表单,表单的数据将传入到后台数据库进行解析,通过对每个字段的获取的资讯信息解析之后生成的sql语句,接着在dao层对数据库进行添加的操作之后用户登录就看到。资讯管理界面如图5-8所示图5-8资讯管理模块界面图5.2.2订单管理模块设计在订单管理的模块中管理员可以进行查看所有订单的信息,有权在订单管理中对订单信息进行查询,删除,发货和更新物流等操作,管理员点击发货或者更新物流信息操作之后数据将传入后台进行解析,通过对每个字段的获取的资讯信息解析之后生成的sql语句,接着在dao层对数据库进行添加的操作之后用户登录就看到。订单管理界面如图5-9所示图5-9订单管理界面图5.2.3商品管理模块设计当管理员登录系统成功后可以对商品信息进行查询,编辑,添加等操作,打开商品管理界面,点击查询按钮,数据将传入系统的数据库的商品表之中,然后进行商品信息的查询,接着后台收到返回值后再将返回值进行遍历上传转给系统页面,管理员从系统界面可以查看到历史商品的信息,点击新增商品信息,这时页面会跳转到另一个新页面,在这个页面管理员可以输入要添加的商品信息,然后点save提交表单,接着表单的数据就会传入到后台进行解析,通过对每个字段的获取将商品信息中进行解析之后后生成sql语句,数据库的添加操作在dao层进行。商品管理界面如图5-10所示图5-10商品管理界面图5.2.4商品库存管理模块设计当管理员登录系统之后。点击商品库存可以对商品的库存进行查询和添加,当管理员输入数据,点击提交表单后,系统数据库进行更新,用户就可以进行商品的购买。商品管理界面如图5-11所示图5-11商品管理界面图
6系统测试6.1测试方法一般的测试方法有一个有两种,第1种是:白盒测试,第2种是:黑盒测试。其中的白盒测试为:我们把白盒测试又称作结构测试以及逻辑驱动测试等,其中盒子就是被测试的软件,当决定使用这个白盒测试方法的时候,技术工作人员则需要对内部结构程序进行检测,也就是说要求测试的技术人员对自己的程序要相当熟悉和了解才能进行测试,对自己产品的工作流程要相当的熟练,要对软件的结构语句无比的清楚,而且可以根据所知的结构来进行程序的测试。在这个过程当中,检查点的设立由技术人员在不同的地方进行设立,检查点的作用是反应当前程序的状态,然后根据测试的结果与预期所想的进行状态对比。看结果是否一样。通常白盒测试方法的测试阶段共分为4种,它们是计划,设计,执行和总结测试阶段。首先要依据起始的项目的需求任务书对进度流程进行测试与制定,接着对系统使用标准的测试方法进行测试,在测试的整个过程当中,技术人员不能一直的去进行盲目的测试,技术人员要在针对特定的条件前提下去针对性的去设计一个测试的方法。当我们要检测代码的分支以及路径时可以使用白合测试方法进行测试,因为测试的本身的特殊性,所以我们的测试人员不得不去认真的考虑软件的实行方法,而且可以将代码的错误的检测显示出来,白合测试方法对代码的测试进行的比较彻底仔细。可是白盒测试的方法也有一些缺点,百合测试在测试的过程当中对代码中遗漏的错误不能进行检测,所以不能很好的去验证其正确性。其中的黑盒测试就是:通常把黑盒测试又可以称作功能测试,经过对各个模块的功能进行测试来检测系统的运行和使用是不是可以正常运行。一般把这种测试称作“表面性”的测试,那是因为这种测试可以不用考虑系统的内部结构和内部特征就可以进行测试,其测试主要是对软件系统的界面和功能进行测试。例如说,当要对程序接口进行测试的时候,黑盒测试只是检查着程序的功能是不是按照项目原先的目标进行正常的运行,在程序接收到输入的信息的过程种是能否输出正确的信息。黑盒测试的方法重点是程序的外部结构,内部的逻辑黑盒测试不用去考虑,黑盒测试这点与白盒测试的方法恰恰是相反的。黑盒测试的方法它的面对对象也就是用户群体,因为黑盒测试的测试重点是软件的功能测试,所以当系统外部特征的设计有问题的时候,黑盒测试是不能测试出来的。黑盒测试的过程中很节约劳动力,黑盒测试的测试,测试人员可以不用时刻的去监管它。但是黑盒测试不能进行概念的状态转换,决定它的测试结果的是测试用例的设计。所以测试的设计一定要好。6.2测试目的本程序基本开发完毕,要进入下一步测试阶段。在之前的设计中,并非不会存缺陷,有时一个错误或缺陷没发现,它的问题就会致命,可能前期看不到问题,等到后期发现时,修复的成本会很大,时间也会很长。这时会导致公司的巨大损失。就目前来看,本程序是否存在问题还不太清楚,所以软件测试就是要发现这些问题,而解决这些问题,才是最重要的。整体测试步骤:1.单元测试是测试最开始的步骤,这个测试主要放在编码阶段操作,在程序开发经过检查,修改并且没有语法错误时开始单元测试。2.集成测试我们做完单元测试后的第二个测试是集成测试,这个测试主要将它的模块概要必须组装成系统才可以测试,它的主要功能看接口之间是否存在问题。3.确认测试确认测试是第三步,上一步测试已经发现了接口的问题,已经改正。所以确认测试的作用是看设计完成的软件是不是可以满足用户预期的要求。对软件进行确认4.系统测试系统测试相对考虑较多,影响因素也多,类似于一个实际操作,电脑的运行环境问题,对这个软件所有的功能进行全方位的测试6.3测试实例该系统需要测试的模块分别是:管理员模块的使用测试和用户的使用测试模块这两个模块系统的管理功能的测试结果如表6.1所示:表6.1测试结果表测试用的例号输入数据测试结果是否正常s1资讯的管理是s2用户管理是s3商品管理是s4订单管理是该系统经过技术员测试和调试后可以按照用户需求的功能进行正常运行,并且在运行的过程没有错误。但是在该系统整体测试运行当中,系统功能可能有点单一,数据源的配置需要去修改与完善。6.4系统维护如果系统的测试顺利完成,而且还可以正常的运行,那么接下来就是对系统进行维护。而系统的维护内容它们分别是系统的维护与升级以及系统的维护与更新。系统的维护是持久进行的,决定一个系统的成功不是系统外表和运行中使用的技术,而是系统能及时的去为用户提供一些有效的信息。(1)系统的维护:当用户提出的系统中存在的问题技术员应该马上的去检查,若是检查的结果的确是服务器和页面存在的问题,那么应该马上进行改进。但不不是一味的去听取用户的建议,我们应该取那些有用的建议,不好的则是去除,而且在以后加以应用。在吸取建议的同时也把一些无用的和过期的信息进行删除,减轻程序运行的负担,这样可以提高服务器的稳定性,响应时间也可以减少。(2)系统内容更新:当系统进行内容的发布之后,这时就需要对信息进行及时的更新。(3)系统布局更新:系统的更新不能进行的很频繁,因为这样就会很难去吸引用户的眼球,所以的更新系统定期的去更新就可以了。(4)系统的升级有以下方面的升级:①.系统应用程序的升级:因为系统应用程序的长期的运行,这就导致系统会产生一小部分问题,比如出现用户越权违规,注册用户的个人信息发生泄漏等,就会很麻烦,轻的话可能会导致运行服务器的停机,比较严重的话可能会出现法律的纠纷。所以管理人员要监控程序进行时刻的管理,如果出现问题时,应当立即采取措施,同时也要对每一个站点的安全公报提示进行监察。②.系统后台数据库的升级:系统数据库因为经过长时间的运行速度可能会下降。所以这时候管理员应该对系统数据库进行进一步的升级。总结与展望历时数月的毕业设计,从最初的最项目的懵懂,变得理解项目的含义,从最初对软件的生疏,变得娴熟,从最初的技能经验的空白变得开始熟知。大学四年的学习为以后开发奠定了基础,经过此次项目的开发,更是从其中明白了一个项目的开发流程和每步实施的过程。并在这个开发的过程更加清楚明白的了解自己,明白自己在项目开发中更擅长于哪些,也明白自己在哪方面更薄弱,此次的开发就像一个标尺,起到了很好地衡量自己的作用。本次系统设计使我对书本上学习的知识进行了巩固,内心实乃感慨万千,在这次课程设计过程中我们遇到了不少的难题,比如数据库操作问题,界面设计问题,函数使用与消息处理问题等等。其中,最关键的是最初对系统的需求分析做的不透彻,导致后续设计工作乃至编码时的修改工作量变大。尤其,越接近结束,就越是时常出现问题。所以,通过这次课程设计我深刻的体会到软件工程还是必须学精通、学透彻。通过这一次的课程设计,我们组员越来越默契,在设计过程中我们先把功能分工了,然后每个人下去都把需求写出来,当需求综合时,大家都不局限于只考虑自己的功能实现,往往还要考虑其他组员的功能。大家一起集思广益,用心认真的完成着系统每一部分的设计与实现,我认为这是我们的一-次大的进步。不仅提高了自己的动手能力,更体会到了养成创新意识的重要性。更加深入的了解了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省临沂商城外国语校初三教学测试(一)生物试题含解析
- 2026届济南市天桥区重点中学初三第二次月考试题含解析
- 2026年各地陆海统筹可复制经验做法典型案例汇编
- 苏州市吴江区达标名校2026届高中毕业生五月供题训练化学试题试卷含解析
- 河北省邢台市名校2025-2026学年初三第一次调查研究考试(4月)化学试题含解析
- 2026年千元级激光雷达与纯视觉方案成本优势
- 2026年偏远地区通信覆盖难题破解:6G非地面网络从设计之初即集成
- 美容院顾客服务专员操作指南
- 新浪网络推广策划与时间安排表
- 京东集团内部品牌管理流程规范
- 西方心理学史课件
- 入职体检肝功能查询报告
- CPK-数据自动生成器
- 商业运营管理培训课件
- 国防科技大学宣讲ppt
- 闽教版小学英语五年级下册校本作业
- 自制中外对比旧约历史年代对照表
- 结构化面试答题套路90结构化面试题型及答题套路
- GB 20922-2007城市污水再生利用农田灌溉用水水质
- FZ/T 43008-2012和服绸
- 浓密池专项施工方案
评论
0/150
提交评论