宠物商店详细设计说明书Word文件下载.docx
《宠物商店详细设计说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《宠物商店详细设计说明书Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
6Oracle存储数据
7DAO层的应用
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整体的开发思路
系统开发步骤:
8明确需求
9设计数据库
10设计技术框架
11Java技术
12数据访问层
13编码顺序
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项目要求概述:
●在宠物商店里,宠物主人可以出卖、购买宠物
●每一笔买入、卖出的业务,店家都会记录在账
●商店可以根据需求自己培育宠物品种
●系统角色:
宠物、主人、宠物商店、账目
总体业务流程图
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代码
selectOwner()根据查询条件查询宠物主人信息
Service代码
PetOwnerService:
login()宠物主人登录
ownerLogin():
宠物主人登录
如果选择主人登录,调用ownerLogin()
如下图:
图3-1
3.3.3宠物主人购买库存宠物
主人成功登录后,可选择购买库存宠物,显示所有库存宠物列表供主人选择,输入宠物编号完成购买,购买成功将显示提示信息。
Service代码查询所有库存宠物
根据主人选择实现购买
ownerBuy():
宠物主人购买宠物
如果主人购买宠物,调用ownerBuy()
①更新宠物信息:
指定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库表关系图
iv.1.1库表描述
名称
实现
宠物表
用户表
PetOwner
商店表
1.宠物表
2.主人表
3商店表
iv.1.2数据库脚本
CREATETABLEPET(
IDNUMBER,
NAMEVARCHAR2(50);
TYPENAMEVARCHAR(20);
HEALTHNUMBER,
LOVENUMBER,
BIRTHDAYDATE,
OWNER_IDNUMBER,
STORE_IDNUMBE