JavaWeb-05-购物商城

day05

一 购物商城

1.1 软件工程

以工程学的方式管理软件产生的过程,保证高质量的软件。

软件工程的生命周期

​ 软件:无-》工作-》死

1)定义:明确要做什么

2)需求分析:需要实现哪些功能,市场调研,可行性分析(技术,经济,市场

3)系统设计:概要设计,详细设计

4)编码实现:

5)软件测试:

6)运营和维护

1.2 定义

apple商城

目的:实现产品的在线购买

1.3 分析

功能

​ 前台:

​ 主页:上部菜单,中间产品列表,底部网站信息

​ 分类页:上部菜单(当前分类的产品),中间产品列表,底部网站信息

​ 购买页:上部菜单,中间产品信息(产品的详情和购买功能),底部网站信息

​ 购物袋:上部菜单,中间购物列表,底部网站信息

​ 用户:登录,注册,退出

​ 后台:

​ 产品管理

技术

​ 语言:Java,HTML,CSS,JS

​ 开发环境:JDK1.8,HTML5,CSS3

​ 数据库:MySQL

​ 开发工具:STS,Navicat,SpringBoot

​ 主要计数:Mybatis,Spring,SpringMVC,FreeMarker,jQuery

经济

市场

1.4 设计

概要设计

​ 数据库设计:E-R图,数据库逻辑模型,数据库物理模型

E-R图:

​ 1)产品类型:编号、名字

​ 2)机型:编号、名字、描述、价格

​ 3)图片:地址

​ 4)商品:

​ 手机:屏幕大小,颜色,内存

​ 电脑:内存,硬盘,描述

​ 手表:颜色,尺寸

​ 5)购物袋:编号

​ 6)用户:编号,账号,密码

​ 7)订单

逻辑模型

​ 根据E-R图设计

​ 1)每一个实体,都做成一张表,每个属性作为表中的一个字段

​ 2)一对一:在从表中添加一个外键与主表的主键进行关联

​ 3)一对多:在从表中添加一个外键与主表的主键进行关联

​ 多的一方作为从表,一的一方作为主表

​ 4)多对多:

​ 需要一个单独的关系表,来保存两个表之间的关系

表的逻辑结构

1)产品类别

表名type
属性字段名类型长度小数点为空主键默认值约束描述信息
编号idintnoPK自增产品类别的编号
名字namevarchar16no产品类别名字

2)机型

表名model
属性字段名类型长度小数点为空主键默认值约束描述信息
编号idintNoPK自增
名字namevarchar32No
描述descriptiontextNo
价格priceintNo
类别typeintNoFK当前机型所属类别

3)图片

表名image
属性字段名类型长度小数点为空主键默认值约束描述信息
编号idintnoPK自增
地址urlvarchar128no
机型modelintnoFK

4)商品

表名type
属性字段名类型长度小数点为空主键默认值约束描述信息
编号idintnoPK自增
名字namevarchar16no
颜色colorvarchar16no
尺寸size
价格price
图片image
内存ram
机型typeintno
物理模型

​ 到MySQL中,按照逻辑模型创建物理表

​ 需要注意:一般来说,外键的字段在创建后不要进行外键关联,更多的是在程序上处理关联

详细设计
MCV三层架构

M:模型

​ 数据模型:数据的呈现方式,实体类/集合List/Map

com.st.apple.pojo

​ 功能模型:

​ 持久层:数据库的访问操作

com.st.apple.mapper

​ 业务层:对系统中的业务逻辑进行处理

com.st.apple.service

V:视图

​ 网页:模板(代替JSP)、CSS、JS、静态资源

​ 动态页面,数据的渲染

​ FreeMarker

​ JSON/XML

​ [外链图片转存中…(img-oDX34l89-1578042981981)]

C:控制

​ SpringMVC,Handler作为控制层

​ controller中的方法

com.st.apple.controller

功能的详细设计
主页的功能
功能名主页
角色游客,登录的用户
启动输入网址
页面FreeMarker模板
输入
输出显示分类菜单,产品信息
数据库查询type表,查询model表

MVC三层设计

View层Controller层Model层
Service层Mapper层实体类
index.htmlIndexController.javaITypeService.java TypeServiceImpl.javaTypeMapper.java TypeMapper.xmlType.java

View层

url请求方式响应方式功能描述
/indexGetindex.html当请求url时,把查询到的数据显示到index.html中

Controller层

url方法描述
IndexController.java/indexpublic ModelAndView index()响应主页请求

Model层

模型方法描述信息
ServiceITypeService.java TypeServiceImpl.javaList< Type >getAll()获取所有的产品分类
MapperTypeMapper.java TypeMapper.xmlList< Type >selectAll()查询数据库所有产品分类
实体类Type.java属性以及Get和Set方法对应数据表中的type表
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值