《软件工程》课程设计报告
课程设计题目:网上书店
专 业:软件工程班级: 2015-2 设 计 人:**
学 号:201*01060902 实验时数:30学时:30 同组其他成员:*** ** *** *** 完成起始日期:201*.4.8——201*.7.15 承担角色:组长实验地点:J13-132 课程教师:***实验指导教师:***
* *** 大 学
201* 年 7月 16日
1
目 录
一、可行性研究报告 ···································································································4
1.1 引言 ··············································································································4
1.1.1 编写目的·····························································································4 1.1.2 背景 ····································································································4 1.2 系统信息 ·······································································································4 1.3 任务的详细信息 ····························································································5
1.4 基本要求 ································································································5 1.4.1 功能要求:本系统分为客户端和服务器端。 ········································5 1.4.2 性能要求: ·························································································6 1.4.3 安全与保密方面的要求 ·······································································6 1.4.4 完成期限要求
21周前完成任务 ···············································6
1.4.5 系统必须满足的限制 ···········································································6 1.5 所建议的系统 ································································································6
1.5.1 对所建议系统的说明 ···········································································6 1.5.2 处理流程·····························································································7 1.5.3 建立扩建议系统时的影响 ····································································7 1.5.4技术条件方面的可行性 ········································································8 1.5.5 投资及效益分析 ··················································································8 1.5.6 社会因素方面的可行性 ·······································································8 1.5.7 结论 ····································································································8
二、需求说明书 ··········································································································9
2
2.1 引言 ··············································································································9
2.1.1 编写目的·····························································································9 2.1.2 读者对象·····························································································9 2.1.3 软件项目概述 ·····················································································9 2.2 定义 ············································································································ 10
2.2.1 概念 ·································································································· 10 2.2.2 一般性描述 ····················································································· 10 2.3 系统Use Case图 ······················································································· 11 2.4 Use case 说明 ·························································································· 11
2.4.1 用户注册Use case说明 ···································································· 11 2.4.3 书籍订购Use case说明 ···································································· 12 2.4.4 个人信息管理Use case说明 ····························································· 12 2.4.5 系统管理Use case说明 ···································································· 12 2.5 系统模块 ····································································································· 12
2.6.1 系统的类图 ······················································································· 13 2.6.2 类的说明··························································································· 13
三、总体测试报告 ···································································································· 17
3.1测试说明 ······································································································ 17
3.1.1 测试内容··························································································· 17 3.1.2 测试目标··························································································· 17 3.2总体测试测试方案 ························································································ 17
3.2.1 测试项目··························································································· 17
3
3.2.2 测试方式··························································································· 19 3.3测试用例 ······································································································ 18
3.3.1 注册登录测试 ··················································································· 18 3.3.2 图书检索测试 ··················································································· 20 3.3.3图书购买测试 ···················································································· 21 3.3.4 管理员功能测试 ················································································ 22
四、个人总计············································································································ 25
一、可行性研究报告
1.1 引言
1.1.1 编写目的
可行性报告分析是为“网上书店管理系统”开发的可行性、必要性提供论据,为开发人员进行系统总体规划设计及具体实施开发工程提供必要的参考资料,在系统开发完成后期为系统的测试、验收提供帮助。 1.1.2 背景
本项目作为《软件工程》课程的实习项目提出,希望通过《网上书店》电子商务网站的设计开发,了解软件文档的相关标准和编写原则,训练并掌握软件各类文档写作的技巧;另一方面,提高使用JSP开发J2EE架构的电子商务网站(B/S结构)的能力。
1.2 系统信息
项目名称:BookStore
4
开发平台: win10 jdk8 开发环境: jre1.8.0_131
开发软件: MySQL5.6,Eclipse for j2ee
1.3 任务的详细信息
用户:普通用户 系统管理员 1.3.1 普通用户
普通用户是使用本系统最多的群体。作为书店的顾客,可以使用系统对外的功能,可以进行注册以及购买书籍等。 1.3.2系统管理员
系统管理员相当于书店的老板,可以使用本系统的后台功能,以及对本系统用于一定的管理权限。 1.3.3网站基本服务
用户的注册,登录,用户登录后进行图书浏览查询,管理员对进书,售书,库存的管理以及订单的处理。
1.4 基本要求
该图书馆管理信息系统是基于Internet/Intranet 及Web技术,建立以Browser/Server 为结构模式、以数据库为后台核心应用、以服务为目的信息平台,对资源进行科学的加工整序和管理维护,为教学和科学研究提供文献信息保障和提高网上书店的效率而设计的系统。 1.4.1 功能要求:本系统分为客户端和服务器端。 客户
: 个人信息管理 书籍查询及购买 订单管理
5
管理员:
用户管理 书籍管理
1.4.2 性能要求:
网上书店管理系统的使用者是购买图书的消费者。对于店主的管理工作需要方便对进书、售书、库存、订单、客户的管理等;对于订购图书的消费者提供浏览页面、订购图书等功能. 1.4.3 安全与保密方面的要求
书店中所有的图书能够供用户随时查阅;用户的个人信息可以由用户自己修改,添加;书店图书的信息只能由管理人员添加,修改;所有注册用户信息只能由管理人员查询。 1.4.4 完成期限要求
21周前完成任务
1.4.5 系统必须满足的限制
(1)系统中所有帐户能够供用户随时使用,完成各自授权的活动; (2)在同一时刻,一个帐户不能同时为两个用户服务;
(3)该系统必须确保对数据进行完全保护,以避免未经授权的访问;所有的访问都要登录,并且每个登录用户只能访问其角色所授的权限;
(4)界面友好、操作简便;
(5)软件系统开放性好,结构灵活,可扩充,易于维护;
1.5 所建议的系统
1.5.1 对所建议系统的说明
管理员能够对书籍数据库进行操作,包括书籍的插入、删除和修改。对用户能进行查询用户名和订单的操作。但是对用户密码没有操作权限。
6
所有用户都能进行查询操作,未注册用户能进行查询和注册操作。注册用户可以进行查询、购买、查看订单、修改订单和修改密码操作。 1.5.2 处理流程 用户登录验证失败图书管理订单管理会员管理网站管理用户管理
图1.1 处理流程
1.5.3 建立扩建议系统时的影响
1. 对设备的影响:扩建后的系统应该配备更强大的硬件资源。 2. 对系统运行过程的影响:
(1) 用户的操作更加简单方便,用户界面更加美观; (2) 运行中心的操作效率更高和方便。 (3) 运行中心与用户之间的关系更加独立。 (4) 源数据的处理更加快速和简单。
7
(5) 数据进入系统的过程更快速。
(6) 系统失效的后果及恢复的处理方法更加智能和友善。 1.5.4技术条件方面的可行性
1.在当前的限制条件下,使用JSP, SERVLET, JAVA, MYSQL等技术,该系统的功能、目标可以达到;
2.使用JSP, SERVLET, JAVA, MYSQL等技术,该系统的功能可以实现; 3. 勉强能够实现系统功能,但是不够完善。 4.在规定的期限内,本系统的开发勉强可以完成。 1.5.5 投资及效益分析
支出:基本建设投资
1.计算机设备:个人笔记本电脑 2.数据通讯设备:校园内网。
3.计算机操作系统和应用软件:WINDOWS 7操作系统、Tomcat、sublime和Firefox浏览器和Chrome浏览器
4.数据库管理软件:MYSQL 5.绘图软件:Visio 收益:无
1.5.6 社会因素方面的可行性
法律方面的可行性:因为没有投入实际的应用,不存在法律问题。 使用方面的可行性:可以作为以后的学生参考之用 1.5.7 结论
经上述可行性分析,系统的研制和开发可以立即进行。
8
二、需求说明书
2.1 引言
2.1.1 编写目的
详细、准确和全面定义基于web的网上书店系统的用户需求,指导软件系统的后续开发工作;本文档所描述的用户需求将作为该项目最终验收的标准和依据;
2.1.2 读者对象
(1)用户 (2)需求分析人员 (3)软件设计人员 (4)软件测试人员 2.1.3 软件项目概述
问题描述(1)
编写软件完成网上查询书籍、售书和交易的自动化:系统可以通过用户的账号密码确认帐户信息,响应用户查询要求,并提调仓库系统的相关书籍数目信息,在书籍数目充足情况下,完成用户交易请求,交易请求完成后,向网站管理员及时提供订单信息,后由管理员确认发书,若存在书籍问题,用户提出退货请求,系统通过向管理员核实相关信息后进行响应。
问题描述(2)
用户可以在网站上搜索所要书籍信息;注册用户可以通过系统完成购书交易并在货到后付款;交易完成后,注册用户可以通过Internet反馈购书信息;书籍有问题,注册用户可以通过Internet提出退货请求,经核实后退换书籍;注册用户可以通过Internet查询他们拥有的账号的信息和相关的交易费用清单。管理员可以通过系统对已注册的用户信息进行管理,对书籍信息进行管理。
系统概览
9
网上书店是一种高质量、快捷、方便的购书方式,采用计算机技术和通信技术,对图书进行更加合理化、信息化的管理的同时,实现人们足不出户便可购买到所需书籍的意愿,实现了传统业务的信息化和电子化。
随着软件开发方法学的演变和发展,特别是软件设计模式、软件组件等概念的提出,给软件重用度、软件的可扩充性、软件的鲁棒性及软件开发效率的提高,提供了一个诱人的前景。我们将采纳当前软件工程最新技术,采用统一建模语言UML描述基于网络计算平台的整个项目,在分析、设计时充分利用软件模式及组合软件模式,利用前人的专家级经验,提高开发效率;最后的产品用软件组件的形式加以封装,并用XML来描述软件组件及各软件组件间的接口。通过这一课程作业实践,一方面能加深我们对软件模式、软件组件、XML、UML的认识和理解,使我们就这些新技术的应用,提出更为可行的建议;另一方面,我们也希望能开发出新的软件组件,抽出新的软件模式,进一步充实软件模式仓库,繁荣软件组件市场。
2.2 定义
2.2.1 概念
(1)网上书店系统(Onlinebookstore)。
(2)用户:网上书店系统的用户,主要分为已注册的用户和未注册的用户,已注册的用户可以拥有网上系统固定的帐号。
(3)管理员:网上书店系统的工作人员,负责已注册的用户信息及书籍信息的管理。
(4)帐号:用户在系统上进行购书交易的身份凭证,已注册的用户通过密码拥有帐号的相关功能。 2.2.2 一般性描述
该系统所涉及的帐户信息和用户信息全部存放在数据库中。本系统采用浏览器/服务器(B/S)的工作方式,系统的用户主要有:系统管理员、已注册用户、未注册用户。
10
2.3 系统Use Case图
会员注册未注册用户浏览图书用户图书订购个人信息管理注册用户账单查询管理员系统管理用户管理用户管理图书管理库存管理
Use Case图
2.4 Use case 说明
2.4.1 用户注册Use case说明
步骤1:打开注册页面,填写相关信息。 步骤2:相关信息填写完毕后向系统提交申请。
步骤3:系统确认申请信息完毕,用户注册成功,本Use Case结束。 2.4.2书目查询:
11
步骤1:用户打开系统网站主页面,即可通过在搜索对话框中输入关键字进行相关书籍资料的搜索。
步骤2:如果需要进一步执行加入购物车、收藏、购买书籍等操作,需要注册用户权限,本Use Case结束。 2.4.3 书籍订购Use case说明
步骤1: 注册用户可通过登陆对话框,输入用户名和密码,点击登陆按钮,系统验证用户名和密码,如果用户名和密码匹配,会进入个人页面,如果不匹配用户名和密码,系统会提醒用户重新输入用户名和密码。
步骤2: 登陆成功后进入个人用户页面,选择好要购买的书籍后,点击立即购买按钮,进入订单页面。
步骤3:在订单页面中选填好联系方式和发货地址之后,确认订单,选择付款方式后,本Use Case结束。 2.4.4 个人信息管理Use case说明
已登陆的用户可在个人用户页面里,对自己的用户资料进行查询、修改等操作,结束本次Use Case。 2.4.5 系统管理Use case说明
说明:系统管理为系统管理员的操作范围,其包括书目管理和用户管理。书目管理即对数据库的书籍信息管理员可以进行查询、修改、删除等操作;而用户管理则是管理员可以对已注册的用户信息进行管理,响应并核实用户的购书要求等。
2.5 系统模块
(1)用户登录模块 (2)用户注册模块 (3)书籍查询模块 (4)订单模块 (5)购书信息反馈模块
12
2.6 功能需求描述
2.6.1 系统的类图
Book-bookId- bookKind-bookName-bookDescr-bookCount-bookPrice-bookDate+getter()+setter()BookManage+getInstance()+getBooks()+getBooksByKind()+getRecordAmount()+getBookById()+deleteBookById()+updateBook()+getMaxId()+addBook()Cart+addCartItem()+getTotalPrice()+getTotalCount() +deleteCartItemByBookId()User-userId-userName-password-userPhone-serAddr-userDate+setter()+getter()UserManage+saveUser()+check()+updatePassword()+deleteUserById()+alterUserById()BookDB-getStatement()-getResultSet()-close()CartItem-cartbook-cartcountOrder-orderUserId-orderId-orderUser-orderPhone-orderAddr-orderStatus-orderDate-orderItems+setter()+getter()OrderManage-getOrderItemCount()-getOrderMoney()-getNowOrderNumber()-setOrderItem()-setOrder()-deleteOrderById()-updateOrderStatus()+getter()+setter()
图2.2 系统的类图
Book类:书籍类。 User类:用户类。 Order类:订单类。 Cart类:购物车类。 BookDB类:数据库类。 2.6.2 类的说明 Book类的说明
属性
bookID:书籍编号,是整型数。
13
bookName:书籍名称,是一个长度不超过10的字符串。 bookKind:书籍类别,是一个长度为18的字符串。 bookPrice:书籍价格,浮点型数据。
bookDate:书籍出版时间,是一个长度不超过10的字符串。 bookCount::书籍库存量,长整型数据,。
bookDescr:书籍内容简介,是一个长度不超过1000的字符串。BookManage类说明
方法:
getBooks():获取书籍信息
getBookByKind():通过书籍分类获取图书 getBookById():通过书籍编号获取图书 getRecordAmount():获取书籍库存量 deleteBookById():删除图书 updateBook():更新图书状态 addBook():添加图书 User类的说明
属性:
userId:用户编号 userName:用户名 password:用户密码 userPhone:用户联系方式 userAddr:用户地址
14
userDate:注册创建日期 方法
getter,setter方法 UserManage类说明
saveUser():保存注册的合法用户 check():登录时检查用户名密码是否一致updatePassword():用户修改密码 deleteUserById():管理员删除用户 alterUserById():修改用户信息 Order类说明
属性
orderId:订单编号。
orderuserId: 用户账号编号。 orderUser:用户。 orderPhone:订单电话 orderAddr:订单地址
orderStatus:订单状态,是否发货 orderDate:下单日期 OrderManage类说明
getOrderItemCount():获取订单账号 getOrderMoney():订单金额
getNowOrderNumber():获取订单数量
15
setOrderItem():设置订单 deleteOrderById():删除订单 updateOrderStatus():更新订单状态 BookDB类说明
getStatement():是否连接数据库 getResultSet():获得结果 close():关闭数据库接口
16
三、总体测试报告
3.1测试说明
3.1.1测试内容
· 测试总体设计 · 测试用例设计 3.1.2测试目标
注册测试:前台用户注册模块,用户输入相应的注册信息,模块通过用户输入的信息是否符合要求来进行检验。
登录测试:前台用户登录模块,用户输入用户名密码,模块通过连接到后台的数据库查找用户信息进行检验。
图书检索测试:用户输入要检索的图书类别,模块通过连接到后台的数据库查找图书信息进行检验。
图书的展示测试:用户点击图书展示,模块通过连接到后台的数据库查找图书信息进行检验,成功后展示给用户。
图书管理测试:后台管理模块,管理员添加和删除以及修改图书信息,模块通过连接到后台的数据库更新图书信息进行检验。
购物车管理测试:用户通过对图书信息的检阅后选择合适自己的书目添加进购物车,模块通过连接数据库对用户添加的信息进行检验。
用户管理测试:后台管理模块,管理员删除或修改用户,模块通过连接到后台数据库更新用户信息进行检验。
订单管理测试:管理员修改或删除订单,模块连接到后台数据库更新订单信息进行检验。
17
3.2总体测试测试方案
3.2.1测试项目
1.注册登录测试 2.图书检索测试 3.图书购买测试 4.管理员功能测试 3.2.2测试方式
总体测试采用人工测试方式。人工设计测试样例,进行测试操作。
3.3测试用例
3.3.1注册登录测试
18
登录成功
后台数据库显示
19
3.3.2图书检索测试
20
后台数据库
3.3.3图书购买测试
购物车
下单填写信息
后台数据库
3.3.4管理员功能测试
21
1、管理员登录与管理员首页
2、图书信息修改
22
3、发布新书
4、订单管理
5、用户管理
四、个人总结
软件工程课程设计也要结束了,在这一周中我学到了更多的东西。我们小组
23
这次做的是一个基于WEB的网上书店,从前没有接触过类似的东西,所以刚开始的时候遇到了不少困难,但是经过小组成员的共同努力我们还是顺利地完成了此次课程设计。开始很困难,因为这次的角色类似于项目经理,所以要负责整个小组的分工已经项目进度的控制,这对于自身的统筹协调以及管理能力也是一个提高。
团队精神很重要,我们这次五个人一个小组,每个人分工都不相同,所以一个人的任务完不成就可能导致整个小组的进度变慢,这就要求我们有较强的团队精神。虽然小组成员在过程中有过些小矛盾,但是事后大家还是能相互配合,共同努力。
首次完整的做出一个系统项目,从运行环境的搭建到框架的建立以及逐步的完善,一方面提高了个人的编码能力,了解B/S模型的运行原理,将以往的数据库应用软件,软件工程,Javaweb等各学科的知识整合起来加以应用;同时也在不断提高小组成员间的合作默契程度与执行力。
有了这一次的经验,我相信我们这个团队有能力同样完成接下来的挑战
24
因篇幅问题不能全部显示,请点此查看更多更全内容