• 重磅!我组概要设计文档正式发布!


    本文档由蹭一蹭软工项目小组撰写,任何复制、使用本文的全部或部分内容的行为必须先征得小组同意,谢谢。

    项目文档:概要设计文档

    1. 引言部分

    引言部分主要说明编写目的、系统的范围和参考资料等。

    1.1目的

    该文档的目的是描述学生蹭课软件的概要设计,主要内容包括系统功能简介、系统结构设计、模块设计和界面设计等。

        本文档的预期读者包括:设计人员,开发人员,项目管理人员,测试人员。

    1.2 范围

    1.2.1 系统目标

    开发一个满足大学生在课余时间的蹭课需求的安卓端app。既可以供大家查阅自己感兴趣课程的相关信息,又可以满足同学们在公告板跳转到教务处网页及时收到通知的需要,还可以提供社区板块查看别人的讨论、留言、以及对相关课程的点评。

    1.2.2 主要软件需求

    该系统的主要功能包括:

    l  系统初始化设置

    l  用户管理

    l  搜索相关课程

    l  社区讨论

    l  公告板服务(对教务系统和百度等网站的跳转)

    l  个人页面

    1.2.3 软件设计约束、限制

    软件支持多客户端同时使用的分布式物理结构。

    1.3缩写说明

    无。

    1.4术语定义

    无。

    1.5参考资料

    [1]窦万峰.软件工程与实践[M].北京:机械工业出版社,2017.

    [2]软件概要设计文档格式标注[S].GB 856D-1988.

    1.6版本信息

    具体版本信息如表A-1所示

    表A-1 具体版本信息

    修改编号

    修改日期

    修改后版本

    修改位置

    修改内容概述

    1

    2018-5-1

    1.0

    全部

    完成第一次编写

    2. 数据设计

    本部分主要描述软件所涉及的外部数据的结构描述。如果数据以数据库文件呈现,则描述表的名称和表字段结构;如果数据以外部文件形式呈现,则要描述文件的内部结构。

    2.1数据对象和形成的数据结构

    “蹭一蹭”app所设计的主要数据结构如下:

    课程表:课程编号,课程名,课程类型,课程所属学院,任课老师,课程时间,课程学分,课程开课学期,课程所用课本名称。

    社区表:用户编号,用户昵称,博客编号,博客名,发博客所在日期。

    个人信息表:用户编号,用户昵称,用户密码,偏好课程编号,偏好课程名,偏好课程类型,偏好课程所属学院,偏好课程任课老师,课程时间,偏好课程学分,偏好课程开课学期,课程所用课本名称。

    用户总表:用户名,用户密码,用户注册用手机号,用户是否绑定邮箱号,用户邮箱号,用户创建日期,用户更新日期。

    2.2 文件和数据库结构

    描述文件的数据库结构。

    2.2.1 外部文件结构

    包括文件的逻辑结构、逻辑记录描述、访问方法。

    2.2.2全局数据

    “蹭一蹭”app的全局变量有:

    系统时钟Timer

    2.2.3 文件和数据交叉索引

    l  用户信息文件在用户管理和用户个人信息(即“我的”)功能中;

    l  课程表文件用于课程搜索功能中;

    l  社区表文件用于社区功能中;

    l  个人信息表文件用于个人信息模块记录搜索偏好功能中。

    3 体系结构设计

    这一部分主要描述软件的逻辑组成接口,即软件结构图的绘制。但本小组使用的是面向对象的设计方法,因此,在此处用活动图替换了数据流图。

    3.1数据和控制流复审

    对需求规格说明书中要实现的功能进行归纳分析,对涉及的数据和控制流进行汇总和归并,为概要设计做准备。

    一般对数据流图的精化分析包括两个方面的内容,一是复审整个数据流图,查看有没有遗漏的地方,并补充和完善。二是分析每一个数据流图(活动图),去掉一些细节的内容,这里去掉数据存储和外部用户。

    对部分数据流图(活动图)的精化场景描述如下:

    待添加。

    3.2 得出的程序结构

    根据复审的数据流图(活动图),逐步得出软件的逻辑结构组成。利用优化思想,对软件结构图进行优化设计,得出模块层次结构适中的软件结构图。如下所示:

     

    4.界面设计

    这一部分主要给出界面设计的总体要求和界面序列,以及界面设计约规。

    4.1 人机界面规约

    给出界面风格,约定和操作要求,设计出用户的所有界面。“蹭一蹭”手机APP的界面主要包括以下几种。

    (1)登录首界面:该界面能够输入用户名和短信验证码;用户名是用户的合法手机号,然后通过获取验证码的方式进行登录,同时,登录界面还要有用户注册功能。

    (2)蹭课查询界面:该界面主要是通过用户所选择的搜索方式来进行搜索,最后显示结果;搜索方式应分为按上课时间搜索,授课教师搜索,课程名字搜索。最后显示的结果应包括课程名称,课程编号,课程类型,开课学院,授课老师,上课时间,上课地点,学分,学期。同时对于自己喜欢的课程用户可以收藏。

    (3)公告板界面:该界面主要是用户能通过提供的教务处和百度链接,及时查看消息,公告;在该界面处应有两个链接,用户在选择某一链接时能实现跳转功能。方便用户阅读信息。

    (4)社区界面:该界面主要是显示所有用户的发言记录,通过下拉界面还会不断进行刷新,同时还应提供自己发言功能。

    (5)个人信息界面:该界面主要是能够进行个人信息设置和显示偏好课程信息;设置的个人信息应包括昵称,院系,头像。其中院系应为华中农业大学十四个院系中之一,设置完成后,进行保存,所显示的偏好课程信息应包括:偏好课程学期,偏好课程名称,偏好课程编号,偏好课程学分,偏好课程类型,偏好开设学院,偏好课程老师姓名,偏好课程上课地点,偏好课程上课时间,教材名字。

    (6)总控界面:是该软件的主界面,主要完成与用户的交互任务,接收用户请求,并调用相应模块。

    4.2人机界面设计规约

    给出界面序列关系,以及每个界面的操作规则和处理规则。“蹭一蹭”手机APP有以下几种界面序列。

    登录首界面:

    新用户的界面序列:注册—进入总控界面(搜索界面)。

    老用户的界面序列:登录—进入总控界面(搜索界面)。

    总控界面与蹭课查询界面序列:总控界面—按所选择的方式进行搜索—得出搜索结果。

    总控界面与公告板界面序列:总控界面—公告板界面—点击链接实现跳转。

    总控界面与社区界面序列:总控界面—社区界面—选择发言或浏览—刷新界面。

    总控界面与个人信息界面序列:总控界面—个人信息序列—选择设置个人信息活查看偏好课程—保存或显示结果。

    5 接口设计

    本部分主要描述模块的接口类型和参数等。

    待编码确定后再进行更新

    6 模块过程设计

    6.1查阅课程子系统

    1.外部用户

    用户:系统的合法用户。

    2.功能

    通过课程名称查阅课程;

    通过上课老师查阅课程;

    通过上课时间查阅课程。

    3.用例模型视图

    4.活动图

     

    5.场景描述

    用例名称:通过课程名称查阅课程。

    范围:查阅课程子系统。

    级别:重要。

    主要参与者:用户(关注身份的合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app。

    主成功场景:

    (1)选择按照课程名称查阅课程按钮。

    (2)输入课程名称。

    (3)得到查阅的课程结果。

    扩展:

    (2a)选择了按照其他条件查找课程的按钮

    特殊需求:无。

    技术和数据变元素:采用数据库管理。

    发生频率:经常

    用例名称:通过上课老师查阅课程。

    范围:查阅课程子系统。

    级别:重要。

    主要参与者:用户(关注身份的合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app。

    主成功场景:

    (1)选择按照上课老师查阅课程按钮。

    (2)输入课程名称。

    (3)得到查阅的课程结果。

    扩展:

    (2a)选择了按照其他条件查找课程的按钮

    特殊需求:无。

    技术和数据变元素:采用数据库管理。

    发生频率:经常

    用例名称:通过上课时间查阅课程。

    范围:查阅课程子系统。

    级别:重要。

    主要参与者:用户(关注身份的合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app。

    主成功场景:

    (1)选择按照上课时间查阅课程按钮。

    (2)输入课程名称。

    (3)得到查阅的课程结果。

    扩展:

    (2a)选择了按照其他条件查找课程的按钮

    特殊需求:无。

    技术和数据变元素:采用数据库管理。

    发生频率:经常

    6.2公告板子系统

    1.外部用户

    用户:系统的合法用户。

    2.功能

    跳转教务处网站;

    跳转百度网站。

    3.用例模型视图、

    4 .活动图

     

    5 .场景描述

    用例名称:跳转教务处网站。

    范围:公告板子系统。

    级别:重要。

    主要参与者:用户(关注身份合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app并连接上互联网。

    主成功场景:

    (1)选择跳转教务处网站按钮。

    (2)跳转至教务处网站(仍在app内部)。

    扩展:

    (2a)选择了跳转其他网站的按钮

    特殊要求:无。

    技术和数据变元素:

    发生频率:经常

    用例名称:跳转百度网站。

    范围:公告板子系统。

    级别:重要。

    主要参与者:用户(关注身份合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app并连接上互联网。

    主成功场景:

    1)   选择跳转百度网站按钮。

    2)   跳转至百度网站(仍在app内部)。

    6.3社区子系统

    1.外部用户

    用户:系统的合法用户。

    2.功能

    用户发言;

    用户评价蹭课;

    用户推荐课程;

    用户查看其他用户发言。

    3.用例模型视图

    4 .活动图

     

    5.场景描述

    用例名称:发言。

    范围:社区子模块。

    级别:重要。

    主要参与者:用户。

    涉众及其关注点:用户关注如何发言。

    前置条件:合法用户。

    成功保证:登录成功。

    主成功场景:

    (1)在文本框中输入想要发言的内容。

    (2)点击发言按钮以请求发言。

    (3)发送发言请求。

    (4)系统同意发言请求。

    (5)系统接受发言文本并在界面上显示出来。

    拓展:

    (5a)输入内容是空白,发言失败。

    特殊需求:无

    技术和数据变元素:用户的发言内容既可以用文件来存储,也可以在数据库中存储和管理。

    发生频率:经常。

    用例名称:评价蹭课。

    范围:社区子模块。

    级别:重要。

    主要参与者:用户。

    涉众及其关注点:用户关注如何评价蹭课。

    前置条件:合法用户。

    成功保证:登录成功。

    主成功场景:

    (1)在文本框中输入想要评价蹭课的内容。

    (2)点击发言按钮以请求评价蹭课。

    (3)发送评价蹭课请求。

    (4)系统同意评价蹭课请求。

    (5)系统接受评价蹭课文本并在界面上显示出来。

    拓展:

    (5a)输入内容是空白,评价蹭课失败。

    特殊需求:无

    技术和数据变元素:用户的评价蹭课内容既可以用文件来存储,也可以在数据库中存储和管理。

    发生频率:经常。

    用例名称:推荐课程。

    范围:社区子模块。

    级别:重要。

    主要参与者:用户。

    涉众及其关注点:用户关注如何推荐课程。

    前置条件:合法用户。

    成功保证:登录成功。

    主成功场景:

    (1)在文本框中输入想要推荐课程的内容。

    (2)点击发言按钮以请求推荐课程。

    (3)发送推荐课程请求。

    (4)系统同意推荐课程请求。

    (5)系统接受推荐课程文本并在界面上显示出来。

    拓展:

    (5a)输入内容是空白,推荐课程失败。

    特殊需求:无

    技术和数据变元素:用户的推荐课程内容既可以用文件来存储,也可以在数据库中存储和管理。

    发生频率:经常。

    用例名称:查看。

    范围:社区子模块。

    级别:重要。

    主要参与者:用户。

    涉众及其关注点:用户关注如何查看。

    前置条件:合法用户。

    成功保证:登录成功。

    主成功场景:

    (1)点击社区板块。

    (2)进入社区板块。

    (3)查看本页发言、评价蹭课、推荐课程的内容。

    (4)单击下一页查看下一页的发言、评价蹭课、推荐课程的内容。

    拓展:

    (5a)无发言内容,查看失败。

    特殊需求:无

    技术和数据变元素:用户的评价蹭课内容既可以用文件来存储,也可以在数据库中存储和管理。

    发生频率:经常。

    6.4我的子系统

    1.外部用户

    用户:系统的合法用户。

    2.功能

    设置个人信息(设置昵称等);

    查看偏好课程。

    3.用例模型视图

    4 .活动图

     

    5.场景描述

    用例名称:设置个人信息(设置昵称)

    范围:“我的”子系统。

    级别:重要。

    主要参与者:用户(关注身份的合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app。

    主成功场景:

    (1)选择设置个人信息按钮。

    (2)输入昵称。

    (3)保存修改的信息。

    扩展:

    (2a)输入不合法字符空格,单击重填;

    特殊需求:无。

    技术和数据变元素:采用数据库管理。

    发生频率:经常

    用例名称:查看偏好课程

    范围:“我的”子系统。

    级别:重要。

    主要参与者:用户(关注身份的合法性)。

    涉众及其关注点:无。

    前置条件:合法用户。

    成功保证:进入app。

    主成功场景:

    (1)选择我的偏好课程按钮。

    (2)得到偏好课程的相关信息。

    扩展:

    特殊需求:无。

    技术和数据变元素:采用数据库管理。

    发生频率:经常

    7.逻辑分析与建模

    7.1搜索子系统建模

    7.1.2类模型

    7.2公告板子系统建模

    7.2.2类模型

    7.3社区子系统建模

    7.3.2类模型

    7.4我的子系统建模

    7.4.2类模型

    8.需求交叉索引

    描述需求与模块的关系,存在交叉部分,即共享模块的调用关系。

    l  用户管理:登录,注册

    l  搜索相关课程:按按上课时间搜索,授课教师搜索,课程名字搜索。

    l  社区讨论:保存记录发言,浏览其他发言。

    l  公告板服务:对教务系统和百度等网站的跳转

    l  个人页面:设置个人信息(昵称,院系),查看偏好课程信息。

    本文档由蹭一蹭软工项目小组撰写,任何复制、使用本文的全部或部分内容的行为必须先征得小组同意,谢谢。

  • 相关阅读:
    pytest常用命令行
    pytest中一些常用插件
    case运行失败进行重试-pytest-rerunfailures插件
    adb 在自动化测试中的截图
    app的冷启动和热启动
    ATX
    UI自动化中常用的三种等待
    allure
    性能指标分析
    接口自动化之接口依赖解决
  • 原文地址:https://www.cnblogs.com/bestruangong/p/8976231.html
Copyright © 2020-2023  润新知