燕山大学软件工程课程设计报告完整版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
燕山大学软件工程课程
设计报告
HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
燕山大学
软件工程课程设计说明书
题目:网上书店
学院(系):信息科学与工程学院年级专业:10级计算机应用三班学号:
学生姓名:方小雨
学号:
学生姓名:王嘉恺
指导教师:邓成玉
教师职称:教授
燕山大学课程设计(论文)任务书
2013年6 月21 日
燕山大学课程设计评审
日
第一章绪论
课题背景
在网络信息日益发展的今天,网络已经成为人们日常生活的一部分。
网上购物也成为现代社会的趋势和潮流。
而随着互联网的飞速发展以及我国经济的稳步平衡增长,人们对于精神文明也愈加看重,对于知识的追求也却来越高。
因而图书市场开始繁荣起来。
但由于各种各样的原因使得消费者在选购图书时不能迅速找到合意的书籍。
近年来网上书店也在网络经济的刺激下开始发力,各类资本纷纷注入这一充满潜力的新型市场。
由于网上书店图书种类包罗万象,且价格比传统书店便宜不少,以至于越来越多的消费者青睐于网上购书。
1999年,国内真正意义上第一家网上书店——当当网上线。
北京大学社会学专业毕业、从国家机关辞职下海的李国庆,拿着第一笔风险投资的基金开始了自己的网店生涯。
8年后,这家号称全球最大中文网上书店的企业营业额已经达到8个亿。
此后,伴随着世界电子商务浪潮的到来,越来越多的网上书店在国内兴起。
课题目的
消费者都想在最短的时间内购买到自己所需的图书。
但现有大型电商平台音像书籍分类下书目繁多,给人们在繁忙的工作生活中购书带来了很大的麻烦,于是如何方便快捷的购买到自己所需的图书就成了人们较为关心的问题。
本小组成员经过网上查询资料和实地调查发现,燕山大学附近只有3家传统书店且规模较小。
稍微上点规模的城市之光也因为盗版原因存在着质量问题,价格也比京东等大型电商高出两成左右。
而大型网上书店虽然品种杂多,但缺少高等院校适用的教材,在快递方面最快也要一天才可到达学校。
综上所述本小组成员开发的网上书店系统目标人群专门针对在秦皇岛的高校在校生。
专门定位于大学生教材教辅、考研考证资料和畅销图书等实用书
籍,砍掉五花八门诸如育婴、菜谱等无关品类以及昂贵的系列丛书等高消费书籍,若单人购买一次性购买一学期所需的全部教材要比在学校统一订购节省近80元,并且承诺2小时内送货上门并支持货到付款。
本小组的网上书店定位精确、品类独特、价格优惠、方便快捷、质量保证,因此较传统书店和大型电商均有一定的优势。
任务与具体要求
本系统即是在以上各种条件成熟的前提下建立的一个用户轻松登录系统完成购书的管理系统。
1)系统用途:本系统利用网络平台,使得消费者和销售者足不出户即可实现买书和销售行为,同时大大减少的人员的参与。
系统使用范围:与时俱进、想体验网上购书乐趣的消费者,特别是大学生等年轻人群。
2)具体要求:管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售书。
查看图书调查报告、游客可以在线注册为会员、投票、购书。
本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。
开发环境
操作系统:XP或WIN 7
浏览器:IE 及以上版本或360浏览器
开发工具:Dreamweaver CS3、Myeclipse和Mysql数据库
开发语言:JSP技术
软件文档的开发和编制:Microsoft Word 2007等工具
小组内部分工
组长:方小雨
全面协调小组工作;负责整个项目分析建模和模块功能的划分和设计;负责数据字典和数据库逻辑结构、物理结构和详细表单内容的设计;
组员:王嘉恺
负责系统的可行性分析和需求分析,及前台系统的设计与实现和检查运行环境配置,完成课程设计小组最终报告;小组电子文档管理和帮助等工作。
第二章可行性分析
经济可行性
开发网上书店系统在经济上的支出经过估算大致分为两部分:固定性支出和不可知支出。
在固定性支出方面由于现今计算机的价格已经十分低廉,性能却有了长足的进步,且该系统规模不大,开发这样的一个系统所需的人员不需要太多,开发周期较短,所以支出的费用大大的降低,本小组成员均配备有个人笔记本电脑,不需额外购买。
经过整体估算大致支出基本为零。
在后期实际开发过程中可能会遇到一些未知的问题,此时也需要一定的支出和包括一些相关资料包括搜集和相关软件使用权费用、服务器的租用费等支出,这些支出大致为3000元左右。
所以开发此系统总估算为万元左右。
该系统的开发,为书店图书销售方面带来了一个质的飞跃,该系统的运行可以代替人工进行许多繁杂的劳动,节省许多时间和空间方面的资源,大大的方面了图书销售商和图书消费者。
这样节省了大量的人力物力,按该系统的使用周期按10年来算,大致可以省下了超过几十万元,大大节约了成本,同
时也提高了工作效率,收益远远大于支出。
因此,该系统在经济上是可行的。
技术可行性
本系统基于JSP技术以及Mysql进行联合开发。
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种技术标准。
它是在传统的HTML文件(*.htm,*.)中插入Java(Scriptlet)和JSP 标记(tag),从而形成JSP文件(*.jsp)。
就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
MySQL是一个,由瑞典MySQL AB公司开发,MySQL是一种关联,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了性。
MySQL的SQL语言是用于访问的最常用标准化语言。
由于其体积小、速度快、总体拥有成本低,尤其是这一特点,一般中小型网站的开发都选择MySQL作为网站。
由于网上书店还只是个简单的模版框架,所以只需要一台装配有WindowsXP/Win7系统的计算机经过简单的环境变量配置即可实现。
本小组成员在大三下学期均系统学习过Java web的课程并且自学部分Java语言和Myeclipse工具的使用。
因此综合上述原因,本系统在技术层次上是可行的。
操作可行性
本系统由于使用JSP开发,开发完成是网页界面友好,操纵起来方面简单,只要用户详细阅读开发者对该系统制定的使用说明手册,用户很快便能上手,方便简单,且又不失实用。
该系统主要基于Win7操作系统,用户基本上能够轻松的操作,这对于用户操作该系统也提供了一定的便利。
用户可以通过系统直接完成各项操作,进行动态更新,而且可以比较直观的看到操
作的效果。
由于该系统开发工具具有的优点,使该系统在维护等其他方面的开销大大减少了。
网上书城系统是一个小型的商品管理系统,所耗费的资源非常的小,用户的计算机无论是硬件还是软件都能够满足条件,因此,本系统在用户运行上是可行的。
法律可行性
本系统完全自主开发,同时均采用正规出版社授权的正版书籍,不存在侵犯他人知识产权的行为,同时也没有损害国家、集体和他人的利益,各项工作的开展均按照国家法律规定的范围内进行,在系统设计的相关信息以及功能均没有超出法律的限制,在采用开发该系统的软件(Dreamweaver和Myeclipse)也是经过软件研制方授权使用,且开发过程中使用的相关资源均是在法律上允许使用。
因而,开发该系统不存在任何的违法行为,在法律上是可行的。
第三章需求分析
系统需求分析
网上书店是一种高质量,更快捷,更方便的购书方式。
网上书店可主要用于图书的在线销售,网站式的书店对图书的管理更加合理化,信息化。
售书的同时还具有书籍类商品管理、购物车、订单管理,非常灵活的网站内容和文章管理功能。
根据书店系统的具体情况,系统的主要功能包括:
3.1.1用户(前台)功能
1)注册功能:注册、登录、退出、个人管理
2)图书选购:浏览图书、购物车的管理
3)订单的管理:查看订单、修改订单、撤销订单
3.1.2管理员(后台)功能
1)登录和注销功能
2)用户管理:删除用户、查询用户
3)图书管理:添加图书、删除图书、修改图书、查询图书
4)订单管理:查询订单、确认订单、删除订单
5)分类管理:添加图书分类、修改图书分类、删除图书分类等。
数据流程分析
图
业务流程分析
顾客浏览网页,查看书籍信息,选择要购买的书籍。
点击购买,如果没有登录,系统提示先登录,若是新用户需要注册后再登录。
登录之后就可以进行购买。
图
用例图分析
3.4.1管理者用例
1)登录:管理员登录。
图管理者登录用例图
2)订单管理:包括对订单的增加删除以及查询订单功能。
图管理者对订单管理用例图
3)图书管理:对图书的查询(通过年份、书名、作者查询)、删除、添加以及对图书的修改。
图表管理者对图书管理用例图
4)用户管理:对用户的查询,删除用户。
图表管理者对用户管理用例图
3.4.2客户用例图
1)登录:用户登录。
图表客户登录用例图
2)订单管理:让用户可以对自己订单进行查看、撤销、订单的查询、订单的日期查询、修改订单等等
图客户对订单管理用例图
3)图书选购:通过输入图书的信息,当需要购买时创建购物车,通过购物车来进行对图书进行浏览、删除以及订单的生成和数量的修改等等。
图客户图书选购用例图
4)注册:用户的注册。
图客户注册用例图
数据字典
(1)图书基本信息=编号+书名+作者+装帧+出版日期+积分+详细介绍+目录+用户评级分数+市场价+会员价+推荐+订购次数+查看次数+折扣+小类ID+大类ID+缩略图+添加日期+评级次数+VIP价格+出版社+ISBN+页数+开本+版次+简介
(2)评论信息=编号+对应产品编号+标题+日期时间+评论内容+是否通过审核
(3)大类分类信息=编号+大类名+是否在首页显示+顺序
(4)小类分类信息=编号+小类名+是否在首页显示+顺序+对应大类编号(5)管理员=编号+用户名+密码+权限
(6)用户信息=编号+用户名+e-mail+密码+身份证号+手机+QQ+注册日期+密码提示+密码答案+登录次数+最后一次登录时间+收货人姓名+城市+地址+邮编+电话+送货方式编号+汇款方式编号+性别+姓名+是否VIP用户+系统广播+用户积分
(7)汇款/送货信息=编号+送货/汇款方式名+价钱+送货/汇款方式编号
(8)订单表信息=编号+订单用户名+日期+产品编号+产品订购数量+订单编号+收货人+收货地址+邮编+留言信息+汇款方式编号+送货方式编号+性别+总金额+姓名+E-mail+电话+用户ID
第四章概要设计
模块设计
4.1.1前台功能分模块设计
1)用户浏览:查看所有的书籍信息,可以分类查看,选择要购买的书籍。
2)用户登录:输入用户名、密码登录,然后才能购买书籍。
3)用户注册:新用户需要注册之后才能登录购买书籍。
图前台功能模块
4.1.2后台功能分模块设计
1)商品管理:添加新书、管理书籍、订单管理和评论管理;
2)分类管理:大类管理和小类管理;
3)用户管理:客户管理、用户管理、送货/汇款方式;
4)注销退出:退出后台管理系统
图后台功能模块
网上书城的总体层次图如下:
图总体层次图
系统功能结构设计
系统功能结构设计的主要任务就是根据系统的总体目标和功能,将整个系统合理地划分成若干个功能模块,正确处理模块之间的调用关系和数据关系,并根据评价标准对模块结构进行优化。
4.2.1系统结构设计的原则
(1)子系统要有相对的独立行
(2)子系统划分的结果应使数据冗余较小
(3)子系统的设置应考虑管理发展的需要
(4)子系统的划分应便于系统分阶段实现
(5)子系统的划分应考虑到各类资源的充分利用4.2.2系统安全性设计
(1)系统环境安全设计
(2)数据安全设计
(3)运行于维护的管理规范
(4)审计与跟踪
4.2.3系统的保密性设计
(1)利用系统环境提供的管理软件
(2)有选择的隔离和限制对资源的使用
(3)对一般用户采用伪藏措施
(4)制定系统保密管理的规章制度
(5)逻辑访问控制
(6)用户标识与认证
数据库设计
4.3.1 数据库概念结构设计
(1)图书信息的E-R图
图图书信息的E-R图(2)评论信息的E-R图
图评论信息的E-R图(3)大类分类信息的E-R图
图大类分类信息的E-R图
(4)小类分类信息的E-R图
图小类分类信息的E-R图
(5)管理员信息的E-R图
图管理员信息的E-R图
(6)用户信息的E-R图
(7)汇款/送货信息的E-R图
(8)订单表信息的E-R图
4.3.2 数据库逻辑结构设计
(1)图书基本信息表(编号,书名,作者,装帧,出版日期,积分,详细介绍,目录,用户评级分数,市场价,会员价,推荐,订购次数,查看次数,折扣,小类ID,大类ID,缩略图,添加日期,评级次数,VIP价格,出版社,ISBN,页数,开本,版次,简介)
(2)评论信息表(编号,对应产品编号,标题,日期时间,评论内容,是否通过审核)
(3)大类分类信息表(编号,大类名,是否在首页显示,顺序)
(4)小类分类信息表(编号,小类名,是否在首页显示,顺序,对应大类编号)
(5)管理员信息表(编号,用户名,密码,权限)
(6)用户信息表编号(编号,用户名,e-mail,密码,身份证号,手机,QQ,注册日期,密码提示,密码答案,登录次数,最后一次登录时间,收货人姓名,城市,地址,邮编,电话,送货方式编号,汇款方式编号,性别,姓名,是否VIP用户,系统广播,用户积分)
(7)汇款/送货信息表(编号,送货/汇款方式名,价钱,送货/汇款方式编号)
(8)订单表信息表(编号,订单用户名,日期,产品编号,产品订购数量,订单编号,收货人,收货地址,邮编,留言信息,汇款方式编号,送货方式编号,性别,总金额,姓名,E-mail,电话,用户ID)
4.3.3 数据库物理结构设计
(1)管理员信息表的实现:
(2)大类分类信息表的实现:
(3)小类分类信息表的实现:
(4)汇款/送货方式表的实现:
(5)订单信息表的实现:
(6)图书信息表的实现:
(7)评论信息表的实现:
(8)用户信息表的实现:
第五章详细设计
前台功能分模块详细设计
流程图如下:
图
后台功能分模块详细设计
流程图如下:
图
第六章心得体会
本次软件工程课程设计我们小组选择的课题是“网上书店”,在不到一周的时间里,我们小组成员从无从下手毫无思路到后来反复翻阅课本,按照《软件工程导论》所学的知识从可行性研究开始一步步地完成了开发“网上书店”管理系统所必要的软件工程学方法设计内容。
万事开头难,虽然课题说明上只有简单的四条要求,这让之前没有接触过软件工程学设计的我们一头雾水不知该如何下笔,最后只有回归课本,按照软件导论课上老师所讲过的方法进行分析研究。
小组成员通过体验现有的网上书城是如何在前台实现顾客注册登录、购书等一系列行为操作的。
并结合实际情况设计后台管理模块。
遗憾的是,由于我们水平有限,我们小组只研究到详细设计环节,没能编码做出网上书店成品来。
致使后面的软件测试和维护也就只好不了了之。
课程设计是快乐和痛苦并存的过程,小组成员起初总是为了概念的问题而产生分歧,为了某个模块具体的操作流程而捉襟见肘,暴露出知识上的不
足。
我们也会因为些许的进展而高兴,因为解决了一个简单的但是困扰多时的阻碍点而兴奋。
克服困难、获得知识是让人快乐的,它所产生的快乐也让当初的痛苦更有价值。
在课设过程中,我们收获的不仅是这单纯的快乐,还深深的体会到团队精神的重要性,一个人的知识是有限的,但是一个团队可以取长补短,互相学习。
每个人都有自己的长处,合理的分工和默契的配合让我们在磨合中成长,我们的课题进度也在一次次针锋相对的讨论中稳步向前。
团队合作永远比单枪匹马的重逢更高效更容易成功。
不懂得坚持的人不会体验到最后成功时刻的甜蜜,当面对课题一筹莫展的时候我们想到了放弃,当辛苦半天一无所获得时候我们想到了放弃,但最终这也只是一时的念头,我们互相鼓励互相支持坚持到最后。
要是当初一遇到困难我们就选择逃跑的话,我们终将一事无成一败涂地。
更重要的是,课程设计提高了我们的动手实践能力。
以前对于课本上的内容只是机械的记忆并不能完全真正理解。
学到最后也没有明白软件工程的重要性,背过的东西考完也就全忘光了。
通过这短短的一周课设,我们相当于把软件工程导论从头到尾彻底重新学习了一遍,并且把每一个知识点都实际演练过。
对各环节之间循序渐进的关系也有了较为深刻的认识。
以前总是异想天开的认为开发软件只要写好代码就万事大吉了,现在才明白软件工程方法学的重要性,没有科学的运用软件工程方法学,所写的代码可能会杂乱冗长,质量不高。
编好的软件错误不断,运行维护成本高昂,不能满足用户需求成为没有实际意义的废品。
第一次感知到了,原来需求分析,前期设计都是那么重要,第一次感觉到了,原来一个程序的灵魂不一定是算法和数据结构。
最关键的是前期的需求,加之对于需求的分析。
程序只是一种实现方式,是决定易用性和友好性的关键,但符不符合客户的需求,才是一个工程最核心,最关键,也是最基础的部分。
最后要感谢老师和同学们的悉心指导和帮助,谢谢!
第七章参考资料
[1] 张海藩,软件工程导论(第五版),清华大学出版社,2007。