收藏 分销(赏)

软件设计说明书.doc

上传人:胜**** 文档编号:662957 上传时间:2024-01-25 格式:DOC 页数:33 大小:1.65MB
下载 相关 举报
软件设计说明书.doc_第1页
第1页 / 共33页
软件设计说明书.doc_第2页
第2页 / 共33页
软件设计说明书.doc_第3页
第3页 / 共33页
软件设计说明书.doc_第4页
第4页 / 共33页
软件设计说明书.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、软件设计说明书312020年4月19日文档仅供参考,不当之处,请联系改正。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)登录模块类图如图所示图1-3-1 登录模块类图(2) 登录模块类图说明表 1-3-1 登录模块类说明表类名说明HttpServlet对数据的请求进行数据处理及反应LoginServlet对用户输入的用户名密码进行验证返回数据UserDaoImpl实现对用户数据的查询返回布尔值(3)登录模块类图方法说明表1-3-1 登录模块类方法表方法名 说明loginServlet:doget() 从界面获取数据调用从数据库查询的方法loginServlet:doget() 调用doget方

4、法相应对数据的处理UserDaoImpl:findByName() 根据参数从数据库中找到相应数据判断正误2 . 注册模块类图(1)注册模块类图如图所示图1-3-2 登录模块类图(2)注册模块类图说明表 1-3-3 登录模块类说明表方法名 说明httpServlet 对数据的请求进行数据处理及反应addUserServlet 对输入的数据进行判定,若合理,调用将数据插入数据库的方法UserDaoImpl 将数据插入数据库中表 1-3-4 登录模块方法说明表方法名 说明addUserServlet:doget() 从界面获取数据并判定是否合理的方法addUserServlet:doget() 调

5、用doget方法相应对数据的处理UserDaoImpl:addUser() 将获取到的数据参数加到数据库对应表中 3 . 硬件获取数据模块类图(1)注册模块类图如图所示图1-3-3 硬件获取数据模块类图(2)注册模块类图说明表 1-3-5 硬件获取数据模块类说明表方法名 说明Thread 线程始类openThread 控制继电器readThread 从硬件端获取数据writeThread 开启硬件段向服务器发送数据Work 外部类获取void(run)类型方法中数据UserDaoImpl 将从硬件段获取到的数据存储到数据库中表 1-3-6 硬件获取数据模块方法说明表方法名 说明openThre

6、ad:run() 从界面获取数据并判定是否合理的方法readThread:run() 调用doget方法相应对数据的处理writeThread:run() 将获取到的数据参数加到数据库对应表中 Work:get() 从硬件段获取数据并将数据存储到数据库中UserDaoImpl:insert_timefood() 将获取到的数据插入数据库中UserDaoImpl:creattable() 实时每天创立对应表格的方法5 . 获取数据模块类图(1)获取数据模块类图如图所示图1-3-4 获取数据模块类图(2)注册模块类图说明表 1-3-7 获取数据模块类说明表方法名 说明httpServlet 对数据

7、的请求进行数据处理及反应sendPetsServlet 调用方法从数据库中获取数据并发送到安卓端UserDaoImpl 根据传入的时间参数找到相对应的表获取到数据表 1-3-8 获取数据模块方法说明表方法名 说明sendPetsServlet:doget() 从界面获取数据并判定是否合理的方法sendPetsServlet:doget() 调用doget方法相应对数据的处理UserDaoImpl:findByIdFromfood() 根据参数id,当前时间值查找到相应List数据 1.3.2安卓短功能模块设计1.登录模块类图(1)登录模块类图如图所示图1-3-1 登录模块类图(2) 登录模块类

8、图说明表 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 注册模

9、块类图(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

10、主页面模块类图(2)主页面模块类图说明表1-3-3 主页面模块类说明表类名 说明LoadActiviy 用于用户登录Staff_main 管理员主界面User_main 用户端主界面Message 管理员消息页面Message_of_user 用户消息页面(3) 主页面模块类图方法说明表1-3-3 主页面模块类方法表方法名 说明LoadActivity:LoginThread 创立线程用于网络通信Staff_main User_main:shark 控制消息灯光闪烁Message:thread 用于管理员向服务器发送消息Message_of_user:thread 用于用户向服务器发送已知消息

11、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

12、与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.管理员管理宠物信

13、息模块类图(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 用于对处理信息进行封

14、装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 用户管理个人信

15、息模块类图(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 用户查看个人

16、信息线程 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 用于

17、对处理信息进行封装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手机号P

18、hone*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*in

19、t食物表是时间上的逻辑调用生成,起名以timefood+yyyyMMddhhmmss,因此具体表的个数与表的名字为不定值,其中一表的数据内容如下所示:表 2.5 从硬件端获取是数据信息说明表注释数据库条目数据库唯一性检察必须填写(*)类型编号Petid*int测试1timefood1varchar测试2timefood2varchar测试3timefood3varchar测试4timefood4varchar测试5timefood5varchar测试6timefood6varchar图2.1用户类图图2.2宠物类图3详细设计3.1 系统定名中文:宠物店;英文:petsroom功能定位:为无暇照

20、顾宠物的都市忙人提供看管宠物的功能,并为客户在时间段内提供食物,水方面的数值统计,以及相应疫苗的植入情况。3.2 .1服务器功能模块设计1. 账号注册(1) 注册模块程序流程图如图所示图3.1注册模块程序流程图(2) 核心代码从安卓界面以json形式发生到服务器的user对象,加载进入到addUserServlet调用UserDaoImpl中的addUser()进行验证,若用户输入的信息不存在问题,注册用户的信息成功否则失败,注册成功的用户会被数据库以自增加的方式分配id编号。服务器会根据id编号进行判定身份,并跳转相对应的页面。2 . 账号登录(1) 登录模块程序流程图如图所示图3.2登录模

21、块程序流程图(2)核心代码从安卓界面以json形式发生到服务器的user对象,加载进入到loginServlet调用UserDaoImpl中的indBiName()找到相对应的密码与其进行匹配,完成登录操作,根据根据权限声明,区分为两类管理员与普通用户,而后拥有的权限与进入的页面也完全不同.3. 硬件获取数据(1) 从硬件端获取数据模块程序流程图如图所示图3.3从硬件端获取数据模块程序流程图(2)核心代码块经过调用writeThread()的run()方法开启硬件端向服务器发生数据的程序,并用readThread()类的run()方法接受来自硬件端的数据,在用外部类的方式获取到run()方法中

22、获取到的节点数值字符串,进行简单处理后,调用来自UserDaoImpl的insert_timefood()方法,在这个过程中,调用相应名称的表不存在的情况时,采用timefood+yyyyMMddhhmmss为表名的方式灵活创立表,已完成获取到的数据的插入操作。4 .获取数据库数据模块(1) 获取数据库数据模块程序流程图如图所示图3.4获取数据库数据模块程序流程图(2)核心代码将数据加载到数据库之后,当安卓端需要将数据制成曲线图时,安卓连接服务器的sendpetsFood中进行加载,对安卓端的请求做出两种操作。1.调用findByIdFromTimefood方法找到安卓端需要显示在曲线中的数据

23、,2.调用querytable方法查询到所有表的名字,并与其进行匹配,根据表名确定前后一天的数据是否存在以便于确定当天的数据是否拥有前后的扩展性。3.2.2 安卓端功能模块设计1. 账号注册(1) 注册模块程序流程图如图所示 图3.5注册模块程序流程图(2) 核心代码经过onClick()方法来设置监听“注册”按钮,来获取注册用户填写的账号,信息经过Gson工具将用户注册信息组装成用户对象,发送给服务器,服务器自动生成其ID号以识别其身份进入相应的页面(用户页面与管理员页面)2. 管理员模块设计(1) 管理员模块程序流程图如图所示 图3.6管理员模块程序流程图(2)核心代码 经过ID识别不同用

24、户权限进入不同的界面,管理员主要有三个功能,消息处理,用户信息管理,宠物信息管理,消息模块主要经过json将管理员ID号发送给服务器,并接受该管理员的所有消息,当某一宠物注射过疫苗后,向服务器发送宠物ID,并重新刷新页面,可见该消息消失。用户信息管理模块经过GSON将所有用户信息转换成list发送给ANDROID端android进行相应显示点击查看宠物可查看相应用户的拥有宠物信息,发送方法与上类似,点击某一宠物信息时,会将宠物的进食情况信息经过list形式加以gson工具发送过来,Android经过MyLineCharta activity绘制图表加以显示查看宠物按钮与查看某一用户拥有宠物类似信息3. 用户模块设计(1) 用户模块程序流程图如图所示 图3.7管理员模块程序流程图(2)核心代码 经过ID将该用户信息回显给android端支持修改 宠物信息一样经过gson将宠物信息以宠物链表形式发送 并以图表或折线图加以显示

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服