网上书店完整文档武汉理工大学软件工程综合课设.docx
《网上书店完整文档武汉理工大学软件工程综合课设.docx》由会员分享,可在线阅读,更多相关《网上书店完整文档武汉理工大学软件工程综合课设.docx(63页珍藏版)》请在冰豆网上搜索。
![网上书店完整文档武汉理工大学软件工程综合课设.docx](https://file1.bdocx.com/fileroot1/2022-12/8/2d550c88-e87e-4612-9bc6-150e9fe679a8/2d550c88-e87e-4612-9bc6-150e9fe679a81.gif)
网上书店完整文档武汉理工大学软件工程综合课设
1软件开发计划
1.1引言
1.1.1编写目的
为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,有必要以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容以书面的方式描述出来,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。
本项目开发计划用于从总体上指导网上书店项目顺利进行并最终得到通过评审的项目产品。
本项目开发计划面向项目组全体成员。
1.1.2背景
网上书店系统主要功能:
可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),用户可以注册、登录,注册用户享受打折服务,所有用户都可以查询、浏览书籍。
注册用户可以定购书籍并查询订单。
项目周期15天。
1.1.3定义
专门术语:
MySQL:
系统服务器所使用的数据库关系系统(DBMS)。
SQL:
一种用于访问查询数据库的语言
事务流:
数据进入模块后可能有多种路径进行处理。
主键:
数据库表中的关键域。
值互不相同。
外部主键:
数据库表中与其他表主键关联的域。
缩写:
系统:
若未特别指出,统指本网上书店系统。
SQL:
StructuredQueryLanguage(结构化查询语言)。
UML:
统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种
从软件分析、设计到编写程序规范的标准化建模语言。
1.1.4参考资料
Ø《软件项目管理》朱少民,韩莹编著,人民邮电出版社。
Ø《软件项目管理》RajeevTShandilya编著科学出版社。
1.1.5系统动机
该系统可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、目录等),用户可以注册、登录,注册用户享受打折服务,所有用户都可以查询、浏览书籍。
注册用户可以定购书籍并查询订单。
1.2项目概述
大部分读者都有过在网上购物的经历,在网上书店可以很方便的注册、浏览商品、查询商品、购买时也只需点几下鼠标。
本章的网上书店实现了上述的基本功能,用户可以在网络商店中进行注册、浏览商品以及查询购物车。
1.2.1工作内容
1、制作和修订项目开发计划;
2、进行计划跟踪与监控;
3、配合SQA的质量保证工作;
4、工作产品及时进行受控管理;
5、按计划提请阶段评审;
6、提交测试部门评测开发产品;
7、交付最终工作产品。
8、项目实施总结
9、项目验收
1.2.2主要参加人员
为了完成图书管理系统的项目开发,公司组建了一个临时的项目团队,有项目组组长、组员构成。
姓名
角色
工作描述
李浩文
组长
负责监督任务的进行,开软件设计文档的编写,
编写代码
俞哲
组员
负责需求分析文档的编写,编写代码
朱鹏
组员
负责软件开发计划的编写,编写代码
范家林
组员
负责测试计划和评估文档的编写,编写代码
秦超
组员
负责ROSE文档的编写,编写代码
1.2.3产品及成果
1.2.3.1程序
软件名称:
网上书店
编程语言:
Java
功能:
该系统可以分类录入书籍和相关信息(如名称、页数、出版商、摘要、
目录等),用户可以注册、登录,注册用户享受打折服务,所有用户都可以
查询、浏览书籍。
注册用户可以定购书籍并查询订单。
1.2.3.3服务
计划提供以下服务:
课堂培训:
以讲课形式对客户进行培训,使其能够正确使用软件。
免费咨询:
客户可以在工作时间向技术人员提出问题并获得解答。
技术支持:
对于某些客户,采取上门指导的方式。
软件维护:
获取软件使用中的问题,提供补丁程序。
升级通知:
在软件新版本发布的时候,及时通知(Email或邮寄信件)注册的用户,并提供试用版本。
软件升级:
对于注册用户,只需较少的费用即可升级到新的版本。
1.2.3.4非移交产品
Ø可行性分析报告:
说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
Ø项目开发计划:
为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
Ø软件需求说明书(软件规格说明书):
对所开发软件的功能、性能、用户界面及运行环境等做出详细的说明。
它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。
该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
Ø概要设计说明书:
该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
Ø详细设计说明书:
着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
Ø测试计划:
为做好集成测试和验收测试,需为如何组织测试制订实施计划。
计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
Ø测试分析报告:
测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
Ø开发进度月报:
该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
Ø项目开发总结报告:
软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
Ø软件问题报告:
指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
Ø软件修改报告:
软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响做出详细的描述,提交审批。
Ø源程序:
软件开发过程中的全部代码以及注释。
1.2.4验收标准
1.2.4.1代码的验收
最后在交付客户之前进行小组内评审,代码编写符合HB6465标准,与文档说明保持一致,代码书写风格统一,采用标准规范,没有下列错误:
由于软件缺陷造成丢失数据,不符合设计要求,响应时间太长无法接受等问题。
1.2.4.2文档验收
最后在交付客户之前进行小组内评审,文档格式符合HB6465标准,功能符合与客户的合同要求,清晰易读,没有语病与歧义。
1.2.4.3服务验收
服务硬件达到文档说明的要求,人员技术考核合格,定期上门维护。
1.2.5完成项目的最迟期限
交付日期
从2012年6月20日开始至2012年7月5日,完成对整个系统的可行性报告分析、需求分析说明书、开发计划说明说、系统设计书、项目测试、项目总结,对概念模型、存储模式、完整性控制、存取权限等进行了定义,对系统功能各模块进行了详细设计,定义了数据库总体结构、编码命名规范,并交付用户。
交付日期为2012年7月6日。
1.2.6本计划的审查者
本系统审查者为冯静老师。
1.3实施总计划
1.3.1开发过程
1.3.1.1需求分析
需求分析是整个设计中重要的一环,当可行性分析完成,项目立项,确定开发角色后,有关的设计开发人员与相关业务人员共同对业务流程、管理方式进行分析,并进行资料的收集、整理。
在完成了对有关数据信息的收集、归纳和分析整理后,确定了用户需求,对软件必须完成的功能进行了定义,在此基础上完成了数据定义,建立了数据字典。
1.3.1.2系统设计
完成对整个系统的分析设计,对概念模型、存储模式、完整性控制、存取权限等进行了定义,对系统功能各模块进行了详细设计、定义了数据库总体结构、编码命名规范。
1.3.1.3编码及测试阶段
完成程序设计和系统测试,完成了数据库建立及程序的编制调试。
为了避免错误积累,采用边开发边测试的基本模式,对每个模块都安排专人进行单独测试,系统联调及系统测试,对系统处理逻辑、例外处理能力、容错能力等进行大规模
的测试,对发现的问题进行彻底纠正。
1.3.1.4文档、产品部署
完成用户培训工作,编写各类文档,系统投入运行阶段。
1.3.1.5项目总结
项目结束后用两天左右时间,对项目研发、部署等开发过程中的问题、经验教训总结备案,以利于项目经验的积累和开发进的的缩短。
1.3.3接口人员
负责本项目同用户的接口人员为邹浩,由软件发开方派专人,按客户要求,指定地点安装,调试,运行并给客户演示,在后期中负责维护和更新。
1.3.4进度
方法:
采用结构化开发
设置模块开发优先级:
通过对图书管理的特点和信息流程等的分析,确定各模块开发的先后次序。
具体开发进度安排如下:
注:
有四个里程碑,分别是需求完成时、详细设计完成时、系统编码完成时、整个项目工作完成时.
里程碑名称
产品名称
提交日期
需求访谈结束
需求说明书
6.22
系统分析结束
系统说明书
6.24
系统设计结束
数据库设计说明书
6.26
系统编码完成
可运行系统
7.4
项目结束
项目工作总结
7.5
1.3.5关键问题
风险排序
风险项名称
风险描述
风险缓解方案
1
专业基础知识不牢
本次项目开发过程中涉及的知识较多,给项目开发人员带来一定的困难
进行相应的培训
2
经验欠缺
成员开发经验不足,使项目质量难以保证
只有通过不断的实践
3
软件性能的影响
本次开发过程中部分软件可能容易出现死机现象
选择合适的软件,搭建良好的配置开发环境
影响本计划完成的主要问题有:
Ø没有经费和硬件设施有限
Ø用户需求不清,存在误解及二义性
Ø第一次开发软件,开发人员没有实际经验
Ø时间有限,没有足够的开发时间
Ø
1.4支持条件
1.4.1计算机系统支持
开发时需要的支持条件:
Ø硬件:
服务器:
PentiumIII500以上或更高,
内存:
512M以上;
硬盘:
至少80G以上;
CD-ROM:
32倍速以上;
网络适配器:
10MB/100MB自适应;
打印机一台
UPS(选配)
工作站:
Pentium4以上微机;
内存:
512MB
硬盘:
至少80以上;
CD-ROM:
32倍速以上;
网络适配器:
10MB/100MB自适应
网络:
至少一台服务器
至少一台工作站
使用TCP/IP协议的局域网
Ø软件:
操作系统为WindowXP,使用集成开发工具Eclipse5.5.1,数据库采用mysql
其他开发工具包括:
Dreamweaver,Staruml,PowerDesigner12.5,TomCat.
运行时需要的支持条件:
1.4.2服务器上应该配备的软件
1.操作系统:
MicrosoftWindowsXP
2.数据库:
MySQL
3.服务器必须使用专业的防火墙和反病毒软件。
4.除了为了运行必须配备的程序以外,服务器上建议尽量不要安装其他无关程序,以减少程序的混乱或者程序的意外冲突。
4.2需要用户承担的工作
配备相应硬件系统,做到规范操作,备份好数据防止数据丢失,软件交付日期为软件安装测试人员提供环境。
1.4.3需由外单位提供的条件
本系统为独立开发,不需要外单位提供条件。
1.5专题计划要点
1.5.1开发人员培训计划
************************
************************
1.5.2测试计划
2012年7月3日—2012年7月4日对软件进行各项测试工作;
1.5.3质量保证计划
严格按照项目开发过程中的各项步骤,从项目立项,可行性研究报告、需求分析报告、项目开发计划等,具体实施;
2需求分析
网上书店是一个3层结构的B/S系统,主要实现网上下订单和购书的功能。
有网络购物经验的人,可以轻松在网上寻找到自己想要的书。
不用在为寻找书而烦恼。
2.1 书店系统的用户需求
足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种手段,为了满足网民的需要,大型书店也推出了自己的网上销售系统。
2.2 用户根据业务流程提出需求
结合自身的业务以及电子购物的流程,书店提出了如下的需求。
(1)根据书的种类不同,可以自己设定书的目录,并能自由修改。
(2)用户进入系统后,给出书店的目录,让用户了解自己想看的书的种类。
(3)用户必须登录系统才可以浏览书的目录和所有书籍。
(4)为了保障用户的安全,只提供输入信用卡信息的界面,具体付账的处理交由银行账户处理系统。
(5)店中的书分类保存。
(6)可提供图书查询功能,根据书名的关键字查询,可实现多个关键字查询。
(7)用户选择图书目录后,要显示目录下所有图书的信息,方便用户浏览。
(8)用户在浏览图书时,可以方便地将图书放入自己的购物篮中。
(9)考虑到用户可能将图书赠送给他人,将用户的地址分两类:
一类是订单发送到的地址,一类是图书发送到的地址。
(10)购物篮中要计算出用户购买图书的实际价格,让用户明白自己的消费情况。
(11)用户可以保存自己的订单接收地址,方便下次购买商品时使用。
2.3项目小组分析用户的需求
用户根据自身情况,提出了系统的初期需求。
因为观察角度不同,软件与用户在需求的处理上要尽量交流,弄清楚用户的具体需要,并让用户明白系统实现的内容。
我们详细分析讨论用户的初期要求,提出了以下几个要点。
(1)图书可以实现增、删、改,那么具体的图书信息是什么。
(2)图书分类保存,主要分哪几类,具体是称作目录还是分类。
(3)用户只输入卡信息,付账交由银行处理。
此功能是在系统中提供处理系统,还是直接转到银行的转账功能页面。
(4)购物篮中要体现用户的购买信息,具体显示什么内容。
(5)是否允许用户修改购物篮数量。
(6)用户的两类地址,是否都必须填写。
具体地址信息包括哪些元素。
2.4确定最终需求
我们根据实际购买流程和用户的业务情况,仔细核对需求列表中的功能和需求分析报告的初期分析,与用户进行沟通,并达成一致意见。
具体修改如下。
(1)图书信息主要包括名称、概要描述和图片。
(2)图书分目录保存。
主要目录内容由用户自己添加,并可实现修改和删除。
(3)付账功能转到银行的处理页面。
(4)购物篮中要清楚地显示用户所购图书的名称、价格和数量,并显示总价格。
(5)为了方便用户的操作,可以在购物篮中直接修改图书的数量,其他信息不允许随意修改。
(6)用户的两类地址必须详细填写,主要包括地址、邮编和国家。
如果两类地址相同,为了方便用户,填写完第一个地址后,可自动完成第二个地址的填写。
(7)用户随时随地都可以查看自己的购物篮,并可以随时下订单。
(8)系统可以满足大量用户同时在线下订单的需要。
2.5根据需求设计系统的功能
一个系统的设计关系到将来的开发、测试和部署,如果设计有误,将影响整个系统的工作和维护。
2.5.1划分系统的功能模块
我们根据需求列表,将用户的信息归纳汇总,最终将书店系统分成4个模块。
主要分类如下。
(1)目录管理模块:
实现对图书目录的管理。
主要包括目录的增加、删除、修改。
模块的功能设计如图1所示。
由于此模块是系统中的第一个模块,所以用户管理的一些功能将在此模块中描述。
(2)图书管理模块:
实现有关图书的所有功能。
主要包括图书的搜索、获取指定目录下的图书和图书信息的增加、删除、修改等功能。
模块的功能设计如图2所示。
图书管理模块功能图
-
图书管理模块功能图
(3)购物篮管理模块:
实现对网络用户购物信息的管理。
主要包括添加商品到购物篮、移除购物篮中商品、计算商品总价格、更新商品数量和清空购物篮等功能。
模块的功能设计如图3所示。
(4)订单管理模块:
实现对用户所下订单的管理。
主要包括订单接收地址的设置、商品接收地址的设置、订单的处理和获取订单中的商品信息等功能。
模块的功能设计如图4所示。
购物篮管理模块功能图
订单管理模块功能图
2.5.2设计各模块的功能及方法
在上面已经介绍了各个模块包含的功能,下面将介绍如何在程序中实现这些功能。
根据功能设计和业务流程,本系统设计了以下几个类,并说明了类中包含的方法。
(1)目录操作类:
主要包括获取、增加、删除、修改等功能。
删除目录时要注意,如果此目录中存在书籍,删除将会出错。
具体方法参考图5。
(2)图书信息处理类:
主要包括图书的获取、增加、删除和修改等功能。
具体方法参考图6。
(3)购物篮管理类:
主要包括获取购物篮中商品信息、添加商品、移除商品、清空购物篮、更新数量和计算价格等功能。
具体方法参考图7。
图5目录操作类图
商品信息处理类
1获取目录下的商品()
2搜索商品()
3通过ID获取商品()
4添加商品()
5修改商品()
6删除商品()
图书处理类图
购物篮管理类
1添加商品()
2移除商品()
3清空购物篮()
4更新数量()
5计算价格()
6获取购物篮中商品()
购物篮管理类图
(4)订单管理类:
主要包括添加订单、获取订单、订单的同步执行和订单的异步执行等功能。
具体方法参考图8。
(5)个人Profile信息设置类:
主要实现用户订单地址信息的设置和其他一些访问属性的设置。
具体方法参考图9。
订单篮管理类
1添加订单()
2获取订单信息()
3订单同步()
4订单异步()
订单管理类图
个人订单信息设置类
1获取订单地址信息()
2设置订单地址信息()
3设置访问时间()
4为用户创建Profile信息()
5删除用户Profile的信息()
6获取用户Profile的信息()
个人Profile信息设置类图
3UMl模型
3.1UML概述
面向对象的系统分析与设计,包括OOA(面向对象分析)与OOD(面向对象设计)两个部分。
其中OOA的主要任务是分析问题,找出问题解决方案。
同时,发现对象并分析对象内部构成和外部关系,建立软件系统的对象模型。
OOD的主要任务是根据已确立的系统对象模型,运用面向对象技术,设计对象与类,进而设计系统结构、人机界面、数据管理、任务管理等子系统。
UML(UnifiedModelingLanguage)是第3代的面向对象建模语言,融入了软件工程领域的新思想、新方法和新技术,提出如模板、扩展机制、活动图等新概念。
UML易于表达且功能强大,应用广泛。
它不但适用于面向对象的软件分析与设计,还支持从需求分析开始的软件开发的全过程。
UML定义了一系列图形工具,以对现实世界进行面向对象建模。
标准建模语言UML已成为面向对象技术的主流建模工具,支持系统分析、设计和实现等软件开发全过程。
3.2绘制工具
StarUML
3.3用例图
本系统主要面向两种类型的客体,拥有两种管理权限,即系统管理员和客户:
3.3.1 从用户角度描述系统功能的用例
用例名称:
用户购买图书
范围:
网上书店应用
级别:
用户目标
主要参与者:
用户
涉众及其关注点:
---用户:
希望便捷清晰的看到所输入的图书项目和价格,希望得到购买凭证,以便退货。
---管理员:
希望能够快速准确的收入,而且没有支付错误,希望能够快速执行超控操作,并易于更正用户的不当操作。
前提条件:
用户必须通过注册和登录。
成功保证:
存储销售信息,更新账务和库存信息,生成票据。
主成功场景
参与者的活动
1,用户通过将所购书籍加入到自己的购物车
2,系统开始一次新的销售交易
3,系统逐条记录出售图书项目,并显示该图书的描述,价格和累计金额
系统重复第3步直到结束
4,系统显示总额
5,顾客支付
6,处理支付
7,记录完整的销售信息,并将销售和支付信息发送到外部的账务系统和库存系统,系统显示票据
3.3.2 从系统管理员角度描述系统功能的用例
用例名称:
管理员对系统进行管理
范围:
网上书店应用
级别:
目标管理员
主要参与者:
管理员
涉众及其关注点:
---管理员:
对书籍进行各种管理,增加、删除、修改,可以设置各类书籍的折扣情况,可以对已注册用户进行管理,并实现订单的管理。
前提条件:
管理员必须通过合法的帐户登录系统
成功保证:
生成完整的修改日志,对系统进行更新
主成功场景
参与者的活动
1,管理员通过合法的帐户登录系统
2,管理员开始对系统进行设置
管理员重复2步直到结束
3,记录完整的修改日志,并对系统进行更新。
3.4系统主要类图
静态视图包括类图,对象图和包图,它描述了系统各部分的静态结构,包括构成网上书店系统的类和对象以及他们的属性,操作和相互之间的关系。
静态视图模型主要对系统的每个用例进行分析,更多探究系统的内部,从静态角度来描述用例的实现。
本系统的主要类图如下:
本系统功能的实现主要由以下几个类完成,管理员可以对书进行操作,可以对用户信息进行管理,用户选择满意的书放到购物车中,确认后,要求付帐,记录此次交易信息在销售类中,以供完成后续的现实交易。
3.5系统体系结构
本系统采用五层分层体系结构:
–表现层:
用来实现系统的“用户界面”;
–控制层:
负责在用户界面与后台逻辑层之间的连接与调度;
–业务逻辑层:
实现各个实体类及其内部包含的业务逻辑;
–持久化层:
负责在实体类与数据层之间建立OR映射;
–数据层:
采用关系型数据库进行数据存储;
3.6包图
(1)包“销售单管理界面”
界面“销售单查询”
界面“销售单统计”
(2)包“图书信息管理界面”
界面“图书信息查询”
界面“库存不足图书查询”
界面“图书信息管理”
(3)包“帐户信息管理界面”
界面“帐户管理”
(4)包“售出图书结算界面”
界面“售出图书结算”
(5)包“销售单管理”
控制类“销售单管理”
(6)包“图书信息管理”
控制类“图书信息管理”
(7)包“帐户信息管理”
控制类“帐户信息管理”
(8)包“采购单”
实体类“采购单”、“采购单项”
实体类“采购统计表”、“采购统计表项”
(9)1包“销售单”
实体类“销售单”、“销售单项”
实体类“销售统计表”、“销售统计表项”
(10)包“图书”
实体类“图书”
(11)包“帐户”
实体类“帐户”
3.7顺序图
交互视图模型描述系统的业务逻辑,包括顺序图和合作图,他们都描述对象间的动态协作关系,但合作图强调对象间的连接关系,而顺序图强调对象间的交互动作的时序特征。
顺序图从动态的角度描述了用例实现时,各类的交互与协作。
3.7.1用户选购顺序图
在用户登录系统后,先查询所需要的书籍,找到后放入购物车,当不在需要选购时,确认购物车的内容,要求结帐。
其执行顺序如下图所示:
3.7.2用户结帐顺序图
当用户结束选购申请结帐时,读取购物车中的信息,通过计算得出应付金额,返回给用户,请其进行核对,确认后,要求拨款,如果成功从用户帐户中划得相应金额给书店帐号,