zoukankan      html  css  js  c++  java
  • 结对作业之原型设计

    作业链接:https://edu.cnblogs.com/campus/fzu/Grade2016SE/homework/2107
    队友地址:http://www.cnblogs.com/ZCplayground/p/9678358.html
    PDF:https://files.cnblogs.com/files/ZCplayground/软工结对作业之原型设计-赵畅-胡展瑞.pdf

    需求分析

    使用《构建之法》中提到的NABCD方法对这个idea进行分析。

    N(need,用户的需求)

    本次作业的需求是由一名大三的学生“小樱”提出的,小樱作为一名刚入门科研的同学,缺少合理的论文检索和阅读技巧,但他有快速了解研究领域的热门方向的迫切需求。小樱同学无法短期内阅读大量文献,但他想在毕业前完成一篇“站在时代前沿的优秀论文”,所以需要一个好的软件来对文献进行分析和管理。他有以下需求:

    • 由于阅读论文的技巧还不熟练,通过阅读大量文献来掌握当前领域的研究情况实在痛苦。希望只需通过给出一个论文的列表,就可以获取近几年顶会的热门领域和研究方向。对热门研究方向以数据可视化的直观形式展示,例如热词图谱。
    • 通过这个论文列表,可以直接爬取一些关于论文的基本信息,来方便论文的阅读。例如:论文的作者、摘要、原文链接、属性等,可以节省很多的检索时间。
    • 对于这个论文列表,希望能支持增删改操作,方便及时更新自己的论文库。
    • 实现类似搜索引擎的功能,通过输入编号、作者、题目来返回相关的paper信息。
    • 数据统计功能,方便小樱了解不同国家/学校对各个方向的研究实力、不同顶会/不同年份的热词变化情况等。

    A(Approach,做法)

    我们打算使用Web端来实现这个软件,主要出于以下几点考虑。首先,Web端的使用较为简便,省去安装/部署的麻烦,只需要在浏览器上输入网址,就可以随时随地、较为轻松地使用论文检索、分析热度等功能。其次,若只做成手机APP的形式,考虑到用户可能会在我们这个软件上直接阅读paper,手机带来的论文阅读体验并不好(字体过小,需要经常滑动屏幕,不方便做批注等)。将软件用网页的形式让用户使用,还能方便用户利用碎片化的时间,在移动终端设备上使用除了直接阅读paper以外的各项功能。

    B(Benifit,能给用户带来什么好处)

    • 每篇论文都爬取了原文链接,节省大量花在检索上的时间。
    • 整理每篇论文的简要信息,节约熟悉一篇论文的精力。
    • 分析特定定会论文的热门研究方向,帮助同学们抓住主干,找到研究点
    • 方便用户管理自己阅读的文献、方便用户进行批注、修改等操作。

    C(Competitors,竞争)

    目前市面上无论是移动端还是桌面端,都存在一些文献阅读管理的软件,例如papers。这类文献管理软件更像是一个“文件整理助手”或“论文笔记整理袋”的角色。我们的软件除了这两个角色之外,还能够快速提取paper的关键信息、热词分析、研究方向统计等,这些功能是传统文献管理软件所欠缺的。我们的软件不仅仅是所有科研工作者的好帮手,更能够很好地帮助到刚刚入门科研的同学(在大学中有不少和小樱相似的,想要入门科研的同学,以及大四要做毕设的同学们),降低他们阅读论文、寻找研究点时遇到的困难。

    D(Delivery,推广)

    这个软件的适用目标人群是十分广泛的,就是面向所有的科研工作者、在校大学生/研究生。首先,我们打算找到我校大力支持软工实践课的灵魂人物——张栋老师——麾下的实验室,请里面的各位研究生/本科生们试用此软件的各项功能。若软件的各项功能都较为优秀,或者经过用户反馈后进行若干版本更迭后,可以向数学与计算机科学学院的其他实验室进行推广试用,也通过实验室的各位学长学姐推荐给更多的研究人员使用。如果反响不错,可以考虑正式上线。

    原型设计

    软件模块

    使用了 Axure RP 8 原型设计工具。软件的名字暂时定为 SAKURA PAPER(专为小樱同学设计)。初步的原型囊括的功能如下:

    欢迎页
        - 登陆
        - 注册
    
    论文列表
        - 显示论文信息
            - 原文链接
            - homepage
            - GitHub
            - 阅读模式
            - 热词
        - 显示列表
        - 选择
        - 导入
        - 删除
        - 阅读
        - 生成热词
        - 检索
    
    热点分析
        - 热词图谱
        - 会议热点
        - 论文数量
        - 不同年份、学校、国家研究热点变化情况
    

    具体设计:

    • 登陆和注册页面:

    • homepage,显示论文列表:

    • 点击某一篇论文的标题可以查看该论文的详细信息:

    • 阅读模式:

    • 选择某一会议,分析该会议类别下的研究热点:

    • 用户选中一篇论文来查看该篇论文的热词图谱

    • 用户输入不同年份、学校、国家研究来查看论文发表的情况、热点变化情况

    视频展示

    结对过程

    瑞:结对过程就好比谈恋爱,你试探一句,我试探一句,两个人就成了:D.由于其他的原因。我们从周五到周日就是无时不刻呆在一起,畅的思想给了我一个新的高度,可以说是软工实践的领路人。在最后的这几天,我们利用了每天下午的两个小时在互相谈论原型设计。

    畅:*在上周五,我们先各自开始阅读《构建之法》的第八章,体会用 NABCD 方法来分析软件的方方面面的技巧。然后两人一起通过交流,一起对作业里的软件需求进行分析,并撰写初步的博客内容框架。至周日,基本上完成了NABCD的分析环节,明确了该软件的各个模块和各功能需求。

    确定需求,划分清楚功能模块后,在上周日开始原型的建立。刚开始主要还是花时间熟悉 Axure RP 8 的基本用法,熟悉用法之后用起来还是比较方便的。经过周一、周二、周三这几天的增量迭代之后,逐渐完善了原型的设计,并编写博客。*

    上周日时分析需求、讨论软件功能时的照片:

    遇到什么困难?

    • 审美黑洞。不知道好的UI要如何设计,无从下手。既然自己脑子里没有清晰的目标,不如参考现有的优秀UI设计,所以登陆和注册界面的风格就参考了GitHub。配色也是一种问题,好在展瑞给了一个搭配颜色的网站colorhunt,为界面搭配上了和谐的颜色。

    PSP、学习记录表

    • PSP
    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 10 10
    · Estimate · 估计这个任务需要多少时间 10 10
    Development 开发 360 530
    · Analysis · 需求分析 (包括学习新技术) 60 80
    · Design Spec · 生成设计文档 60 120
    · Design Review · 设计复审 30 60
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 0 0
    · Design · 具体设计 180 240
    · Coding · 具体编码 0 0
    · Code Review · 代码复审 0 0
    · Test · 测试(自我测试,修改代码,提交修改) 30 30
    Reporting 报告 50 60
    · Test Repor · 测试报告 30 40
    · Size Measurement · 计算工作量 10 10
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 10 10
    合计 420 600
    • 学习记录表
    第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
    1 500 500 12 12 单元测试的写法
    2 0 500 10 22 Axure RP 8 原型设计工具

    参考链接

    http://www.qianjia.com/html/2018-05/28_293381.html 
    http://openaccess.thecvf.com/CVPR2018.py

  • 相关阅读:
    241. Different Ways to Add Parentheses java solutions
    89. Gray Code java solutions
    367. Valid Perfect Square java solutions
    46. Permutations java solutions
    116. Populating Next Right Pointers in Each Node java solutions
    153. Find Minimum in Rotated Sorted Array java solutions
    判断两颗树是否相同
    求二叉树叶子节点的个数
    求二叉树第k层的结点个数
    将二叉排序树转换成排序的双向链表
  • 原文地址:https://www.cnblogs.com/Huzr/p/9680935.html
Copyright © 2011-2022 走看看