软件开发技术设计文档模板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 引言
1.1 设计背景
在快节奏的大学日常生活中,社交软件已经成为大家日常必不可少的一部分,普通大学生的朋友圈和QQ空间等社交软件平台上,经常能够看到有人发送寻物启事、或是拾到他人丢失物品的拾主找寻丢失它的失主的某些消息。大学日常生活中,大部分人都会有曾经丢过东西的经历,无论大小。那如果一旦丢失了一些对我们比较重要的东西呢?譬如带有重要资料的U盘、随身携带的耳机、出入图书馆会用到的校园卡、身份证、夹着银行卡的钱包等等,无论是马虎大意还是因为焦急匆忙,那些“求扩!”、“急寻!”、“大家帮帮忙!”的字眼都着实能够让人感受到失主的焦急与无奈。
但是,由于好友人数的限制或是群人数的限制,大家往往会通过转发多个群或者请求好友扩散的方式来散播讯息。这种方法有着很大的弊端,首先是可见的人群少,只能自己的好友可见或者群内可见,这会使消息传递的比较缓慢,对于急于找到的东西造成了一定的时间浪费。其二,这还会浪费网络资源,也会把相对重要的信息顶替,对社交平台这个娱乐的环境造成一定的干扰,在如此环境下,本团队希望开发一个能够方便同学们生活的校园app,本app 暂时基于Android系统,用于帮助同学发布与接收失物的讯息。
1.2 编写目的
基于我们学校非常普遍的丢失物品现象,我们团队想要去一个平台能够帮助大家快速将信息集合起来,尽最大可能地使大家快速寻找到自己在校园内丢失的物品,并且能够将捡到的东西及时还给失主。
2. 软件支持
类型软件
浏览器
应用服务器Tomcat 8.0
开发工具Android Studio 7.0
Myeclipse 2017
Navicat for MySQL10
Java 版本JAVA 8
Database MySQL
配置管理工具
Bug 管理
框架组件Hirbernate Volley MVC
3.总体功能概述
3.1 功能总体需求
3.2应用技术
以tomcat8.0搭建服务器,Mysql作为数据库支持,Android开发的APP 界面作为交互界面,使用前后端完全分离开发的框架MVC,在controller控制器部分,使用Java语言作为后端开发语言,使用sevlet搭建控制层的数据传输流,利用Hirbernate框架实现数据库的增删该查功能,其中图片上传的部分,利用Volley框架实现,首先将图片上传到服务器端,写好该图片的目录字段存储在数据库中,实现图片的存储显示。
3.3 整体框架视图
3.3.1 物理设计框架
以tomcat8.0搭建服务器,Mysql作为数据库支持,Android开发的APP 界面作为交互界面,使用前后端完全分离开发的框架MVC,在controller控制器部分,使用Java语言作为后端开发语言,使用sevlet搭建控制层的数据传输流,利用Hirbernate框架实现数据库的增删该查功能,其中图片上传的部分,利用Volley框架实现,首先将图片上传到服务器端,写好该图片的目录字段存储在数据库中,实现图片的存储显示。
3.3.2 程序设计框架
[系统整体类图]
4.详细设计
4.1 模块一:注册登陆模块
4.1.1 功能概述
用户可以在这里注册或登陆自己的账号,完善个人信息等等。
4.1.2 业务流程
用户提交自己的注册信息,信息汇总到数据库啊,如果成功则向用户返回注册成功信息,如果错误则向用户返回错误信息
4.1.3 对外接口
在服务器端的servlet配置和hibernate均配置在.xml文件中。
4.1.4 具体实现
4.1.4.1 用户界面
4.3.4.3 时序图
4.2 模块二:失物模块
4.2.1 功能概述
用户可以选择放置自己丢失物品的照片或形容词,将信息发布在平台上。
4.2.2 业务流程
用户提交所遗失物品的照片和信息存入数据库,如果成功则返回发布成功信息,其他用户可以查看这些信息,还可以查看发布这条消息的用户的信息。
4.2.3 对外接口
在服务器端的servlet配置和hibernate均配置在.xml文件中。
4.2.4 具体实现
4.2.4.1 用户界面
4.2.4.3 时序图
4.3 模块三:招领模块
4.3.1 功能概述
用户可以将自己所捡到的东西拍下照片上传平台上,留下自己的联系方式以供失主来查找搜索。
4.3.2 业务流程
用户提交所捡到物品的照片和信息存入数据库,如果成功则返回发布成功信息,其他用户可以查看这些信息,还可以查看发布这条消息的用户的信息。
4.3.3 对外接口
在服务器端的servlet配置和hibernate均配置在.xml文件中。
4.3.4用户界面
4.3.4.3 时序图
4.4 模块四:树洞交互模块
4.4.1 功能概述
用户可以在这里发表自己的言论,是一个类似贴吧和树洞的用户交互模块,可以增进同学间的交流和接触,也可以发布一些消息。
4.4.2 业务流程
用户发布一条信息并存入数据库,其他用户可以看到这个信息,并在信息下方发布评论,发布信息的用户可以看到自己发布信息的评论
4.4.3 对外接口
在服务器端的servlet配置和hibernate均配置在.xml文件中。
4.4.4 具体实现
4.4.4.1 用户界面
4.4.4.3 时序图
5. 其它设计
5.1 异常处理
Java 语言定义了一些异常类在 ng 标准包中。标准运行时异常类的子类是最常见的异常类。由于 ng 包是默认加载到所有的 Java 程序的,所以大部分从运行时异常类继承而来的异常都可以直接使用,我们的软件中如果用户要打开的文件不存在和输入了非法数据时会返回错误信息来提示用户。
5.2 安全性设计
(1)权限控制
根据不同用户,设置相应权限,其他用户只可看到本用户所发送和公开的信息,其他用户不能观看、篡改、盗取该用户的其他资料和信息。
(2)用户自主权
用户可以根据与其他用户的交流、其他用户的个人信息共和来相互确定身份
(3)数据备份
允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。
(4)记录日志
本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。
5.3 用户性能设计
(1)操作方便,操作流程合理。尽量从用户角度出发,以方便使用本产品。如:发布寻物启示时,敲入回车键光标的自动跳转、输入法的自动转换,信息检索时输入汉语简拼快速检索到结果等。
(2)容错能力。系统具有一定的容错和抗干扰能力,在非硬件故障或非通讯故障时,系统能够保证正常运行,并有足够的提示信息帮助用户有效正确地完成任务。
(3)操作完成时有提示信息。如:发布或删除寻物启示时,系统会提示“您确认发布信息吗”和“您确认删除信息吗,操作不可恢复”等提示语,用户点击确定后才可完成操作。