企业级Java应开发实践报告
课程代码:1302451
课程名称:企业级Java应开发
课程类:专业干课
开课学期:
编写单位:
项目负责:
编 写 :
指导教师:
提交班级:
提交时间:
目 录
1 项目目务 1
11 项目背景 1
12 项目目标务 2
13 务分工 3
2 项目进度安排 3
3 系统需求分析 4
31 定义 4
4 系统设计 9
41 系统架构设计 9
42 系统功设计 10
43 数库设计 16
5 系统实现 18
51 系统登陆页面 18
52 展示菜品页面 19
53 菜品详情页面 20
54 查购物车页面 21
6 项目总结 22
1 项目目务
课程实践目意义通设计完成网订餐系统学生较全面系统掌握J2EE基概念基知识Java语言实现数库中数进行操作事Java数库方面研究开发应奠定坚实基础
项目源中国质学(北京)信息工程学院企业级Java应开发课程实践开发周期30天
项目中国质学(北京)信息工程学院王萌研发系统实现功:验证户登录展示全部菜品展示菜品详情菜品加入购物车查购物车
11 项目背景
面国外国发展趋势三方面项目项目背景进行阐述
111 国外情况
国外许知名品牌肯德基麦劳年前开始网订餐服务受国外许家庭欢迎品牌网订餐服务年中国逐渐普
112 国情况
国外网订餐热潮现国出现网订餐系统较出名生活中常属饿
饿网站迎合消费者需求:便捷搜索身边美食店进行查喜欢接直接订餐省实体店排队等候时间尤适合宅学生工作狂
方便时网站感觉需改进方:网站店铺信息表格形式子全部显示户面前样难免眼花缭乱图1示没信息相应进行分页显示总滑动鼠标滑轮翻动户体验感
综述信息量固然重户感官体验必少
图1 饿网页
113 发展趋势
社会生活节奏越越快餐饮求越越高仅求色香味俱全餐时间方式更高求许顾客工作繁忙法抽出时间享受美味样产生快捷订餐求快方式莫利计算机网络餐饮业计算机网络结合起形成网订餐系统力餐饮企业餐品提供商提供网订餐服务仅提高餐饮企业服务质量扩知名度终户提供方便快捷食品服务
社会餐饮快捷性求形成网订餐求该项目JavaWeb技术Servlet + JSP + JavaBean 实现快捷开发部署限度保证系统稳定性
12 项目目标务
系统目标简单界面风格满足网订餐快捷性求没冗余信息开页面直接登录浏览菜品加入购物车进行结算简单步骤少时间满足户订餐求提高服务效率顾客满意度
针系统需完成三部分:
(1) 建立数资源:数库中构建需数表建立表间联系
(2) 数资源进行访问:利编程语言连接数库实现库中数增删改查操作
(3) 业务逻辑进行处理:实现系统功台处理部分包括界面间跳转数信息传输
(4) 具体界面实现:编码实现页面包括登录页面展示菜品页面菜品详情页面添加菜品成功页面查购物车页面
13 务分工
系统设计阶段务分工表1示
表1 系统设计阶段务分工
组员
组分工
王萌
完成全部
2 项目进度安排
系统开发流程表2示
表 2 系统开发流程表
时间
工作安排
具体容
5月7日
5月10日
设计数库
设计概念模型逻辑模型物理模型导出数库脚
5月11日
执行数库脚
Oracle数库中执行脚
5月12日
5月19日
完成
部分功
实现增删改查功
MyEclipse中配置文件连接数库编写userBean类(户User类菜品Dish类)完成户菜品增删改查
5月20日
5月23日
实现界面跳转功
完成户验证登录显示全部菜品显示购物车
5月24日
5月27日
实现分页功
显示全部菜品页面进化分页显示
5月28日
5月30日
实现购物车功
实现菜品添加进购物车计算总价功
5月31日
整体调试运行
浏览器中运行整体终测试
6月1日
6月5日
完成实验报告
求完成报告
3 系统需求分析
31 定义
311 业务流程
系统业务流程致样:户开登录页面填写户名密码系统进行验证验证合法(户信息数库中信息匹配)系统求户重新输入验证合法进入分页显示菜品页面分页显示菜品页面进行翻页菜品致浏览点击某菜品进入详情页面菜品详情页面浏览该菜品全部信息订购该菜品分页显示菜品页面菜品详情页面点击查购物车已订购菜品进行查系统业务流程图图2示
图2 业务流程图
312 系统例
例活动者系统项功时进行交互程文字描述序列例图显示组例参者间关系图面例图例描述系统例进行描述系统例图图3示
图3 系统例图
表3表6图1系统例图中例详细描述例描述
表3 LoginSystem例描述
例名称
LoginSystem
标识符
wm_1
例描述
户登录网订餐系统输入户名密码系统进行验证
参者
户网订餐系统
优先级
1
前置条件
置条件
系统验证
基操作流程
1户进入登录页面输入户名密码点击确定
2系统户信息进行验证
选操作流程
退出系统
泛化例
包含例
扩展例
表4 ViewDishes例描述
例名称
ViewDishes
标识符
wm_2
例描述
系统中菜品进行分页展示
参者
户网订餐系统
优先级
2
前置条件
户验证合法户
置条件
基操作流程
户浏览菜品信息
选操作流程
A点击钮页页首页页页菜品进行查
B点击菜品图片者钮详情进入菜品详情页面
C查购物车
泛化例
包含例
扩展例
表5 ViewDishDetails例描述
例名称
ViewDishDetails
标识符
wm_3
例描述
展示户点击菜品详细信息
参者
户网订餐系统
优先级
2
前置条件
户验证合法户户浏览全部菜品时点击中图片详情钮
置条件
基操作流程
户浏览菜品详细信息
选操作流程
A 该菜品加入购物车
B 查购物车
泛化例
包含例
扩展例
AddToCart
表6 ViewCart例描述
例名称
ViewCart
标识符
wm_4
例描述
查该户购物车中信息
参者
户网订餐系统
优先级
2
前置条件
户验证合法户户展示菜品页面者菜品详情页面点击查购物车钮
置条件
基操作流程
户浏览购物车信息
选操作流程
A 生成订单
B 清空购物车
泛化例
包含例
扩展例
313 系统总体功
网订餐系统功图图4示
图4 网订餐系统功图
根图4网订餐系统功图面部分功进行详细介绍
(1) 登录页面:户输入户名密码系统进行验证验证通进入展示菜品页面
(2) 展示菜品页面:页面全部菜品进行分页显示户点击钮页页首页页页菜品进行查点击菜品图片者钮详情进入菜品详情页面
(3) 菜品详情页面:显示某菜品全部详细信息包括菜品编号菜品名称菜品描述菜品图片菜品价格菜品折扣点击钮订购该菜品添加进购物车
(4) 添加菜品成功页面:订购成功弹出窗口提示订购成功点击确定回菜品详情页面
(5) 查购物车页面:展示菜品页面菜品详情页面点击钮查购物车进入页面添加菜品数量总价等进行浏览
314 系统数字典
数字典作软件分析设计程中提供关数描述信息数流图数字典构成系统逻辑模型
数字典系统中类数描述集合通常包括部分:
(1) 数项:
系统数项已列出表7示:
表7 数项具体描述表
名称
名
数
类型
长
度
数项逻辑关系
数项
间
联系
户编号
u_id
number
38
户姓名
uname
varchar2
20
户密码
upassword
varchar2
20
户电话
utel
varchar2
15
户址
uaddress
varchar2
100
菜品编号
did
number
38
菜品名称
dname
varchar2
15
菜品描述
ddesc
varchar2
200
菜品图片
dimg
varchar2
150
菜品价格
dprice
number(123)
12
菜品折扣
ddiscount
number(123)
12
订单编号
oid
number
38
订购时间
o_time
varchar2
150
订购数目
dnumber
number
38
(2) 数结构:
数结构反应数间组合关系系统数项已列出表8示:
表8 数结构具体描述表
数结构名
含义说明
组成
户
户详细信息
户编号姓名密码电话址
菜品
菜品详细信息
菜品编号名称描述图片价格折扣
订单
订单详细信息
订单编号订购时间户编号
菜品编号菜品数目菜品价格
(3) 数流:
数流数结构系统传输路径系统3数流分描述:
a数流名称:户信息
说明:包括户户名密码
数流源:户登录网订餐系统首页时输入户名密码
数流:数库
数流组成:户姓名+户密码
b数流名称:菜品信息
说明:某菜品详细信息
数流源:数库
数流:户
数流组成:菜品编号+菜品名称+菜品描述+菜品图片+菜品价格+菜品折扣
c数流名称:订购信息
说明:户添加进购物车菜品信息
数流源:户点击订购菜品
数流:购物车
数流组成:菜品编号+菜品名称+菜品数目+菜品价格+总计
315 系统数流图
数流图表达数处理关系图书理系统数流图图5示:
图5 网订餐系统数流图
4 系统设计
41 系统架构设计
网订餐系统架构图图6示
图6 系统架构图
411 系统开发采技术手段
þ J2EE技术
þ PowerDesigner
þ Rational Rose
þ WPS
412 系统开发环境
þ Window 7 操作系统
þ Oracle 数库
þ MyEclipse 10
413 系统部署实施环境
(1)系统部署采数库服务器:
þ Oracle 11g 版
(2)系统部署采客户机:
þ Windows 7 版
þ Oracle 11g 版
þ Chrome浏览器
42 系统功设计
系统完成户登录菜品展示理购物车生成订单等功面户菜品模块进行描述
421 户模块
模块实现户登录程中户信息进行验证功模块2接口5类间关系图7示部函数表9示
图7 户模块类图
(注:实线箭头继承虚线箭头实现直线关联)
表9 户模块接口类部函数列表
接口 类
名称
函数名称参数
返回类型
完成功
接口IUserDAO
findUser(String sql1String username)
ArrayList
实现数库中表wm_user增删改查操作
insertUser(User user)
int
deleteUser(int userid)
int
updateUser(User user)
int
接口IUserService
validateUser(String usernameString pwd)
boolean
验证户否合法
类Utils
getDriver()
String
读取配置文件中关连接数库信息连接数库提供服务
setDriver(String driver)
void
getUrl()
String
setUrl(String url)
void
getUser()
String
setUser(String user)
void
getPassword()
String
setPassword(String password)
void
getConnection()
Connection
连接数库
free(Statement stResultSet rsConnection conn)
void
释放资源
类User
getUid()
int
User类JavaBean包含getX()setX()函数利类调相应属性设计
setUid(int uid)
void
getUname()
String
setUname(String uname)
void
getUpassword()
String
setUpassword(String upassword)
void
getUaddress()
String
setUaddress(String uaddress)
void
getUtel()
String
setUtel(String utel)
void
类BaseDAO
MappingObj(ResultSet rsClass clazz)
Object
处理Oracle数库MyEclipse间数类型转换
find(String sqlObject[] paramsClass clazz)
ArrayList
数库中查找满足条件条目返回
idu(String sqlObject[] params)
int
实现数库中wm_dish表数增删改操作
getTotalRecords(String sql)
int
返回满足条件条目总数目
类UserDAO
接口IUserDAO
实现接口IUserDAO中函数
类UserService
接口IUserService
实现接口IUserService中函数
户模块时序图图8示户登录页面输入户名密码台数库中取出相关信息验证验证成功进入显示菜品页面验证成功停留登录页面求户重新输入户名密码
图8 户模块时序图
422 菜品模块
模块实现系统验证成功户全部菜品进行分页查某菜品查详情功部分2接口6类间关系图9示部函数表10示
图9 菜品模块类图
(注:实线箭头继承虚线箭头实现直线关联)
表10 菜品模块接口类部函数列表
接口 类
名称
函数名称参数
返回类型
完成功
接口
IDishDAO
findDish(String sql1Object[] params)
ArrayList
实现数库中表wm_dish增删改查操作
insertDish(Dish dish)
int
deleteDish(int dishid)
int
updateDish(Dish dish)
int
getTotalDishes(String sql)
int
返回满足筛选条件菜品总数
接口
IDishService
findDish4PageList(int pageNO int pageSize)
PageModel
返回第M第N(NM+1)条菜品信息分页显示
getTotalDishs()
int
返回菜品数目
findDishByID(int dishid)
Dish
返回固定id号菜品信息
类Utils
户模块类Utils
类Dish
getDid()
BigDecimal
Dish类JavaBean包含getX()setX()函数利类调相应属性设计
setDid(BigDecimal did)
void
getDname()
String
setDname(String dname)
void
getDdesc()
String
setDdesc(String ddesc)
void
getDimg()
String
setDimg(String dimg)
void
getDprice()
BigDecimal
setDprice(BigDecimal dprice)
void
getDdiscount()
BigDecimal
setDdiscount(BigDecimal ddiscount)
void
类PageModel
getTotalrecords()
int
函数JavaBean方便类相关属性进行调
setTotalrecords(int totalrecords)
void
getPageSize()
int
setPageSize(int pageSize)
void
getPageNO()
int
setPageNO(int pageNO)
void
getList()
List
setList(List
void
PageModel(int totalrecords int pageSize int pageNo List
初始化函数
getTotalPages()
int
返回总页数
getTopPageNO()
int
跳转第页
getPrevPageNO()
int
跳转页
getNextPageNO()
int
跳转页
getBottomPageNO()
int
跳转页
类DishService
接口IDishService
实现接口IDishService中函数
类BaseDAO
户模块类BaseDAO
类DishDAO
IDishDAO
实现接口IDishDAO中函数
菜品模块时序图图10示成功验证户进入分页显示全部菜品页面台会数库中取出部分数供户浏览时菜品进行切换页数浏览点击某菜品进入详情页面浏览详情页面菜品加入购物车
图10 菜品模块时序图
43 数库设计
数库设计根系统分析次设计概念结构图逻辑结构图物理结构图根物理结构图导出数库脚便数库中执行
431 概念结构设计
需求分析出系统概念结构设计图(ER图)图11示里4实体:
wm_user:户实体包括户编号姓名密码联系电话送餐址
wm_dish:菜品实体包括菜品编号菜名菜品描述菜品图片路径菜品价格菜品折扣
wm_order:订单实体包括订单编号户编号菜品编号
wm_details:订单补充包括订单编号菜品编号应订购数量
图11 系统ER图
432 逻辑结构设计
网订餐理系统ER图转换关系数库数模型图12示关系模式包括:
户(户编号户名密码)
菜品(菜品编号菜品名称菜品描述菜品图片菜品价格菜品折扣)
订单(订单编号户编号菜品编号)
订单补充(订单编号菜品编号订购数量)
图12 系统逻辑结构设计图
433 物理结构设计
数库存储结构存取方法称数库物理结构系统物理结构设计图13示
图13 网订餐系统物理结构设计图
5 系统实现
51 系统登陆页面
图14 网订餐系统登录页面
登录页面户需输入户名密码点击登录钮系统信息数库中信息进行审核审核通允许户继续操作进入展示全部菜品页面
52 展示菜品页面
图15 网订餐系统展示菜品页面第页
户登录成功会动跳转图15示页面功分页展示全部菜品
操作简单方便浏览页显示2菜品
页面3功:点击页页首页页会跳转相应页数显示菜品图16第三页菜品展示点击菜品图片者详情钮会跳转菜品详情页面图18示点击查购物车钮会跳转购物车显示页面图20示
页面特色鼠标移动想查菜品图片方时图片会变图17鼠标移出图片区域图片会恢复原
图16 网订餐系统展示菜品页面第三页
图17 网订餐系统菜品图片变
53 菜品详情页面
图18 网订餐系统菜品详情页面
展示菜品页面点击菜品图片者详情钮会跳转图18示页面里会展示菜品详细信息包括菜品编号菜品名称菜品描述菜品图片菜品价格菜品折扣
页面2功:
A 点击钮订购弹出提示框添加成功点击确定该菜品添加进购物车提示框图19示
B 点击查购物车钮会跳转购物车显示页面图20示
图19 添加成功提示框
54 查购物车页面
图20 网订餐系统查购物车页面
展示菜品页面菜品详情页面点击钮查购物车均进入图20示页面页面实现添加菜品数量总价等进行浏览功
6 项目总结
次作业部分老师求进度完成相整体较利
通次作业Java语言面象特征进步认识userBean适应Java特征时候点调象相应属性系统分层实现解求完成部分序出次完成资源层访问层业务层表现层完成作业少分层实现明显认识前知道减少重复代码次真正实现数库中表增删改查方法继承BaseDAO类样省码字时间提高开发效率DAOFactory类家通完成实例化较方便需传类名省new语句避免知道实例化类文件作页面跳转较清楚认识xml文件前熟悉
现回想起完成程中遇困难MyEclipseOracle数类型应代码处转类型方式太样真细节决定成败时候转换没位报空指针然找久找错误定注意细节
学方面语言JavaScript次作业中学争取写出仅仅读懂
次作业完成较利程度决定老师督促学协助坚持种感觉想做什坚持努力会成效样学知识
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档