1引言 2
1.1编写目的 2
1.2背景 2
1.3定义 2
1.4参考资料 3
2总体设计 3
2.1需求规定 3
2.2运行环境 3
2.2.1 设备 3
2.2.2 支持软件 4
2.3基本设计概念和处理流程 4
2.4结构 5
2.5功能需求与程序的关系 5
2.6人工处理过程 6
2.7尚未问决的问题 6
3接口设计 6
3.1用户接口 6
3.2外部接口 6
3.3内部接口 6
4运行设计 8
4.1运行模块组合 8
4.2运行控制 8
4.3运行时间 8
5系统数据结构设计 9
5.1逻辑结构设计要点 9
5.2物理结构设计要点 11
5.3数据结构与程序的关系 11
6系统出错处理设计 12
6.1出错信息 12
6.2补救措施 12
6.3系统维护设计 12
概要设计说明书
1引言
1.1编写目的
INBT(网约技师)是实际的就职问题与网络技术相结合的手机APP产品。为明确软件系统结构、安排项目规划与进度、制定详细测试计划、组织软件开发与测试,特撰写本文档。
本文档供项目经理、设计人员、开发人员参考。
1.2背景
A.项目名称:网约技师(Internet booking technician)APP
B.开发者:个人开发
C.开发目标:利用网络的便利,为客户提供近在身边的服务;同时为拥有技术的技术师提供工作的平台
D.实现环境:Android系统
E.限制条件:必须安装该APP(待定。)
F.目标人群:不限
1.3定义
Client:需要技术支持的客户
Technician:拥有技术的技术师
INBT:网约技师
Binding Hours:Technician给定的客户可取消预约的限制时间
服务费:服务费=技术费+车费补贴
小费:Client自愿给Technician的额外费用
活动:Client预约的全部行程结束或Technician应约的全部行程结束为一个活动
Credential:证书
注释:UTF-8字符集,一个汉字占三个字节,gbk字符集,一个汉字占两个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。
1.4参考资料
《实用软件工程》第三版 —— 殷人昆等 清华大学出版社
《UML面向对象分析与设计教程》——胡荷芬 高斐 著 清华大学出版社
《数据库系统与概述》第四版——王珊 萨师煊 著 高等教育出版社
《第一行代码 Android》——郭霖 著 人民邮电出版社
《Android应用开发基础教程》——王卫红 著 机械工业出版社
2总体设计
2.1需求规定
本系统的输入输出及主要处理如下。
Client信息管理
Client通过身份验证登录进入客户首页
输入:Client信息管理命令和基本信息
输出:Client信息和系统处理结果
处理:根据不同的管理命令进行修改、查询等操作。
Technician信息管理
Technician通过身份验证登录进入首页
输入:Technician信息管理命令和基本信息
输出:Technician信息和系统处理结果
处理:系统根据用户发出的管理命令进行修改、查询等操作
2.2运行环境
2.2.1 设备
a.型号:REDMI NOTE 3
b.Android版本:5.1.1LWY47V
c.处理器:六核 最高1.8Hz
d.运行内存:2.00GB
e.内核版本:3.10.73-perf-g0cad5a1
2.2.2 支持软件
支持的操作系统:Android 4.0及以上
编译程序:Java语言
测试软件:Android Studio
2.3基本设计概念和处理流程
该文档目的在于明确系统的数据结构和软件结构,设计外部软件和内部软件的接口,说明各个软件模块的功能说明,数据结构的细节等。该系统的处理流程如下图:
操作流程图
2.4结构
结构设计如下:
系统总体功能图
2.5功能需求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
2.6人工处理过程
待定。
2.7尚未问决的问题
1、用户注册实名认证环节
2、用户注册手机验证环节
3、手机在线支付环节(WEX5)
3接口设计
3.1用户接口
用户界面:采用用户图形界面(GUI),包括菜单、按钮等元素
3.2外部接口
软件接口:软件运行于Android 4.0以上操作平台,占不支持IOS
硬件接口:数据线。
3.3内部接口
说明本系统之内的各个系统元素之间的接口的安排。
用户登录模块:首先用户进入登录模块,如果用户没有账号,可进入注册模块申请注册。
用户注册模块:用户进入注册模块后按照系统提示填写信息,完成实名认证等操作后系统提示是否注册成功,若注册成功自动跳转至登录模块。若失败用户需重新填写信息。
Technician首页模块:Technician登录成功进入首页,在首页可通过选择城市查看同城急需技术支持的客户,并在菜单栏进行相应的操作。包括管理个人信息(修改基本信息、查看完整信息、查看个人星级)、管理交易记录(查看交易记录、删除交易记录、隐藏交易记录)、修改状态信息(等待接单、应约客户、结束行程、取消应约)
Client首页模块:Client登录成功进入首页,在首页可通过选择城市查看查看同城在线的技术师,并在菜单栏进行相应的操作。包括管理个人信息(修改基本信息、查看完整信息、查看个人星级)、管理交易记录(查看交易记录、删除交易记录、隐藏交易记录)、修改状态信息(立即服务、预约技术师、取消预约、结束行程)
Technician接单模块:Technician在点击应约客户后系统自动跳转至需要技术支持的“客户需求栏”,Technician通过Client发布的预约信息查看自己是否符合客户的需求来判定应约。并等候系统发出应约成功的信息。
Client下单模块:Client在点击快速找技术师后系统自动跳转至Technician的“在线等待接单”栏目,Client在该模块可浏览所有在线的技术师以寻求技术支持。
Client预约模块:Client在点击预约模块后进入“Client预约”栏目,Client可在该页面发布预约信息,包括技术支持、时间、地点、服务费等。并在Technician应约后系统进行信息匹配、若匹配成功系统将发送预约成功的信息。
Technician历史信息模块:Technician进入该模块后可进行对历史交易信息进行管理以及取消应约的操作
Client历史信息模块:Client进入该模块后可对历史交易信息进行管理以及取消预约的操作。
4运行设计
4.1运行模块组合
不同的用户登录该系统获得的系统功能是不同的,因此该软件在登录界面加入了身份识别功能。
(1)、Client用户:Client作为客户登录进入系统,能获得系统提供的一系列技术支持,比如预约技术师。
(2)、Technician用户:Technician作为技术师身份进入该系统,在系统内可查看预约的客户并申请应约。
4.2运行控制
不同的用户进入系统只能对自己的部分信息进行修改操作。
(1)、Client用户:只能修改基本信息栏,实名认证列手机号码须认证后才能修改,身份证号不能修改。信用星级不能修改
(2)、Technician用户:只能修改基本信息栏,实名认证列手机号码需认证后才能修改,身份证号码不能修改。信用星级和技术星级均不能修改。
4.3运行时间
本系统个运行模块将本着尽量少占用系统资源、尽快释放占资源的原则进行设计,使得系统运行时间在可以接受的范围内。
a.响应时间:20ms
b.更新处理时间:10ms
c.数据的转换和传送时间:5ms
d.系统数据显示时间:3ms
5系统数据结构设计
5.1逻辑结构设计要点
本系统是采用SqlServer2008作为数据库服务器。具体数据项及关系模型图如下:
数据表分析
数据库名:INBT _Database
数据库内共4张表:Technician表(技术师信息表),Client表(客户信息表),T_Status表(Technician交易信息表)、C_Status(Client交易信息表)
Technician表:
基本信息列:
1、用户名(T_username):VarChar(13),主键
2、密码(T_password):VarChar(15),不能为空
3、性别(T_sex):Varchar(4),不能为空,选择。
4、出生日期(T_birthday):Varchar(8)
5、省(T_province):Varchar(30),不能为空,下拉列表选择主要为客户寻找同城技术师提供城市选择)
6、市(T_city):Varchar(30),不能为空,下拉列表选择(主要为客户寻找同城技术师提供城市选择)
实名认证列:
7、姓名(T_name):Varchar(15),不能为空
8、手机号码(T_phone):Varchar(11),不能为空
9、身份证号(T_id):Varchar(18),不能为空
技术认证列:
选择上传证书图片或证书编号
10、上传图片:待定
11、证书名称(T_credential):Varchar(20),不能为空
证书编号(T_number):Varchar(30),不能为空
证书日期(T_day):Varchar(8),不能为空
自动生成列:
12、技术星级(T_grade):Varchar(7),不需要用户输入,系统自动生成
13、信用星级(T_credit):Varchar(7),不需要用户输入,系统自动生成
Client表:
基本信息列:
1、用户名(C_username):VarChar(13),主键
2、密码(C_password):VarChar(15),不能为空
3、性别(C_sex):Varchar(4),不能为空,男或女。
4、出生日期(C_birthday):Varchar(8)
实名认证列:
5、姓名(C_name):Varchar(15),不能为空
6、手机号码(C_phone):Varchar(11),不能为空
7、身份证号(C_id):Varchar(18),不能为空
自动生成列:
8、信用星级(C_credit):Varchar(7),不需要用户输入,系统自动生成
T_Status表:
1.用户名(T_username):VarChar(13),外键,引用Technician表
2.客户名(C_username):Varchar(20),外键,引用Client表
3.状态(T_status):Varchar(40),不能为空,(已接单/已应约/已结束/已取消)
4.时间(T_time): 年 月 日 时 分,不能为空
5.地点(T_address):Varchar(40),不能为空
6.技术支持(T_technician):Varchar(20),不能为空
7.技术费(T_charge):Int,不能为空
8.车费补贴(T_fare):Int,不能为空
9.小费(T_tip):Int,可为空,为空时为0
10.交易金额(T_sum):Int,技术费+车费补贴+小费
C_Status表:
1.用户名(C_username):Varchar(13),外键,引用Client表
2.技术师名(T_username):Varchar(20),外键,引用Technician表
3.状态(C_status):Varchar(40),不能为空,(已下单/已预约/已结束/已取消)
4.时间(C_time): 年 月 日 时 分,不能为空
5.地点(C_address):Varchar(40),不能为空
6.技术支持(C_technician):Varchar(20),不能为空
7.技术费(C_charge):Int,不能为空
8.车费补贴(C_fare):Int,不能为空
9.小费(C_tip):Int,可为空,为空时为0
10.交易金额(C_sum):Int,技术费+车费补贴+小费
E-R图
5.2物理结构设计要点
本系统所使用的数据存储要求为数据库,利用SQL语言创建相应的表和数据。各个数据选项都要从数据库中存取,存取单位是表格,存储区域在系统的硬盘内。系统数据要满足保密性,每一位用户都设定了权限,只有满足权限的用户才能使用某项数据,需要在用户输入用户名时对其权限进行判断。
5.3数据结构与程序的关系
待定。
6系统出错处理设计
6.1出错信息
在系统开发阶段可随时修改数据库里相应的内容,但在系统投入运行后必须具有相当的健壮性,避免或降低由系统错误造成数据库损坏。同时在用户进行操作时对关键性操作进行提供警告或确认机制。
6.2补救措施
待定。。
6.3系统维护设计
此项主要是对数据库以及相关文件进行维护。