网上书店--软件工程课程设计报告.doc
- 文档编号:1268202
- 上传时间:2022-10-19
- 格式:DOC
- 页数:22
- 大小:1.04MB
网上书店--软件工程课程设计报告.doc
《网上书店--软件工程课程设计报告.doc》由会员分享,可在线阅读,更多相关《网上书店--软件工程课程设计报告.doc(22页珍藏版)》请在冰豆网上搜索。
软件工程课程设计报告
(2013--2014学年第二学期)
课程名称:
软件工程课程设计
题目:
网上书店
院系:
计算机学院
班级:
软件(.NET)12-2班
组长:
黄金磊
组员:
焦雷阳、师飞、顾鹏翔、吕四凯、路志恒
指导教师:
安吉宇
小组成绩:
日期:
2014年6月20日
《软件工程》课程设计
任务书
一、目的、要求
通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
二、主要内容
1.运用面向对象技术、UML及可视化的建模工具完成系统的需求分析与设计。
2.使用JAVA语言进行代码编写。
3.运用MySql进行数据存储,读取。
三、任务分配
任务
负责人
参与人
备注
问题定义、可行性研究
顾鹏翔
顾鹏翔、路志恒
需求分析
师飞
师飞、焦雷阳
概要设计详细设计
吕四凯
吕四凯、黄金磊
编码、测试
黄金磊
黄金磊、顾鹏翔
摘要:
随着网络信息的发展,网络在人们生活中的应用越来越广泛。
人们越来越想在最短的时间内购买到自己所需的图书。
但书目的繁多,给人们在繁忙的工作生活中购书带来了很大的麻烦,于是网上购书便成了人们向往的事情,此系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。
在电子商务网站中,网上书店是目前应用最广、最成功的典范之一。
通过它用户可以在网络上通过Internet,突破时间和空间的限制而实现网上购书。
网上书店的崛起对传统的图书流通体系产生了强烈的冲击,有效地缩短了图书流通发行环节,将广大读者、图书、出版者、发行者紧密地结合在一起,大大提高了图书流通率。
它有着经营成本低、库存是虚拟的、用户检索方便、地域限制少等特点。
本系统运用面向对象技术、UML及可视化的建模工具RationalRose2007及2003完成系统的需求分析与设计。
并且以JSP为主要制作工具,实现了用户登陆、验证身份及用户数据的采集、书籍的预览查询、对书籍的购买通过购物车实现。
关键词:
网上书店,面向对象,RationalRose
一、课程设计的目的与要求
通过软件开发的实践训练,使学生进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:
1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;
2.熟悉自动化的软件开发工具RationalRose,并将其运用于软件开发的全过程;
3.进一步加强和提高软件工程文档的编写能力;
4.培养协作能力和团队精神。
二、设计正文
1.概述
1.1课题描述
随着网络信息的发展,网络在人们生活中的应用越来越广泛。
人们越来越想在最短的时间内购买到自己所需的图书。
但书目的繁多,给人们在繁忙的工作生活中购书带来了很大的麻烦,于是网上购书便成了人们向往的事情,此系统的开发为人们带来了很大的方便,使他们足不出户就可以轻轻松松地买到自己想要的书,既省时又省力。
1.2系统目标
网上书店既可以避免书目订货的局限和盲目,又可以克服看样订货投入大,费用高,管理难的不足,而且网上选择范围广能直观看样,可浏览内容,可随时添订,结算及时,快捷方便,周转高速。
这些优势是其它交易方式难以达到的。
图书网上交易是图书销售领域未来发展之必然,也是出版发行业摆脱困境,建立新的流通渠道,繁荣出版,繁荣市场的必由之路。
1.3环境
a)操作系统:
Windows7,WindowsXP,Vista
b)使用软件:
代码编写:
JSP
数据库:
MYSQL
建模工具:
RationalRose
文档编写:
MicrosoftWord2007.
c)开发语言:
JSP,JAVA
2.系统需求分析
网上书店是一种高质量,更快捷,更方便的购书方式。
网上书店不仅可用于图书的在线销售,也有音碟、影碟的在线销售。
而且网站式的书店对图书的管理更加合理化,信息化。
售书的同时还具有书籍类商品管理、购物车、订单管理,非常灵活的网站内容和文章管理功能。
根据宾馆的具体情况,系统的主要功能包括:
1.用户功能:
(1)注册功能:
注册、登录、退出、个人管理
(2)图书选购:
浏览图书、购物车得管理
(3)订单的管理:
查看订单、修改订单、撤销订单
2.管理员功能:
(1)登录
(2)用户管理:
删除用户、查询用户
(3)图书管理:
添加图书、删除图书、修改图书、查询图书
(4)订单管理:
查询订单、确认订单、删除订单
2.1用例图
a)管理者用例:
1.登录:
管理员登录。
图表a.1管理者登录用例图
2.订单管理:
包括对订单的增加删除以及查询订单功能。
图表a.2管理者对订单管理用例图
3.图书管理:
对图书的查询(通过年份、书名、作者查询)、删除、添加以及对图书的修改。
图表a.3管理者对图书管理用例图
.4.用户管理:
对用户的查询,删除用户。
图表a.4管理者对用户管理用例图
a)
b)客户用例图
1.登录:
用户登录。
图表b.1客户登录用例图
2.订单管理:
让用户可以对自己订单进行查看、撤销、订单的查询、订单的日期查询、修改订单等等。
图表b.2客户对订单管理用例图
3.图书选购:
通过刘丹图书的信息,当需要购买时创建购物车,通过购物车来进行对图书进行浏览、删除以及订单的生成和数量的修改等等。
图表b.3客户图书选购用例图
4.注册:
用户的注册。
图表b.4客户注册用例图
2.2类图
系统采用MVC三层架构,另将数据库操作提取为单独一层。
a)视图层:
控制用户界面,及用户与系统的交互,此处省略。
b)控制器层:
控制具体业务。
PersonRrcControl:
控制管理员及前台人员。
UserAction:
用户进行对网页的浏览以及对图书的选购。
AdminAction:
图书管理者对用户订单的处理。
图表1控制层类图
c)业务逻辑层:
包括登录,图书管理以及订单处理等等。
图表2业务逻辑层类图
d)持久层:
控制数据库的增删查改操作。
图表3持久层类图
系统中用到的所有模型类图如下:
Manager:
系统管理员,字段包括管理者得等级。
User:
用户,字段包括用户身份姓名、密码。
Order:
订单,字段包括订单号、订单人的姓名、订单的花费、订购人的手机号、订单的日期、订单的状态。
Book:
图书信息,字段包括图书号、图书名、作者名、图书价钱、图书的类型、图书的简介、图书的出版日期。
图表4模型类图
2.3顺序图
a)管理者进行登录:
管理者通过进行登录的动作响应(LoginAction),并且调用了登录服务函数(LoginService),通过姓名密码来对Person类进行核对来确定是否成功登录。
图表a管理者进行登录顺序图
b)管理者对图书管理:
这个顺序图里,由于功能较多用BookService()函数来进行查询图书、删除图书、添加图书、修改图书等等来进行对图书的管理,最后更行了BookDao。
图表b登录者对图书管理顺序图
c)用户订单处理:
用户通过UserAction进行对图书的查找,并且通过OrderService来进行对需要的图书加入购物车,进行对图书的修改等等,最终确定订单后对OrderDao进行结账。
图表c用户订单处理顺序图
3.系统总体设计
系统模块图:
网上书店
用户系统
管理员系统
注册登录
图书选购
订单管理
注册
登录
退出
浏览图书
购物车管理
选购图书
修改订单
撤销订单
查看订单
登录
用户管理
图书管理
订单管理
个人管理
密码修改
删除用户
添加图书
删除图书
修改图书
查询图书
确认订单
删除订单
查询用户
查询订单
删除物品
修改数量
查看
详细信息
查看
详细信息
生成订单
1.1设计数据管理子系统
用户表:
User(username,password)
管理员表:
Admin(adminname,adminpsw)
书籍表:
Book(bookid,bookname,bookauthor,price,publish,publishtime,serialnum,info)
订单表:
Orders(orderid,username,ordernum,expense,address,phonenum,ordertime);
1.2设计人机交互子系统
1)管理者登录页面:
2)管理员添加书籍界面:
3)用户浏览图书页面
4)购物车页面
4.详细设计
访问首页
点击购物按钮
进入ShoppingAction
检查Session
创建Shopcart
添加图书
浏览购物车
不存在购物车
存在
5.系统实现
1)购物车类
importjava.util.*;
importcom.my.bookstore.model.Book
publicclassShoppingCart
{
Map
doubleprice=0;
publicShoppingCart()
{
}
publicvoidupdatePrice()
{
price=0;
Iterator
while(it.hasNext()){
Bookb=it.next();
price=price+b.getPrice();
}
}
publicvoidaddItem(Bookbook)
{
if(itemMap.containsKey(book)){
intnum=itemMap.get(book);
itemMap.put(book,num+1);
}else{
itemMap.put(book,1);
}
updatePrice();
}
publicvoidremoveItem(Bo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 书店 软件工程 课程设计 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)