软件设计说明书Word文件下载.docx
《软件设计说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件设计说明书Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。
![软件设计说明书Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/22/ed1c329f-e05c-4644-a5a6-d2ed41e1a6da/ed1c329f-e05c-4644-a5a6-d2ed41e1a6da1.gif)
类名
说明
HttpServlet
对数据的请求进行数据处理及反应
LoginServlet
对用户输入的用户名密码进行验证返回数据
UserDaoImpl
实现对用户数据的查询返回布尔值
(3)登录模块类图方法说明
表1-3—1登录模块类方法表
方法名说明
loginServlet:
:
doget()从界面获取数据调用从数据库查询的方法
:
doget()调用doget方法相应对数据的处理
UserDaoImpl:
findByName()根据参数从数据库中找到相应数据判断正误
2。
注册模块类图
(1)注册模块类图如图所示
图1—3—2登录模块类图
(2)注册模块类图说明
表1-3-3登录模块类说明表
httpServlet对数据的请求进行数据处理及反应
addUserServlet对输入的数据进行判定,若合理,调用将数据插入数据库的方法
UserDaoImpl将数据插入数据库中
表1—3—4登录模块方法说明表
方法名说明
addUserServlet:
doget()从界面获取数据并判定是否合理的方法
addUserServlet:
addUser()将获取到的数据参数加到数据库对应表中
3。
硬件获取数据模块类图
图1-3-3硬件获取数据模块类图
表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()将获取到的数据插入数据库中
creattable()实时每天创建对应表格的方法
获取数据模块类图
(1)获取数据模块类图如图所示
图1—3-4获取数据模块类图
表1—3-7获取数据模块类说明表
httpServlet对数据的请求进行数据处理及反应
send'
PetsServlet调用方法从数据库中获取数据并发送到安卓端
UserDaoImpl根据传入的时间参数找到相对应的表获取到数据
表1-3-8获取数据模块方法说明表
send’PetsServlet:
send’PetsServlet:
doget()调用doget方法相应对数据的处理
findByIdFromfood()根据参数id,当前时间值查找到相应List数据
1.3。
2安卓短功能模块设计
登录模块类图
图1-3-1登录模块类图
类名说明
LoadActivity用于用户管理员登录
users用于对用户登录信息进行封装
pets用于对宠物信息进行封装
NetUtils用于android与服务器进行连接
表1-3-1登录模块类方法表
LoadActivity:
LoginThread创建线程用于网络通信
Pets与user的get与set用于对处理信息进行封装
NetUtils:
sendJson用于向客户端发送信息
NetUtils:
getjson用于接收从客户端发送过来的信息
2.注册模块类图
(1)注册模块类图如图所示
图1—3—2注册模块类图
(2)注册模块类图说明
表1—3—2注册模块类说明表
RegisterActivity用于处理新用户的信息
(3)登录模块类图方法说明
表1-3-2登录模块类方法表
user的get与set用于对处理信息进行封装
RegisterActivity:
registerThread创建线程用于网络通信
3.主页面模块类图
(1)主页面模块类图如图所示
图1—3-3主页面模块类图
(2)主页面模块类图说明
表1-3—3主页面模块类说明表
LoadActiviy用于用户登录
Staff_main管理员主界面
User_main用户端主界面
Message管理员消息页面
Message_of_user用户消息页面
(3)主页面模块类图方法说明
表1-3-3主页面模块类方法表
Staff_mainUser_main:
shark控制消息灯光闪烁
Message:
thread用于管理员向服务器发送消息
Message_of_user:
thread用于用户向服务器发送已知消息
4.管理员管理用户信息模块类图
(1)管理员管理用户信息模块如图所示
图1—4-4管理员管理用户信息模块类图
(2)管理员管理用户信息模块类说明
表1-4—4管理员管理用户信息模块类说明表
User_Manager管理员管理用户界面
Psersonal_pet_Manager查看某一用户的宠物
MyLineChart将宠物进食情况用图表描绘出来
(3)管理员管理用户信息模块类方法说明
表1-4—4管理员管理用户信息模块类方法表
User_Manager:
thread显示所有用户信息的网络线程
User_Manager:
thread1删除某一用户信息
Personal_pet_Manager:
personal_pet显示某一用户的所有宠物信息
thread1查看宠物进食情况
thread删除宠物信息
MyLineChart:
drawChartLine画图方法
5.管理员管理宠物信息模块类图
(1)管理员管理宠物信息模块如图所示
图1—5-5管理员管理宠物信息模块类图
(2)管理员管理宠物模块类名
表1-5—5管理员管理宠物信息模块类说明表
users用于对用户登录信息进行封装
Pet_Manager管理员管理宠物界面
Registerpet修改宠物信息界面
Add_pet增加宠物信息界面
MyLineChart显示宠物进食情况
(3)管理员管理宠物信息模块类方法说明
表1—5—5管理员管理用户信息模块类方法表
Pets与user的get与set用于对处理信息进行封装
Pet_Manager:
thread显示所有宠物信息的网络线程
Pet_Manager:
thread2查看某一宠物进食情况
Register_pet_Manager:
getthread回显宠物的所有信息
Register_pet_Manager:
thread修改宠物的信息
Add_pet:
thread新增宠物的信息
MyLineChart:
6.用户管理个人信息模块类图
(1)用户管理个人信息模块如图所示
图1—6-6用户管理个人信息模块类图
(2)用户管理个人模块类名
表1—5—5管理员管理宠物信息模块类说明表
User_info用户产看修改个人信息
User_refact用户修改个人信息
(3)用户管理个人信息模块类方法说明
表1—6-6用户管理个人信息模块类方法表
User_info:
th用户查看个人信息线程
User_refact:
thread用户修改个人信息线程
7.用户管理宠物信息模块类图
(1)用户管理宠物信息模块如图所示
图1—7-7用户管理宠物信息模块类图
(2)用户管理宠物模块类名
表1-7—7用户管理宠物信息模块类说明表
NetUtils用于android与服务器进行连接
Pet_of_userinfo查看某一用户的宠物信息
MyLineChart画出某一用户的信息
(3)用户管理宠物信息模块类方法说明
表1-7-7用户管理宠物信息模块类方法表
Pet_of_userinfo:
person_pet由于查看该用户的所有宠物
Pet_of_userinfo:
thread查看宠物进食情况
drawChartLine将宠物进食情况绘制成表格
4活动图具体设计
图1.4.1管理员端活动图
图1。
4.2用户端活动图
2数据库设计
2.1概念结构设计
表2.1用户说明表
注释
数据库条目
数据库唯一性检察
必须填写(*)
类型
姓名
name
*
Varchar
密码
pwd
*
varchar
手机号
Phone
邮箱
email
编号
Id
int
表2.2宠物信息说明表
Petid
PetName
健康
PHeal
疫苗
Pro
种类
Kind
表2.3用户宠物信息关联说明表
宠物编号
用户编号
Id
Int
表2.4信息交流储存说明表
必须填写(*)
状态
checksit
信息
news
petid
食物表是时间上的逻辑调用生成,起名以timefood+yyyyMMddhhmmss,所以具体表的个数与表的名字为不定值,其中一表的数据内容如下所示:
表2。
5从硬件端获取是数据信息说明表
测试1
timefood1
测试2
timefood2
测试3
timefood3
测试4
timefood4
测试5
timefood5
测试6
timefood6
图2。
1用户类图
2宠物类图
3详细设计
1系统定名
中文:
宠物店;
英文:
petsroom
功能定位:
为无暇照顾宠物的都市忙人提供看管宠物的功能,并为客户在时间段内提供食物,水方面的数值统计,以及相应疫苗的植入情况.
3.2.1服务器功能模块设计
1.账号注册
(1)注册模块程序流程图如图所示
图3.1注册模块程序流程图
(2)核心代码
从安卓界面以json形式发生到服务器的user对象,加载进入到addUserServlet调用UserDaoImpl中的addUser()进行验证,若用户输入的信息不存在问题,注册用户的信息成功
否则失败,注册成功的用户会被数据库以自增加的方式分配id编号.服务器会根据id编号进行判定身份,并跳转相对应的页面.
账号登录
(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获取数据库数据模块程序流程图
将数据加载到数据库之后,当安卓端需要将数据制成曲线图时,安卓连接服务器的sendpetsFood中进行加载,对安卓端的请求做出两种操作。
调用findByIdFromTimefood方法找到安卓端需要显示在曲线中的数据,2.调用querytable方法查询到所有表的名字,并与其进行匹配,根据表名确定前后一天的数据是否存在以便于确定当天的数据是否拥有前后的扩展性。
2.2安卓端功能模块设计
1.账号注册
(1)注册模块程序流程图如图所示
图3.5注册模块程序流程图
通过onClick()方法来设置监听“注册”按钮,来获取注册用户填写的账号,信息通过Gson工具将用户注册信息组装成用户对象,发送给服务器,服务器自动生成其ID号以识别其身份
进入相应的页面(用户页面与管理员页面)
2.管理员模块设计
(1)管理员模块程序流程图如图所示
6管理员模块程序流程图
通过ID识别不同用户权限进入不同的界面,管理员主要有三个功能,消息处理,用户信息管理,宠物信息管理,消息模块主要通过json将管理员ID号发送给服务器,并接受该管理员的所有消息,当某一宠物注射过疫苗后,向服务器发送宠物ID,并重新刷新页面,可见该消息消失。
用户信息管理模块通过GSON将所有用户信息转换成list〈user〉发送给ANDROID端android进行相应显示点击查看宠物可查看相应用户的拥有宠物信息,发送方法与上类似,点击某一宠物信息时,会将宠物的进食情况信息通过list〈string>
形式加以gson工具发送过来,Android通过MyLineChartaactivity绘制图表加以显示查看宠物按钮与查看某一用户拥有宠物类似信息
3.用户模块设计
(1)用户模块程序流程图如图所示
图3.7管理员模块程序流程图
通过ID将该用户信息回显给android端支持修改
宠物信息一样通过gson将宠物信息以宠物链表形式发送并以图表或折线图加以显示