首页 > 编程知识 正文

软件工程设计报告(软件工程的详细设计)

时间:2023-05-06 19:56:11 阅读:68818 作者:2178

文章目录1引言1.1写作目的1.2项目背景1.3定义1.4参考资料2总体设计2.1要求概要2.2软件配置3模块说明3.1模块基本信息3.2功能概要3.3算法3.4模块处理逻辑3.5接口3.6性能3.7测试计划

引言1.1编制目的

本报告的目的是提供Asking的详细设计说明,以帮助用户和项目开发人员了解产品的详细设计和实现。 为开发者提供开发参考书。 在以下描述中,组合字符描述、伪代码、图表等来描述与ascii的详细设计相关的模块描述。 预计本报告的读者将是客户、项目经理、开发人员和与项目相关的其他竞争对手。

1.2项目背景(1)项目名称: ascii

)2)任务提交人)刘畅,弱智手套,wjdxmg,tldhm望

(3)开发者:辣子鸡搬砖喵喵的团队

(4)用户:社交、有想法的年轻人群体

)5)实施单位)辣子鸡搬砖喵喵的队伍

1.3定义(1)提问盒)一种私人问题。 这些问题的受访者只能通过Id搜索问题,然后输入密钥进行查看,所有答案均为匿名状态。

)2)硬币)软件中的虚拟货币。 每天签名就能获得两枚硬币,对赞同的回答点赞就会消耗硬币,该硬币会转移给回答者。

(3)称号)持有硬币数给出的等级依次为学徒、船员、舰长、提督、QQ。 头衔级别高的人表示他受到了大量的赞扬,以及使用这个软件的时间很长。

1.4参考资料[1]勤奋项链.软件工程方法与实践(第三版) .北京:机械工业出版社,2016

[2]普莱斯曼.软件工程:实践者研究方法(原书第8版) .北京:机械工业出版社,2016

[3]辣鸡搬砖喵喵队. Asking需求规格书

[4]辣鸡搬运喵喵团队. Asking软件简介设计说明书

2总体设计2.1需求概述功能需求:

)搜索)一种界面,通过问题标题或标记进行模糊搜索,显示结果列表,并通过问题框id精确搜索和显示该问题框。

)2)提问、删除问题)提问或删除自己提出的问题。

)3)制作、删除提问盒)制作提问盒分享给朋友,或者删除自己制作的提问盒。

)4)显示、回复问题)显示该问题及其回答,并回答该问题。

)5)添加、删除回答)回答别人的问题,删除自己做的回答。

(6)个人中心)查看基本资料和功能清单,可以在资料上签字、修改。

非功能需求:

(1)数据要求)用户信息、问题信息、问题回复、问题框信息、问题框回复。 提供用户自己输入的问题框键、判断用户某个行为后的状态代码和消息。

)2)性能要求)用户名、密码、问题ID有相应的精度要求。 响应时间、更新处理时间和数据的转换和传输时间有相应的时间限制。

(3)运行要求)用户界面在用户操作后,给出相应的响应。 软件接口和硬件接口提供限制。

2.2软件配置

图1 Asking系统的第一阶段分解

图2确认系统的软件配置

软件结构图的总体说明: Asking系统分为用户登录和系统主界面两个模块。 用户注册主要接收用户的输入,并进行相应的处理。 其中,信息从外部格式转换为内部数据格式,将其标识为输入流。 系统主接口子系统主要负责响应用户进行的相关操作,该子系统是软件的核心,输入数据经过一系列加工处理,被识别为转换流。 将处理后得到的相关信息转换为用户可见的形式。 也就是说,最终将变化流转换为输出流。

图3系统的物理体系结构

图3详细示出了系统的物理体系结构。

3模块说明3.1模块基本信息表1模块基本信息表

包含名称设计器文件的软件包用户登录模块1.1tldhm期望.controlleruser controller.Java. entity user asking.controller asking.entity新用户注册模块1.2 TLD hm user controller.Java. entityuser asking.controlller asking.cong user controller.Java user asking.controller asking.entity搜索问题2.2弱智手套.controlleruser controller.Java. asking asking application.Java. askinganswer asking.controller asking.entity提问管理2.4刘畅.cont

rollerQuestionController.java. controllerQuestionBoxController.javaasking.controller回答管理2.5wjdxmg. controllerQuestionController.java. controllerQuestionBoxController.javaasking.controller问题查看2.6刘畅. controllerQuestionController.java. controllerQuestionBoxController.javaasking.controller回答查看2.7wjdxmg. controllerAnswerController.java. controllerBoxAnswerController.javaasking.controller

​ 如表1所示,说明了各个模块的基本信息,包括模块名称、编号、设计者、所在文件和所在包。

3.2 功能概述

表2 功能描述

编号说明0 11.11.1.1 1.21.1.21.1.32.12.1.12.1.22.32.42.4.12.4.22.52.5.12.5.22.62.7Asking系统:用户登录和新用户注册,个人信息管理,搜索问题,问题推送,提问管理,回答管理,问题查看用户登录,新用户注册获取用户输入的用户名和密码根据用户输入的用户名和密码同用户信息库中的信息核对,并产生登录情况信息获取用户输入的个人信息对新用户输入的个人信息进行合法性检验将检验合格的用户信息存入用户信息库输入信息,执行修改获取用户要修改的信息根据用户输入的修改信息修改用户信息库用户进入主控界面推送热门问题新建提问,删除提问根据输入的问题描述在问题数据库中创建问题记录删除已提出的问题新建回答,删除回答根据用户输入的问题回答在回答数据库创建回答记录并显示删除已存在的回答用户查看自己已经发布过的问题用户查看自己已经发布过的回答

如表2所示,表格第一列是模块编号,表格第二列是说明信息。该表对模块的功能进行了概述。

3.3 算法 3.4 模块处理逻辑

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图4 用户登录程序流程图

​ ​ ​图4是用户登录模块的程序流程图,该模块开始监听用户输入处于监听状态,若用户输入相应信息并且与用户信息库中的用户信息核对后正确用户进入主控界面,若用户未输入相应信息或者与用户信息库中的用户信息核对有误则系统继续处在监听状态。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图5 新用户注册程序流程图

​ ​ ​图5是新用户注册模块程序流程图,该模块开始处于等待用户注册的状态。如果用户提出注册请求就转入获取用户输入信息状态,获取用户输入信息若输入合法在用户信息库创建用户信息记录。如果用户未发出注册请求模块继续处在等待用户注册状态。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图6 搜索问题程序流程图

​ ​ ​ ​图6 是搜索问题模块的程序流程图,该模块首先进入等待用户输入搜索信息状态。如果用户已经输入则获取用户输入并根据输入的搜索关键字在问题信息库中匹配问题最后退出。如果用户未输入则模块继续处于等待用户输入搜索信息状态。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图7 问题推送程序流程图

​ ​ ​图7是问题推送模块程序流程图,模块开始进入监听状态,如果用户进入主界面则从问题数据库中抽取热门问题推送。如果用户未进入主界面则模块继续处于监听状态。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图8 新建回答程序流程图

​ ​ ​图8是新建回答模块程序流程图,该模块开始进行用户是否回复判断,若用户进行回复则获取用户回复信息并且修改问题信息库之后进入用户是否点赞判断,若用户未回复则直接进入用户是否点赞判断。如果用户点赞则修改问题信息库中该问题的获赞数并修改用户信息库中用户的硬币数之后退出,如果用户未点赞则直接退出

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图9 新建提问程序流程图

​ ​ 图9是新建提问模块程序流程图,该模块开始进入等待用户发出提问请求状态。若用户发出提问请求则模块进入获取用户输入问题描述处理,若用户未发出提问请求则模块继续处于等待用户发出提问请求状态。进入获取用户输入问题描述处理后判断用户的输入是否合法,若用户的输入合法则判断用户提问是否为问题箱问题,若用户的输入非法则继续处于获取用户输入问题描述状态。经判断若用户的提问为普通问题则在问题信息库中创建普通问题的记录,若用户的提问为问题箱问题则在问题信息库中创建问题箱问题的记录,最后退出。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图10 个人信息管理程序流程图

​ ​ ​图10是个人信息管理模块程序流程图,该模块首先进入等待用户修改个人信息请求状态。如果用户发出请求则获取用户输入修改的个人信息并修改用户信息库。如果用户未发出请求则模块继续处于等待用户修改个人信息请求状态。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图11 问题查看

​ ​ 如图11所示,该模块开始进入等待用户发出查看问题请求状态。如果用户发出查看问题请求则从问题信息库中得到该用户所有的问题并显示。如果用户未发出查看问题请求则继续处于等待用户发出查看问题请求状态。最后退出。

​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ 图12 回答查看

​ ​ ​如图12所示,该模块开始进入等待用户发出查看回答请求状态。如果用户发出查看回答请求则从回答信息库中得到该用户所有的回答并显示。如果用户未发出查看回答请求则继续处于等待用户发出查看回答请求状态。最后退出。

3.5 接口

表4 用户信息

数据名称数据类型用户名char型密码char型昵称char型个人签名text型等级int型硬币数int型

表5 问题信息

数据名称数据类型问题IDint型用户名char型问题标题text型问题内容text型问题标签char型问题创建时间time型

表6 问题箱信息

数据名称数据类型问题箱IDint型用户名char型问题箱密码char型问题箱标题text型问题箱内容text型问题箱创建时间time型

表7 普通问题回答信息

数据名称数据类型回答IDlong int型问题IDint型回答内容text型回答时间time型

表8 问题箱问题回答信息

数据名称数据类型问题箱回答IDlong int型问题箱IDint型问题箱回答内容text型问题箱回答时间time型3.6 性能

表9 数据精度

字段精度备注用户名char型邮箱密码char型8-12位昵称char型用户是否存在map型前端传过来含有用户名和密码的json对象,后端接受到之后在数据库中匹配,返回是否匹配的信息给前端问题箱IDint型

如表9所示,对不同字段的数据精度进行了详细要求。

时间特性:

(1)响应时间:用户任意操作后5秒内系统给予反馈信息。

(2)更新处理时间:由系统运行状态来决定。

(3)数据的转换和传送时间:能够在20秒内完成。

灵活性:

​ ​ 当需求发生某些变化时,该软件的基本操作、数据结构、运行环境等等基本不会发生变化,只是对系统的数据库的文件和记录进行处理,就可以满足需求。

3.7 测试计划

表10 初步测试计划

模块名称输入数据预期结果新用户注册123@qq.com 123 畅喵用户数据库新增了该记录用户登录123@qq.com 123登录成功进入主界面问题推送进入主界面推送一些问题搜索问题畅喵显示出畅喵的相关问题提问管理“畅喵的QQ是多少?”,普通问题问题数据库中新增了该普通问题提问管理“畅喵的手机号是多少?”,问题箱问题问题数据库中新增了该问题箱问题回答管理点击问题点赞用户硬币数增多,问题数据库中该问题的点赞量加一个人信息管理修改昵称为“畅汪”用户数据库该用户的昵称变为“畅汪”问题查看相关的问题可以正常显示回答查看相关的回答可以正常显示

如表10所示,以对应模块的输入数据和预期结果给出了初步的测试方案。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。