版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1 概要设计1.1 开发环境数据库服务器:mysql 服务器开发语言: java , c ,sql开发工具: myeclipese, Ubuntu 虚拟机, Android Studio, 物联网试验箱开发系统还环境:windows10,linux1.2 系统功能描述1系统综述宠物店系统致力于实现对店内宠物进行时间段的饮食,水的监控,用户可以通过登陆用户端查看交由宠物店里看管的宠物数据,查看在时间段的疫苗接种情况。店主端可以通过殿主账号登陆查看所有用户/宠物信息,并对其进行管理操作2数据段的接受与发送服务器打开后向 zigbee 网络发送请求, 传感器将接受到的数据通过 协调器发送给服务器,
2、服务器将数据进行简单数据分类,处理后,把数据存储到数据库中。3用户的注册,登陆,修改,查看系统除店主账号此外在首次使用时都需要注册用户个人信息,登录密码,这是完善用户以实现后续操作的的必须。用户同时可以修改个人信息,对自己寄存在在宠物店的宠物进行数据查看性质的管理。4管理员的数据管理,修改,删除,操作执行管理员账号完成登陆步骤后,可以对所有用户信息进行查看/删除等管理操作,也可以根据用户的查询到用户寄存在宠物点的宠物信息,同时也可以对宠物信息进行增删改查等操作5 . 手机端操作Android 系统进行管理的手机app,可以通过用户名和密码与数据库信息匹配,并向服务器请求响应数据,实现页面跳转和
3、相应页面的数据回显。.1.3.1服务端功能模块设计1登录模块类图(1) 登录模块类图如图所示HttpServlet+HttprequestUserDao+Httpresponse+fingByName()+DoGet()接口 1+DoPost()loginServletUserDaoImpl- 端1*- 端2+name+name+pwd+pwd+findByName()+DoGet()*+DoPost()图 1-3-1登录模块类图(2) 登录模块类图说明表 1-3-1 登录模块类说明表类名说明HttpServlet对数据的请求进行数据处理及反应LoginServlet对用户输入的用户名密码进行
4、验证返回数据UserDaoImpl实现对用户数据的查询返回布尔值( 3)登录模块类图方法说明表 1-3-1 登录模块类方法表方法名说明loginServlet:doget()从界面获取数据调用从数据库查询的方法loginServlet:doget()调用 doget 方法相应对数据的处理.UserDaoImpl:findByName()根据参数从数据库中找到相应数据判断正误2 . 注册模块类图(1) 注册模块类图如图所示HttpServlet+Httprequest+Httpresponse+DoGet()+DoPost()UserDao+addUser()接口1addUserServletU
5、serDaoImpl+name- 端3- 端4+name+pwd+pwd+phone+phone+email*+email+DoGet()+addUser()+DoPost()图 1-3-2登录模块类图( 2)注册模块类图说明表 1-3-3 登录模块类说明表方法名说明httpServlet对数据的请求进行数据处理及反应addUserServlet对输入的数据进行判定,若合理, 调用将数据插入数据库的方法UserDaoImpl将数据插入数据库中表 1-3-4 登录模块方法说明表.方法名说明addUserServlet:doget()从界面获取数据并判定是否合理的方法addUserServlet:
6、doget()调用 doget 方法相应对数据的处理UserDaoImpl:addUser()将获取到的数据参数加到数据库对应表中3 . 硬件获取数据模块类图(1) 注册模块类图如图所示Thread+run()openThreadreadThreadwriteThread-ipaddress-ipaddress-ipaddress-port-port-port+run()+run()+run()datawork- 端5- 特性 1-time-value+value()-count*+get()图 1-3-3硬件获取数据模块类图( 2)注册模块类图说明表 1-3-5 硬件获取数据模块类说明表方法
7、名说明Thread线程始类openThread控制继电器UserDao接口 1+insert_timefood()UserDaoImpl+time-value-tablename+insert_timefood()+creattable()- 端6*.readThread从硬件端获取数据writeThread开启硬件段向服务器发送数据Work外部类获取void ( run)类型方法中数据UserDaoImpl将从硬件段获取到的数据存储到数据库中表 1-3-6 硬件获取数据模块方法说明表方法名说明openThread:run()从界面获取数据并判定是否合理的方法readThread:run()调
8、用 doget 方法相应对数据的处理writeThread:run()将获取到的数据参数加到数据库对应表中Work:get()从硬件段获取数据并将数据存储到数据库中UserDaoImpl:insert_timefood()将获取到的数据插入数据库中UserDaoImpl:creattable()实时每天创建对应表格的方法5 . 获取数据模块类图(1) 获取数据模块类图如图所示HttpServlet-Httprequest-Httpresponse+DoGet()+DoPost()UserDaoImpl-timefood1- 端2-timefood2sendPetsFoood-timefood3
9、-端1-timefood4+time*-timefood5+value-timefood6*+findByIdFromtimefood()-id+findBiIdFromtimefood()图 1-3-4 获取数据模块类图( 2)注册模块类图说明表 1-3-7 获取数据模块类说明表.接口1 UserDao-tablename-id+findByIdFromtimefood().方法名说明httpServlet对数据的请求进行数据处理及反应sendPetsServlet调用方法从数据库中获取数据并发送到安卓端UserDaoImpl根据传入的时间参数找到相对应的表获取到数据表 1-3-8 获取数据
10、模块方法说明表方法名说明sendPetsServlet:doget()从界面获取数据并判定是否合理的方法sendPetsServlet:doget()调用 doget 方法相应对数据的处理UserDaoImpl:findByIdFromfood()根据参数 id, 当前时间值查找到相应List 数据1.3.2安卓短功能模块设计1. 登录模块类图(1) 登录模块类图如图所示.petsLoadActivityusers-id-id- 端1- 端2-petes- 端3- 端4-kind-name-list-pro-pwd-list1-health-email*-et_name*-petname-pn
11、ame+get()-et_password+get()+LoginThread()+set()+set()*- 端5*- 端6NetUtils+sendjson()+getjson()图 1-3-1登录模块类图(2) 登录模块类图说明表 1-3-1 登录模块类说明表类名说明LoadActivity用于用户管理员登录users用于对用户登录信息进行封装pets用于对宠物信息进行封装NetUtils用于 android 与服务器进行连接(3) 登录模块类图方法说明.表 1-3-1 登录模块类方法表方法名说明LoadActivity:LoginThread创建线程用于网络通信Pets 与 user
12、的 get 与 set用于对处理信息进行封装NetUtils:sendJson用于向客户端发送信息NetUtils:getjson用于接收从客户端发送过来的信息2. 注册模块类图(1) 注册模块类图如图所示users- 端 4-idRegisterActivity- 端 3-name-pwd+registerThread()*-email-pname- 端 3+get()*+set()* - 端 4NetUtils+sendjson()+getjson().图 1-3-2注册模块类图(2) 注册模块类图说明表 1-3-2 注册模块类说明表类名说明RegisterActivity用于处理新用户的
13、信息users用于对用户登录信息进行封装NetUtils用于 android 与服务器进行连接(3) 登录模块类图方法说明表 1-3-2 登录模块类方法表方法名说明user 的 get 与 set用于对处理信息进行封装NetUtils:sendJson用于向客户端发送信息NetUtils:getjson用于接收从客户端发送过来的信息RegisterActivity:registerThread创建线程用于网络通信.3. 主页面模块类图(1) 主页面模块类图如图所示LoadActivity-petes-list-list1-et_name-et_password+LoginThread()sta
14、ff_mainUser_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管理员消息页面.Message_of_user用户消息页面(3) 主页面模块类图方法说明表 1-3-3 主页面模块类方法表方法名说明LoadActivity:LoginThread创建线程用于网络通
15、信Staff_main User_main:shark控制消息灯光闪烁Message:thread用于管理员向服务器发送消息Message_of_user:thread用于用户向服务器发送已知消息4. 管理员管理用户信息模块类图.(1) 管理员管理用户信息模块如图所示NetUtils+sendjson()+getjson()*- 端 5users*- 端 6pets-id-id- 端 3- 端 4User_Manager- 端 1- 端 2-kind-name-list-pro-pwd-health-flag-email-petname*+thread()*-pname+get()+get()
16、+thread1()+set()+set()Personal_pet_ManagerMyLineChart+personal_pet()+thread1()+drawChartLine()+thread()图 1-4-4 管理员管理用户信息模块类图(2) 管理员管理用户信息模块类说明表 1-4-4 管理员管理用户信息模块类说明表.类名说明NetUtils用于 android 与服务器进行连接users用于对用户登录信息进行封装pets用于对宠物信息进行封装User_Manager管理员管理用户界面Psersonal_pet_Manager查看某一用户的宠物MyLineChart将宠物进食情况用
17、图表描绘出来(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_
18、Manager:thread删除宠物信息MyLineChart:drawChartLine画图方法.5. 管理员管理宠物信息模块类图(1) 管理员管理宠物信息模块如图所示NetUtils+sendjson()+getjson()* - 端 1pets*- 端 26-id- 端 3- 端4Pet_Manager-kind-pro-pets-health*+thread()-petname+thread2()+get()+set().users-id-name-pwd-email-pname+get()+set()* - 端 5registerpet+getthread()+thread()add
19、_petMyLineChart+thread()+drawChartLine()图 1-5-5 管理员管理宠物信息模块类图( 2)管理员管理宠物模块类名表 1-5-5 管理员管理宠物信息模块类说明表类名说明NetUtils用于 android 与服务器进行连接users用于对用户登录信息进行封装pets用于对宠物信息进行封装.Pet_Manager管理员管理宠物界面Registerpet修改宠物信息界面Add_pet增加宠物信息界面MyLineChart显示宠物进食情况(3) 管理员管理宠物信息模块类方法说明表 1-5-5管理员管理用户信息模块类方法表方法名说明Pets 与 user 的 ge
20、t 与 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) 用户管理个人信息模块如图所示users-i
21、d-name-pwd-email-pname+get()+set()*- 端 1pets*- 端 2-id-kind- 端 3- 端 4user_infoUser_refact-pro-health*+th()+thread()-petname+get()*- 端 5+set()* - 端 6NetUtils+sendjson()+getjson()图 1-6-6 用户管理个人信息模块类图( 2)用户管理个人模块类名表 1-5-5 管理员管理宠物信息模块类说明表类名说明NetUtils用于 android 与服务器进行连接users用于对用户登录信息进行封装pets用于对宠物信息进行封装Use
22、r_info用户产看修改个人信息User_refact用户修改个人信息(3) 用户管理个人信息模块类方法说明.表 1-6-6 用户管理个人信息模块类方法表方法名说明Pets 与 user 的 get 与 set用于对处理信息进行封装NetUtils:sendJson用于向客户端发送信息NetUtils:getjson用于接收从客户端发送过来的信息User_info:th用户查看个人信息线程User_refact:thread用户修改个人信息线程7. 用户管理宠物信息模块类图(1) 用户管理宠物信息模块如图所示.NetUtils+sendjson()+getjson()*- 端1userspet
23、s*- 端2-id-id- 端5- 端6pet_of_userinfo- 端3 - 端4-name-kind-pwd-pro-email-health*+personal_pet()*-pname-petname+thread()+get()+get()+set()+set()MyLineChart+drawChartLine()图 1-7-7 用户管理宠物信息模块类图( 2)用户管理宠物模块类名表 1-7-7用户管理宠物信息模块类说明表类名说明NetUtils用于 android 与服务器进行连接users用于对用户登录信息进行封装pets用于对宠物信息进行封装Pet_of_userinfo
24、查看某一用户的宠物信息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活动图具体设计管理员端接受处理疫苗信息管理
25、用户信息管理宠物信息图 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用户宠物信息
26、关联说明表注释数据库条目数据库唯一性检必须填写( * )类型察宠物编号Petid*int用户编号Id*Int表 2.4信息交流储存说明表.注释数据库条目数据库唯一性检必须填写( * )类型察用户编号Id*int状态checksit*varchar信息news*varchar宠物编号petid*int食物表是时间上的逻辑调用生成,起名以 timefood+yyyyMMddhhmmss, 所以具体表的个数与表的名字为不定值,其中一表的数据内容如下所示:表 2.5从硬件端获取是数据信息说明表注释数据库条目数据库唯一性检必须填写( * )类型察编号Petid*int测试 1timefood1varch
27、ar测试 2timefood2varchar测试 3timefood3varchar测试 4timefood4varchar测试 5timefood5varchar测试 6timefood6varchar.NamePetidNamepwd用户拥有宠物KindphoneProemail关联Heal关联宠物关联用户图 2.1 用户类图PetidPetidtimefood1Nametimefood2食物关联宠物Kindtimefood3Protimefood4Healtimefood5timefood6图 2.2 宠物类图.3 详细设计3.1系统定名中文:宠物店;英文: petsroom功能定位:为
28、无暇照顾宠物的都市忙人提供看管宠物的功能,并为客户在时间段内提供食物,水方面的数值统计,以及相应疫苗的植入情况。3.2 .1服务器功能模块设计1. 账号注册(1) 注册模块程序流程图如图所示否录入信息无误选择注册开始是完成注册结束图 3.1 注册模块程序流程图(2) 核心代码从安卓界面以json 形式发生到服务器的user 对象,加载进入到addUserServlet 调用UserDaoImpl 中的 addUser() 进行验证,若用户输入的信息不存在问题,注册用户的信息成功否则失败,注册成功的用户会被数据库以自增加的方式分配id 编号。服务器会根据id 编号进行判定身份,并跳转相对应的页面
29、。2 . 账号登录( 1) 登录模块程序流程图如图所示.结束注册否是是否注册开始登录信息无误否是登录成功结束图 3.2 登录模块程序流程图( 2)核心代码从安卓界面以json 形式发生到服务器的user 对象,加载进入到loginServlet调用UserDaoImpl中的 indBiName() 找到相对应的密码与其进行匹配,完成登录操作,根据根据权限声明,区分为两类管理员与普通用户,而后拥有的权限与进入的页面也完全不同.3. 硬件获取数据( 1) 从硬件端获取数据模块程序流程图如图所示否j结束存入到数据库是接收数据成功发送开始传输信息开始图 3.3 从硬件端获取数据模块程序流程图( 2)核
30、心代码块通过调用writeThread() 的run() 方法开启硬件端向服务器发生数据的程序,并用readThread()类的 run()方法接受来自硬件端的数据,在用外部类的方式获取到run()方法中获取到的节点数值字符串,进行简单处理后,调用来自UserDaoImpl 的 insert_timefood().方 法 , 在 这 个 过 程 中 , 调 用 相 应 名 称 的 表 不 存 在 的 情 况 时 , 采 用timefood+yyyyMMddhhmmss为表名的方式灵活创建表,已完成获取到的数据的插入操作。4 . 获取数据库数据模块( 1) 获取数据库数据模块程序流程图如图所示否生成信息是前后无数据加载
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年智能穿戴设备柔性显示需求与未来形态展望
- 2026年海外仓“多仓调拨”库存协同管理策略
- 2026年免陪照护服务体系加快建设医院试点扩面方案
- 2026年生物合成香料甜味剂中药中间体开发实务
- 2026年高镍正极材料在高端电动工具中的应用拓展
- 2026年浮式液化天然气生产储卸装置关键技术攻关路线
- 2026年多金属结核产氧机理与电解水效应验证实验指南
- 西南证券股份有限公司2026届春季校园招聘备考题库附参考答案详解(培优)
- 2026年退役风电叶片复合材料回收与高值化技术指南
- 2026内蒙古霍林河机场管理有限责任公司招聘工作人员3人备考题库及答案详解(真题汇编)
- 《老年临床营养管理服务规范》编制说明
- 2025-2026学年湘艺版小学音乐四年级下册教学计划及进度表
- 一汽集团招聘网络测评试题
- 地下商场火灾应急处置预案
- 2026年河南农业职业学院单招职业技能测试模拟测试卷附答案
- 疫苗冷链管理培训课件
- DRG付费下医院肾内科运营策略
- T-CECA 20011-2021 含铁含锰地下水接触氧化法给水处理技术规程
- 商铺销售协议书模板
- 2026年安阳职业技术学院单招职业适应性测试必刷测试卷及答案解析(名师系列)
- 中国古代识人方法
评论
0/150
提交评论