软件类毕业论文

发布时间:2022-11-14 14:26:36


西专科毕业设计(论文

基于.net的PSP系统的软件设计和实现

:2011级:谭琳:软件开发指导老师:任挺

2012年6月


西南交通大学专科毕业设计(论文)

信息科学与技术学院软件开发__________________
谭琳______________________指导教师







指导教师(签章







(签章



西南交通大学本科毕业设计(论文)I
答辩委员会主任(签章)



西南交通大学专科毕业设计(论文)II


本系统主要使用了JspStruts2Spring以及Hiernae技术,采用目前网站开发中较为流行的MC设计架构。truts2技术主要用于处理页面的跳转和对业务方法的调用,目的是为了分离视图层和控制层。Sprin技术主要用于在Struts与Hbernte技术之间的解耦操作,提高程序的重用性、可维护性以及健壮性。Hibenate技术是为了实现用面向对象的思想来管理和使用数据库技术,实现程序与数据库之间的低耦合。
文章介绍了使用java和xml技术开发网站系统的详细过程,介绍了项目背景和开发意义,同时包含了对系统开发环境与技术的介绍。在系统分析与设计部分,对系统功能做出了详细的描述,并对各个功能模块进行了分析,包括模块显示界面、使用的数据及函数调用过程等。使用类图阐述了本系统的设计思路,使用用例图和时序图来协助说明系统的设计方案。在系统实现与测试阶段,使用了流程图进一步展现了系统功能的实现过程。
该系统将会给各钟表销售门店带来方便,其功能需求也会进一步提高和稳定。们期待该系统能为当今社会更好的服务。


西南交通大学专科毕业设计(论文)III

第1章绪论错误!未定义书签。
11开发背景错误!未定义书签。
12开发思路及主要方法错误!未定义书签。1.3.我的PSP管理错误!未定义书签。第2章开发语言错误!未定义书签。
2.1.系统开发工具与运行平台错误!未定义书签。
2..2开发语言............................................................................错误!未定义书签。2.2相关技术简介.........................................................................错误!未定义书签。2.2.1动态编程..............................................................................错误!未定义书签。2.2.2系统采用技术介绍错误!未定义书签。
第3章系统分析与设计...................................错误!未定义书签。
3.1用户需求的获取...................................................................错误!未定义书签。32系统用户分析....................................................................错误!未定义书签。3.3系统功能分析.........................................................................错误!未定义书签。.4数据库分析与设计错误!未定义书签。
3.5系统详细设计....................................................................错误!未定义书签。3.5.1系统页面设计错误!未定义书签。
4系统实现与测试..................................错误!未定义书签。
4.1重要模块说明...........................................................................错误!未定义书签。结论错误!未定义书签。致谢错误!未定义书签。
参考文献...............................................错误!未定义书签。


西南交通大学专科毕业设计(论文)4
第1章绪论
.1开发背景
个人软件过程(SP是一种可用于控制、管理和改进个人工作方式的自我
持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则;帮助软件工程师作出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。其中,SP又包括过程改进,时间管理,制订计划缺陷管理几个方面。在CMM1.1本的18个关键过程域中有12个与PSP有关,据统计,软件项目开发成本的70%取决于软件开发人员个人的技能、经验和工作习惯。因此,一个单位的软件开发人员如能接受PSP培训,对该单位软件能力成熟度的升级是一个有力的保证。CMM侧重于软件企业中有关软件过程的宏观管理,面向软件开发单位,PP则侧重于企业中有关软件过程的微观优化,面向软件开发人员。二者互相支持,相补充,缺一不可。
按照PP规程,改进软件过程的步骤首先需要明确质量目标,也就是软件将要在功能和性能上满足的要求和用户潜在的需求。接着就是度量产品质量,有了目标还不行,目标只是一个原则性的东西,还不便于实际操作和判断,因此,必须对目标进行分解和度量,使软件质量能够"测量"。然后就是理解当前过程,查找问题,并对过程进行调整。最后应用调整后的过程,度量实践结果,将结果与目标做比较,找出差距,分析原因,对软件过程进行持续改进。
就象CM为软件企业的能力提供一个阶梯式的进化框架一样,PP为个体的能力也提供了一个阶梯式的进化框架,以循序渐进的方法介绍过程的概念,每一级别都包含了更低一级别中的所有元素,并增加了新的元素。这个进化框架是学习PSP过程基本概念的好方法,它赋予软件人员度量和分析工具,使其清楚地认识到自己的表现和潜力,从而可以提高自己的技能和水平。
.2开发思路及主要方法
在上这门选修课之前,我对PSP个人软件过程可以说是一点都不了解,只知道PSP是一款游戏机。经过了老师的讲解,我才对PSP个人软件过程有了初步的了解。原来,我以为开发软件靠的只是技术,只要掌握了编程技巧,把相应的语言学好,就能开发出优秀的软件。可是,学习几节课后,听了您对PSP的


西南交通大学专科毕业设计(论文)5
讲解,我才明白要要想开发出好的软件,不仅需要真才实干,还要有好的规划好自己的时间和其他方面。由于我是计算机专业的学生,可能对这些知识接触较少,有说的不太对的地方,还请老师以后多指教。
我认为PSP包括了很多方面,其中有对代码的不断修改,通过测量来发现问,并改正问题。还有对自己的时间的合理利用,做切实可行的计划,按照计划进行工作,这样可以了解计划存在哪些问题,有助于更好的计划下一个项目。按照好的计划完成工作,由于软件中的许多错误都是由于粗心大意引起的,所以合理利用时间,计划工作是很有用的,可以有效的减少这些错误。
我认为PSP也是一种很好的工作和学习的方法,它可以使我们更好的学习和工作,最大化的利用时间,提高工作效率。这就是我对PSP的的认识,以后的工作中我会通过PSP对自己的工作做较好的计划,更好的体会PSP给工作带来的益处,对它进一步的了解。
.3.我的PSP管理
(1制定计划
每天要做的事情很多,如果不制定一个很好的计划就总会不能按计划完作,尤其到了周六日的时候,早晨一睡就是一上午,会浪费很多时间,所以我自已制定了周日一天的计划。2过程改进PSP需要不断的改进。
就是在不断的测量中发现问题和改正错误。这学期的c语言作业中我就通过不断的调试,发现错误,然后改进,并完善程序。我编的是一个贪食蛇的小游戏,编好后,我发现只能实现玩家控制一条小蛇吃蛋,增加长度。虽然做好了,但是和我玩过的绝大多数游戏比起来,简直太简单了,可玩性相当差,于是我又在头脑中形成了我想要的游戏的样子,以那样的为目标,一点点改进我程序。如加入音乐,加入其他食物(得分食物,加速食物等),增加主菜单,增加一些关卡,
调试过程也是一个不断与目标看齐,改进程序的过程,就像一开始我加入音乐时,发现是在游戏之前播放音乐,播放完成后,才能进入游戏,于是我查找书籍,反复调试,最后成功达到音乐做为背景音乐的效果。就这样朝着目标不断改进,最后终于达到了期望的结果。


西南交通大学专科毕业设计(论文)6
2章开发语言
2.1.1系统开发工具与运行平台
由于Liux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。
操作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。个操作系统是一个复杂的计算机程序集,它提供操作过程的协议或行为准则。有操作系统,计算机就无法工作,就不能解释和执行用户输入的命令或运行简单的程序。大多数操作系统都是由一些主要的软件公司支持的商品化程序,用户只能有偿使用。如果用户购买了一个操作系统,他就必须满足供应商所要求的一切条件。因为操作系统是系统程序,用户不能擅自修改或试验操作系统的内核。这对于广大计算机爱好者来说无疑是一种束缚。
要想发挥计算机的作用,仅有操作系统还不够,用户还必须要有各种应用程序的支持。应用程序是用于处理某些工作(如字处理)的软件包,通常它也只能有偿使用。每个应用程序的软件包都为特定的操作系统和机器编写。使用者无权修改这些应用程序。使用Linux,可以将操作系统变成一种操作环境。由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,而且可以任意地修改和补充它们。这对用户学习、了解Unix操作系统的内核非常有益。学习和使用Linux,能为用户节省一笔可观的资金。Linux是目前唯一可免费获得的、为PC机平台上的多个用户提供多任务、多进程功能的操作系统,这是人们要使用它的主要原因。就PC机平台而言,Linx提供了比其他任何操作系统都要强大的功能,Linux还可以使用户远离各种商品化软件提供者促销广告的诱惑,再也不用承受每过一段时间就升级之苦,因此,以节省大量用于购买或升级应用程序的资金。
Linx不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Lnux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Lnux的网站上找


西南交通大学专科毕业设计(论文)7
到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对WindosNTWidows98MS-DOSOS/2等商品化操作系统来说是无法做到的。Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会。尽管Liux是由计算机爱好者们开发的,但是它在很多方面上是相当稳定的,从而为用户学习和使用目前世界上最流行的Unx操作系统提供了廉价的机会。现在有许多CD-ROM供应商和软件公司(Liux操作系统。Linux成为Unix系统在个人计算机上的一个代用品,并能用于替代那些较为昂贵的系统。因此,如果一个用户在公司上班的时候在Unix系统上编程,或者在工作中是一位Unix的系统管理员,他就可以在家里安装一套Unix的兼容系统,即Linux系统,在家中使用Linx就能够完成一些工作任务。
.1系统语言2.1.2开发语言
sp.net20是一种动态网站高级编程语言。ap.net2.0是微软公司的最新版本,是一种建立在公共语言运行库上的编程框架,可用于服务器上开发强大的wb应用程序。aspnet20不但执行效率大大提高,对代码的控制也做的很好。并且支持webcontrols功能和多种语言。以提高安全性,以管理性和高扩展性。asp.net技术从1.0升级到11的变化不大,但是升级到2.0,却发生了相当大的变化,在开发过程中,微软公司深入市场,针对大量开发人员和软件使用者,进行了卓有成效的研究,并为其指定了开发代号,as.et2.0设计目标的核心,可以用一个词来形容--简化。因为其设计目的是将应用程序代码数量减少百分之七十以上,改变过去那种需要编写很多重复行代码的状况,尽可能做到写很少的代码就可以完成任务。对于软件工程师来说,asp.et2.0是web开发史上的一个重要的里程碑!asp.ne2.0的新特性:生产效率,使用新增的ap.net2.0服务器控件和包含新增功能的现有控件,可以轻松的创建asp.net2.0网页和应用程序。灵活性和可扩展性,很多asp.nt2.0功能都可以扩展。这样可以轻松的将自定义功能集成到应用程序中。


西南交通大学专科毕业设计(论文)8
能,使用如预编译,可配置缓存和sql缓存失效等功能。安全性,现在向web用程序添加身份验证和授权非常简单。完整性,新增功能和现用功能协同工作,可以创建解决实时web开发挑战的端对端方案。
编辑本段无论如何,.NET.0已经在叩开新年的大门之时,以高调的姿态迎来一片掌声。广大的技术爱好者不会等待太长的时间,就能感受C#发展中的又一次变革。随着.E4.0在2009年的发布,我们对于C#.0的关注也将与日俱增。总体而言,C.0的重头戏主要着眼在以下几个方面:动态编·并行计算后期绑定·协变与逆变废话少说,接下来我们一一领略C.0中的语言特性
22相关技术简介2..1动态编程
众所周知,C#是静态强类型语言。而在很多情况下,提供动态行为,是
常常发生的事情,例如通过反射在运行时访问.NET类型、调用动态语言对象、访问COM对象等,都无法以静态类型来获取。因此,#4.0引入的又一个全新的关键字dynaic,也同时引入了改善静态类型与动态对象的交互能力,这就是动态查找(Dynamicookup例如:就像一个objet可以代表任何类型,dyaic使得类型决断在运行时进行,方法调用、属性访问、委托调用都可动态分派。同时,动态特性还体现在构建一个动态对象,C#40实现IDynamicbject接口的类型,可以完全定义动态操作的意义,通过将C#编译器作为运行时组件来完成由静态编译器延迟的操作,例如:ynamicd=nwoo(;.MyMethod(s,,null在具体执行过程中,C#的运行时绑定器基于运行时信息,通过反射获取d的实际类型Foo,然后在Foo类型上就MyMthod方法进行方法查找和重载解析,并执行调用,这正是动态调用的背后秘密:DLR.NET4.0中将引入重要的底层组件DLRDnmicLngugRntime,动态语言运行时,除了实现动态查找的基础支持,DLR也同时作为基础设施为类似于这个特性非常简单,有些Javacript的影子,我们可以统一使用使用"vr"关键字来声明局部变量,而不再需要指明变量的确切类型了,变量的


西南交通大学专科毕业设计(论文)9
确切类型可通过声明变量时的初始值推断出来。这样一来,可以大大简化我,于变量的类型是通过变量初始值推断而来的,所以在声明变量的同时必需为变量指定初始值。并且,变量并不是没有类型的,变量一旦初始化之后,类型就确定下来了,以后就只能存储某种类型的值了,比如上面的strnVlue的类型经推断为string所以该变量就只能保存sting类型的值了。2.2系统采用技术简介1
VisualBsic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬zz件的操作不太容易实现。但它可以通过动态链接库技术将C/C++或汇编语言编写的程序加入到VisuaBasic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(AP函数,实现SK所具有的功能。


Request
Struts.
properties
Struts.xml

Responsee
核心控制器FilterDispatcher
Interceptors

Action
Results
视图View
Jsp,StrutsTags

Model业务逻辑
1-1truts2MVC实现示意图
工作流程:
1.用户提交Reqest请求信息。
2.FiterDspatcher询问ActonMpper是否需要调用某个Ac
ion来处理这个(HttpServletRequest请求,如果ActionMapper决定需要调用某个Actin,FilterDipacher则把请求的处理交给AcinProxy
3.ctioProxy通过Configuratioangersruts.ml)询问框架
的配置文件,找到需要调用的Action类。


西南交通大学专科毕业设计(论文)10
4.ActionPoxy创建一个Actionnvocation实例,同时Action
Invoction通过代理模式调用Ation。但在调用之前,ctinInvocation会根据配置加载Action相关的所有Interceptr(拦截器
5.一旦Action执行完毕,ActionInvocation负责根据stut.xml中
的配置找到对应的返回结果rsut
Spring简介:Sprng框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SringWeb框架还是Sruts这样的Web框架。通过策略接口,Sprng框架是高度可配置的,而且包含多种视图技术,例如JaaServrPges(JSP)技术、VelciyTiesiexOI。SprinMV框架并不知道使用的视图,所以不仅仅限于使用JP技术。SpringMC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。如下图1-2SringMVC实现示意图,


2寻找处理器
Struts.xml
HandlerMapping

1HTTP请求
DispacherServlet
3调用处理器
Hander
5得到处理结果
6得到处理结果ViewResolver
Model
8HTTP相应
Service
View(JSPJSTL
7传给view显示
4业务处理
ModelAndView
12SpringMC实现示意图
工作流程:
1.DsatchrSrvlet接收到请求后,根据对应配置文件中配置的处理
器映射,找到对应的处理器映射项HndlrMappin根据配置的映射规则,找到对应的处理器(Hnler
2.调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个


西南交通大学专科毕业设计(论文)11
MdeAndView类型的数据传给DipatcheServlet,这其中包含了处理结果的视图和视图中要使用的数据。
3.DispatcherServet根据得到的ModelAndiew中的视图对象,找到一
个合适的ViewResolver(视图解析器),根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图,最后给浏览器构造一个HTTP响应。
Dispatcherervlet是整个SpringMVC的核心。它负责接收HTTP请求组织协调SprigMVC的各个组成部分。其主要工作有以下三项:
(1截获符合特定格式的URL请求。
(初始化DiptherSrlet上下文对应的WebApplicationonext,并将其与业务层、持久化层的WebAplicatoContext建立关联。
(3初始化SpringMVC的各个组成组件,并装配到DispatcherSerlet中。
Hiernate技术简介:
Hberate是一个数据持久层框架,是一种实现对象和联系之间映射O/RMppin的工具,它对JDBC执行了轻量级的对象封装,使程序员可以运用对象编程思想来操作数据库。它不仅提供了从Java类到数据表的映射,也提供了数据查询和恢复机制。相对于运用JBC和SQL来操作数据库,运用Hibernate能大大的提高实现的效率。Hibrnae框架用配置文件的形式来定义Jva对象和数据表之间的映射联系,同时在更深的层面将数据表之间的联系解释为Java对象之间的继承及包含等联系。通过运用HQL语句将复杂的联系算法用对象的方式描述,在很大程度上简化了对数据的查询,加快了开发的效率。在Hbernate中有一个基本而直观的AP,用于对数据库所表示的对象执行查询。要建立或修改这些对象,只需在程序中与它们执行交互,然后告诉Hbernae保存即可。这样,大量封装持久化操作的业务逻辑不再须要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化Hibernte是一种新的OM映射工具,它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JBSQL来手工操作数据库,使用Hbrnte,可以大大减少操作数据库的工作量。Hberate可以和多种Wb服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器其体系结构如图1-3所示
MVC设计模式:模式视图控制器(MdeliewController,MVC是一种先进的设计模式。是TrygvRenskaug教授于178年最早开发的一个设计模版或基本结构,其目的是以会话的形式提供方便的GI支持。三层结构的特点是:所以下层向上层提供调用的接口,具体实现细节对上层透明,


西南交通大学专科毕业设计(论文)12
层与层之间存在自上而下的依赖关系,即上层会访问下层的AI,但下层不依赖于上层。视图(View代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applt随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。模型(Model:就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。控制(Controller可以理解为从用户接收请求,模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。其模型视图如图1-4示。


图1-4MC模型
MC是一种通过3个不同部分构造一个软件或组件的理想办法:1.模式(Model)—用于存储数据的对象2.视图(Vie—为模式提供数据显示的对象。
3.控制器(Controller—负责具体的业务逻辑操作,即控制器根据视图提出的
请求jsp显示数据

模型
JAVABEANJAVABEAN

视图JSP页面JSP页面
请求处理数据
控制器
连接
数据
数据库文件
ACTIONSERVLET
读取


西南交通大学专科毕业设计(论文)13
要求对数据做出处理,并将有关结果存储到模型中,同时负责让模型和视图进行必要的交互,当模型中的数据变化时,让视图更新显示。
从面向对象的角度看,MVC结构可以使程序更具有对象化特性,也更容易维护。在设计程序时,可以将某个对象看做“模型”,然后为“模型”提供恰当的显示组件,即“视图”。在MVC模式中,“视图”“模型”和“控制器”之间是松散耦合结构,便于系统的维护和扩展。
2.2.2系统采用技术介绍
本系统采用了nt、CMM技术,采用MVC架构。zCMM与PSP2080年代后期到90年代早期,SEI开发了能力成熟度模型(CM,为软件开发总组织级的最佳实践。EI特别会员Wattsumphry决定将MM基本原理应用于单个开发的软件开发实践中。个人软件过程(PSP)就是他努力的成果,为单个软件开发人员设计的五级过程。
CMM与SP
不久大家就发现,虽然使用PSP可以取得优异的结果,但是如果周围的环境不能鼓励并且要守PP实践,这些必要的规范性是几乎不可能得到维持的。以汉弗莱为大多数组织中最小作单位——项目组,开发了团队软件过程(TSPTSP是为项目组设计的CM5级过程。份SEI技术报告中,记录了使用TSP满足成本和进度估算的同时达到一流质量水平的最新
CMM的演变
同时,CMM的成功也引发了相似模型的开发以覆盖系统工程SE-CMM集成产品开发CMM)、软件采购(SACM以及人力资源(-CM。为了缓解模型数量的过快增长,使用从未正式发布的CMM第二版、系统工程CMMID-CM开发了能力成熟度模型集成(CMI,


西南交通大学专科毕业设计(论文)14
3章系统分析与设计
3.用户需求的获取
接到毕设任务书后,通过在网上查阅了解了一些钟表销售相关的平台,进行
需求提炼总结,形成了用户需求分析的相关文档,也通过在图书馆查阅相关研究资料完善了需求分析。
.2系统用户分析

3.系统功能分析
随着软件工程知识的普及,软件工程师都知道,要开发高质量的软件,必须改进软件生产的过程。目前,业界公认由CU/EI开发的软件能力成熟度模S-CMM是当前最好的软件过程,并且CMM已经成为事实上的软件过程工业标准。但是,CMM虽然提供了一个有力的软件过程改进框架,却只告诉我们"该做什么",而没有告诉我们"应该怎样做",并未提供有关实现关键过程域所需要的具体知识和技能。为了弥补这个欠缺,Humphey又主持开发了个体软件过程(PersonalSoftwareProcess,PSCM1.1版本的18个关键过程域中有12个与PSP有关,据统计,软件项目开发成本的70%取决于软件开发人员个人的技能、经验和工作习惯。因此,一个单位的软件开发人员如能接受PSP培训,对该单位软件能力成熟度的升级是一个有力的保证。CMM侧重于软件企业中有关软件过程的宏观管理,面向软件开发单位,PSP则侧重于企业中有关软件过程的微观优化,面向软件开发人员。二者互相支持,互相补充,缺一不可。按照PSP规程,改进软件过程的步骤首先需要明确质量目标,也就是软件将要在功能和性能上满足的要求和用户潜在的需求。接着就是度量产品质量,有了目标还不行,目标只是一个原则性的东西,还不便于实际操作和判断,因此,必须对目标进行分解和度量,使软件质量能够"测量"然后就是理解当前过程,查找问题,并对过程进行调整。最后应用调整后的过程,度量实践结果,将结果与目标做比,找出差距,分析原因,对软件过程进行持续改进。就象CMM为软件企业的能力提供一个阶梯式的进化框架一样,PP为个体的能力也提供了一个阶梯式的进化框架,以循序渐进的方法介绍过程的概念,每一级别都包含了更低一级别中的所有元素,并增加了新的元素。这个进化框架是学习PSP过程基本概念的好方法,它赋予软件人员度量和分析工具使其清楚地认识到自己的表现和潜力,从而可以提高自己的技


西南交通大学专科毕业设计(论文)15
34数据库分析与设计
根据对普通注册用户和系统管理员用户的分析,系统可以涉及到5大实体,分别是社区信息、用户信息、物品信息、留言信息以及评价信息。
社区信息是指用户所在社区的具体信息,其应包含的属性有社区标识、社区名称、社区地址以及社区介绍等。这样用户在注册的时候可以选择查看社区信息,以便了解自己应该注册在哪个社区从而更快捷方便的进行旧货交换活动。其他用户在搜索物品时也可以查看发布人所在的社区信息,以便决定自己要不要拿自己的东西去进行交换或者给对方留言。
3.5系统详细设计
主要介绍了钟表销售管理系统的原型设计及重要模块的详细设计实现过程,用一系列的时序图辅助文字图表等进行说明。
3.5.1系统页面设计
通过对旧货交换信息平台系统的分析,本系统的主要使用用户有两种,一是注册的普通用户,是系统主要的服务对象,二是系统管理员,负责系统日常信息的维护,因而系统原型设计可根据两种用户角色划分为不同功能的模块设计,分别是公共模块、普通用户模块和系统管理员模块。
1.公共模块设计
公共模块包含了注册登录、查看修改个人信息、修改密码、查看日历,物品检索,友情链接、建议投诉等子功能模块。公共模块作为系统的前台页面显示,需要灵活的易用性和美观性,当用户登录系统后在左侧的导航栏中也会显示这些信息,和其他系统类似,在需要增加一些链接的地方也加入了公共模块的很多信息。
公共模块功能层次图设计如下图310所示,


西南交通大学专科毕业设计(论文)16
4系统实现与测试
4.1重要模块说明
1.
4-1所示
4-1用户发布物品流程图

普通用户发布物品流程图图下图
开始
参数
实例化GoodsDao初始化实体
实例化
根据登录id返回查询到的goods对象中
goods对象
初始化
初始化
调用save(

跳转到发布

西南交通大学专科毕业设计(论文)17
普通用户点击发布物品链接即可进入发布物品的页面,页面有相关输入框和下拉框来提示用户进行操作。输入用户参数后将通过http协议传递给GodsManagAcion中的adGood(方法,首先根据登录id通过SysUseDao查询用户信息,检查在数据库中是否存在,若查询成功,返回该user象。并封装成user属性,以便将该对象输入到Gods对象中。adGood(方法会通过GoosSrvce类调用GoodsDao中的sav(方法,即将该记录添加到数据库表中进行保存,其他用户就可以对该物品进行搜索或查看。
物品配价功能分为两种,一种是全社区配价,一种是本社区配价,实现方式是先以价格和确定的配价范围调用GodsaofidBySamePie方法查找数据库中价格类似的物品,并返回一个Goods类型的list对象,得到该list对象后,才根据用户的选择过滤出物品所属用户与登录用户不在一个社区和过滤出自己发布的物品作为本社区配价结果,而全社区配价结果是仅仅将自己发布的物品过滤出去,再通过实例化GodsSerice将该值传递给GodsnagAcion类,该类将list对象封装成http协议传递到前台页面进行显示。


西南交通大学专科毕业设计(论文)18
结论
本次毕业设计的完成,使我在专业技能方面得到了大幅度的提升,对Eclipse平台下利用SSH框架技术进行系统开发有了更进一步的理解。对MVC构的运行原理也有了更深刻的认识。
系统采用SSH框架设计,典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP技术,其优点在于广泛的应用和稳定的表现。中间层采用的是流行的Sprng+Hibernae,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web层,就是MVC模式里面的“C”cntroller,负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC框架采用SrutsSrice(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用HbernateORM框架。Sping的作用贯穿了整个中间层,Web层、Sevce层、DAO层及PO无缝整合,其数据服务层用来存放数据。
采用Hibrnte作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。DAO模式需要为每个DO组件编写DO口,同时至少提供一个实现类,根据不同需要,可能有多个实现类。用Sprig器代替DAO工厂通常情况下,引入接口就不可避免需要引入工厂来负责DAO组件的生成。Spring实现了两种基本模式:单态模式和工厂模式。而使用Spring可以完全避免使用工厂模式,因为Spring就是个功能非常强大的工厂。因此,完全可以让Sping充当DAO工厂。Spring充当DAO工厂时,无须程序员自己实现工厂模式,只需要将DAO组件配置在Spring容器中,由AplictionCntext负责管理DO组件的创建即可。借助于Spring提供的依赖注,其他组件甚至不用访问工厂,一样可以直接使用DAO实例。StrusTomcatTrbine等诸多Aache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,Sruts的优点主要集中体现在两个方面:Taglib和页面导航。Talib是Struts的标记库,灵活动用,能大大提高开发效率。MVC架构中的模型是自包含的,并且与控制器和视图相分,所以很容易改变应用程序的数据层和业务规则。如果想把数据库从MySL


西南交通大学专科毕业设计(论文)19
移植到Sqserver,或者改变基于RDBMS数据源到LDAP,只需改变模型即可。一旦正确的实现了模型,不管你的数据来自数据库或是LAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想能构造良好的松偶合的构件。
本次毕业设计是自己第一次独立承担一个系统的开发任务,从前期的需求分析到数据库设计再到编码实现,都是自己全程参与和设计,这对自己的挑战还是很大的。从设计到实现的过程,使我认识到前期的设计是非常重要的,很多时候需要花费大量的时间来做需求分析和功能设计,这样在后期编码的时候才会更加的流畅,不至于因为前期需求不当导致编码进度缓慢。当然,这个过程也使自己学到了很多SSH技术的相关知识,前期由于很多接口不是很清楚导致编码一度进行不下去。自己所了解和所学到的仅仅是管窥蠡测而已,在以后的学习工作中应该更加努力的去学习这方面的相关知识,增加实践次数,才能慢慢深入到JAVA软件开发中。



西南交通大学专科毕业设计(论文)20

致谢
首先要感谢我的母校西南交通大学,给我们提供了非常优秀的师资力量和优良的学习环境,使我们能够安心学习科学文化知识,提升自己适应社会的能力。为以后更好地为社会为民众做出贡献打下了坚实的基础。
本次毕业设计的完成以及毕业论文的撰写,我非常感谢我的导师,任挺老师。由于在年初就去了公司实习,而且整个实习的周期很长,强度也很大,几乎所有的毕设工作都是在周末完成的。这样的情况导致自己跟任老师见面的机会非常的少,只能通过邮件和QQ留言的方式和导师进行沟通。感谢导师理解自己这方面的苦衷。在系统设计编码阶段,非常感谢导师在系统功能需求方面对我的指导,使得后续的编码开发过程减少了很多困难,在实际开发过程中也遇到了很多技术上的困难,经过导师的指导也是一一得到解决。在论文的撰写过程中,任老师更是细心审阅,给了自己很多有建设性的意见。
还要感谢在完成毕业设计过程中帮助过我的同学,因为不能经常回学校,以好多事情他们的帮助下才能完成,由于自己对于界面设计不甚擅长,是得到了同学的无私帮助才能顺利设计出前台页面的样式。
最后要感谢我的父母,是他们给了我最大的精神支持,因为是初次步入社会参加工作,加上要很好的完成毕业设计,思想上还是比较有压力。是他们给了我努力下去的动力。

参考文献
[1]BrucEcel,陈昊鹏ThikinginJava第四版机械工业出
版社20076
[2]孙鑫,JAVAWE开发详解电子工业出版社064[3]CragWallRynBreidenach著,毕庆红、王军等译pringinAction第二版200810
[4]刘雨,姚弘芹,赵秀珍.科技期刊编辑模式现代化实践的探讨[J].北京理
工大学学报(社会科学版.200506
[5]王国辉.JavaWeb开发典型模块大全.人民邮电出版社.2009年4[6]刘斌.精通JavaWeb整合开发.电子工业出版社.20711月[7]刘京华.JavaWeb整合开发王者归来.清华大学出版社.010年1


西南交通大学专科毕业设计(论文)21

[8]梁立新.项目实践精解:基于Strus-pring-Hiernate的Java应用开发.
子工业出版社.208年7
[9]邢素萍.Java办公自动化项目方案精解.航空工业出版社.2099[10]廖义奎.JavaWeb开发之Stuts编程基础与实例精讲.中国电力出版
.2006年1月
[11]柯自聪.Ajax开发精要:概念、案例与框架.电子工业出版社.2006年5[12]康博.XML编程技术大全.清华大学出版社.20021
[13]刘斌.精通JvaWeb整合开发.电子工业出版社.07年11[14]冯曼菲.EJBJPA数据库持久层开发实践详解.电子工业出版社.20085[15]钟天明.知识经济背景下科技期刊的变革与编辑的转型[J]编辑学报.200102
冉崇善,系宗悦,贾小云.用XL文件在Web应用程序中实现可配置菜单导航菜单.陕西科技大学学报.20511月第11期


软件类毕业论文

相关推荐