




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件大型实验周一一软件设计说明书软件设计说明书1概要设计1.1开发环境数据库服务器:mysql服务器开发语言:java ,c,sql开发工具:myeclipese, Ubuntu虚拟机, Android Studio,物联网试验箱开发系统还环境:windows10,li nux1.2系统功能描述1 .系统综述宠物店系统致力于实现对店内宠物进行时间 段的饮食,水的监控,用户可以通过登陆用户 端查看交由宠物店里看管的宠物数据,查看在 时间段的疫苗接种情况。店主端可以通过殿主账号登陆查看所有用户/宠物信息,并对其进行管理操作2.数据段的接受与发送服务器打开后向zigbee网络发送请求,传感 器将接受
2、到的数据通过 协调器发送给服务器, 服务器将数据进行简单数据分类,处理后,把 数据存储到数据库中。第#页共46页软件大型实验周软件设计说明书3用户的注册,登陆,修改,查看 系统除店主账号此外在首次使用时都需要注册用户个人信息,登录密码,这是完善用户以 实现后续操作的的必须。用户同时可以修改个 人信息,对自己寄存在在宠物店的宠物进行数 据查看性质的管理。4管理员的数据管理,修改,删除,操作执 行管理员账号完成登陆步骤后,可以对所有 用户信息进行查看 /删除等管理操作,也可以 根据用户的查询到用户寄存在宠物点的宠物 信息,同时也可以对宠物信息进行增删改查 等操作5 . 手机端操作Android 系
3、统进行管理的手机 app ,可以通 过用户名和密码与数据库信息匹配,并向服务 器请求响应数据,实现页面跳转和相应页面的 数据回显。第 1 页共 46 页软件大型实验周一一软件设计说明书1.3.1服务端功能模块设计1. 登录模块类图(1) 登录模块类图如图所示图1-3-1登录模块类图第47页共46页说明对数据的请求进行数据处理及反应(2) 登录模块类图说明表1-3-1登录模块类说明表类名HttpServletLogi nServletUserDaoImpl对用户输入的用户名密码进行验证返回数据实现对用户数据的查询返回布尔值(3) 登录模块类图方法说明表1-3-1登录模块类方法表方法名说明logi
4、 nServlet:doget()数据调用从数据库查询的方法从界面获取logi nServlet:doget()方法相应对数据的处理调用dogetUserDaolmpl:fi ndByName()数从数据库中找到相应数据判断正误根据参2. 注册模块类图(1) 注册模块类图如图所示HttpServlet+Httprequest+Httpresponse+DoGet()+DoPost()7图1-3-2登录模块类图(2) 注册模块类图说明表1-3-3登录模块类说明表方法名说明httpServlet对数据的请求进行数据处理及反应addUserServlet对输入的数据进行判定,若合理,调用将数据插入数
5、据库的方法UserDaoImpI据库中将数据插入数表1-3-4登录模块方法说明表说明方法名addUserServlet:doget()取数据并判定是否合理的方法从界面获addUserServlet:doget()调用doget方法相应对数据的处理UserDaoImpl:addUser()将获取到的数据参数加到数据库对应表中3. 硬件获取数据模块类图(1) 注册模块类图如图所示ope nThread-ipaddress -port +run()图1-3-3硬件获取数据模块类图(2) 注册模块类图说明表1-3-5硬件获取数据模块类说明表方法名说明Thread线程始类ope nThread控制继电器
6、readThread据从硬件端获取数writeThread务器发送数据开启硬件段向服Workvoid ( run )类型方法中数据外部类获取UserDaoImpI取到的数据存储到数据库中将从硬件段获表1-3-6硬件获取数据模块方法说明表方法名说明ope nThread:r un()从界面获取数据并判定是否合理的方法readThread:r un() 相应对数据的处理调用doget方法writeThread:r un()据参数加到数据库对应表中将获取到的数Work:get()取数据并将数据存储到数据库中从硬件段获UserDaolmpl:i nsert_timefood() 的数据插入数据库中将获
7、取到UserDaolmpl:creattable()天创建对应表格的方法实时每5.获取数据模块类图(1) 获取数据模块类图如图所示HttpServlet -Httprequest -Httpresponse +DoGet() +DoPost()AUserDaoImpl-timefood1-端2-timefood2sendPetsFoood-timefood3接口 1 UserDao-端1-timefood4+time-timefood5-tablename+value-timefood6-id+findByldFromtimefood()-id+findByIdFromtimefood()+f
8、indBiIdFromtimefood()图1-3-4获取数据模块类图(2) 注册模块类图说明表1-3-7获取数据模块类说明表方法名说明httpServlet对数据的请求进行数据处理及反应send卩etsServlet调用方法从数据库中获取数据并发送到安卓端UserDaoImpI根据传入的时间参数找到相对应的表获取到数据表1-3-8获取数据模块方法说明 表方法名说明sen d'PetsServlet:doget()获取数据并判定是否合理的方法从界面sen d'PetsServlet:doget()doget方法相应对数据的处理调用UserDaoImpl:fi ndByldFro
9、mfood() 据参数id,当前时间值查找到相应根List数据1.3.2安卓短功能模块设计1. 登录模块类图(1) 登录模块类图如图所示图1-3-1登录模块类图(2) 登录模块类图说明表1-3-1登录模块类说明表类名说明LoadActivity理员登录用于用户管users用于对用户登录信息进仃圭寸装pets息进仃封装用于对宠物信NetUtils用于 an droid与服务器进行连接(3) 登录模块类图方法说明表1-3-1登录模块类方法表方法名说明LoadActivity:Logi nThread用于网络通信创建线程Pets 与 user 的 get 与 set 信息进行封装用于对处理NetUt
10、ils:se ndJs on用于向客户端发送信息NetUtils:getjs on客户端发送过来的信息用于接收从2. 注册模块类图(1) 注册模块类图如图所示图1-3-2注册模块类图(2) 注册模块类图说明表1-3-2注册模块类说明表类名说明RegisterActivity新用户的信息用于处理users用于对用户登录信息进仃圭寸装NetUtils用于 an droid与服务器进行连接(3)登录模块类图方法说明表1-3-2登录模块类方法表方法名说明user 的 get 与 set息进行封装用于对处理信NetUtils:se ndJs on端发送信息用于向客户NetUtils:getjs on客户
11、端发送过来的信息用于接收从RegisterActivity:registerThread用于网络通信创建线程3. 主页面模块类图主页面模块类图如图所示图1-3-3主页面模块类图(2)主页面模块类图说明表1-3-3主页面模块类说明表类名说明LoadActiviy用于用户登录Staff_ma in 面管理员主界User_mai n用户端主界面Message页面管理员消息Message_of_user面用户消息页主页面模块类图方法说明表1-3-3主页面模块类方法表方法名说明LoadActivity:Logi nThread创建线程用于网络通信Staff mai n User ma in:shark控
12、制消息灯光闪烁Message:thread向服务器发送消息用于管理员Message_of_user:thread用于用户向服务器发送已知消息4. 管理员管理用户信息模块类图(1)管理员管理用户信息模块如图所示图1-4-4管理员管理用户信息模块 类图(2)管理员管理用户信息模块类说明表1-4-4管理员管理用户信息模块类说明表类名说明NetUtils用于 an droid与服务器进行连接users用于对用户登录信息进行圭寸装pets息进行封装用于对宠物信User_Ma nager 户界面管理员管理用Psers on al_pet_Ma nager 户的宠物查看某一用MyLi neChart情况用图
13、表描绘出来将宠物进食(3) 管理员管理用户信息模块类方法说明表1-4-4管理员管理用户信息模块类方法表方法名说明Pets与 user的get 与 set用于对处理信息进行封装NetUtils:se ndJs on用于向客户端发送信息NetUtils:getjso n用于接收从客户端发送过来的信息User_Ma nager:thread显示所有用户信息的网络线程User_Ma nager:thread1删除某一用户信息Pers on al_pet_Ma nager:pers on al_pet显示某一用户的所有宠物信息Pers on al_pet_Ma nager:thread1查看宠物进食情况
14、Pers on al_pet_Ma nager:thread删除宠物信息MyLi neChart:drawChartLi ne画图方法5.管理员管理宠物信息模块类图(1)管理员管理宠物信息模块如图所示图1-5-5管理员管理宠物信息模块 类图(2)管理员管理宠物模块类名表1-5-5管理员管理宠物信息模块类说明表类名说明NetUtils用于 an droid与服务器进行连接users用于对用户登录信息进仃圭寸装pets息进行封装用于对宠物信Pet_Ma nager 宠物界面管理员管理Registerpet 息界面修改宠物信Add_pet息界面增加宠物信MyLi neChart 食情况显示宠物进(3
15、) 管理员管理宠物信息模块类方法说明表1-5-5管理员管理用户 信息模块类方法表方法名说明Pets与 user的get 与 set用于对处理信息进行封装NetUtils:se ndJs on用于向客户端发送信息NetUtils:getjso n用于接收从客户端发送过来的信息Pet_Ma nager:thread显示所有宠物信息的网络线程Pet_Ma nager:thread2查看某一宠物进食情况Register_pet_Ma nager:getthread回显宠物的所有信息Register_pet_Ma nager:thread修改宠物的信息Add_pet:thread新增宠物的信息MyLi
16、neChart:drawChartL ine 画图方法6.用户管理个人信息模块类图(1)用户管理个人信息模块如图所示图1-6-6用户管理个人信息模块类 图(2)用户管理个人模块类名表1-5-5管理员管理宠物信息模块类说明表类名说明NetUtils与服务器进行连接用于 an droidusers录信息进行圭寸装用于对用户登pets息进行封装用于对宠物信User_i nfo 个人信息用户产看修改User_refact 信息用户修改个人(3) 用户管理个人信息模块类方法说明表1-6-6用户管理个人信 息模块类方法表方法名说明Pets 与 user 的 get 与 set对处理信息进行封装用于NetU
17、tils:se ndJs on于向客户端发送信息用NetUtils:getjs on于接收从客户端发送过来的信息用User_i nfo:th户查看个人信息线程用User_refact:thread户修改个人信息线程用7.用户管理宠物信息模块类图(1)用户管理宠物信息模块如图所示图1-7-7用户管理宠物信息模块类 图(2)用户管理宠物模块类名息模块类说明表表1-7-7用户管理宠物信类名说明NetUtils与服务器进行连接用于 an droidusers登录信息进行圭寸装用于对用户pets息进行封装用于对宠物信Pet_of_useri nfo查看某一用户的宠物信息MyLi neChart画出某一用
18、户的信息(3) 用户管理宠物信息模块类方法说明表1-7-7用户管理宠物信息模块类方法表方法名说明Pets与 user的get 与 set用于对处理信息进行封装NetUtils:se ndJs on用于向客户端发送信息NetUtils:getjso n用于接收从客户端发送过来的信息Pet_of_useri nfo:pers on _pet由于查看该用户的所有宠物Pet_of_useri nfo:thread查看宠物进食情况MyLi neChart:drawChartLi ne将宠物进食情况绘制成表格1.4活动图具体设计管理员端图1.4.1管理员端活动图用户端图1.4.2用户端活动图2数据库设计2
19、.1概念结构设计表2.1用户说明表注释数据库条目数据库 唯一性 检察必须填写(*)类型姓名n ame*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信息交流储存说明表注释数据
20、库条目数据库 唯一性 检察必须填 写(*)类型用户编 号Id*int状态checksi t*varchar信息n ews*varchar宠物编 号petid*int食物表是时间上的逻辑调用生成,起名以 timefood+yyyyMMddhhmmss所以具体表的个数与 表的名字为不定值,其中一表的数据内容如下所 示:表2.5从硬件端获取是数据信息说明表注释数据库条目数据库 唯一性 检察必须填写(*)类型编号Petid*int测试1timefoo divarchar测试2timefoo d2varchar测试3timefoo d3varchar测试4timefoo d4varchar测试5time
21、foo d5varchar测试6timefoo d6varcharpwdu '、用户< 拥有 匕 宠物. 1 Kindphone宠物关联用户图2.1用户类图PetidtimefoodlNametimefood2食物关联timefood3timefood4timefood54|timefood6图2.2宠物类图3详细设计3.1系统定名中文:宠物店;英文: petsroom功能定位:为无暇照顾宠物的都市忙人提供看管 宠物的功能,并为客户在时间段内提供食物,水 方面的数值统计,以及相应疫苗的植入情况。3.2 .1服务器功能模块设计1.账号注册(1)注册模块程序流程图如图所示完成注册
22、39;结束V丿图3.1注册模块程序流程图(2)核心代码从安卓界面以json形式发生到服务器的user对象,加载 进入到 addUserServlet 调 用UserDaoImpI中的addUser()进行验证,若用户输 入的信息不存在问题,注册用户的信息成功 否则失败,注册成功的用户会被数据库以自增加 的方式分配id编号。服务器会根据id编号进行判 定身份,并跳转相对应的页面。2 .账号登录(1)登录模块程序流程图如图所示是开始J登录成功登录成功结束图3.2登录模块程序流程图(2)核心代码从安卓界面以json形式发生到服务器的user 对象,加载进入到loginServlet调用UserDao
23、ImpI 中的indBiName()找到相对应的密码与其进行匹配,完成登录操作,根据根据权限声明,区分为 两类管理员与普通用户,而后拥有的权限与进入 的页面也完全不同3.硬件获取数据(1)从硬件端获取数据模块程序流程图如图所 示图3.3从硬件端获取数据模块程序流程图(2)核心代码块通过调用writeThread()的run()方法开启硬 件端向服务器发生数据的程序,并用 readThread()类的run()方法接受来自硬件端的 数据,在用外部类的方式获取到run()方法中获 取到的节点数值字符串,进行简单处理后,调 用来自 UserDaoImpI 的 insert_timefood()方法,
24、 在这个过程中,调用相应名称的表不存在的情 况时,采用 timefood+yyyyMMddhhmmss 为表 名的方式灵活创建表,已完成获取到的数据的 插入操作。4.获取数据库数据模块(1)获取数据库数据模块程序流程图如图所示获取当天数据 成功开始判定表是否存图3.4获取数据库数据模块程序流程图(2)核心代码将数据加载到数据库之后,当安卓端需要将 数据制成曲线图时,安卓连接服务器的 sendpetsFood中进行加载,对安卓端的请求做 出两种操作。1.调用 findByldFromTimefood 方法找到安卓端需要显示在曲线中的数据,2.调用querytable方法查询到所有表的名字,并 与其进行匹配,根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025私营企业劳动合同书 劳动合同
- 2025电缆供应合同模板
- 2025汽车销售合同大全
- 2025年网络设备采购合同
- 二次结构工程施工承包合同书模板二零二五年
- 二零二五领队出团合约
- 艺人代言合同
- 2025年签订的二手房合同是否有效
- 2025专业深圳合同范本
- 2025解析山东省商品供销合同范本
- 医疗机构抗菌药物临床应用分级管理目录(2024年版)
- 人工智能生成艺术作品的版权问题与伦理探讨
- 幼儿园区域活动有效指导
- 广东省佛山市(2024年-2025年小学六年级语文)统编版小升初模拟(上学期)试卷及答案
- 【MOOC】无线通信原理(双语)-南京邮电大学 中国大学慕课MOOC答案
- 《中国省会城市介绍》课件
- 电子商务物流教学课件
- 排水工程(下)重点
- 声音与情绪管理
- 直播中控转正述职报告
- 史宁中:义务教育数学课标(2022年版)解读
评论
0/150
提交评论