【ExReader】个人技术文档

目录

场景

用例

功能说明书

技术说明书

测试文档


 

  1. 场景

    1. 工作项序号 001
    2. 背景
      1. 典型用户:A君、B君
      2. 用户需求:软件功能说明书
    3. 场景
      1. A君打开ExReader,进入书架页,点击页面上的“+”,把鼠标放到上边会显示导入文章;导入文章后单击此文章进入阅读界面;单击左边菜单栏中单词本,选择考研词库,然后单击菜单栏选择阅读,单击阅读模式,软件会渲染考研词库的单词为淡红色。
      2. A单击显示单词表右侧会弹出单词表,单词表上会有当前页面所有考研词库的单词,用鼠标单击“√”会有表示掌握,当前掌握单词会被渲染成绿色,并且单词会被移到列表最下边,可以单击“×”表示不记得了把单词置为未掌握,重新渲染为淡红色。
      3. A只想看当前的未掌握的单词,单击单词列表中的下拉菜单选择已掌握未掌握显示所有中的已掌握选项,文章中只有未掌握会被渲染成红色。
      4. A读到“perks”但是不认识,把鼠标移到单词上边会显示出单词的意思,A右键单击这个单词弹出菜单保存到默认生词本,用户可以在菜单栏选择生词本去添加生词本更改生词本名字查看生词本单词。
      5. A在网上看到一篇文章,把文章复制并粘贴到阅读页,A单击阅读模式,渲染出考研词库的单词,单击保存会弹出对话框输入文件名,单击确认,书架上会有这篇文章的历史记录
      6. A读完了一篇文章,并且不再想看见它,在书架页面右键单击该文章选择删除
  2. 用例

    1. 标题:渲染词库单词
      1. 角色:A
      2. 主要成功场景:
        1. 打开软件进入书架页面有“+”号
        2. 成功导入文章
        3. 阅读文章界面
        4. 成功选择词库
        5. 渲染出词库中的单词
    2. 标题:更改单词状态
      1. 角色:A
      2. 主要成功场景:
        1. 成功修改单词的状态
        2. 未掌握单词被渲染成绿色
    3. 标题:查看特定状态单词
      1. 角色:A
      2. 主要成功场景
        1. 成功切换显示单词
        2. 成功切换渲染单词
    4. 标题:保存单词
      1. 角色:A
      2. 主要成功场景
        1. 成功显示单词意思
        2. 成功保存到单词本
        3. 成功修改单词本名字
        4. 成功查看单词本词汇
    5. 标题:保存文章
      1. 角色:A
      2. 主要成功场景
        1. 成功保存文章
        2. 书架上显示文章
    6. 标题:删除文章
      1. 角色:A
      2. 主要成功场景
        1. 成功删除文章
  3. 功能说明书

    软件功能说明书

  4. 技术说明书

    1. 类【矩形框中】
    2. 算法改进:把数据库中的词典导入到EFcore迁移的数据库
      1. 导入前先检测数据库中是否存在单词,耗时2min。老师用性能探查器检测出DataContext.Word.Find()耗时严重
      2. 改进为把数据库中元素导入【Dictionary<key word>】来检查有没有重复,耗时变为18s。
      3. 改为只在软件第一次使用时导入相应考纲词汇到EFcore迁移的数据库,耗时减少到4s。
  5. 【ExReader】个人技术文档测试文档

    1. 测试类名 测试功能 时间
      fileDatabaseManageTest 与文件数据库链接 2018年7月23
      customDaiManageTest 管理词典表 2018年7月27
      MigrateTest 测试EFcore数据库迁移 2018年7月25
      PassageManageTest 测试书架信息的管理 2018年7月29
      1. 类:fileDatabaseManage 功能  测试预期结果 实际结果
        openFileDatabaseTest() 链接数据库 不抛出异常
        SearchVocabularyTest() 查单词意思 读出test的translation
      2. 类:CustomDicManage 功能  测试预期结果 实际结果
        ChangeDictionaryNameTest() 新建词典 读出修改后的词典名字
        InsertAWordToCustomDictionaryTest() 插入一个单词到词典 插入成功返回1;已存在该单词返回0
        DeleteDictionaryTest() 删除一个单词本和它的关联表 不抛出异常

        DumpWordsFromFile

        DataBaseToTheDictionaryTest()

        把文件数据库中的单词注入EFcore迁移的数据库中的默认单词表 第一次注入成功返回1,第二次已注入返回0

        DumpWordsFromWord

        BookToCustomDictionaryTest()

        把系统词库导入到用户生词本 导入成功,不抛出异常
        ChangeTheStateOfAWordTest() 改变一个单词的状态位,已掌握/未掌握 读出修改后的状态位
      3. 类:Migrate 功能 预期结果 实际结果
        MigrateTest() 测试数据库迁移成功 不抛出异常
        CreateNewDictionaryAndDeleteAtLast() 测试新建一个新词典 不抛出异常,且读出这个词典
      4. 类:PassageManage 功能 预期结果 实际结果
        GetPassageInfoList() 返回所有文章的信息 不抛出异常,能正确读出文章信息  
        InsertAPassageInfo() 成功插入一条文章的信息 不抛出异常,成功插入  
        DeleteAPassageInfo() 删除文章一条信息 不抛出异常,成功删除