宠物商店详细设计说明书

更新时间:2024-05-10 15:16:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

宠物商店详细设计说明书

目录

目录 ............................................................................................................. 2 i. 引言 ....................................................................................................... 4

1.1 编写目的 ..................................................................................... 4 1.2背景 ............................................................................................... 4 1.3项目训练的技能点 ...................................................................... 4 1.4专业知识 ...................................................................................... 5 1.5整体的开发思路 .......................................................................... 6 1.6界面交互设计 .............................................................................. 6 ii.

总体设计 ........................................................................................ 8 2.1需求规定 ...................................................................................... 8

2.1.1项目管理 ........................................................................... 8 2.2.1项目要求概述: ............................................................... 8 2.2.2其他要求 ........................................................................... 9 2.3接口 ............................................................................................. 10 2.4基本设计概念和流程 ................................................................ 10

2.4.1设计原则 ......................................................................... 10 2.4.2设计概念 ......................................................................... 10

iii.

系统功能设计 .............................................................................. 11 3.1结构 ............................................................................................. 11 3.2类设计......................................................................................... 12

3.2.1总体结构 ......................................................................... 12 3.3 主要功能设计及详细设计 ....................................................... 12

3.3.1系统启动 ......................................................................... 12 3.3.2登录 ................................................................................. 14 3.3.3宠物主人购买库存宠物 ................................................. 15 3.3.4宠物主人购买新培育宠物 ............................................. 16 3.4主要的类设计 ............................................................................ 18

3.4.1根据数据库表创建实体类 ............................................. 18 3.4.2创建DAO接口和实现类 ............................................... 19 3.4.3创建业务接口和实现类 ................................................. 19 3.4.4优化业务接口 ................................................................. 20

iv.

概念结构设计 .............................................................................. 22 4.1库表关系图 ................................................................................ 22

4.1.1 库表描述 ........................................................................ 22 4.1.2 数据库脚本 .................................................................... 23

v. 维护与扩展......................................................................................... 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项目要求概述:

? 在宠物商店里,宠物主人可以出卖、购买宠物 ? 每一笔买入、卖出的业务,店家都会记录在账 ? 商店可以根据需求自己培育宠物品种 ? 系统角色:宠物、主人、宠物商店、账目

总体业务流程图

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 库表描述

名称 宠物表 用户表 商店表

1. 宠物表

概念结构设计

实现 Pet PetOwner PetStore

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,维护管理数据库死锁问题和维护数据库内数据的一致性等。

本文来源:https://www.bwwdw.com/article/3npg.html

Top