基于工程实践软件系统设计方案
一、软件结构特点
a.设计模式
此次工程实践项目采用MVC设计模式。M(Model)、V(View)、C(Controller)为MVC的含义。View层单独实现了组合模式;Model和View层实现了观察者模式;View层和Controller层实现了策略模式;而MVC模式正是将这三个模式结合起来,最终的网站系统结构View为界面、Model层为数据库访问层、Controller层为业务逻辑实现层。

b.软件总体架构及特点
parent为所有工程的父工程,其他工程都依赖于父工程。common为公共包,存放一些其他工程可能用到的工具类如分页、时间、FTP、JSON格式转换等工具类。manager为聚合工程管理pojo、mapper、service、controller等工程。Pojo工程为数据库表对应的普通java对象;mapper工程为利用逆向工程生成的数据库查询语句;service工程为利用mapper层实现对数据库数据的逻辑操作。Controller层实对页面的控制。

二、接口设计
在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性、接口的稳定性、接口的跨域性、接口的协议规则、接口的路径规则、接口单一原则。由于项目的接口众多,故选取了较为典型的商品接口、商品目录接口、用户接口以及搜索接口展示。
a.商品接口设计

b.商品目录接口设计

c.用户接口设计

d.搜索接口设计

三、视图分析
软件架构模型是通过一组关键视图来描述的,同一个软件架构,由于选取的视角(Perspective)和抽象层次不同可以得到不同的视图,这样一组关键视图搭配起来可以完整地描述一个逻辑自洽的软件架构模型。一般来说,我们常用的几种视图有分解视图、依赖视图、泛化视图、执行视图、实现视图、部署视图和工作任务分配视图。
依赖视图:

分解视图:

执行视图:

实现视图:


四、数据库设计
我们可以设立出不同的表项用于存储所需的数据。列出了典型的商品表、订单表、顾客表、管理员表。商品表记录了商品的分类、价格、描述等信息。订单表存储了顾客购买商品的信息。顾客表存储了用户的id、密码、联系方式等信息,最后一张是管理员信息表。通过表完成了数据模型的部分。
商品表:

顾客表:

订单表:

管理员表:

五、技术选型
Tomcat简介
Tomcat是Apache项目中非常重要的一个产品,它是一款开发JSP、Servlet的完全免费的开源的Web 应用服务器,非常适合个人单独在自己的电脑上进行程序的开发。它安装免费而且简单易操作,方便高效,得到了主流人士一致的认可。深受Java Web业内人士的喜爱,已成为一种IT界的主流产品。
Nginx服务器
本系统之所以要使用Nginx是为了图片在上传至服务器的时候可以达到负载均衡的目的,众所周知Nginx是一个HTTP服务器,C语言开发,性能高,支持高并发。它是由俄罗斯工程师发明的一款号称能够支持五万并发量的服务器,而且计算机硬件资源消耗低、运行稳定且高效。
SSM框架
SSM作为当今主流的三大框架:Spring更是框架中核心的核心,它就像是装配控制值整个工厂bean对象的管理员,其核心思想为控制反转;SpringMvc的主要职责为拦截用户的url请求,并将相应的请求隐射到Controller;Mybatis就是普通的Java对象与数据库表的映射关系,并且我们可以利用逆向生成的mapper文件,大大减少数据库开发查询的难度。
Linux操作系统
Linux是一系列Linux内核基础开发的操作系统的总称,常见的有Ubuntu和CentOs,包括我国自发研发的麒麟系统也是基于Linux内核开发而来的,开发者选择Linux作为服务器的一个重要的原因是Linux内核小、效率高。
六、概念原型及其工作过程
在理解概念原型之前,我们首先要理解概念的定义——即人对能代表某种事物或发展过程的特点及意义所形成的思维结论。因此我们可以得出概念原型的定义,其是一种虚拟的、理想化的软件产品形式,更加直观的来说,概念原型等于数据模型加上用例。
通过上述的用例图和数据模型,我们可以给出整个项目的工作过程:无论管理员还是用户都需要账号和密码才能都能系统。顾客对商品进行浏览、搜索商品,将商品加入到购物车当中,并最终下单支付形成订单信息交给商家。商家根据订单进行发货从而完成这个交易过程。
浙公网安备 33010602011771号