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

  在四年间,尝试写过代码结构糟糕,没有意义的课程设计,尝试捣鼓过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. Https握手协议以及证书认证

    1. 什么是https Https = http + 加密 + 认证 https是对http的安全强化,在http的基础上引入了加密和认证过程.通过加密和认证构建一条安全的传输通道.所以https可以 ...

  2. 二级C考点汇总

    1.变量命名的合法性2.数据类型的转换,分为强类型和隐式类型3.字符串:字符串的声明.定义和使用,通常结合数组和指针 4.数组:下标的转换及数组的顺序存储5.函数:声明.定义.调用,递归函数(如菲薄纳 ...

  3. signedCookies

    var express = require('../') , request = require('supertest') , cookieParser = require('cookie-parse ...

  4. 在TFS中通过程序动态创建Bug并感知Bug解决状态

    为便于跟踪问题解决情况,预警引擎产生的比较严重的预警日志,需要在TFS中登记Bug,通过TFS的状态流转,利用TFS Bug的Web挂钩功能,动态感知Bug解决状态,从而跟踪预警问题的解决状态, 整体 ...

  5. 将spring cloud打包docker镜像

    简介:用spring cloud构建微服务后,微服务肯定要docker镜像化然后用rancher等可视化工具管理,这就是走完了一套基本的流程,现在简单介绍下 环境:两台centos7.x的服务器,一台 ...

  6. 老司机带路——15个Android撸代码常见的坑

    老司机为何能够成为老司机,不是因为开车开得多,而是撸多了… 0x00 使用 startActivityForResult 后在 onActivityResult 中没有正确回调到 Activity.R ...

  7. 基于CDIF实现的——API在线自动化测试

    传统的测试工具在测试一个API的时候,必须手动填写这个API所需要接收的所有信息,比如一个查询航班动态的API,他接收两个输入字段,一个叫flight, 一个叫date,那么测试这个API的用户,需要 ...

  8. C#研究OpenXML之路(4-使用第三方库)

    一.悲催的OpenXML操作 学习并使用了一段时间的OpenXML,感觉用这个来操作Excel文件真是一件非常悲催的事情,由于我自己比较熟悉Excel COM的操作,但到了OpenXML中发现,之前所 ...

  9. C语言编码风格_集锦_1

    参考原地址: http://www.jb51.net/article/79257.htm <一> 在一个标准的C语言程序中, 最特殊的莫过于main函数了. 函数大体上分为内联函数(C99 ...

  10. laravel blade $loop

    laravel 5.3 blade 新增$loop变量 文档如下: 在Laravel 5.3中,@foreach指令提供了更加强大的功能,在每一个@foreach循环体中都可以调用一个新的$loop变 ...