宠物商店详细设计说明书.docx

上传人:b****6 文档编号:4365931 上传时间:2022-11-30 格式:DOCX 页数:19 大小:424.33KB
下载 相关 举报
宠物商店详细设计说明书.docx_第1页
第1页 / 共19页
宠物商店详细设计说明书.docx_第2页
第2页 / 共19页
宠物商店详细设计说明书.docx_第3页
第3页 / 共19页
宠物商店详细设计说明书.docx_第4页
第4页 / 共19页
宠物商店详细设计说明书.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

宠物商店详细设计说明书.docx

《宠物商店详细设计说明书.docx》由会员分享,可在线阅读,更多相关《宠物商店详细设计说明书.docx(19页珍藏版)》请在冰豆网上搜索。

宠物商店详细设计说明书.docx

宠物商店详细设计说明书

i.引言

1.1编写目的

本详细设计说明书是针对工程案例宠物商店编写的.计算机技术开展日新月异,在各行各业应用越来越广泛。

人们越来越多的在网上购物,开发网上宠物购置可以使宠物买卖方便、快捷、费用低等有点,将人们从传统的宠物买卖方式中解脱出来,提高效率,帮助了解更多宠物的信息。

1.2背景

此工程由13届软件工程一班,实训时完成。

软件是基于实训容——java和数据库。

软件目前只能运行在Windows平台下。

软件用于方便人们快捷的从逛街式,转变成网上购置宠物,不仅可以防止外出,还可以具体了解宠物的信息。

1.3工程训练的技能点

1面向对象程序设计的思想

2使用类图设计系统

3Java集合存储和传输数据

4Java异常处理

5JDBC操作数据库

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代码

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库表关系图

iv.1.1库表描述

名称

实现

宠物表

Pet

用户表

PetOwner

商店表

PetStore

 

1.宠物表

 

2.主人表

 

3商店表

 

iv.1.2数据库脚本

CREATETABLEPET(

IDNUMBER,

NAMEVARCHAR2(50);

TYPENAMEVARCHAR(20);

HEALTHNUMBER,

LOVENUMBER,

BIRTHDAYDATE,

OWNER_IDNUMBER,

STORE_IDNUMBER);

CREATESEQUENCESEQ_NAME

STATRWITH1

INCREMENTBY1

NOMAXVALUE

CACHE10;

selectto_char(BIRTHDAY,'mm-dd-yyyy')frompet;

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(651,'小花','狗狗',90,89,to_date('2015-02-14','yyyy-mm-dd'),361,985);

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(652,'贝贝','喵咪',100,95,to_date('2015-05-05','yyyy-mm-dd'),362,211);

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(653,'小环','企鹅',98,100,to_date('2015-08-08','yyyy-mm-dd'),363,212);

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(654,'麦克','鹦鹉',100,100,to_date('2015-09-09','yyyy-mm-dd'),364,213);

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(655,'爱丽丝','仓鼠',100,95,to_date('2015-10-01','yyyy-mm-dd'),365,214);

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(656,'旺财','狗狗',100,85,to_date('2015-11-11','yyyy-mm-dd'),366,215);

insertintopet(ID,NAME,TYPENAME,LOVE,BITHDAY,OWNER_ID,STORE_ID)

values(657,'小白','蛇',100,75,to_date('201512-12','yyyy-mm-dd'),367,216);

SELECT*FROMPET;

DELETEPET;

createtablePetowner(

IDNUMBER,

NAMEVARCHAR2(50),

PASSWORDVARCHAR2(50),

MONEYNUMBER(10,2)

);

insertintoPetowner(ID,NAME,PASSWORD,MONEY)

values(361,'小红','6661',150);

insertintoPetowner(ID,NAME,PASSWORD,MONEY)

values(362,'前前','6662',200);

insertintoPetowner(ID,NAME,PASSWORD,MONEY)

values(363,'小静','6663',80);

insertintoPetowner(ID,NAME,PASSWORD,MONEY)

values(364,'菲菲','6664',163);

insertintoPetowner(ID,NAME,PASSWORD,MONEY)

values(365,'夏雨','6665',45);

select*fromPetowner;

deletePetowner;

createtablePetstore(

IDNUMBER,

NAMEVARCHAR2(50),

PASSWORDVARCHAR2(50),

MONEYNUMBER(10,2));

insertintoPetstore(ID,NAME,PASSWORD,MONEY)

values(001,'第一宠物店','1101',4300);

insertintoPetstore(ID,NAME,PASSWORD,BALANCE)

values(002,'西苑','1102',5507);

insertintoPetstore(ID,NAME,PASSWORD,BALANCE)

values(003,'观音桥','1103',8954);

SELECT*FROMPETSTORE;

DELETEPETSTORE;

createtableAccount(

IDNUMBER,

DEAL_TYPENUMBER,

PET_IDNUMBER,

SELLER_ID,

BUYER_ID,NUMBER,

PRICENUMBER,

DEAL_TIMEDATE);

v.维护与扩展

主要为对效劳器上的数据库数据进展维护。

可使用Oracle数据库的维护功能机制。

例如,定期为数据库进展Backup,维护管理数据库死锁问题和维护数据库数据的一致性等。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1