软件设计说明书.docx

上传人:b****1 文档编号:1254595 上传时间:2023-04-30 格式:DOCX 页数:28 大小:255.51KB
下载 相关 举报
软件设计说明书.docx_第1页
第1页 / 共28页
软件设计说明书.docx_第2页
第2页 / 共28页
软件设计说明书.docx_第3页
第3页 / 共28页
软件设计说明书.docx_第4页
第4页 / 共28页
软件设计说明书.docx_第5页
第5页 / 共28页
软件设计说明书.docx_第6页
第6页 / 共28页
软件设计说明书.docx_第7页
第7页 / 共28页
软件设计说明书.docx_第8页
第8页 / 共28页
软件设计说明书.docx_第9页
第9页 / 共28页
软件设计说明书.docx_第10页
第10页 / 共28页
软件设计说明书.docx_第11页
第11页 / 共28页
软件设计说明书.docx_第12页
第12页 / 共28页
软件设计说明书.docx_第13页
第13页 / 共28页
软件设计说明书.docx_第14页
第14页 / 共28页
软件设计说明书.docx_第15页
第15页 / 共28页
软件设计说明书.docx_第16页
第16页 / 共28页
软件设计说明书.docx_第17页
第17页 / 共28页
软件设计说明书.docx_第18页
第18页 / 共28页
软件设计说明书.docx_第19页
第19页 / 共28页
软件设计说明书.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件设计说明书.docx

《软件设计说明书.docx》由会员分享,可在线阅读,更多相关《软件设计说明书.docx(28页珍藏版)》请在冰点文库上搜索。

软件设计说明书.docx

软件设计说明书

1概要设计

1.1开发环境

数据库服务器:

mysql服务器

开发语言:

java,c,sql

开发工具:

myeclipese,Ubuntu虚拟机,AndroidStudio,物联网试验箱

开发系统还环境:

windows10,linux

1.2系统功能描述

1.系统综述

宠物店系统致力于实现对店内宠物进行时间段的饮食,水的监控,用户可以通过登陆用户端查看交由宠物店里看管的宠物数据,查看在时间段的疫苗接种情况。

店主端可以通过殿主账号登陆查看所有用户/宠物信息,并对其进行管理操作

2.数据段的接受与发送

服务器打开后向zigbee网络发送请求,传感器将接受到的数据通过协调器发送给服务器,服务器将数据进行简单数据分类,处理后,把数据存储到数据库中。

3.用户的注册,登陆,修改,查看

系统除店主账号此外在首次使用时都需要注册用户个人信息,登录密码,这是完善用户以实现后续操作的的必须。

用户同时可以修改个人信息,对自己寄存在在宠物店的宠物进行数据查看性质的管理。

4.管理员的数据管理,修改,删除,操作执行

管理员账号完成登陆步骤后,可以对所有用户信息进行查看/删除等管理操作,也可以根据用户的查询到用户寄存在宠物点的宠物信息,同时也可以对宠物信息进行增删改查等操作

5.手机端操作

Android系统进行管理的手机app,可以通过用户名和密码与数据库信息匹配,并向服务器请求响应数据,实现页面跳转和相应页面的数据回显。

 

1.3.1服务端功能模块设计

1.登录模块类图

(1)登录模块类图如图所示

图1-3-1登录模块类图

(2)登录模块类图说明

表1-3-1登录模块类说明表

类名

说明

HttpServlet

对数据的请求进行数据处理及反应

LoginServlet

对用户输入的用户名密码进行验证返回数据

UserDaoImpl

实现对用户数据的查询返回布尔值

(3)登录模块类图方法说明

表1-3-1登录模块类方法表

方法名说明

loginServlet:

:

doget()从界面获取数据调用从数据库查询的方法

loginServlet:

:

doget()调用doget方法相应对数据的处理

UserDaoImpl:

:

findByName()根据参数从数据库中找到相应数据判断正误

 

2.注册模块类图

(1)注册模块类图如图所示

图1-3-2登录模块类图

(2)注册模块类图说明

表1-3-3登录模块类说明表

方法名说明

httpServlet对数据的请求进行数据处理及反应

addUserServlet对输入的数据进行判定,若合理,调用将数据插入数据库的方法

UserDaoImpl将数据插入数据库中

 

表1-3-4登录模块方法说明表

方法名说明

addUserServlet:

:

doget()从界面获取数据并判定是否合理的方法

addUserServlet:

:

doget()调用doget方法相应对数据的处理

UserDaoImpl:

:

addUser()将获取到的数据参数加到数据库对应表中

 

3.硬件获取数据模块类图

(1)注册模块类图如图所示

图1-3-3硬件获取数据模块类图

(2)注册模块类图说明

表1-3-5硬件获取数据模块类说明表

方法名说明

Thread线程始类

openThread控制继电器

readThread从硬件端获取数据

writeThread开启硬件段向服务器发送数据

Work外部类获取void(run)类型方法中数据

UserDaoImpl将从硬件段获取到的数据存储到数据库中

 

表1-3-6硬件获取数据模块方法说明表

方法名说明

openThread:

:

run()从界面获取数据并判定是否合理的方法

readThread:

:

run()调用doget方法相应对数据的处理

writeThread:

:

run()将获取到的数据参数加到数据库对应表中

Work:

:

get()从硬件段获取数据并将数据存储到数据库中

UserDaoImpl:

:

insert_timefood()将获取到的数据插入数据库中

UserDaoImpl:

:

creattable()实时每天创建对应表格的方法

5.获取数据模块类图

(1)获取数据模块类图如图所示

图1-3-4获取数据模块类图

(2)注册模块类图说明

表1-3-7获取数据模块类说明表

方法名说明

httpServlet对数据的请求进行数据处理及反应

send'PetsServlet调用方法从数据库中获取数据并发送到安卓端

UserDaoImpl根据传入的时间参数找到相对应的表获取到数据

 

表1-3-8获取数据模块方法说明表

方法名说明

send'PetsServlet:

:

doget()从界面获取数据并判定是否合理的方法

send'PetsServlet:

:

doget()调用doget方法相应对数据的处理

UserDaoImpl:

findByIdFromfood()根据参数id,当前时间值查找到相应List数据

 

1.3.2安卓短功能模块设计

1.登录模块类图

(1)登录模块类图如图所示

图1-3-1登录模块类图

 

(2)登录模块类图说明

表1-3-1登录模块类说明表

类名说明

LoadActivity用于用户管理员登录

users用于对用户登录信息进行封装

pets用于对宠物信息进行封装

NetUtils用于android与服务器进行连接

 

(3)登录模块类图方法说明

 

表1-3-1登录模块类方法表

方法名说明

LoadActivity:

:

LoginThread创建线程用于网络通信

Pets与user的get与set用于对处理信息进行封装

NetUtils:

:

sendJson用于向客户端发送信息

NetUtils:

:

getjson用于接收从客户端发送过来的信息

 

2.注册模块类图

(1)注册模块类图如图所示

 

图1-3-2注册模块类图

 

(2)注册模块类图说明

表1-3-2注册模块类说明表

类名说明

RegisterActivity用于处理新用户的信息

users用于对用户登录信息进行封装

NetUtils用于android与服务器进行连接

(3)登录模块类图方法说明

表1-3-2登录模块类方法表

方法名说明

user的get与set用于对处理信息进行封装

NetUtils:

:

sendJson用于向客户端发送信息

NetUtils:

:

getjson用于接收从客户端发送过来的信息

RegisterActivity:

:

registerThread创建线程用于网络通信

 

3.主页面模块类图

(1)主页面模块类图如图所示

图1-3-3主页面模块类图

 

(2)主页面模块类图说明

表1-3-3主页面模块类说明表

类名说明

LoadActiviy用于用户登录

Staff_main管理员主界面

User_main用户端主界面

Message管理员消息页面

Message_of_user用户消息页面

 

(3)主页面模块类图方法说明

 

表1-3-3主页面模块类方法表

方法名说明

LoadActivity:

:

LoginThread创建线程用于网络通信

Staff_mainUser_main:

:

shark控制消息灯光闪烁

Message:

:

thread用于管理员向服务器发送消息

Message_of_user:

:

thread用于用户向服务器发送已知消息

 

4.管理员管理用户信息模块类图

(1)管理员管理用户信息模块如图所示

 

 

图1-4-4管理员管理用户信息模块类图

(2)管理员管理用户信息模块类说明

表1-4-4管理员管理用户信息模块类说明表

类名说明

NetUtils用于android与服务器进行连接

users用于对用户登录信息进行封装

pets用于对宠物信息进行封装

User_Manager管理员管理用户界面

Psersonal_pet_Manager查看某一用户的宠物

MyLineChart将宠物进食情况用图表描绘出来

 

(3)管理员管理用户信息模块类方法说明

 

表1-4-4管理员管理用户信息模块类方法表

方法名说明

Pets与user的get与set用于对处理信息进行封装

NetUtils:

:

sendJson用于向客户端发送信息

NetUtils:

:

getjson用于接收从客户端发送过来的信息

User_Manager:

:

thread显示所有用户信息的网络线程

User_Manager:

:

thread1删除某一用户信息

Personal_pet_Manager:

:

personal_pet显示某一用户的所有宠物信息

Personal_pet_Manager:

:

thread1查看宠物进食情况

Personal_pet_Manager:

:

thread删除宠物信息

MyLineChart:

:

drawChartLine画图方法

 

5.管理员管理宠物信息模块类图

(1)管理员管理宠物信息模块如图所示

图1-5-5管理员管理宠物信息模块类图

(2)管理员管理宠物模块类名

表1-5-5管理员管理宠物信息模块类说明表

类名说明

NetUtils用于android与服务器进行连接

users用于对用户登录信息进行封装

pets用于对宠物信息进行封装

Pet_Manager管理员管理宠物界面

Registerpet修改宠物信息界面

Add_pet增加宠物信息界面

MyLineChart显示宠物进食情况

 

(3)管理员管理宠物信息模块类方法说明

 

表1-5-5管理员管理用户信息模块类方法表

方法名说明

Pets与user的get与set用于对处理信息进行封装

NetUtils:

:

sendJson用于向客户端发送信息

NetUtils:

:

getjson用于接收从客户端发送过来的信息

Pet_Manager:

:

thread显示所有宠物信息的网络线程

Pet_Manager:

:

thread2查看某一宠物进食情况

Register_pet_Manager:

:

getthread回显宠物的所有信息

Register_pet_Manager:

:

thread修改宠物的信息

Add_pet:

:

thread新增宠物的信息

MyLineChart:

:

drawChartLine画图方法

 

6.用户管理个人信息模块类图

(1)用户管理个人信息模块如图所示

图1-6-6用户管理个人信息模块类图

(2)用户管理个人模块类名

表1-5-5管理员管理宠物信息模块类说明表

类名说明

NetUtils用于android与服务器进行连接

users用于对用户登录信息进行封装

pets用于对宠物信息进行封装

User_info用户产看修改个人信息

User_refact用户修改个人信息

 

(3)用户管理个人信息模块类方法说明

 

表1-6-6用户管理个人信息模块类方法表

方法名说明

Pets与user的get与set用于对处理信息进行封装

NetUtils:

:

sendJson用于向客户端发送信息

NetUtils:

:

getjson用于接收从客户端发送过来的信息

User_info:

:

th用户查看个人信息线程

User_refact:

:

thread用户修改个人信息线程

 

7.用户管理宠物信息模块类图

(1)用户管理宠物信息模块如图所示

图1-7-7用户管理宠物信息模块类图

(2)用户管理宠物模块类名

表1-7-7用户管理宠物信息模块类说明表

类名说明

NetUtils用于android与服务器进行连接

users用于对用户登录信息进行封装

pets用于对宠物信息进行封装

Pet_of_userinfo查看某一用户的宠物信息

MyLineChart画出某一用户的信息

 

(3)用户管理宠物信息模块类方法说明

 

表1-7-7用户管理宠物信息模块类方法表

方法名说明

Pets与user的get与set用于对处理信息进行封装

NetUtils:

:

sendJson用于向客户端发送信息

NetUtils:

:

getjson用于接收从客户端发送过来的信息

Pet_of_userinfo:

:

person_pet由于查看该用户的所有宠物

Pet_of_userinfo:

:

thread查看宠物进食情况

MyLineChart:

:

drawChartLine将宠物进食情况绘制成表格

1.4活动图具体设计

图1.4.1管理员端活动图

图1.4.2用户端活动图

 

2数据库设计

2.1概念结构设计

表2.1用户说明表

注释

数据库条目

数据库唯一性检察

必须填写(*)

类型

姓名

name

*

Varchar

密码

pwd

*

varchar

手机号

Phone

*

varchar

邮箱

email

*

varchar

编号

Id

*

int

表2.2宠物信息说明表

注释

数据库条目

数据库唯一性检察

必须填写(*)

类型

编号

Petid

*

int

姓名

PetName

*

varchar

健康

PHeal

*

varchar

疫苗

Pro

*

varchar

种类

Kind

*

varchar

表2.3用户宠物信息关联说明表

注释

数据库条目

数据库唯一性检察

必须填写(*)

类型

宠物编号

Petid

*

int

用户编号

Id

*

Int

表2.4信息交流储存说明表

注释

数据库条目

数据库唯一性检察

必须填写(*)

类型

用户编号

Id

*

int

状态

checksit

*

varchar

信息

news

*

varchar

宠物编号

petid

*

int

 

食物表是时间上的逻辑调用生成,起名以timefood+yyyyMMddhhmmss,所以具体表的个数与表的名字为不定值,其中一表的数据内容如下所示:

表2.5从硬件端获取是数据信息说明表

注释

数据库条目

数据库唯一性检察

必须填写(*)

类型

编号

Petid

*

int

测试1

timefood1

varchar

测试2

timefood2

varchar

测试3

timefood3

varchar

测试4

timefood4

varchar

测试5

timefood5

varchar

测试6

timefood6

varchar

 

图2.1用户类图

图2.2宠物类图

3详细设计

3.1系统定名

中文:

宠物店;

英文:

petsroom

功能定位:

为无暇照顾宠物的都市忙人提供看管宠物的功能,并为客户在时间段内提供食物,水方面的数值统计,以及相应疫苗的植入情况。

3.2.1服务器功能模块设计

1.账号注册

(1)注册模块程序流程图如图所示

图3.1注册模块程序流程图

(2)核心代码

从安卓界面以json形式发生到服务器的user对象,加载进入到addUserServlet调用UserDaoImpl中的addUser()进行验证,若用户输入的信息不存在问题,注册用户的信息成功

否则失败,注册成功的用户会被数据库以自增加的方式分配id编号。

服务器会根据id编号进行判定身份,并跳转相对应的页面。

2.账号登录

(1)登录模块程序流程图如图所示

图3.2登录模块程序流程图

(2)核心代码

从安卓界面以json形式发生到服务器的user对象,加载进入到loginServlet调用UserDaoImpl中的indBiName()找到相对应的密码与其进行匹配,完成登录操作,根据根据权限声明,区分为两类管理员与普通用户,而后拥有的权限与进入的页面也完全不同.

3.硬件获取数据

(1)从硬件端获取数据模块程序流程图如图所示

图3.3从硬件端获取数据模块程序流程图

(2)核心代码块

通过调用writeThread()的run()方法开启硬件端向服务器发生数据的程序,并用readThread()类的run()方法接受来自硬件端的数据,在用外部类的方式获取到run()方法中获取到的节点数值字符串,进行简单处理后,调用来自UserDaoImpl的insert_timefood()方法,在这个过程中,调用相应名称的表不存在的情况时,采用timefood+yyyyMMddhhmmss为表名的方式灵活创建表,已完成获取到的数据的插入操作。

4.获取数据库数据模块

(1)获取数据库数据模块程序流程图如图所示

图3.4获取数据库数据模块程序流程图

(2)核心代码

将数据加载到数据库之后,当安卓端需要将数据制成曲线图时,安卓连接服务器的sendpetsFood中进行加载,对安卓端的请求做出两种操作。

1.调用findByIdFromTimefood方法找到安卓端需要显示在曲线中的数据,2.调用querytable方法查询到所有表的名字,并与其进行匹配,根据表名确定前后一天的数据是否存在以便于确定当天的数据是否拥有前后的扩展性。

3.2.2安卓端功能模块设计

1.账号注册

(1)注册模块程序流程图如图所示

图3.5注册模块程序流程图

(2)核心代码

通过onClick()方法来设置监听“注册”按钮,来获取注册用户填写的账号,信息通过Gson工具将用户注册信息组装成用户对象,发送给服务器,服务器自动生成其ID号以识别其身份

进入相应的页面(用户页面与管理员页面)

 

2.管理员模块设计

 

(1)管理员模块程序流程图如图所示

图3.6管理员模块程序流程图

(2)核心代码

通过ID识别不同用户权限进入不同的界面,管理员主要有三个功能,消息处理,用户信息管理,宠物信息管理,消息模块主要通过json将管理员ID号发送给服务器,并接受该管理员的所有消息,当某一宠物注射过疫苗后,向服务器发送宠物ID,并重新刷新页面,可见该消息消失。

用户信息管理模块通过GSON将所有用户信息转换成list发送给ANDROID端android进行相应显示点击查看宠物可查看相应用户的拥有宠物信息,发送方法与上类似,点击某一宠物信息时,会将宠物的进食情况信息通过list形式加以gson工具发送过来,Android通过MyLineChartaactivity绘制图表加以显示查看宠物按钮与查看某一用户拥有宠物类似信息

 

3.用户模块设计

(1)用户模块程序流程图如图所示

图3.7管理员模块程序流程图

 

(2)核心代码

通过ID将该用户信息回显给android端支持修改

宠物信息一样通过gson将宠物信息以宠物链表形式发送并以图表或折线图加以显示

 

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2