• 软工实践作业(三)



    PDF

    结对作业(一)
    队友博客 031602334

    原型展示地址
    GitHub


    需求分析


    N -- Need,需求

    基本需求:

    • 用户可给定论文列表
      • 通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
      • 可对论文列表进行增删改操作(今年、近两年、近三年);
    • 对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;
      • 可对论文属性(oral、spotlight、poster)进行筛选及分析;
      • 形成如关键词图谱之类直观的查看方式;
    • 可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;
    • 可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。

    附加需求:

    • 提供三大顶会的简介;
    • 论文搜索还可按年份、出版物等进行筛选;
    • 可查看各地区、学校在用户清单中的论文发表数和占比;
    • 在论文详情页提供论文指标、评论、相关论文和关键词等信息。

    A -- Approach,方法

    经过讨论确定,我们的平台主要基于web端实现,有以下几点原因:

    • web端无需额外安装客户端,访问成本较低;
    • web端无平台限制,方便用户跨平台访问,也降低了开发成本;
    • 可直接在浏览器访问其他论文链接,使用更加便利;
    • 移动设备显示面积较小,阅读论文的体验较差,且阅读方面有更完善的应用支持。

    具体实现操作如下:

    对于论文列表的查找和更新需求,我们的处理方式是设计为双栏页面,左页面可即时对列表进行更新操作,也可上传Excel、Numbers、文本文件等不同格式的表格文件。后台对已输入完成的论文标题进行检索,并将结果呈现于右页面。
    头部提供导入、导出、统计分析、清单选择等功能。统计分析提供根据属性、关键词、热点和地区等不同侧重点的统计分析结果。

    对于论文检索需求,我们的处理方式是在主页面中央和各页面顶部都置有搜索框,可以直接输入搜索或者根据选项进行更精细的搜索。
    后台数据库则主要来源于三大顶会已发表的论文。由后台先通过会议网站、IPOL等网站进行爬虫获取论文列表和PDF等文本、源码的下载链接,并保存于数据库中,再与用户输入的标题、ID等进行比对,返回结果。如果在数据库中找不到匹配项,我们也将提供谷歌学术、百度学术等学术论文网站的检索结果(仅在“搜索”中提供)。

    对于热词走势对比需求,我们的处理方式是提供以关键词、研究方向等不同侧重的比较,并且提供饼图、折线图、词云等查看方式。


    B -- Benefits,好处

    • 帮助用户检索、整理了论文清单,并直接呈现部分关键信息,方便了学习,节省了时间;
    • 基于web端运行,便于使用;
    • 对论文清单、顶会论文进行统计分析,并生成许多有参考价值的数据、图表,帮助用户迅速了解近年的研究热点、主要方向、重要成果;
    • 可设置多个清单,即时编辑、检索,方便用户管理自己的学习资源;
    • 设置了相关领域、论文推荐,方便用户迅速了解相关领域动向和重要成果。
    • 设置了论文指标,方便用户迅速了解该论文的质量;
    • 设置了评论区,可提出疑问、解答问题,方便了用户间的交流;
    • 好看.

    C -- Compettors,竞争

    我们的竞争对手有如Papers、Mendeley、Endnote这样的文献管理软件,也有如知网、百度学术、IPOL这样的文献检索网站。他们通常都更专精于一个领域,要么专做文献管理,要么做好文献检索。而我们的网站不仅能提供文献检索功能,还能帮助用户管理文献,并进行统计分析,给出热词趋势、热点研究方向等有价值的信息。我们的软件不仅能更好地服务科研工作者,也能帮助刚刚开始进行科研的同学迅速入门。

    但我们的网站目前仅支持计算机视觉领域三大顶会的检索、统计,而且文献管理功能也较为简单,无法满足部分用户更深入的要求。


    D -- Delivery, 推广

    先从自己所处的实验室、班级开始,推荐他们试用网站并提供反馈,然后完善网站,并逐步扩展功能。

    待网站足够完善后,开始向其他实验室、班级推广,争取得到实验室、学院老师的推广。

    如能得到良好的使用反馈,可以继续向全学校、对外推广,并扩大团队,进一步完善、拓展网站功能。


    原型设计

    首先是最初的页面确认和部分分页面草图(原谅我画的丑图...

    此处输入图片的描述

    此处输入图片的描述

    此处输入图片的描述

    此处输入图片的描述

    结构图

    此处输入图片的描述

    然后是最后的成果截图

    ###**主页**

    此处输入图片的描述

    ###**高级搜索**

    可依据检索词、检索词位置、作者、出版物以及发表时间进行检索,点击搜索或搜索图标课进入高级搜索页面

    网址标示页返回主页

    此处输入图片的描述

    ###**user下拉选择栏按钮**

    用户可选择登录或注册。

    网址标示页返回主页

    此处输入图片的描述

    ###**高级搜索页面**
    • 点击 1 可对搜索结果进行筛选;
    • 点击搜索结果 2可进入论文的详情介绍页
    • 点击 3 可对论文结果进行筛选;
    • 4 为登录注册按钮;
    • 5 为论文热度走势图;
    • 6 为相关课题界面。

    网址标示页返回主页

    此处输入图片的描述

    ###**批量搜索页面**
    • 点击下拉栏 1对批量查找到的论文进行筛选
    • 点击按钮 2显示用户已经生成的论文清单;
    • 点击下拉栏 3对批量查找的论文进行统计分析
    • 点击按钮 4 导入论文列表,并显示于本页左侧;
      (注:点击页面左侧的勾叉按钮可对论文列表中的某一条进行增删)
    • 点击论文条 5可展开论文的简介;
    • 6 显示的为还在查找中的论文。

    返回键返回主页

    此处输入图片的描述

    ###**筛选、统计**

    统计栏 1 2 3 4 可分别对生成的论文根据

    进行分析和统计。

    返回键返回主页

    此处输入图片的描述

    ###**注册**

    点击注册进行新用户注册。

    网址标示页返回主页

    此处输入图片的描述

    ###**注册成功**

    网址标示页返回主页

    此处输入图片的描述

    ###**登录**

    账号登录和短信登录。

    网址标示页返回主页

    此处输入图片的描述

    ###**重置密码**

    网址标示页返回主页

    此处输入图片的描述

    ###**会议介绍页面**

    网址标示页返回主页

    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述
    此处输入图片的描述

    ###**论文的详情介绍页**
    • 网址标示页 1返回主页
    • 点击标题 2进入论文源页面;
    • 点击下载图标 3可下载pdf格式的论文或论文源代码;
    • 4 为本论文的收藏、引用、查看与分享数;
    • 5 为本论文的关键词。

    此处输入图片的描述

    ###**属性**

    返回键返回批量搜索页面
    网址标示页返回主页

    此处输入图片的描述

    ###**关键词**

    返回键返回批量搜索页面
    网址标示页返回主页

    此处输入图片的描述

    ###**热点**

    返回键返回批量搜索页面
    网址标示页返回主页

    此处输入图片的描述

    ###**地区**

    返回键返回批量搜索页面
    网址标示页返回主页

    此处输入图片的描述

    ###**导入论文列表**

    网址标示页返回主页

    此处输入图片的描述


    结对过程

    我们首先阅读了《构建之法》第三、四、八章的内容,并使用NABCD模型进行了需求分析,然后经过讨论,明确了各部分功能、页面的设计概要和细节。

    确定好需求和设计细节后,我们学习了Axure RP的基本用法,熟悉了可能涉及到的原型设计。接着便是逐步完成各个页面的设计,并编写博客。

    分工上,我主要是作为“领航员”(Navigator),而队友主要作为驾驶员(Driver)。我负责总体设计(经两人讨论确定)、文档编写、小部分原型制作和复审,而队友则承包了绝大部分的原型制作和初审。这样分工很大程度上保证了最终成果的质量(免遭我手_ (:△」∠) _),而且队友也不用分心于实际制作以外的事,提高了开发效率。

    以下为结对照片:

    此处输入图片的描述


    遇到的困难

    • 如何理解用户的需求;
      该网站面对的主要是新入科研的同学,所以我们在确保基本功能得到满足的前提下,尽可能使操作更加简便,并添加了多清单、论文指标、相关推荐等功能,便于同学管理论文、快速了解相关领域。
    • 初次使用原型设计工具,非常不熟练;
    • 如何设计网站;
      我们为完成网站的各部分设计比对了许多相关网站(如谷歌学术、百度学术和参考链接中的PLOS),欲在完成需求的前提下,使网站易于上手,且简洁美观。

    PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划 35 32
    · Estimate · 估计这个任务需要多少时间 35 32
    Development 开发 1750 1885
    · Analysis · 需求分析 (包括学习新技术) 180 170
    · Design Spec · 生成设计文档 30 34
    · Design Review · 设计复审 20 9
    · Coding Standard · 代码规范(为目前的开发制定合适的规范) 0 0
    · Design · 具体设计 1500 1643
    · Coding · 具体编码 0 0
    · Code Review · 代码复审 0 0
    · Test · 测试(自我测试,修改代码,提交修改) 20 38
    Reporting 报告 70 69
    · Test Report · 测试报告 30 22
    · Size Measurement · 计算工作量 10 12
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 30 35
    合计 1855 1986

    技能自查

    前两个问题在作业一中已作出回答。

    • 自我感觉你已经具备的专业知识、技能、能力有哪些?

    大致学习经历:初高中做了四年的算法竞赛,大学后虽然没有继续参加,但基本的算法和数据结构知识仍有继续学习。大一到大二学过一年的游戏开发,主要为U3D,也学过基础的3D建模。大二简单接触了Android开发,前端和后端开发都尝试了一下(但前端基本残废)。学校课程中学习过MFC和ASP.Net。目前在实验室进行的是大数据方向的学习和研究。

    目前会的语言是C、C++、C#和JAVA,C和C++是刷算法题(Pascal也是会的2333);C#是U3D开发,网页和桌面应用也会一点(真·一点);JAVA用来做Hadoop开发,Android会个Hello World;Python在做数据库和大数据的时候用过一点,属于半残废水平,但需要的时候也能强行做一下;JavaScript在起初学U3D时学过,但后来就转C#了,所以跟PHP一样是能看懂的水平。

    编码外的技能和能力:竞赛和自学游戏开发及各类开源软件培养了我阅读代码、文档、和搜索资料的能力,能扎实地面向百度、谷歌、CSDN、Stack Overflow等进行编程。Git和SVN都能“不大熟练”地使用。

    • 离成为一个合格的计算机专业本科毕业生,在专业知识、技能、能力上还差距哪些?

    专业知识上,基础理论和前沿领域我都没有足够深入进行学习。计算机是一个仍在不断完善和发展的领域,我觉得对新知识、新技术的追求跟知识本身同样重要。技能上,虽然学过很多,但能称为擅长的却没有。并且,在实际的协作开发中,代码相互纠缠,效率堪忧。这点也跟我协作、沟通能力较差有关。我在时间分配和处理并发事务上也有待提高。

    技能调查表

    Skill/技能 目前的水平 想在课程结束后达到的水平
    Programming: Comprehension (程序理解)(如何理解已有的程序,通过阅读,分析,debug) 2 4
    Programming: Disign (架构设计,模块化设计,接口设计) 2 4
    Personal Software Process (个人软件过程):估计,记录工作量,并逐渐提高 1 3
    SE: Requirement (需求分析,典型用户,典型场景,创新) 1 3
    Software Tools (IDE, performance tool, version control, work item, TFS) 2 4
    Task Plan, estimation and Prioritization (计划任务,估计时间和优先级) 2 4
    Work with others (协同工作,提供反馈,说服别人) 1 3

    总结和感想

    软件开发一定要弄清楚“他们想从软件中得到什么”,只有确定了需求,才能确保之后的设计开发正常进行下去。做设计和原型的过程,就是在与用户交流和明确需求的过程。如果不明确好需求,那就可能在之后的设计、开发过程中花费大量时间和精力更改需求、修改代码。

    在开始原型设计前,我们进行了细致的讨论,对各部分都绘制了设计图,所以整个原型制作过程还算顺利。

    我的队友有非常好的美术功底,在原型设计上也得心应手,设计出了精致美观的页面。并且,她在设计中精益求精,也很愿意投入时间和精力完成好这次的作业。非常感谢她的付出,也希望之后的团队合作能顺利进行。


    参考链接

    IPOL
    CVPR
    ECCV
    ICCV
    Semantic Scholar
    PLOS

  • 相关阅读:
    OD 实验(十六)
    OD 实验(十五)
    OD 实验(十四)
    建立和安装requirements.txt依赖
    不吟诗的会计不是好程序员
    python并发编程--进程&线程--其他模块-从菜鸟到老鸟(三)
    python并发编程--协程---从菜鸟到老鸟(四)
    如何加速pandas的DataFrame
    python web
    mysql 数据类型隐式转化
  • 原文地址:https://www.cnblogs.com/S031602240/p/9694087.html
Copyright © 2020-2023  润新知