收藏 分销(赏)

宠物商店详细设计说明书--大学毕业设计论文.doc

上传人:快乐****生活 文档编号:2184829 上传时间:2024-05-22 格式:DOC 页数:29 大小:842.50KB 下载积分:10 金币
下载 相关 举报
宠物商店详细设计说明书--大学毕业设计论文.doc_第1页
第1页 / 共29页
宠物商店详细设计说明书--大学毕业设计论文.doc_第2页
第2页 / 共29页


点击查看更多>>
资源描述
宠物商店详细说明书 宠 物 商 店 详 细 设 计 说 明 书 目录 目录 2 i. 引言 4 1.1 编写目的 4 1.2背景 4 1.3项目训练的技能点 4 1.4专业知识 4 1.5整体的开发思路 4 1.6界面交互设计 4 ii. 总体设计 4 2.1需求规定 4 2.1.1项目管理 4 2.2.1项目要求概述: 4 2.2.2其他要求 4 2.3接口 4 2.4基本设计概念和流程 4 2.4.1设计原则 4 2.4.2设计概念 4 iii. 系统功能设计 4 3.1结构 4 3.2类设计 4 3.2.1总体结构 4 3.3 主要功能设计及详细设计 4 3.3.1系统启动 4 3.3.2登录 4 3.3.3宠物主人购买库存宠物 4 3.3.4宠物主人购买新培育宠物 4 3.4主要的类设计 4 3.4.1根据数据库表创建实体类 4 3.4.2创建DAO接口和实现类 4 3.4.3创建业务接口和实现类 4 3.4.4优化业务接口 4 iv. 概念结构设计 4 4.1库表关系图 4 4.1.1 库表描述 4 4.1.2 数据库脚本 4 v. 维护与扩展 4 29 i. 引言 1.1 编写目的 本详细设计说明书是针对项目案例宠物商店编写的. 计算机技术发展日新月异,在各行各业应用越来越广泛。人们越来越多的在网上购物,开发网上宠物购买可以使宠物买卖方便、快捷、费用低等有点,将人们从传统的宠物买卖方式中解脱出来,提高效率,帮助了解更多宠物的信息。 1.2背景 此项目由13届软件工程一班,实训时完成。软件是基于实训内容——java和数据库。软件目前只能运行在Windows平台下。软件用于方便人们快捷的从逛街式,转变成网上购买宠物,不仅可以避免外出,还可以具体了解宠物的信息。 1.3项目训练的技能点 ① 面向对象程序设计的思想 ② 使用类图设计系统 ③ Java集合存储和传输数据 ④ Java异常处理 ⑤ JDBC操作数据库 ⑥ Oracle存储数据 ⑦ DAO层的应用 1.4专业知识 面向对象的程序设计:即(Object-OrientedProgramming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。 Java:Java是一个由Sun公司开发而成的新一代编程语言。使用它可在各式各样不同机器、不同操作平台的网络环境中开发软件。Java正在逐步成为Internet应用的主要开发语言。 JDBC:JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。 DAO层:DAO(DataAccessObjects)数据访问对象是第一个面向对象的接口,它显露了MicrosoftJet数据库引擎(由MicrosoftAccess所使用),并允许VisualBasic开发者通过ODBC象直接连接到其他数据库一样,直接连接到Access表。DAO最适用于单系统应用程序或小范围本地分布使用。 1.5整体的开发思路 系统开发步骤: ⑧ 明确需求 ⑨ 设计数据库 ⑩ 设计技术框架 ⑪ Java技术 ⑫ 数据访问层 ⑬ 编码顺序 1) 系统启动 2) 登录功能 3) 各种宠物主人操作 4) 各种宠物商店操作 1.6界面交互设计 界面交互设计的原则: (1)统一性原则 ①界面风格统一 用相同方式展现相同类型的数据,如:日期类型 ②交互风格统一 用相同方式完成相同类型 的操作,如:录入日期 (2)美观性原则 界面美观大方 (3)易用性原则 操作方式自然、易理解 系统功能结构: ii. 总体设计 2.1需求规定 2.1.1项目管理 1、项目基础信息 项目名称:宠物商店 项目小组:孙明,黄慧芳,郑露,沈宪阳,郑鑫鑫,孙俊杰,季兵,叶浩东; 项目时间:2016/1/1---2016/1/3 项目承担:项目小组成员 2、项目相关文档 文档:详细设计说明书、实训课程报告; 2.2系统概述 2.2.1项目要求概述: l 在宠物商店里,宠物主人可以出卖、购买宠物 l 每一笔买入、卖出的业务,店家都会记录在账 l 商店可以根据需求自己培育宠物品种 l 系统角色:宠物、主人、宠物商店、账目 总体业务流程图 2.2.2其他要求 1、先进性:采用先进成熟的技术,确保系统的先进性、经济性和实用性。 2、安全可靠:平台提供的应用框架及平台本身提供应用安全保证,并可以和第三方安全手段,如认证、加密、电子签名等进行集成。必须保证数据的安全性和保密性。 3、规范性:开发过程控制、开发技术、系统编码、文档应规范化,并遵循相应的国内外标准。开发结束时,提供必要的文档资料。 4、可靠性:保证系统的可靠运行和在升级过程中的方便快捷。 5、可扩充性:系统应当可以根据需求的变化,方便地进行功能的调整、增减,模块的升级和系统架构的逐步完善。提交相应的系统规范文档,应用单位能够进行必要的二次开发。 6、界面友好、操作方便:操作界面要直观、简单、贴近实际,操作过程应当尽量简化,符合实际过程。身份认证过程即要保证安全,也要尽量简化认证过程。 7、可维护性:系统维护应当简单。 8、集成性:平台应对基于平台开发的应用模块、权限控制、界面进行集成。 9、操作系统:本软件支持Windows系统。 2.3接口 程序中实现的接口有: Accountable、Breadable、Buyable、PetFactory、 PetOwnerService、PetStoreFactory、PetStoreService、Sellable、PetDao、PetOwnerDao、PetStoreDao、AccountDao 2.4基本设计概念和流程 2.4.1设计原则 1、采用面向对象技术进行设计和开发。 2、应用中间件技术,保证系统的开放性和对技术发展的适应性。 3、采用组件技术进行开发,提高系统可扩展性。 4、科学划分信息块,方便快速查询,提高使用性。 2.4.2设计概念 (1) 在宠物商店里,宠物主人可以出卖、购买宠物 (2) 每一笔买入、卖出的业务,店家都会记录在账 (3) 商店可以根据需求自己培育宠物品种 iii. 系统功能设计 3.1结构 本系统主要实现在线电子宠物商店的前台功能,可分为会员服务、宠物信息查询、宠物分类(新培育的宠物和库存宠物)、用户登陆、用户购买宠物、用户卖出宠物、交易账目等主要的功能模块。 下图是系统流程图: 3.2类设计 3.2.1总体结构 总体类图 3.3 主要功能设计及详细设计 3.3.1系统启动 当我们进入宠物商店时,我们有一个系统启动模块:在系统启动时,显示所有的宠物信息、宠物主人信息、宠物商店信息。系统启动后,提示选择登录模式 。 (1)思路分析: ①DAO代码: PetDao:getAllPet() 查询所有宠物信息 PetOwnerDao:getAllOwner() 查询所有宠物主人信息 PetStoreDao:getAllStore() 查询所有宠物商店信息 ②测试类 startPetShop():获取相关信息并输出,提示选择登录模式 main():调用startPetShop(),启动程序 (2)重点 使用JDBC访问Oracle数据库 获取相关信息并遍历输出 如下图: 图 3-0 3.3.2登录 在登陆这块模块,输入用户名和密码,判断登录是否成功,如果成功,输出主人基本信息并提示选择相应操作。如果登录失败,提示确认用户名和密码后重新输入。我们以成功为例,主人成功登录后,可选择购买库存宠物,显示所有库存宠物列表供主人选择,输入宠物编号完成购买,购买成功将显示提示信息 。 (1)思路分析 ①DAO代码 PetOwnerDao:selectOwner() 根据查询条件查询宠物主人信息 Service代码 PetOwnerService:login() 宠物主人登录 ②测试类 ownerLogin() :宠物主人登录 startPetShop():如果选择主人登录,调用ownerLogin() main():调用startPetShop(),启动程序 如下图: 图 3-1 3.3.3宠物主人购买库存宠物 主人成功登录后,可选择购买库存宠物,显示所有库存宠物列表供主人选择,输入宠物编号完成购买,购买成功将显示提示信息。 (1)思路分析 ①DAO代码 Service代码查询所有库存宠物 根据主人选择实现购买 ②测试类 ownerBuy():宠物主人购买宠物 ownerLogin() :如果主人购买宠物,调用ownerBuy() (2)重点 ①更新宠物信息:指定ownerid ②更新宠物主人信息:减少 ③更新宠物商店信息:增加 ④更新账目信息:添加新账目 如下图: 图 3-2 3.3.4宠物主人购买新培育宠物 主人成功登录后,可选择购买新培育宠物,显示所有新培育宠物列表主人选择,输入宠物编号完成购买,购买成功将显示提示信息。 思路分析 ①实现步骤与购买库存宠物相同 ②购买库存宠物和新培育宠物属于两种不同的业务,在业务接口和实现类中应该定义不同的方法 ③重用数据访问层代码 宠物主人卖出宠物给商店显示主人的宠物列表,选择要卖出的宠物序号,确认卖出宠物,显示宠物商店列表,选择买家序号完成交易,交易成功将显示提示信息。 1、思路分析 (1)DAO代码 (2)Service代码 ①获得指定ID的宠物主人的所有宠物信息 ②宠物主人向宠物商店卖出自己宠物 (3)测试类 ①ownerSell():宠物主人卖出宠物 ②ownerLogin() :如果主人卖出宠物,调用ownerSell() 2、重点 根据主人选择实现购买 ①更新宠物信息:删除ownerid ②更新宠物主人信息:增加 ③更新宠物商店信息:减少 ④更新账目信息:添加新账目 如下图: 图 3-3 3.4主要的类设计 3.4.1根据数据库表创建实体类 实体类一般和数据库表对应,实体类的属性对应于表的字段,为四个数据库表分别创建实体类,实现数据库数据在各个层次的传输,四个实体类的名称可以定义为Pet、PetOwner、PetStore、Account。 ①宠物商店实体类:PetStore ②宠物主人实体类:PetOwner ③宠物实体类:Pet ④宠物商店账目类:Account 图 3-5 3.4.2创建DAO接口和实现类 采用面向接口编程的思想设计数据访问层,定义DAO接口和实现类,为四个数据库表分别创建DAO接口和实现类,为了重用建立和关闭数据库的代码,创建BaseDao作为四个实现类的父类 图3-6 3.4.3创建业务接口和实现类 ①宠物主人实现类:PetOwnerServiceImpl ②宠物工厂实现类:PetFactoryImpl ③宠物商店实现类:PetStoreServiceImpl ④宠物商店工程实现类:PetStoreFactoryImpl 图 3-7 3.4.4优化业务接口 我们按照“单一职能原则” 对业务接口定义进行优化,抽取出Buyable、Sellable、Breedable、Accountable等接口,PetOwnerService、PetStoreService接口根据自身功能继承其中的一个或多个接口。 ①宠物商店数据库操作类:PetStoreDaoImpl ②宠物主人数据库操作类:PetOwnerDaoImpl ③宠物数据库操作类:PetDaoImpl ④宠物商店账目信息数据库操作类 :AccountDaoImpl iv. 概念结构设计 4.1库表关系图 4.1.1 库表描述 名称 实现 宠物表 Pet 用户表 PetOwner 商店表 PetStore 1. 宠物表 2. 主人表 3 商店表 4.1.2 数据库脚本 CREATE TABLE PET( ID NUMBER, NAME VARCHAR2(50); TYPENAME VARCHAR(20); HEALTH NUMBER, LOVE NUMBER, BIRTHDAY DATE, OWNER_ID NUMBER, STORE_ID NUMBER); CREATE SEQUENCE SEQ_NAME STATR WITH 1 INCREMENT BY 1 NOMAXVALUE CACHE 10; select to_char(BIRTHDAY,'mm-dd-yyyy')from pet; insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(651,'小花','狗狗',90,89,to_date('2015-02-14','yyyy-mm-dd'),361,985); insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(652,'贝贝','喵咪',100,95,to_date('2015-05-05','yyyy-mm-dd'),362,211); insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(653,'小环','企鹅',98,100,to_date('2015-08-08','yyyy-mm-dd'),363,212); insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(654,'麦克','鹦鹉',100,100,to_date('2015-09-09','yyyy-mm-dd'),364,213); insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(655,'爱丽丝','仓鼠',100,95,to_date('2015-10-01','yyyy-mm-dd'),365,214); insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(656,'旺财','狗狗',100,85,to_date('2015-11-11','yyyy-mm-dd'),366,215); insert into pet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID) values(657,'小白','蛇',100,75,to_date('201512-12','yyyy-mm-dd'),367,216); SELECT * FROM PET; DELETE PET; create table Petowner( ID NUMBER, NAME VARCHAR2(50), PASSWORD VARCHAR2(50), MONEY NUMBER(10,2) ); insert into Petowner(ID,NAME,PASSWORD,MONEY) values(361,'小红','6661',150); insert into Petowner(ID,NAME,PASSWORD,MONEY) values(362,'前前','6662',200); insert into Petowner(ID,NAME,PASSWORD,MONEY) values(363,'小静','6663',80); insert into Petowner(ID,NAME,PASSWORD,MONEY) values(364,'菲菲','6664',163); insert into Petowner(ID,NAME,PASSWORD,MONEY) values(365,'夏雨','6665',45); select * from Petowner; delete Petowner; create table Petstore( ID NUMBER, NAME VARCHAR2(50), PASSWORD VARCHAR2(50), MONEY NUMBER(10,2)); insert into Petstore(ID,NAME,PASSWORD,MONEY) values(001,'安徽第一宠物店','1101',4300); insert into Petstore (ID,NAME,PASSWORD,BALANCE) values(002,'北京西苑','1102',5507); insert into Petstore(ID,NAME,PASSWORD,BALANCE) values(003,'重庆观音桥','1103',8954); SELECT * FROM PETSTORE; DELETE PETSTORE; create table Account( ID NUMBER, DEAL_TYPE NUMBER, PET_ID NUMBER, SELLER_ID, BUYER_ID,NUMBER, PRICE NUMBER, DEAL_TIME DATE); v. 维护与扩展 主要为对服务器上的数据库数据进行维护。可使用Oracle数据库的维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服