笔者在大学中迷迷糊糊地度过了四年的光景,心中有那么一点目标,但总感觉找不到发力的方向。

  在四年间,尝试写过代码结构糟糕,没有意义的课程设计,尝试捣鼓过Android开发,尝试探索过软件工程在实际开发中的应用,尝试参与过.net的实际应用项目开发。

  在经历了这些探索之后,我突然发现一些代码在实现业务功能的同时,还能保持优美的结构,这让我很着迷,有一种莫名其妙的兴奋感。

  基于这个发现,我开始探寻这些代码拥有迷人魔力的原因,迷迷糊糊地又接触到了设计模式,系统架构设计的概念。

  在大学的最后,我希望再一次对我感兴趣的东西作出任性的探索,于是我决定开始从头开始学习Java Web 的相关知识,再从Java Web 中衍生学习Struts2,Spring4,Hibernate4 这三个久负盛名的框架。借着毕业设计的契机,感受这三个框架迷人的地方到底在哪里?为什么这么多年过去了这三个框架的热度依然不减?采用这三个框架开发的系统的代码结构会是怎样?

  于是便有了本篇博文,在探索的最后,示例系统虽然还有很多需要完善的地方,但实现的效果也还能够令笔者满意。笔者会将这篇博文分成7章与大家进行分享。

  首先是需求分析,介绍笔者对需求分析的理解,以及笔者在需求分析中做了哪些工作,这些工作的完成的先后次序如何排列,每一项工作的意义何在。

  接下来的是概要设计,介绍笔者如何在需求分析,以及对框架的认识下对系统进行了总体架构的设计,还有每个功能在该架构下是如何实现的。

  再接下来的是详细设计,介绍笔者在概要设计中总结出来的接口,以及对各层次中类与类之间的依赖关系进行设计。

  最后是系统的编码实现部分,这个部分笔者会再分为四个部分,分别是1、编码的准备,介绍笔者的开发环境,代码的目录结构和框架的整合步骤。2、表单的提交和数据的回显。3、图片的上传和展示。4、测试代码。

  以下是每个部分的链接:

  在这篇博文接近尾声之际,我要感谢@Eva老师,老师的一堂软件工程课程设计,让我重新认识了计算机软件实际开发的流程,以及后续的实践指导,可能真的打开了一扇新世界的大门。我要感谢互联网上的提供着各种学习资源的各位,因为在我探索的过程中所有的学习资源都来自于各位的无私奉献。为了向各位学习,笔者也写下这一系列的博文,向大家分享在这探索途中所收获到的认识。我要感谢我的母校,虽然这所学校就像我所做的示例系统一样,有很多的不足,但我也是在这所学校中成长起来的,这离不开全体教职工的努力,现实中完成每一件事都不容易,多一份理解,多一份宽容,多一份尊重。

  最后,我希望这个系列的文章和代码能够使用在正确的用途上!

  最后的最后,如果您觉得我完成的内容以及记录的文字确实写得不错,您也可以请我喝杯咖啡啊!哈哈!

  

基于Struts2,Spring4,Hibernate4框架的系统架构设计与示例系统实现的更多相关文章

  1. SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇

    SSH(Struts2+Spring4+Hibernate4)框架教程之配置篇 - 若明天不见 - 博客频道 - CSDN.NEThttp://blog.csdn.net/why_still_conf ...

  2. Maven+struts2+spring4+hibernate4的环境搭建

    搭建Maven+struts2+spring4+hibernate4其实并不难!但开始弄的时候还是费了我好大的力气,老是出现这样那样的错误!好了,废话不多说,开始搭建开发环境. 一.Myeclipse ...

  3. NET ERP系统架构设计

    解析大型.NET ERP系统架构设计 Framework+ Application 设计模式 我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应 ...

  4. 【原创】基于Docker的CaaS容器云平台架构设计及市场分析

    基于Docker的CaaS容器云平台架构设计及市场分析 ---转载请注明出处,多谢!--- 1 项目背景---概述: “在移动互联网时代,企业需要寻找新的软件交付流程和IT架构,从而实现架构平台化,交 ...

  5. vivo 全球商城:优惠券系统架构设计与实践

    一.业务背景 优惠券是电商常见的营销手段,具有灵活的特点,既可以作为促销活动的载体,也是重要的引流入口.优惠券系统是vivo商城营销模块中一个重要组成部分,早在15年vivo商城还是单体应用时,优惠券 ...

  6. 基于token的多平台身份认证架构设计

    基于token的多平台身份认证架构设计 1   概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情. 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格 ...

  7. PetShop的系统架构设计

    <解剖PetShop>系列 一.PetShop的系统架构设计 http://www.cnblogs.com/wayfarer/archive/2007/03/23/375382.html ...

  8. petshop4.0 具体解释之中的一个(系统架构设计)

    前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力.业界有很多.Net与J2EE之争,很多数据是从微软的PetShop和Sun的PetStore而来.这样的争论不可避免带有浓厚的 ...

  9. 图数据库 Nebula Graph 的数据模型和系统架构设计

    Nebula Graph:一个开源的分布式图数据库.作为唯一能够存储万亿个带属性的节点和边的在线图数据库,Nebula Graph 不仅能够在高并发场景下满足毫秒级的低时延查询要求,而且能够提供极高的 ...

随机推荐

  1. 如何用photoshop把一张图片分割成几张图片呢?

    今天情人节,祝大家节日快乐!朋友发来一张照片,我发现这张照片是几张照片组合起来的,是不是感觉每一张都是萌萌哒呢?为了体现单张的独特性,现在我要把它切分成单张,使用Photoshop CS5该怎么弄呢? ...

  2. Android中的Drawable和动画

    Android中Drawable是一种可以在Canvas上进行绘制抽象的概念,种类很多,常见的颜色和图片都可以是一个Drawable.Drawable有很多种,它们表示一种图像的概念,但是它们又不全是 ...

  3. flex中日期的格式化

    今天我做的项目中需要把时间给拆分了,形式为:yyyy-MM-DD HH mm, 下面是我的代码实现: <?xml version="1.0" encoding="u ...

  4. 译:Missing index DMV的 bug可能会使你失去理智---慎重看待缺失索引DMV中的信息

    注: 本文译自https://www.sqlskills.com/blogs/paul/missing-index-dmvs-bug-that-could-cost-your-sanity/ 原文作者 ...

  5. 【原】Linux设备网络硬件管理

    遇到网络问题时候,一般情况下,我们第一反应是查找软件方面问题,但排查之后,软件没有问题的时候,我们就需要排查硬件方面工作是否正常. 我们可能需要查询网卡设备本身的状态,查询网卡是否有数据包发送接收: ...

  6. java随机数生成的原理

    一.在j2se里我们可以使用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,我们可以把他乘以一定的数,比如说乘以100,他就是个100以内的随机,这个在 ...

  7. sql语句实现累计数

    前言,要实现按某个字段统计,直接用count/sum……group by语句就可以实现,但是要实现累计统计,比如按时间累计统计,从12月3号开始累计数据,比如:4号统计3.4号的数据,5号统计3.4. ...

  8. 老李分享:loadrunner 的86401错误

    老李分享:loadrunner 的86401错误   系统和软件配置: os:windows 2003loadruner版本:LoadRunner11loadrunner:协议:SMTP协议并发数:2 ...

  9. 手机自动化测试:appium源码分析之bootstrap十七

    手机自动化测试:appium源码分析之bootstrap十七   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣 ...

  10. 老李分享:《Linux Shell脚本攻略》 要点(一)

    老李分享:<Linux Shell脚本攻略> 要点(一)   第一章:Shell起步基础 1.变量:在bash中,每一个变量的值都是字符串.无论你给变量赋值时,有没有使用引号,值都会以字符 ...