网上书店设计实验报告书
网上书店设计与使用-实验报告

网上书店设计与使用-实验报告-CAL-FENGHAI.-(YICAI)-Company One1实验报告题目:网上书店专业软件工程学生姓名班级学号指导教师指导单位日期 2010-6-8网上书店一、课题内容和要求内容:创建一个网上书店平台。
实现网上书店的基本功能,例如:用户用可查看可购买的书。
用户可查看书的具体信息。
在此基础上可以增加相应功能。
要求:利用J2EE编程开发。
可以在实现基本功能的基础上增加其他功能。
界面良好。
用户可以通过互联网与浏览器访问网上书店平台。
二、需求分析用户:1、用户可以注册会员,利用已经注册的用户名来登录相关界面。
2、用户可以登记自己的相关性信息,并且可以查看、更改自己的相关信息。
3、用户根据已经注册的用户名来登录系统。
用户可以查看所有物品的信息。
4、用户可以将想要购买的物品加入购物车,对已经加入购物车的物品,用户可以查看其相关信息,并且可以删除已经加入的物品。
5、对于购物车功能,可以增加新书、修改数量、删除已选书籍等,确认后,完成交易;6、用户可以根据作者的姓名、书名、书号来检索书籍。
7、用户可以查看当前订单和以往订单的相关信息。
8、客户可以通过信息反馈系统跟书店员工进行交流。
管理员:1、管理员可以删除、更改用户信息。
2、管理员可以删除、更改订单信息,可以输入订单的发货日期。
3、管理员可以删除、更改所有商品信息。
其他需求:系统应该具有一定的安全性和可靠性。
数据库支持大量数据的使用。
三、概要设计体系结构设计:用户使用流程:用户应用系统模块设计:管理员应用模块:四、源程序代码Base:/** 供JSON-RPC组件远程调用的AjaxBean */public class AjaxBean extends BaseLog {/**取得商品分类列表*/public String[][] getCategory(){String[][] options = null;MerService service = new MerServiceImpl();try{List list = service.browseCategory();Category cate = null;int i = 0;if (list!=null){options = new String[list.size()][2];Iterator it = list.iterator();while(it.hasNext()){cate = (Category)it.next();options[i][0] =cate.getId().toString();options[i][1]=cate.getCateName().trim();i++;}}else{options = new String[1][2];options[0][0] ="0";options[0][1] ="无商品分类";}}catch(Exception ex){("在执行AjaxBean类中的getCategory方法时出错:\n");ex.printStackTrace();}return options;}/**取得会员级别*/public String[][] getMemberLevel(){String[][] options = null;MemService service = new MemServiceImpl();try{List list = service.browseMemberLevel();Memberlevel ml = null;int i = 0;if (list!=null){options = new String[list.size()][2];Iterator it = list.iterator();while(it.hasNext()){ml = (Memberlevel)it.next();options[i][0] =ml.getId().toString();options[i][1] =ml.getLevelName().trim();i++;}}else{options = new String[1][2];options[0][0] ="0";options[0][1] ="无会员级别";}}catch(Exception ex){("在执行AjaxBean类中的getMemberLevel方法时出错:\n");ex.printStackTrace();}return options;}/**注册登录帐号有效性验证*/public boolean chkLoginName(String loginName){MemService service = new MemServiceImpl();boolean result = false;try{result = service.chkLoginName(loginName);}catch(Exception ex){("在执行AjaxBean类中的chkLoginName方法时出错:\n");ex.printStackTrace();}return result;}/**修改选购商品数量*/public boolean modiCart(int id,int number){CartService service = new CartServiceImpl();boolean result = false;try{result = service.modiCart(Integer.valueOf(id), number);}catch(Exception ex){("在执行AjaxBean类中的modiCart方法时出错:\n");ex.printStackTrace();}return result;}/**调整会员级别*/public boolean updateLevel(Integer id,Integer levelId){MemService service = new MemServiceImpl();boolean result = false;try{Member member = service.loadMember(id);Memberlevel level =service.loadMemberLevel(levelId);member.setMemberlevel(level);service.updateMember(member);result = true;}catch(Exception ex){("在执行AjaxBean类中的updateLevel方法时出错:\n");ex.printStackTrace();}return result;} }ORM:Mysessionfactory:public class MySessionFactory {private static String CONFIG_FILE_LOCATION = "/hibernate.cfg.xml";private static final ThreadLocal threadLocal = newThreadLocal();private static Configuration configuration = new Configuration(); private static org.hibernate.SessionFactory sessionFactory;private static String configFile = CONFIG_FILE_LOCATION;static {try {configuration.configure(configFile);sessionFactory =configuration.buildSessionFactory();} catch (Exception e) {System.err.println("%%%% Error Creating SessionFactory %%%%");e.printStackTrace();}}private MySessionFactory() {}public static Session getSession() throws HibernateException {Session session = (Session) threadLocal.get();if (session == null || !session.isOpen()) {if (sessionFactory == null) {rebuildSessionFactory();}session = (sessionFactory != null) sessionFactory.openSession(): null;threadLocal.set(session);}return session;}/**Rebuild hibernate session factory*/public static void rebuildSessionFactory() {try {configuration.configure(configFile);sessionFactory =configuration.buildSessionFactory();} catch (Exception e) {System.err.println("%%%% Error Creating SessionFactory %%%%");e.printStackTrace();}}/*Close the single hibernate session instance.*/public static void closeSession() throws HibernateException {Session session = (Session) threadLocal.get();threadLocal.set(null);if (session != null) {session.close();}}/*return session factory*/public static org.hibernate.SessionFactory getSessionFactory() {return sessionFactory;}/*return session factory session factory will be rebuilded in the next call*/public static void setConfigFile(String configFile) {MySessionFactory.configFile = configFile;sessionFactory = null;}/*return hibernate configuration*/public static Configuration getConfiguration() {return configuration;}}SERVICE:AdminServiceImpl:/** 系统用户管理接口实现 */public class AdminServiceImpl extends BaseLog implements AdminService {/** 系统管理员登录 */public Admin adminLogin(String loginName, String loginPwd) throws Exception {Session session = MySessionFactory.getSession();Transaction tx = null;Admin admin = null;try{String hql = "select a from Admin as a wherea.loginName=:loginName and a.loginPwd=:loginPwd";Query query = session.createQuery(hql);query.setString("loginName", loginName);query.setString("loginPwd", loginPwd);query.setMaxResults(1);tx = session.beginTransaction();admin = (Admin)query.uniqueResult();mit();}catch(Exception ex){if(tx!=null)tx.rollback();("在执行AdminServiceImpl类中的adminLogin方法时出错:\n");ex.printStackTrace();}finally{MySessionFactory.closeSession();}return admin;}/** 新增管理员 */public boolean addAdmin(Admin admin) throws Exception {Session session = MySessionFactory.getSession();Transaction tx = null;boolean status = false;try{tx = session.beginTransaction();session.save(admin);mit();status = true;}catch(Exception ex){if(tx!=null)tx.rollback();("在执行AdminServiceImpl类中的addAdmin 方法时出错:\n");ex.printStackTrace();}finally{MySessionFactory.closeSession();}return status;}/** 浏览管理员 */public List browseAdmin() throws Exception {Session session = MySessionFactory.getSession();Transaction tx = null;List list = null;try{Query query = session.createQuery("from Admin as a order by a.id");tx = session.beginTransaction();list = query.list();mit();if(!Hibernate.isInitialized(list))Hibernate.initialize(list);}catch(Exception ex){if(tx!=null)tx.rollback();("在执行AdminServiceImpl类中的browseAdmin方法时出错:\n");ex.printStackTrace();}finally{MySessionFactory.closeSession();}return list;}/** 删除指定的管理员 */public boolean delAdmin(Integer id) throws Exception {Session session = MySessionFactory.getSession();Transaction tx = null;boolean status = false;try{tx = session.beginTransaction();Admin admin = (Admin)session.load(Admin.class, id);session.delete(admin);mit();status = true;}catch(Exception ex){if(tx!=null)tx.rollback();("在执行AdminServiceImpl类中的delAdmin 方法时出错:\n");ex.printStackTrace();}finally{MySessionFactory.closeSession();}return status;}/** 装载指定的管理员 */public Admin loadAdmin(Integer id) throws Exception {Session session = MySessionFactory.getSession();Transaction tx = null;Admin admin = null;try{tx = session.beginTransaction();admin = (Admin)session.get(Admin.class, id);mit();}catch(Exception ex){if(tx!=null)tx.rollback();("在执行AdminServiceImpl类中的loadAdmin方法时出错:\n");ex.printStackTrace();}finally{MySessionFactory.closeSession();}return admin;}CartServiceImpl:public class CartServiceImpl extends BaseLog implements CartService {/** 选购商品 */ public boolean addCart(Member member,Merchandise mer, int number)throws Exception {Session session = MySessionFactory.getSession();Transaction tx = null;boolean status = false;try{Cartselectedmer sel = null;int favourable = member.getMemberlevel().getFavourable().intValue();//判断该会员是否已经有使用中的购物车String hql ="from Cart as a where a.member=:member and a.cartStatus=0";Query query = session.createQuery(hql);query.setEntity("member", member);query.setMaxResults(1);tx = session.beginTransaction();Cart cart = (Cart)query.uniqueResult();if (cart==null){cart = new Cart();cart.setCartStatus(new Integer(0));cart.setMember(member);cart.setMoney(Double.valueOf(number*mer.getPrice().doubleValue()) ); cart.getMerchandises().add(mer);session.save(cart);}else{//如果选购的是已经选购过的商品则只增加商品数量即可hql = "select a from Cartselectedmer as a where a.cart=:cartid and a.merchandise=:merid order by a.id desc";query = session.createQuery(hql);query.setInteger("cartid",cart.getId().intValue());query.setInteger("merid",mer.getId().intValue());query.setMaxResults(1);sel = (Cartselectedmer)query.uniqueResult();int total = number;System.out.println((total*mer.getPrice().doubleValue()*favourable /100)); if(sel!=null){total = number+sel.getNumber().intValue();sel.setNumber(Integer.valueOf(total));if (mer.getSpecial().intValue()==1){//特价商品sel.setPrice(mer.getSprice());sel.setMoney(Double.valueOf(total*mer.getSprice().doubleValue());}else{//普通商品sel.setPrice(Double.valueOf(mer.getPrice().doubleValue()*favour able/100));sel.setMoney(Double.valueOf(total*mer.getPrice().doubleValue()*fa vourable/100)); }session.update(sel);}else{cart.getMerchandises().add(mer);}if(mer.getSpecial().intVal ue()==1){cart.setMoney(Double.valueOf(cart.getMoney().doubleValue()+number*mer.getSprice().doubleValue()));}else{//普通商品cart.setMoney(Double.valueOf(cart.getMoney().doubleValue()+numb er*mer.getPrice().doubleValue()*favourable/100));}session.update(cart);}mit();//如果是尚未选购过的则要修改选购记录的有关字段if(sel==null){tx = session.beginTransaction();hql = "select a from Cartselectedmer as a where a.cart=:cartid and a.merchandise=:merid order by a.id desc";query = session.createQuery(hql);query.setInteger("cartid",cart.getId().intValue());query.setInteger("merid",mer.getId().intValue());query.setMaxResults(1);sel = (Cartselectedmer)query.uniqueResult();if(sel!=null){sel.setNumber(Integer.valueOf(number));if (mer.getSpecial().intValue()==1){//特价商品sel.setPrice(mer.getSprice());sel.setMoney(Double.valueOf(number*mer.getSprice().doubleValue()) );}else{//普通商品sel.setPrice(Double.valueOf(mer.getPrice().doubleValue()*favour able/100));sel.setMoney(Double.valueOf(number*mer.getPrice().doubleValue()*f avourable/100));} session.update(sel);}mit();}status = true;}catch(Exception ex){if(tx!=null)tx.rollback();("在执行CartServiceImpl类中的addCart方法时出错:\n");ex.printStackTrace();}finally{MySessionFactory.closeSession();}return status;} }五、测试数据及其结果分析注册界面:错误提示:登陆后界面:物品展示:修改用户信息界面:(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)六、调试过程中的问题在系统设计阶段,要考虑很多的问题。
网上书店系统分析设计报告

网上书店系统分析设计报告
一、引言
随着互联网的快速发展,网上购物已经成为人们日常生活中不
可或缺的一部分。
在这种背景下,网上书店系统应运而生。
网上书
店系统为用户提供了一个方便快捷的购书平台,使用户可以随时随
地浏览和购买各种图书。
本报告将对网上书店系统进行分析和设计,以确保其功能和性能的优化。
二、系统分析
1. 系统需求分析
(1)功能需求:用户注册与登录、图书浏览与搜索、购物车管理、订单管理、用户评价与推荐等。
(2)性能需求:系统应具备高并发能力、响应时间快、稳定性强等。
(3)安全需求:用户数据要保密,支付过程要安全可靠。
2. 系统结构分析
网上书店系统可以分为前端和后端两个主要部分。
(1)前端:包括用户界面和用户交互,用户可以在前端进行注册、登录、搜索图书、加入购物车和下订单等操作。
(2)后端:包括数据管理和业务逻辑处理,包括用户数据管理、图书数据管理、订单数据管理、支付处理等。
3. 数据库设计
(1)用户数据表:包括用户ID、用户名、密码、手机号、邮
箱地址等信息。
(2)图书数据表:包括图书ID、图书名称、图书作者、图书
价格、库存数量等信息。
(3)订单数据表:包括订单ID、用户ID、下单时间、订单状
态等信息。
三、系统设计
1. 前端设计
前端设计应注重用户友好性和可用性,包括以下关键设计要素:。
网上书店实验报告

《》课程设计报告(2015——2016年度第二学期)题目网上书香姓名范美宏学号1443205000228 专业软件工程班级2014级F班二〇一六年六月二七日《软件测试方法和技术》课程设计成绩评定指导教师:陈瑞摘要:随着Internet技术的发展,人们的日常生活已经离不开网络。
未来社会人们的生活和工作将越来越依赖于数字技术的发展,越来越数字化、网络化、电子化、虚拟化。
Internet的发展历程以及目前的应用状况和发展趋势,可以充分地相信网络技术将极大的改变我们的生活和工作方式,甚至社会的价值观也会发生某种变化。
本设计尝试用在网络上架构一个网上书店,以使每一位顾客不用出门在家里就能够通过上网来轻松购书。
本文从理论和实践两个角度出发,对一个具有数据挖掘功能网上书店进行设计与实现分析。
论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:面向对象的分析设计流程;系统中所用到的开发技术以及的特点、结构框架以及使用方法。
接着对书店系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。
最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。
本网上书店系统是在Visual 平台上运用技术来实现的。
其主要功能有:用户管理,新书上架,分类查找,图书检索,图书收藏夹,购买流程,销售排行,图书评论,网站管理等。
论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。
关键词:面向对象分析与设计,,一、课程设计的目的与要求通过软件开发的实践训练,进一步掌握软件工程的方法和技术,提高软件开发的实际能力,培养工程设计能力和综合分析、解决问题的能力。
具体如下:1.学习和实践在分析和设计计算机应用系统所需要的知识,包括面向对象的系统分析与设计,编码和测试方面的知识;2.熟悉自动化的软件开发工具Rational Rose 2003,并将其运用于软件开发的全过程;3.进一步加强和提高软件工程文档的编写能力;4.培养协作能力和团队精神。
网上书店课程设计报告

网上书店课程设计报告一、课程目标知识目标:1. 让学生理解并掌握网上书店的基本概念、功能与操作流程。
2. 使学生了解电子商务的基本原理,以及其在网上书店中的应用。
3. 帮助学生掌握网络购物的安全知识,提高网络安全意识。
技能目标:1. 培养学生运用网络技术进行购物、比价、评价等操作的能力。
2. 提高学生运用电子商务平台进行信息检索、筛选和整理的能力。
3. 培养学生分析、评价网络购物中潜在风险的能力。
情感态度价值观目标:1. 培养学生热爱科学、积极探索网络技术的兴趣和热情。
2. 增强学生的网络安全意识,树立正确的网络道德观念。
3. 培养学生合作、分享、尊重他人意见的良好品质。
课程性质分析:本课程为信息技术课程,旨在帮助学生了解并掌握网上书店的相关知识,提高学生的网络素养。
学生特点分析:六年级学生具备一定的计算机操作能力和网络知识,对新事物充满好奇,但网络安全意识相对薄弱。
教学要求:1. 结合课本内容,注重理论与实践相结合,提高学生的实际操作能力。
2. 关注学生个体差异,因材施教,确保每个学生都能掌握课程内容。
3. 创设情境,激发学生的学习兴趣,培养学生主动探索、合作学习的良好习惯。
二、教学内容依据课程目标,本章节教学内容主要包括以下三个方面:1. 网上书店基本概念与功能- 了解网上书店的定义、发展历程及其与传统书店的区别。
- 学习网上书店的主要功能,如搜索、分类、购物车、订单管理等。
2. 电子商务原理与应用- 掌握电子商务的基本概念、类型及其在网上书店中的应用。
- 学习网上支付、物流配送、客户服务等电子商务相关知识。
3. 网络购物安全与道德- 认识网络安全的重要性,学习防范网络诈骗、保护个人信息的方法。
- 培养正确的网络道德观念,尊重知识产权,遵循网络购物规范。
教学大纲安排如下:第一课时:网上书店基本概念与功能第二课时:电子商务原理与应用第三课时:网络购物安全与道德教学进度:第一周:完成第一、二课时的学习,进行网上书店实际操作练习。
网上书店系统实训报告

课程实训报告书课程名称:电子商务网站建设姓名:唐玲学号:0 3专业班级:电商S09-2 系(院):经济管理系设计时间:第14周设计地点:5408目录一实训目的 (3)二实训题目及要求 (3)2.1 设计要求: (3)2.2 应用程序界面设计 (3)2.21 登录和密码验证系统 (3)2.22 商品信息维护系统 (3)2.23 集成的购物车系统 (4)三需求分析与可行性分析 (4)3.1需求分析 (4)3.12网上购书的优势 (4)1.2 可行性分析 (4)四整体图示 (5)4.1 网站拓补结构图 (5)4.2整体操作流程图 (6)4.3功能模块描述 (6)4.31销售模块 (6)4.32会员操作模块 (7)4.33 后台操作模块 (7)五实训步骤 (8)5.1数据库设计 (8)5.2 用户登录 (9)5.3 添加书籍 (11)5.4 查看商品 (12)5.5 购买商品 (13)六实训心得 (16)3一实训目的网上书店又名电子书店、线上书店和虚拟书店,其内涵都一样,都是利用信息技术、数字技术、虚拟技术和网络技术在因特网上进行图书贸易的一种新型书店,是图书出版发行的另一个新型市场。
二实训题目及要求实训题目:设计一个网上书店系统,功能模块包括:登录和密码验证系统,商品信息维护系统和集成的购物车系统。
2.1 设计要求:数据库设计:account表包括username、password、authlevel和name4个字段;shopingcart表包括username、productID和quantity;catalog表包括productID、name、description、image、listprice、numinstock和category;orde表包括orderID、username、productID、listprice、quantity和orderdate。
2.2 应用程序界面设计2.21 登录和密码验证系统1 系统功能与组成2 数据库设计3 实现用户登录功能4 实现新用户注册功能5 实现密码修改功能2.22 商品信息维护系统1 实现商品信息输入功能2 实现商品信息修改功能3 实现商品信息查询功能2.23 集成的购物车系统1 实现商品搜索功能2 实现专门的放入购物车功能3 完善购物车系统4 实现下订单功能三需求分析与可行性分析3.1需求分析3.12网上购书的优势(1)网上书店挤压盗版空间(2)网上书店浓缩了图书的库存空间(3)数量、种类多,出版时间跨度大(4)不受时间、地域限制(5)信息丰富(6)多途径综合检索(7)价格低廉(8)个性服务1.2 可行性分析随着计算机技术的发展和网络人口的增加,网络世界也越来越广博,越来越丰富,电子商务已经成为网上的一股潮流。
网上书店实验报告

实验四软件概要设计实验目的和任务目的:完成系统的体系结构的建立和概要设计,并给出相应的规格说明书。
任务:认真分析实验三的结果,给出系统合理的体系结构,描绘系统结构图,并合理划分系统的各组成模块,最后给出系统的各部分设计规格说明书。
预习内容参考资料和阅读相关的国家有关软件开发的标准文档。
实验内容及要求功能结构图设计,软件处理流程设计,输出设计,存储文件格式设计(数据库结构设计),输入设计。
实验结果1功能结构图本软件具有如下主要功能:●图书管理数据添加数据删除数据修改●会员管理会员注册会员查询图书查询●查询管理条件查询模糊查询●购物车管理图书添加图书查询图书修改●订单管理订单查询订单修改功能描述●身份验证功能对登录用户的身份进行验证,通过者才可以进入系统;●条件查询功能(1)如按书名、名号、作者、出版社等(2)模糊查询●数据添加功能增加一条新记录●数据删除功能删除一条记录,并且提供确认机制。
●数据修改功能修改任意一条记录的所有域,其中书名不能为空●用户管理功能添加用户功能删除用户功能修改用户功能2处理流程系统启动后,进入主界面,然后通过身份验证进入系统里,根据系统配置文件将数据库导入,并设置各全局变量;由退出系统事件激活退出系统模块,退出系统;系统总体结构如图s3.1所示。
图s3.1 系统总体结构和模块外部设计功能分配系统控制功能初始化模块(M1)会员验证模块(M2)游客模块(M3)管理员验证模块(M4)图书查询(M21)购物车(M22)订单(M23)退出(M24)会员管理(M41)图书管理(M42)订单管理(M43)退出(M44)(1)图书查询功能条件查询模块(M211)模糊查询模块(M212)(2)购物车功能添加图书模块(M221)查询图书模块(M222)修改图书模块(M223)(3)订单功能订单查询模块(M231)订单修改模块(M232)(4)会员管理会员登陆模块(M411)会员注册模块(M412)会员注销模块(M413)(5)图书管理图书添加模块(M421)图书删除模块(M422)图书修改模块(M423)(6)订单管理执行订单模块(M431)查看订单模块(M432)3数据结构设计逻辑结构设计(1) 全局变量<1>记录总数RecordTotal: Int<2>浏览顺序数组Browse: INt Browse[max]<3>焦点记录FocusRecord: Int<4>表From: Action=”.link.jsp” method=”post”<5>内存记录缓冲区RecordBuffer: NameAdd RecordBufferNameAdd=: [max]Struct{ INt Index;Char Name[20];Char Company[80];Char Telnump[40];}NameAdd;(2)文件名adminlist.aspx 管理员首页addbook.aspx 添加图书信息bookdetail.spx 图书详情Booklist.aspx 管理员图书列表Cartok.aspx 填写购物车客户信息Headad.aspx 管理员登录首页头部Index.aspx 主页面Login.aspx 用户登录页面Morebookin.aspx 更多图书页面Reg.aspx 用户注册页面Tail.aspx 首页底部页面Updatesearchbook.aspx 修改查询图书(管理员)Userlist.aspx 用户信息列表(3)数据库Name-CarD Tabel 定义思考题1系统设计与需求分析的关系是什么?两者必须前后关联吗?2怎样描绘系统的体系结构?3怎样绘制符合规范的流成图?1在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。
UML实验报告-网上书店

本科实验报告课程名称:系统分析与设计实验项目:《网上书店系统》实验实验地点:逸夫楼402专业班级:学号:学生姓名:指导教师:**2013年10月21、28日2013年11月4、11日目录1.实验准备:熟悉UML建模环境2.实验一用例图3.实验二类图4.实验三顺序图及通信图5.实验四活动图、状态图、组件图及部署图实验一用例图一、实验目的初步掌握UML用例图的创建方法及其用例的描述。
二、实验要求1.结合工具StartUML,熟悉UML用例图的模型元素。
2.使用StartUML工具建模网上书店系统的用例图。
三、实验主要设备:HP6460b四、实验内容:根据下面给出的网上书店问题陈述,分析该系统总体需求,建模网上书店系统的用例图并提供一个主要用例的事件流文档。
网上书店陈述:书店经理:我们原本是一个传统的实体书店,顾客要买书都是亲自到书店里来的,这样挺不方便。
面且随着书店销售图书种类和数量的增加以及顾客的增长,尤其是大量顾客到书店选购图书,使得书店场地不足,工作人员也很忙碌。
其实,还有一点就是,有不少人进入书店后并不买书,只是查找一些资料。
有的甚至会在这呆上很长的时间直到把书免费看完。
这种行为,工作人员一般是不阻止的,结果最后这些被看过的书会因为有阅读过的痕迹而影响销售。
而且现在电子商务已经发展起来了,所以我们想到借助网络,让顾客通过网上书店购买图书。
这样我们书店可以省掉大量的场地维护和工作人员成本支出,同时计算机可以方便的检索图书信息,让顾客可以足不出户以更优惠的价格买到需要的书。
系统分析员:能谈谈您对网上书店的要求吗?书店经理:网上书店要能实现对外和对内的功能,对外是顾客能在网上书店订购图书,提交订单。
对内,书店工作人员能够通过网上书店及时的看到这些订单,并进行处理。
为了把书送到顾客手里,我们已经联系了快递公司,初步达成协议,由他们往返场客和书店之间把图书送到顾客手里。
书店管理员受理订单后,就会通知快递公司送货。
网络书城系统实验报告(3篇)

第1篇一、实验目的本次实验旨在通过设计与实现一个网络书城系统,掌握以下技能:1. 理解电子商务网站的基本架构和功能模块。
2. 掌握使用Java编程语言进行Web开发。
3. 熟悉SSM(Spring、SpringMVC、MyBatis)框架在Web开发中的应用。
4. 学习使用MySQL数据库进行数据存储和管理。
5. 提高团队协作能力和项目管理能力。
二、实验环境1. 开发工具:IntelliJ IDEA/Eclipse2. 服务器:Tomcat 9.03. 数据库:MySQL 5.74. 版本控制:Git三、系统需求分析网络书城系统主要面向广大读者,提供图书浏览、购买、评论、搜索等功能。
系统分为前台和后台两个部分。
前台功能模块:1. 首页:展示最新图书、热销图书、新品推荐等信息。
2. 商品分类:按图书类别展示图书信息。
3. 图书详情:展示图书详细信息,包括封面、简介、价格、评论等。
4. 购物车:用户可以将图书添加到购物车,进行结算。
5. 订单管理:用户可以查看订单状态、取消订单、申请退款等。
6. 个人中心:用户可以查看个人信息、修改密码、查看历史订单等。
7. 搜索:用户可以通过关键词搜索图书。
后台功能模块:1. 管理员登录:管理员登录系统进行管理。
2. 商品管理:管理员可以添加、修改、删除图书信息。
3. 订单管理:管理员可以查看、处理订单,包括发货、取消、退款等。
4. 用户管理:管理员可以查看、修改、删除用户信息。
5. 评论管理:管理员可以查看、删除用户评论。
四、系统设计1. 技术选型:采用SSM框架进行开发,数据库使用MySQL。
2. 系统架构:采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用Java编程语言。
3. 数据库设计:根据系统需求,设计图书、用户、订单、评论等数据表。
4. 功能模块设计:根据需求分析,将系统划分为多个功能模块,如首页模块、商品模块、购物车模块等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息学院软件工程课程设计-----小组报告2011年12月20科技大学课程设计题目:科大网上书店学院:信息科学与工程学院班级:计算机09-1班组长:春生同组其他成员:王东升恒德新课程教师:红梅实验指导教师:红梅实验地点:信息学院软件实验室完成起止日期:2011年9月27----2011年12月20日[正文]目录第一章:课程设计概述1-1 实验目的1-2 实验容概述1-3 实验要求1-4 参考文献第二章:系统设计模型2-1 需求分析2-2 系统总体设计2-2-1 功能结构2-2-2 架构设计2-2-3 运行环境2-3 数据流图2-3-1 前台用户数据流图2-3-2 后台管理员数据流图2-4 系统E—R图2-4-1 系统总E-R图2-4-2 系统管理员实体图2-4-3 商品信息实体图2-4-4 用户信息实体图2-4-5 订单信息实体图第三章:实现项目的过程与步骤3-1系统数据库的设计3-2 系统数据库表关系图3-3 功能总体说明3-3-1 系统流程图3-3-2 目录结构说明3-4 各功能模块的实现3-4-1 数据库的连接3-4-2 的首页3-4-3 用户注册管理3-4-4 购物车管理3-4-5 图书管理3-4-6 订单管理3-4-7 用户登陆管理3-4-8 系统数据管理第四章:遇到的困难与获得的主要成果第五章:测试运行记录5-1 系统运行环境的搭建5-2 系统的测试5-2-1 系统关键部分测试分析5-2-2 测试结果分析与说明5-2-3 系统安全与性能分析5-3 系统中存在的问题及解决方法第一章系统设计概述1-1实验目的1. 通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。
特别是结构化分析、结构化设计、快速原型开发、面向对象分析与面向对象设计。
2. 为学生适应毕业后团队合作开发规模稍大项目和综合应用本专业所学习的多门课程知识(例如,软件工程、程序设计语言、操作系统、数据库、网络编程等)创造实践机会。
为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等容的学习)、积极探索与大胆创新的机会。
3. 使学生通过参加小组团队的开发实践,了解项目管理、团队合作、文档编写、口头与书面表达的重要性。
4.使每个学生了解软件工具与环境对于项目开发的重要性,并且重点深入掌握好一、两种较新或较流行的软件工具或计算机应用技术、技能(比如,网页设计技术与常见工具;基于Java(ASP、PHP等)技术的Web编程;软件开发文档编制工具Office、Visio、Rose 等;商用数据库Access(或SQL Server、Oracle、MySql等)设计与实现;客户机/服务器结构)。
5. 通过“稍大的”富有挑战性的软件实验项目开发实践,为学生提供主动学习(比如,对Web网页设计、ASP或ASP交互网页技术、Java开发环境、商用数据库应用、电子商务、客户机/服务器技术、Visio与Rose软件工具等容的学习)、深入实践的机会,并且通过课程设计实践中,提高学生的自学能力、书面与口头表达能力、创造能力和与团队其他成员交往和协作开发软件的能力,提高学生今后参与开发稍大规模实际软件项目和探索未知领域的能力和自信心。
1-2实验容概述假设个体书店店主八折委托计算机专业的大学毕业生组成的开发小组(3~6人)为他创建网上书店系统科大网上书店,以便能够扩展书店的客户群、科学管理、提高效益。
该书店以经营英语、计算机书籍为主。
在网上书店建立初期,要求在确保基本功能正常的情况下,尽量简化,并且在2个月完成。
主要提供的基本服务项目有:用户的注册,登录;用户的分级浏览或图书选购;店主对进书、售书、库存、帐目、客户的管理;以及的日常维护。
如果可能,店主还希望利用电子商务突出自己网上书店的特色和提高书店的经营效益。
要求网页能够提供两级图书目录和三层信息(一级目录是图书的基本分类目录;其下是图书的二级目录,它对应于某基本分类之下的书名及其简要信息;当客户点击二级目录中的某本书之后,系统应当显示详细介绍该书的文字与图形信息)。
一般客户可以浏览网上书店容。
欲购书的客户需要注册(提供邮购和管理所必须的有效信息,如、地址、等)取得唯一的用户名成为会员。
会员登录后便可以购书一本或多本。
店主在客户确认网上订书单后的7日收到其足额购书汇款单后的10日根据与客户的约定时间送书到客户手中,同时应收到有客户签名的送书单回执。
店主应该能够对网上书店的进书、售书订单、库存、帐目(比如,日结帐,日销售额与鸁利额、)、客户信息进行查询和管理。
为了便于测试所开发的科大网上书店系统,系统开发小组应该输入各30册以上的英语图书和计算机图书到系统中。
假设网上书店系统运行在Windows 2000平台之上,所选用的数据库是Access或SQL Server;交互网页技术可以采用ASP技术(微软方案)或JSP技术(Java方案)或PHP技术;软件文档的开发和编制可以采用Visio、Rose等工具。
由于大学生开发小组对于所涉及到的学科知识和开发技术与工具并不完全熟悉,因此他们需要边学边干,并且采用原型法进行有效的团队开发。
1-3实验要求要求:学生开发小组对上述客户需求仔细研究、分析,同时参考开发项目4、项目5介绍中有关开发的功能与技术指标,并且在考察同类著名功能和设计特色的基础上,拟定出本小组要开发系统的问题定义与原型基本功能与特色、开发技术与工具、设计初步方案、开发计划与成员分工等文档。
然后再按照本课程设计指导书的各项要求进行设计、开发、测试与文档编制和总结。
项目的分析与设计任务可以采用传的结构化分析与设计方法,也可以采用面向对象要分析与设计方法(如用UML工具Rose)。
1-4参考文献1.《软件工程》作者:钱乐秋清华大学2.《(C#)大学实用教程》作者:郭洪涛电子工业3.《数据库系统项目开发实践》作者:斌科学4..a sp.n et5..a sp to da y.6. 唐耀.C#程序设计实用教程[M].:中国水利水电,2005。
7.庄成三.微软.NET平台软件技术[M].:电子科技大学,2004。
8.方睿.实用网络技术教程[M].:大学,2003。
9.方睿,刁仁宏等.网络数据库原理及应用[M].:大学,2005。
10.超,罗积玉等.软件制造工程[M].:电子科技大学,2005。
11.清汉计算机工作室.ASP开发实例[M].:机械工业,2003。
第二章系统设计模型2-1需求分析通过相关调查发现系统包含两类用户,即管理员和普通用户。
针对这两类用户,系统根据登录时的角色判断,跳转到相应的页面为其提供操作。
网上图书销售系统首先应该方便用户浏览、购买图书,同时需要由系统管理员进行管理和维护,由此分为以下几个方面:(1)书籍管理模块该模块负责管理本系统所有销售书籍信息。
主要功能包括添加、删除、修改以及查找信息,并且包括商品高级查询子模块,该模块将在下面介绍。
只有管理员才具有对书籍信息进行修改的权利,商品管理是网上书店系统的核心,网上书店对书籍价格的调整以及新书的添加等都将在这部分完成。
(2)用户管理模块该模块负责管理所有网上书店的用户信息。
主要功能包括添加、删除、修改以及查找用户信息。
用户将被分为两类:管理员和会员。
会员类型的转换也将在用户管理中实现,管理员可以管理所有用户信息,而会员只能对自己私有的信息进行维护。
(3)销售统计模块为了查看书店的销售业绩,我们必须对所有的书籍的销售情况进行汇总,销售统计模块将完成此项功能,系统可按时间、书籍类型、出版日期等容或任意几项容的组合来对所售书籍情况进行添加,包括销售数量、销售额等。
该统计模块是一个相当完整的模块。
(4)商品查询模块管理模块和销售模块中都提供了书籍查询模块。
在管理模块中,书籍查询是出于维护的目的,也就是说紧接着查询下一个功能就是商品维护功能。
而在销售模块中,书籍查询是出于购买的目的,紧接着查询的下一个功能应是对书籍的购买操作或是个人的购物车添加功能。
对于商品查询我们提供多条件组合查询,包括按时间、书籍类型、出版日期等容或任意几项容的查询,这与统计的方式相当相似。
只是添加结果是一个总体,而查询结果是各项各类的逐条信息。
(5)商品浏览模块为了让会员购买书籍,我们必须先提供让其了解书籍信息,然后做出购买的决定。
在首页我们提供有限的最新商品的销售信息,如果会员需要分类了解书籍信息,系统为每个分类都提供了详细的分类书籍信息提供页,会员可以选择是否购买或者放入购物车以供将来选择参考。
(6)购物车模块电子商务站点的核心就是购物车。
会员可在这个区域建立他们的订单,只要选择各种自己需求的商品,并将它们添加到自己的预购信息栏中即可。
通常,该过程被形象地成为“向车中添加项目”,这就像在超市购物一样。
当然,他随时有权将商品从车中取出,或者将车推往前台结账。
2-2系统总体设计2-2-1功能结构根据以上对本系统结构和功能的概述,网上书店系统主要包括两大模块:一为系统管理模块,二为系统销售模块。
在大模块下又划分出若干小模块,将其各项功能模块划分成相应的程序模块。
画出系统模块的层次方框图,如图3-1。
下图中的各层矩形框代表这个数据的子集,最底层的各个框代表组成这个数据的实际数据元素(不能再分割的元素)。
2-2-2架构设计系统按照三层架构技术设计,按功能可以分为表示层、业务逻辑层和数据访问层。
分层技术提高了系统的灵活性和维护性。
系统的三层架构如图表示层业务逻辑层数据访问层数据库表示层主要表示方式或者Windows 窗体方式,需要访问实体对象的属性值;业务逻辑层主要是对具体的问题的操作,对数据业务逻辑处理;数据访问层主要是对原始数据,包括数据库或者文本文件等存放数据的形式的操作层。
2-2-3 运行环境网络销售系统可以在任何安装有Windows 32位操作系统的PC机上运行,支持Microsoft SQL Server 2005 数据库管理系统和Microsoft .NET Framework SDK v2.0,开发语言为C#2.0,开发平台为Microsoft Visual Studio 2008。
2-3 数据流图数据流图数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。
在数据流图中没有任何的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。