软件设计说明书.docx
- 文档编号:11768567
- 上传时间:2023-04-01
- 格式:DOCX
- 页数:34
- 大小:84.13KB
软件设计说明书.docx
《软件设计说明书.docx》由会员分享,可在线阅读,更多相关《软件设计说明书.docx(34页珍藏版)》请在冰豆网上搜索。
软件设计说明书
软件大型实验周——软件设计说明书
概要设计11.1开发环境服务器数据库服务器:
mysqlsql
,java,c开发语言:
myeclipese,Ubuntu虚拟机,AndroidStudio,物联网试验箱开发工具:
windows10,linux
开发系统还环境:
1.2系统功能描述1.系统综述宠物店系统致力于实现对店内宠物进行时间段的饮食,水的监控,用户可以通过登陆用户端查看交由宠物店里看管的宠物数据,查看在时间段的疫苗接种情况。
店主端可以通过殿主账号登陆查看所有用户/宠物信息,并对其进行管理操作
2.数据段的接受与发送
服务器打开后向zigbee网络发送请求,传感器将接受到的数据通过协调器发送给服务器,服务器将数据进行简单数据分类,处理后,把数据存储到数据库中。
3.用户的注册,登陆,修改,查看
系统除店主账号此外在首次使用时都需要注册用户个人信息,登录密码,这是完善用户以实现后续操作的的必须。
用户同时可以修改个人信息,对自己寄存在在宠物店的宠物进行数据查看性质的管理。
4.管理员的数据管理,修改,删除,操作执行
管理员账号完成登陆步骤后,可以对所有用户信息进行查看/删除等管理操作,也可以根据用户的查询到用户寄存在宠物点的宠物信息,同时也可以对宠物信息进行增删改查等操作
5.手机端操作
Android系统进行管理的手机app,可以通过用户名和密码与数据库信息匹配,并向服务器请求响应数据,实现页面跳转和相应页面的数据回显。
页29共页1第
软件大型实验周——软件设计说明书
服务端功能模块设计1.3.11.登录模块类图
(1)登录模块类图如图所示
HttpServlet<
图1-3-1登录模块类图
(2)登录模块类图说明
表1-3-1登录模块类说明表
类名
说明
HttpServlet
对数据的请求进行数据处理及反应
LoginServlet
对用户输入的用户名密码进行验证返回数据
UserDaoImpl
实现对用户数据的查询返回布尔值
3)登录模块类图方法说明(登录模块类方法表表1-3-1
方法名说明
loginServlet:
:
doget()从界面获取数据调用从数据库查询的方法
loginServlet:
:
doget()调用doget方法相应对数据的处理
页29共页2第
软件大型实验周——软件设计说明书
根据参数从数据库中找到相应数据判断正误UserDaoImpl:
:
findByName()
2.注册模块类图
(1)注册模块类图如图所示
HttpServlet+Httprequest+Httpresponse+DoGet()+DoPost()<
图1-3-2登录模块类图
(2)注册模块类图说明
表1-3-3登录模块类说明表
方法名说明
httpServlet对数据的请求进行数据处理及反应
addUserServlet对输入的数据进行判定,若合理,调用将数据插入数据库的方法
UserDaoImpl将数据插入数据库中
表1-3-4登录模块方法说明表
页29共页3第
软件大型实验周——软件设计说明书
说明方法名
从界面获取数据并判定是否合理的方法addUserServlet:
:
doget()
doget方法相应对数据的处理调用addUserServlet:
:
doget()
将获取到的数据参数加到数据库对应表中UserDaoImpl:
:
addUser()
3.硬件获取数据模块类图
(1)注册模块类图如图所示
Thread+run()<
)注册模块类图说明(2硬件获取数据模块类说明表表1-3-5
方法名说明
Thread线程始类
openThread控制继电器
页29共页4第
软件大型实验周——软件设计说明书
从硬件端获取数据readThread
开启硬件段向服务器发送数据writeThread
(run)类型方法中数据外部类获取voidWork
将从硬件段获取到的数据存储到数据库中UserDaoImpl
1-3-6硬件获取数据模块方法说明表表
说明方法名
从界面获取数据并判定是否合理的方法openThread:
:
run()
方法相应对数据的处理doget调用readThread:
:
run()
将获取到的数据参数加到数据库对应表中writeThread:
:
run()
从硬件段获取数据并将数据存储到数据库中Work:
:
get()
将获取到的数据插入数据库中UserDaoImpl:
:
insert_timefood()
实时每天创建对应表格的方法UserDaoImpl:
:
creattable()
获取数据模块类图5.
获取数据模块类图如图所示
(1)
HttpServlet-Httprequest-Httpresponse+DoGet()+DoPost()UserDaoImpl-timefood1-timefood22-端-timefood31接口UserDaosendPetsFoood1-端-timefood4-tablename+time-timefood5*-id+value-timefood6*-id+findByIdFromtimefood()+findByIdFromtimefood()+findBiIdFromtimefood()获取数据模块类图图1-3-4
)注册模块类图说明(21-3-7获取数据模块类说明表表
页29共页5第
软件大型实验周——软件设计说明书
说明方法名
对数据的请求进行数据处理及反应httpServlet
调用方法从数据库中获取数据并发送到安卓端send'PetsServlet
根据传入的时间参数找到相对应的表获取到数据UserDaoImpl
1-3-8获取数据模块方法说明表表
说明方法名NetUtils
从界面获取数据并判定是否合理的方法send'PetsServlet:
:
doget()+sendjson()+getjson()
方法相应对数据的处理doget调用send'PetsServlet:
:
doget()
List数据当前时间值查找到相应UserDaoImpl:
findByIdFromfood()根据参数id,
安卓短功能模块设计1.3.2登录模块类图1.
(1)登录模块类图如图所示
页29共页6第
软件大型实验周——软件设计说明书
userspetsLoadActivity-id-id-petes3--端2端4--端1端-name-kind-list-pwd-pro-list1-email-health-et_name****-pname-petname-et_password+get()+get()+LoginThread()+set()+set()5*-端6端*-
登录模块类图图1-3-1
登录模块类图说明
(2)登录模块类说明表1-3-1表
说明类名
用于用户管理员登录LoadActivity
用于对用户登录信息进行封装users
用于对宠物信息进行封装pets
与服务器进行连接用于androidNetUtils
(3)登录模块类图方法说明
页29共页7第
软件大型实验周——软件设计说明书
表1-3-1登录模块类方法表
方法名说明
LoadActivity:
:
LoginThread创建线程用于网络通信
Pets与user的get与set用于对处理信息进行封装
NetUtils:
:
sendJson用于向客户端发送信息
NetUtils:
:
getjson用于接收从客户端发送过来的信息
2.注册模块类图
(1)注册模块类图如图所示
users-id4端-3端--nameRegisterActivity-pwd-email+registerThread()**-pname+get()3端-+set()*-端4*NetUtils+sendjson()+getjson()
页29共页8第
软件大型实验周——软件设计说明书
图1-3-2注册模块类图
(2)注册模块类图说明
表1-3-2注册模块类说明表
类名说明
RegisterActivity用于处理新用户的信息
users用于对用户登录信息进行封装
NetUtils用于android与服务器进行连接
(3)登录模块类图方法说明
表1-3-2登录模块类方法表
方法名说明
user的get与set用于对处理信息进行封装
NetUtils:
:
sendJson用于向客户端发送信息
NetUtils:
:
getjson用于接收从客户端发送过来的信息
RegisterActivity:
:
registerThread创建线程用于网络通信
页29共页9第
软件大型实验周——软件设计说明书
3.主页面模块类图
(1)主页面模块类图如图所示
LoadActivity-petes-list-list1-et_name-et_password+LoginThread()User_mainstaff_main-user-user-list-pets-list1+shark()+shark()MessageMessage_of_user+thread()+thread()
图1-3-3主页面模块类图
(2)主页面模块类图说明
表1-3-3主页面模块类说明表
类名说明
LoadActiviy用于用户登录
Staff_main管理员主界面
User_main用户端主界面
Message管理员消息页面
页29共页10第
软件大型实验周——软件设计说明书
用户消息页面Message_of_user
(3)主页面模块类图方法说明
1-3-3主页面模块类方法表表
说明方法名
创建线程用于网络通信LoadActivity:
:
LoginThread
控制消息灯光闪烁Staff_mainUser_main:
:
shark
用于管理员向服务器发送消息Message:
:
thread
用于用户向服务器发送已知消息Message_of_user:
:
thread
.管理员管理用户信息模块类图4页29共页11第
软件大型实验周——软件设计说明书
(1)管理员管理用户信息模块如图所示
NetUtils+sendjson()+getjson()users-id3-端-端1-端24-端-name-pwd-email*-pname+get()+set()
*-端56端*-User_Manager
pets
-id-kind-pro-health-petname
-list-flag+thread()+thread1()
*
**
+get()+set()
Personal_pet_Manager+personal_pet()+thread1()+thread()
MyLineChart
+drawChartLine()
管理员管理用户信息模块类图1-4-4图
(2)管理员管理用户信息模块类说明
表1-4-4管理员管理用户信息模块类说明表
页29共页12第
软件大型实验周——软件设计说明书
说明类名
与服务器进行连接用于androidNetUtils
用于对用户登录信息进行封装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
页29共页13第
软件大型实验周——软件设计说明书
5.管理员管理宠物信息模块类图
(1)管理员管理宠物信息模块如图所示users-id-name-pwdNetUtils-email-pname+sendjson()+get()+getjson()+set()5端*-1端*-registerpet26*端-pets+getthread()-id+thread()Pet_Manager3端-4端--kind-pets-pro-health+thread()**-petname+thread2()+get()+set()MyLineChartadd_pe+drawChartLine(+thread()
管理员管理宠物信息模块类图1-5-5图
(2)管理员管理宠物模块类名
表1-5-5管理员管理宠物信息模块类说明表
类名说明
NetUtils用于android与服务器进行连接
users用于对用户登录信息进行封装
pets用于对宠物信息进行封装
Pet_Manager管理员管理宠物界面
页29共页14第
软件大型实验周——软件设计说明书
修改宠物信息界面Registerpet
增加宠物信息界面Add_pet
显示宠物进食情况MyLineChart
管理员管理宠物信息模块类方法说明(3)
管理员管理用户信息模块类方法表表1-5-5
说明方法名
用于对处理信息进行封装与Pets与user的getset
用于向客户端发送信息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)用户管理个人信息模块如图所示页29共页15第
软件大型实验周——软件设计说明书
pets-id4端3-端--kind-pro-health**-petname+get()+set()
users
-id-name-pwd-email-pname
+get()+set()
**
1端-2端-
user_info
User_refact
+th()
+thread()
**
5端-6端-
NetUtils
+sendjson()+getjson()
用户管理个人信息模块类图图1-6-6
)用户管理个人模块类名(2
管理员管理宠物信息模块类说明表表1-5-5
说明类名
android与服务器进行连接用于NetUtils
用于对用户登录信息进行封装users
用于对宠物信息进行封装pets
用户产看修改个人信息User_info
用户修改个人信息User_refact
(3)用户管理个人信息模块类方法说明
页29共页16第
软件大型实验周——软件设计说明书
表1-6-6用户管理个人信息模块类方法表
方法名说明
Pets与user的get与set用于对处理信息进行封装
NetUtils:
:
sendJson用于向客户端发送信息
NetUtils:
:
getjson用于接收从客户端发送过来的信息
User_info:
:
th用户查看个人信息线程
User_refact:
:
thread用户修改个人信息线程
7.用户管理宠物信息模块类图
(1)用户管理宠物信息模块如图所示
NetUtils+sendjson()+getjson()*-端1users2端-*pets-id-id-namepet_of_userinfo4端-5-端3-端-端6-kind-pwd-pro-email-health-pname+personal_pet()****-petname+thread()+get()+get()+set()+set()MyLineChart+drawChartLine()
页29共页17第
软件大型实验周——软件设计说明书
用户管理宠物信息模块类图图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用于向客户端发送信息
页29共页18第
软件大型实验周——软件设计说明书
用于接收从客户端发送过来的信息NetUtils:
:
getjson接受处理疫苗信息管理个人信息查看宠物信息
Pet_of_userinfo:
:
person_pet由于查看该用户的所有宠物
查看宠物进食情况Pet_of_userinfo:
:
thread
将宠物进食情况绘制成表格MyLineChart:
:
drawChartLine接受处理疫苗信息
活动图具体设计1.4
管理员端
管理用户信息管理宠物信息
1.4.1管理员端活动图图页29共页19第
软件大型实验周——软件设计说明书
用户端
用户端活动图1.4.2图
页29共页20第
软件大型实验周——软件设计说明书
2数据库设计
2.1概念结构设计
表2.1用户说明表
注释
数据库条目
数据库唯一性检察
必须填写(*)
类型
姓名
name
*
Varchar
密码
pwd
*
varchar
手机号
Phone
*
varchar
邮箱
*
varchar
编号
Id
*
int
宠物信息说明表表2.2
注释
数据库条目
数据库唯一性检察
必须填写(*)
类型
编号
Petid
*
int
姓名
PetName
*
varchar
健康
PHeal
*
varchar
疫苗
Pro
*
varchar
种类
Kind
*
varchar
2.3用户宠物信息关联说明表表
注释
数据库条目
数据库唯一性检察
必须填写(*)
类型
宠物编号
Petid
*
int
用户编号
Id
*
Int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件设计 说明书