毕业设计(论文)-基于Android的问答软件的设计与开发.doc_第1页
毕业设计(论文)-基于Android的问答软件的设计与开发.doc_第2页
毕业设计(论文)-基于Android的问答软件的设计与开发.doc_第3页
毕业设计(论文)-基于Android的问答软件的设计与开发.doc_第4页
毕业设计(论文)-基于Android的问答软件的设计与开发.doc_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学毕业设计(论文)用纸太原理工大学毕业设计(论文)任务书第1页毕业设计(论文)题目:全套设计加扣 3012250582基于android的问答软件(仿知乎)的设计与开发毕业设计(论文)要求及原始数据(资料):1综述国内外Android四大组件,Android网络编程技术,SQLite数据库技术研究现状;2深入了解Android网络编程,SQLite数据库的相关技术;3熟练掌握基于Android问答软件(仿知乎)的应用与分析,训练编写程序的能力;4设计并实现基于Android的问答软件(仿知乎);5深入分析基于Android的问答软件(仿知乎)关键技术与编写语言;6训练检索文献资料和利用文献资料的能力;7训练撰写技术文档与学位论文的能力。第2页毕业设计(论文)主要内容:1综述Android四大组件,Android网络编程技术,SQLite数据库技术在Android程序设计中的应用;2了解Android四大组件,Android网络编程,SQLite数据库等相关技术;3熟悉基于Android问答软件(仿知乎)的开发环境; 4设计基于Android问答软件(仿知乎);5. 深入分析基于Android问答软件(仿知乎)的关键技术与编写语言JAVA的设计流程;6熟练掌握基于Android问答软件(仿知乎)的编写;7设计与实现基于Android问答软件(仿知乎)的程序。学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 第3页主要参考文献(资料):1 (美)埃克尔(Eckel, B. ). Java编程思想M. 电子工业出版社 ,2011.2 李刚. 疯狂Android讲义M. 电子工业出版社, 2013.3 杨厚群, 陈静. Java异常处理机制的研究J. 计算机科学, 2007, 34(3):286-289.4 巫志勇. Android开发中Web Service网络编程研究J. 电脑知识与技术, 2012, 08(20).5 马获蕾, 汤海凤. Android系统中SQLite数据库的研究J. 电脑知识与技术, 2013(28):6243-6245.6 彭艳, 杨欧. Android平台的数据存储技术J. 计算机系统应用, 2012(5):192-194.7 董晓刚. Android系统四大组件的注册与激活J. 硅谷, 2013(5):16-16.8 Huo-Lei M A, Tang H F. Research of SQLite Database in Android SystemJ. Computer Knowledge & Technology, 2013.9 Li H. The Research and Application of Sensor NetWork Data Management Based on SQLITEM/ Proceedings of the 2012 International Conference on Cybernetics and Informatics. Springer New York, 2014:27-32.10 Liu Y F, He C. Design and Implementation of Question and Answer System Based on Mobile Phone PlatformJ. Advanced Materials Research, 2014, 1049-1050:1977-1980.专业班级软件1218班学生要求设计(论文)工作起止日期2016年3月21日2016年6月24日指导教师签字日期2016年3月21日教研室主任审查签字日期系主任批准签字日期基于android的问答软件(仿知乎)的设计与开发摘要基于当前的网络现状,我们需要查询大量的资料,由于我们正处于信息爆炸的时代,网上的信息杂乱而无序,甚至有些是有失偏颇的,使得我们并不一定能分辨出合理的信息,因此,我们需要一款软件可以实现用户问答,并且能够对用户的回答进行统计、分析,反馈给用户合理的信息。本文是基于Android的问答软件(仿知乎)的设计与开发。我参与了整个系统的项目建设,并负责前期的调研与分析,完成了需求分析,对需求文档进行了编写,并且详细设计了系统的各个模块以及关于数据库的设计与开发,最后还参与了系统的实现与测试。以此为课题,本文对整个项目的开发进行阐述,结合相关理论和技术完成需求分析、设计和实现,为同类型的项目提供了借鉴与参考。本文主要研究的内容包括三个部分:首先是前言和概述,阐述了本软件设计的初衷,总结了国内外的研究现状,阐述了我所使用的相关技术,简述了Android中最常用的四大组件之一的Activity组件,讲述了该组件的生命周期,使得合理能够更合理的应用生命周期去编写代码,讲述了Android数据库的存储技术,分析了Android的网络编程技术;其次是需求分析和设计部分,以用户需求为要点,分析了问答软件需要实现的功能,并作出了概要设计,主要是模块的大致划分以及对数据存储的设计,之后作出详细设计,细致到输入输入、流程逻辑,接口定义以及设计和相关的条件限制等;最后是系统的实现和测试部分,系统实现了用户的注册、登录和修改密码,实现了热门回答、问题的所有回答和回答的所有评论的查看,实现了提问、回答和评论功能,实现了点赞,收藏和关注功能,实现了作者相关信息的查看,实现了问题搜索的功能,设计了系统的典型测试案例,实施功能测试、性能测试等,最终结果显示,本文设计实现的问答软件符合用户需求和系统设计需求,达到了预定的目标。本文的问答软件已经可以试运行,实现了用户问答的功能,并给用户提供相对合理的答案以便用户进行查看,使得用户能够快速的了解相关问题的较为合理的思路,选取作为自己的参考,提高了学习的效率,能够快速的找到合理的答案。关键词:问答软件;Android;网络编程Questions and answers based on the Android software (imitation zhihu) design and developmentAbstractBased on the current status of the network, we need to query large amounts of data, since we are in the era of information explosion, information online messy and disorderly, even some biased, so that we do not necessarily distinguish reasonable information, Therefore, we need a software enabling user questions and answers, and the user can answer statistics, analysis, feedback to the user reasonable information. This article is based on Android software of ask and answer design and development. I participated in the project of the whole system, and is responsible for preliminary research and analysis, completed a needs analysis of the requirements document was prepared, and the detailed design of the individual modules of the system and the design and development on the database, and finally also involved in the system implementation and testing. On this issue, this paper describes the development of the entire project will be combined with the theory and technology to complete the requirements analysis, design and implementation, providing a reference for the same type of project.The main content of this paper consists of three parts: the first is the introduction and overview describes the software was originally designed, summarized the current research, describes the relevant techniques I use Android outlined four most commonly used Activity component assembly big one, about the life cycle of the assembly, making possible a more rational and reasonable application lifecycle to write code that tells the Android database storage technology, analyzes the Android network programming techniques; followed by needs analysis and design part, to user needs as the main points analyzed ask and answer software needs to implement functions and make the outline design, mainly roughly divided into modules, and data storage design, then make a detailed design, detailed to input, process logic, interface definition and design and related conditions, etc; and finally the system implementation and testing part, the system supports registration, login and change the password the user to achieve a popular answer, all answer the question and answer all the comments of view, to achieve the questions, answers and comments, to achieve a point of praise, favorites, and focus on functionality, to achieve the view the author related information, to achieve a problem search functionality, design typical test case system, the implementation of functional testing, performance testing, and ultimately the results show that our design and implementation of ask and answer software meets user requirements and system design requirements, to achieve the intended goals.This article software can already test run, to achieve the user to ask and answer function, and provides the user with a relatively reasonable answers for users to view, enabling the user to quickly understand the more reasonable ideas related issues, chosen as their reference, improve the efficiency of learning, to quickly find a reasonable answer.Keywords: q&a software; Android; Network programming目 录1绪论11.1项目背景11.2项目目的11.3主要内容22使用技术及环境搭建42.1综述编程所使用的技术42.1.1.Android组件之Activity组件42.1.2.Android数据存储技术52.1.3.Android网络编程技术62.2综述开发环境73需求分析83.1引言83.2任务概述83.3需求规定93.3.1对功能的规定93.3.2对性能的规定143.3.3输入输出要求143.3.4其他要求173.4运行环境规定174概要设计184.1引言184.2总体设计184.2.1需求规定184.2.2运行环境及处理流程184.2.3结构194.2.4功能需求与程序的关系194.2.5人工处理过程及尚未解决的问题204.3接口设计214.4运行设计214.5.系统数据结构设计224.6.系统出错处理设计245详细设计255.1.引言255.2登录设计说明255.2.1程序描述255.2.2功能和性能265.2.3输入输出265.2.4算法和流程265.2.5其他设计275.2.6测试计划285.3注册设计说明285.3.1程序描述285.3.2功能和性能285.3.3输入输出295.3.4算法和流程295.3.5其他设计305.3.6测试计划315.4查看回答和评论设计说明315.4.1程序描述315.4.2功能和性能315.4.3输入输出325.4.4算法和流程335.4.5其他设计365.4.6测试计划375.5提问、回答、评论设计说明375.5.1程序描述375.5.2功能和性能385.5.3输入输出385.5.4算法和流程395.5.5其他设计415.5.6测试计划425.6点赞、收藏、关注设计说明435.6.1程序描述435.6.2功能和性能435.6.3输入输出435.6.4算法和流程445.6.5其他设计495.6.6测试计划495.7查看作者信息设计说明505.7.1程序描述505.7.2功能和性能505.7.3输入输出515.7.4算法和流程525.7.5其他设计575.7.6测试计划585.8搜索问题设计说明595.8.1程序描述595.8.2功能和性能595.8.3输入输出595.8.4算法和流程595.8.5其他设计605.8.6测试计划615.9修改密码设计说明615.9.1程序描述615.9.2功能和性能615.9.3输入输出625.9.4算法和流程625.9.5其他设计635.9.6测试计划636测试报告646.1引言646.2测试概要646.3测试结果及发现676.4对软件功能的结论786.5分析摘要806.6测试资源消耗817总结82参考文献83致 谢84外文文献85中文翻译92 太原理工大学毕业设计(论文)用纸85 太原理工大学毕业设计(论文)用纸1绪论1.1项目背景Android是一种基于Linux系统的自由的并且是开放源代码的操作系统,主要在移动设备上进行使用,例如智能手机以及平板电脑,由Google公司和开放手机联盟领导并且开发。至今,还没有统一中文名字,中国大陆地区较多人使用“安卓”或“安致”来指代。Android系统具有很多优势,首先是平台开放性,Android允许任何移动终端厂商的加入,可以使其拥有更多的开发者,拥有更多的软件资源;其次是硬件丰富性,由于Android的开放性,所以厂商会推出各种各样的产品,但是功能上的差异并不会影响数据的同步以及软件的兼容问题;再次是开发便捷性,Android平台提供给第三方开发商一个十分宽泛、自由的环境,不会受到各种条条框框的阻扰,和iPhone相比,具有更多的开发人员;再次,是和Google应用的无缝结合,在互联网时代Google已经走过10年的历史,从搜索巨人到全面的互联网渗透,Google服务例如Google地图、Google邮件、Google搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务;最后,是系统的安全性,android平台是基于Linux系统的,和其他的操作系统相比安全系数更高。Android7.0系统是谷歌开发出的最新的Android系统,优化了系统,增加了一些功能,和Android6.0相比有了更多的新特性,比如分屏多任务,具有全新的下拉快捷开关页,通知消息快捷回复、通知消息归拢,重新加入了夜间深色主题模式,新增了流量保护模式,具有全新的设置样式,改进的Doze休眠机制,系统级电话黑名单功能,以及菜单键快速应用切换。Android的迅猛发展,也让我们大家都习惯于使用Android系统,也促使更多的Android项目的诞生,因此,也是我做基于Android的问答软件的原因。1.2项目目的通过目前的形式来看,就目前的信息爆炸的大环境下,必然有许多无用的重复的信息,使我们无法分辨其真伪性,我们必须询问很多的相关人员,查阅大量的资料,来完善我们所掌握的内容,有时候,我们并不能很好的分辨这些信息,而这也就是我的问答软件所诞生的原因。首先,以App的形式存在,可以安装在手机中,方便随时携带、观看,不需要使用电脑进行查看,致使我们不需要每天背着电脑,减少了我们劳动力、体力的消耗;其次,我们的问答软件可以让用户提出问题,而其他的用户可以为你的问题作出相应的解答,由于每个人都有着不同的观点,也考虑到个人回答有时会带有较大的个人偏见色彩,我们还提供了点赞的环节,得到支持率最高的解答作为热门回答,让大家来参考,点赞率高的便是大家都比较认同的答案了,具有一定的参考价值;最后,使用问答软件也可以让我们增长一定的知识面,也许上面就会有一个你未曾涉猎过的问题,而你也许正好需要有这方面技术的人才的帮助,则可以看看他的解答,或许会帮助我们很多,也会给你带来一些灵感。1.3主要内容本文是基于Android的问答软件(仿知乎)的设计与开发。我参与了整个系统的项目建设,并负责前期的调研与分析,完成了需求分析,对需求文档进行了编写,并且详细设计了系统的各个模块以及关于数据库的设计与开发,最后还参与了系统的实现与测试。以此为课题,本文对整个项目的开发进行阐述,结合相关理论和技术完成需求分析、设计和实现,为同类型的项目提供了借鉴与参考。在我所实现的问答软件中可以满足用户注册,登录,修改密码的功能,用户可以提出问题,不同的用户可以对问题提出不同的见解,并作出相应的回答,用户也可以对该回答作出评论,而且其他用户可以为自己赞同的观点点赞,以便用户能够看到普遍的大众的见解,选取自己比较认可也比较合理的解答,用户也可以对回答进行评论,可以查看该问题的所有的回答,查看该回答的所有的评论,查看作者的相关信息包括作者的提问,作者的回答,作者的收藏,同时用户也可以关注该用户。我做的设计是基于Android的设计,因此方便人们随时提问随时解答,让人们能够更方便的使用,便捷了人们的生活,在编码的过程中,使用了Android的四大组件中的Activity组件,用于在界面展示,和用户进行良好的交互,使用了网络编程技术,把数据都存储到了网络上的服务器中,而不是存在本地,这样即使是手机清除数据也不会造成影响,使用了文件存储技术,主要用于实现用户的自动登录,使用了网络编程的技术,通过网络进行客户端和服务端通讯交流,进行信息的传递,请求提交使用Post方式进行提交,传输的Java对象,便于数据的传输以及解析,同时编写了客户端和服务端的代码。2使用技术及环境搭建2.1综述编程所使用的技术2.1.1.Android组件之Activity组件Activity是Android组件中最为基本的也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。Activity是一个应用程序组件,提供一个屏幕用来显示界面,用户可以通过和Activity的交互为来完成某项特定的任务。因此,Activity中所有操作都与用户有着密切的关系,它是一个组件主要负责与用户之间产生交互,我们可以通过setContentView(View)来显示指定所要显示的页面布局。在一个Android应用中,一个Activity一般情况下就是一个单独的完整的屏幕,有时也可以以Dialog的形式出现,只占据页面一部分的面积,在Activity上可以显示一些控件也可以监听并处理用户对事件做出响应。而两个Activity之间则通过Intent进行通信,来传递一些必要的信息。在android 中,Activity 拥有四种基本状态:首先,Active/Running,运行状态,一个新 Activity 在启动后会进入Activity栈中,它会显示在屏幕的最前面,展示在用户的面前,此时处于Activity栈的栈顶,此时它处于可见的并且可和用户进行交互的状态;其次,Paused,暂停状态,当一个Activity失去焦点的时候, 就是一个新的不是全屏的Activity 或者是一个透明的Activity 被放置在栈的顶端,此时它依然与窗口管理器保持连接,它是可见的,但是用户却不能够与它进行一系列的交互操作,Activity依然会保持活力(保持所有的状态,成员的信息,以及窗口管理器保持相应的连接),但是在系统内存极端低下的情况下,会被强行终止掉,有可能导致一些信息的丢失,所以在Activity处于暂停状态是,我们要做好相应的操作,对一些必要的信息进行记录,以便下次打开时能够还原到之前的状态;再次,Stoped,停止状态,这种状态表示一个Activity已经完全的被另外的一个Activity覆盖掉了,但是它依然保持这所有的状态以及相关成员的信息,但是它已经不再是可见的,因此它的窗口将会被隐藏起来,当系统的内存需要被用在其他的地方的时候以及系统的内存比较紧张的时候,此种状态下的Activity也将会被强行的终止掉;最后,Killed,死亡状态,此时的Activity已经不在Activity栈中,已经被移除出栈中,于是,当该Activity需要再次的显示给用户的时候,它就会new出一个新的对象,新的界面来显示相关的页面。关于Activity的生命周期:onCreate():Activity在实例化的过程被调用,进行创建的工作,只会调用一次,一般创建界面,通常会做一些数据的初始化工作;onStart():Activity启动过程的回调的函数,此时Activity处于可见但不可操作的状态;onResume():恢复Activity时将会被回调,onStart()方法后一定会回调该方法,此时Activity处于可见且可操作的状态;onPause():暂停Activity时被回调,此时的Activity处于可见但不可操作的状态,此时的Activity失去了焦点,在此时,我们需要停止动画等一系列的消耗CPU的操作,以及对一些数据进行备份,因为在这个时候你的程序的优先级就会降低,有可能会被系统收回,于是在这里保存的数据,应该在onResume里读出来;onStop():停止Activity时被回调,此时Activity 处于不可见也不可操作的状态;onDestory():销毁Activity时被回调,该方法只会被调用一次,用于回收资源,这是Activity被杀死之前调用的最后一个方法了;onRestart():这个方法在活动由停止的状态变为运行的状态之前进行调用,也就是活动被重新启动的时候调用。2.1.2.Android数据存储技术Android数据有五种存储方式,使用SharedPreferences存储数据,使用文件存储数据,使用Android本地数据库SQLite数据库存储数据,使用ContentProvider存储数据,使用网络存储数据。在我的程序中,主要使用了其中的两种方式进行了文件的存储,一种为SharedPreference方式存储数据,一种是使用网络存储数据,即把数据存到服务器上的数据库中,通过网络获得数据。使用SharedPreferences存储数据,适用于保存较少量的数据,并且这些数据的格式非常的简单,比如字符串型、基本类型的值。存储了一些代码中的配置信息,比用记录用户名和密码,实现自动登录,不需要用户每次登录都进行手动的输入。主要保存的是基于XML文件存储的key-value键值对的数据, SharedPreferences数据总是存储在/data/data/包名/shared_prefs目录下,属于程序的私有文件。但是SharedPreferences对象本身支持数据的读取而并不支持数据的存储和数据的修改,于是数据的存储以及修改修改是通过Editor对象实现,当编辑完成后,一定要使用commit()方法进行数据的提交。使用网络存储数据,主要是通过服务器端开放的接口,对数据进行增删改查等操作,在本程序中,使用的Oracle数据库,对数据进行分类的存放,通过使用统一的SQL语句,就能实现相应的操作,在同过数据流进行返回即可,我们可以对返回的数据进行解析,得到我们想要的内容并在界面上显示出来。2.1.3.Android网络编程技术Android网络编程有很多种方式,基于TCP/IP协议使用ServerSocket、Socket来进行网络通讯,基于UDP协议使用DatagramSocket、Datagrampacket来进行网络通讯,使用URL进行网络编程访问网络上的资源,使用URLConnection提交请求建立连接,使用HttpURLConnection提交请求建立连接(是URLConnection的子类,增加了一些便捷的操作资源的方法),使用HttpClient进行网络编程(Android已经放弃了对该类的维护,使用HttpURLConnection代替了该类的使用)。在我的程序中,关于客户端的部分,使用了HttpURLConnection进行了网络编程,值得注意的一点,进行网络编程的时候,要获取相应的权限。HttpURLConnection的connect()方法,实际上只是建立了一个与服务器的TCP连接,但是没有实际发送HTTP请求,无论是使用POST提交方式还是GET的提交方式,HTTP请求实际上要到HttpURLConnection的getInputStream()这个函数里面才会正式的发送出去。在用POST的方式发送URL请求的时候,URL请求参数的设定顺序是非常重要的,对于connection对象的一切的配置,都必须要在connect()函数执行之前完成。而对outputStream的写操作,又必须要在inputStream的读操作的前面,否则会抛出异常。而些顺序是由HTTP请求的格式决定的。HTTP请求实际上是由两部分构成的,一个是HTTP头,所有关于本次HTTP请求的配置信息都需要在HTTP头里面进行定义,另一个则是正文content。在调用connect函数之前,必须配置好HTTP的头信息,在调用connect方法后则会生成头信息。 由于outputStream实际上并不是一个网络流,充其量只是一个字符串流,因此往里面写入的东西并不会立即发送到网络中去,而是存在于内存的缓冲区中,等待outputStream流关闭之后,再根据之前输入的内容生成合理的HTTP正文。 然后就会把信息发送到服务器上,服务器则会根据传递的参数返回相应的结果。关于服务器端的部分,也有很多需要注意的事项,对于客户端发送的POST类型的HTTP请求,Servlet必须实现doPost方法,而不能用doGet方法。因此,一般实现doPost方法,在doGet方法中调用doPost方法,这样无论使用哪种提交方式,都能够正常的运行。一般情况下,要根据自己代码运行的实际情况,对输出流进行包装,这样就可以根据不同的返回值来获取对象,不会造成乱码问题,在传递数据的时候,也要设置编码方式一致,Android使用的默认编码方式是utf-8,因此在服务端也要使用utf-8的编码格式,以防发生编码转换从而导致乱码问题。2.2综述开发环境在本次开发中,主要使用到的开发环境有Eclipse,JDK1.7,Tomcat7.0,Oracle11g数据库。App客户端,使用Eclipse进行开发,服务器端,使用Eclipse和Tomcat7.0进行开发,数据库使用的是Oracle11g数据库。3需求分析3.1引言编写目的:通过编写软件需求说明书,能够让我们更好的了解我们针对的客户的需求,通过详细的描述以及模块的划分,能够快速的了解到我们需要实现哪些功能,用以满足客户的需求,能够尽量完善的做好需求分析,尽可能的想到所有的解决方案,并且能够明确我们的任务,做到不要重复开发。背景:名称:源子问答项目提出者和开发者:田媛用户:各个专业领域的技术性人才,各个想要加入到问答中的用户定义:Activity:Activity是Android组件中最基本也是最为常见用的四大组件。IPO图:在计算机领域IPO是指结构化设计中变换型结构的输入(Input)、加工(Processing)、输出(Output)。IPO图是对每个模块进行详细设计的工具,它是输入加工输出(INPUT PROCESS OUTPUT)图的简称。参考资料:软件需求说明书3.2任务概述目标:该软件的开发主要是帮助人们对一些问题收集大众的解答,选出最热门的答案供人们进行参考,所有用户经过注册以后都可以进行提问和回答。用户的特点:用户只要了解这一块的知识就可以解答,没有特殊的要求。假定和约束:经费限制:1000元开发期限:两个月3.3需求规定3.3.1对功能的规定登录模块,如图3-1所示:图3-1 登录IPO图用户需要输入的就是自己的用户名和密码,系统会根据用户的输入情况来判断是否跳转至相应的界面,并给予用户一定的提示信息。注册模块,如图3-2所示:图3-2 注册IPO图用户需要输入的就是自己的用户名,密码以及确认密码,系统会根据用户的输入情况来判断是否进行用户注册,并给予用户一定的提示信息,注册成功后会跳转至用户登录界面。查看热门回答模块,如图3-3所示:图3-3 查看热门回答IPO图用户不需要输入任何的信息,在用户登录成功后,就会跳转至该页面,该页面呈现的是所有提出的问题,以及该问题的最热回答,包括该回答的作者。提问模块,如图3-4所示:图3-4 提问IPO图用户通过点击提问按钮,系统会自动获取到当前用户的用户名,并根据用户的用户名查询到当前用户的id,点击确定,获取用户所提出的问题,并存储到数据库中。回答模块,如图3-5所示:图3-5 回答IPO图用户通过点击回答按钮,系统会自动获取到当前用户的用户名,并根据用户的用户名查询到当前用户的id,系统会自动获取当前用户回答的问题的id,点击确定,获取用户所作出的回答,并存储到数据库中。评论模块,如图3-6所示:图3-6 评论IPO图用户通过点击评论按钮,系统自动获取到当前用户的用户名,并根据用户的用户名查询到当前用户的id,系统会自动获取当前回答的id,点击确定,获取用户所作出的评论,并存储到数据库中。查看所有回答模块,如图3-7所示:图3-7 查看所有回答IPO图用户点击问题部分,系统会自动获取用户点击问题的id,并传到后台查询该问题的所有回答,并存在集合中返回到客户端,并在界面中展示出来。为喜欢的回答点赞模块,如图3-8所示:图3-8 为喜欢的回答点赞IPO图用户点击点赞按钮,系统自动获取到当前用户的用户名,并根据用户的用户名查询到当前用户的id,系统会自动获取当前回答的id,在数据库中进行查询,如果该用户没有对该回答进行点赞,则修改数据库,并给予相应的提示信息,如果该用户对该回答已经点赞过,则不修改数据库,也给予相应的提示信息。收藏喜欢的回答模块,如图3-9所示:图3-9 收藏喜欢的回答IPO图用户点击收藏按钮,系统自动获取到当前用户的用户名,并根据用户的用户名查询到当前用户的id,系统会自动获取当前回答的id,在数据库中进行查询,如果该用户没有对该回答进行收藏,则修改数据库,并给予相应的提示信息,如果该用户对该回答已经收藏过,则不修改数据库,也给予相应的提示信息。查看作者信息模块,如图3-10所示:图3-10 查看作者信息IPO图用户点击作者部分,系统会自动获取点击的作者的id,并在数据库中进行查询,在页面上进行展示。查看作者的全部提问模块,如图3-11所示:图3-11 查看作者的全部提问IPO图点击作者的全部提问部分,系统会自动获取点击作者的id,并通过作者的id在数据库中查询作者的全部提问信息,并存储在集合中返回到客户端,并在页面上展示出来。查看作者的全部回答模块,如图3-12所示:图3-12 查看作者的全部回答IPO图点击作者的全部回答部分,系统会自动获取点击作者的id,并通过作者的id在数据库中查询作者的全部回答信息,并存储在集合中返回到客户端,并在页面上展示出来。查看作者的收藏模块,如图3-13所示:图3-13 查看作者的收藏IPO图点击作者的收藏部分,系统会自动获取点击作者的id,并通过作者的id在数据库中查询作者的收藏的回答,并存储在集合中返回到客户端,并在页面上展示出来。搜索问题模块,如图3-14所示:图3-14 搜索问题IPO图在搜索框中输入想要搜索的问题,系统获取到用户输入的问题搜索后会在数据库中与之进行匹配,并把相应的搜索结果存储到集合中返回给客户端,并在页面上展示出来,而用户点击问题部分,就能查看该问题的所有回答了。修改密码模块,如图3-15所示:图3-15 修改密码IPO图用户点击修改密码按钮,系统会自动获取当前用户的密码,并把旧密码以密码的形式显示在界面上,且不能修改,并获得用户输入的新密码,如新密码为空,则提示输入新密码,否则修改数据库中的该用户的密码信息,然后关闭当前界面,但是用户当前并不会退出登录,但数据库中密码已经修改,因此下次登录时,就要使用新密码进行登录,才能验证通过。查看所有评论模块,如图3-16所示:图3-16 查看所有评论IPO图用户点击评论按钮,系统会自动获取用户点击回答的id,并传到后台查询该回答的所有评论,并存在集合中返回到客户端,并在界面中展示出来。查看我的关注模块,如图3-17所示:图3-17 查看我的关注IPO图点击我的关注部分,系统会自动获当前用户的用户名,并通过用户名在数据库中查询作者的关注的人,并存储在集合中返回到客户端,并在页面上展示出来。关注用户模块,如图3-18所示:图3-18 关注用户IPO图用户点击关注按钮,系统自动获取到当前用户的用户名,并根据用户的用户名查询到当前用户的id,系统会自动获取关注的用户的id,在数据库中进行查询,如果当前用户没有对该用户进行关注,则修改数据库,并给予相应的提示信息,如果当前用户对该用户已经关注过,则不修改数据库,也给予相应的提示信息。3.3.2对性能的规定精度要求:输入要准确的输入各种信息,才能得到正确的结果,对于搜索模块,只要模糊输入就可以进行模糊匹配,其余模块必须输入精确的值。时间特性要求:设置8s的连接时间,设置8s的响应时间,超时则认为无响应。灵活性要求:当需求发生变化的时候,只要适当的增加功能节点,或者修改部分代码就可以完成,不需要推翻原来的代码重新来。操作方式,运行环境,接口都不需要进行变化。3.3.3输入输出要求登录,如表3-1所示:表3-1 登录输入数据类型输入方式数值范围精度用户名字符串手动输入有效的用户名精确密码字符串手动输入匹配的密码精确注册,如表3-2所示:表3-2注册输入数据类型输入方式数值范围精度用户名字符串手动输入有效的用户名精确密码字符串手动输入密码精确确认密码字符串手动输入相同密码精确查看热门回答没有输入,显示全部的信息提问,如表3-3所示:表3-3 提问输入数据类型输入方式数值范围精度用户名字符串自动获取有效的用户名精确问题字符串手动输入问题精确回答,如表3-4所示:表3-4 回答输入数据类型输入方式数值范围精度用户名字符串自动获取有效的用户名精确问题字符串自动获取有效的问题精确回答字符串手动输入回答精确评论,如表3-5所示:表3-5 评论输入数据类型输入方式数值范围精度用户名字符串自动获取有效的用户名精确回答字符串自动获取有效的回答精确评论字符串手动输入评论精确查看所有回答,如表3-6所示:表3-6 查看所有回答输入数据类型输入方式数值范围精度问题字符串自动获取有效的问题精确为喜欢的回答点赞,如表3-7所示:表3-7 为喜欢的回答点赞输入数据类型输入方式数值范围精度用户名字符串自动获取有效的用户名精确回答字符串自动获取有效的回答精确收藏喜欢的回答,如表3-8所示:表3-8 收藏喜欢的回答输入数据类型输入方式数值范围精度用户名字符串自动获取有效的用户名精确回答字符串自动获取有效的回答精确查看作者信息,如表3-9所示:表3-9 查看作者信息输入数据类型输入方式数值范围精度用户名字符串自动获取有效的用户名精确查看作者的全部提问,如表3-10所示:表3-10

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论