• 软工实践第三次作业-原型设计


    写在最最前面

    界面我自己看的挺顺眼的,就当他美观吧哈哈哈哈(尴尬)

    写在前面

    本次作业

    结对成员:031602441 张子纯,031602408 何守成

    队友博客:队友博客

    原型设计工具:墨刀

    原型:
    cvsource.com

    附件:
    pdf

    PSP表格

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划
    Estimate 估计这个任务需要多少时间 720
    Development 开发
    Analysis 需求分析 (包括学习新技术) 60 50
    Design Spec 生成设计文档 120 200
    Design Review 设计复审 10 30
    Coding Standard 代码规范 (为目前的开发制定合适的规范) 0 0
    Design 具体设计 360 540
    Coding 具体编码 0 0
    Code Review 代码复审 0 0
    Test 测试(自我测试,修改代码,提交修改) 60 60
    Reporting 报告
    Test Repor 测试报告 60 60
    Size Measurement 计算工作量 60 70
    Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 30 60
    合计 760 1070

    NABCD模型

    N--need,需求

    平台功能

    1.用户可给定论文列表

    • 通过论文列表,爬取论文的题目、摘要、关键词、原文链接;
    • 可对论文列表进行增删改操作(今年、近两年、近三年);

    2.对爬取的信息进行结构化处理,分析top10个热门领域或热门研究方向;

    • 可对论文属性(oral、spotlight、poster)进行筛选及分析;
    • 形成如关键词图谱之类直观的查看方式;

    3.可进行论文检索,当用户输入论文编号、题目、关键词等基本信息,分析返回相关的paper、source code、homepage等信息;

    4.可对多年间、不同顶会的热词呈现热度走势对比(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内)。

    5.拓展功能1:增加账户功能。用户使用产品时可以注册账号。

    + 用户可以收藏自己感兴趣的论文页
    + 用户拥有个人主页,可接收消息,查看最近浏览记录等
    + 用户可以关注别的用户。关注后,经对方允许可以查看对方的动态
    *+ 用户可设置隐私权限和更改个人资料 *

    6.拓展功能2:增加社区功能,用户间可以互相讨论

    + 用户可以加入感兴趣的讨论组
    + 用户可以收藏帖子
    + 用户可以点赞帖子,在帖子下评论,回复其他用户的评论
    + 用户可以发布帖子

    A--approach,方法

    1.实现工具:web

    优点:

    • 方便客户访问
    • 便于推广
    • 方便论文这种大文档查看

    2.具体分析

    • 针对功能1--根据论文列表爬取论文,对论文列表进行增删改
      (其实我现在也不懂论文列表是啥,不过既然学姐说按年份和时间来发挥自己的想象,我就真的自己想象了啊。。。如果错的话希望学姐这里不要扣分,求私聊让我改<卒>)
      我理解的论文列表:用户输入会议名称或者年份,后端去官网上爬取数据显示出来
      因为需求中有对论文列表进行增删改操作,如果是选择框的话,无法做到对全部年份的增删改。这里我借鉴了花瓣网的处理方法,通过用户输入空格把搜索元素隔开。例如要查询2017年ICCV的论文,就输入“2017 ICCV”。这样如果用户要增删改的话会比较灵活。然后把用户输入的一个个搜索元素提取出来,综合一下,去官网爬取数据。

    • 针对功能2--top10和筛选
      用户可以在结果页面对论文的top10关键字或属性进行筛选。针对不同的结果进行统计top10关键字。对每个会议不同属性的论文占比进行分析。
      (为了让对这个领域感兴趣的普通人也能轻松查看,这里我们设定我们的平台有一定的翻译功能,显示是中文结果)

    • 针对功能3--论文检索
      这里我本来是想让论文检索和列表检索使用不同的搜索按钮,共用一个搜索框,毕竟搜索的语法完全不同按错按钮也不会有影响。但考虑到搜索的高效性,最后决定把他们分开。论文搜索设下拉框,可以选择关键字,题目,编号,全部四个不同属性进行检索。检索方式也是去官网爬取。

    • 针对功能4--热词走势对比
      这个热词走势对比,感觉对这方面感兴趣的普通人应该挺关注的,所以我把它放到了首页,和论文检索一样用来吸引还没有注册的用户。实现就是通过预先去官网抓取关键字,当用户查看时,直接调出。

    • 针对功能5--拓展功能 账户
      其实一开始没想做那么多,就是想用户查到了论文,可是这种学术论文只看一次肯定理解不了,所以用户有收藏论文的需求。但是要分辨究竟是谁的收藏,所以就新加了账户功能。然后就想有账户之后肯定要有设置这种东西等等这个板块就拓展了起来。实现还是通过后端的数据库存储每个用户的信息,这个就是我们上学期的数据库实践的内容了。

    • 针对功能6--拓展功能 社区
      账户都出来了,那就再来个交流社区吧。可以和别人交流学习心得,提出自己的问题,再大胆点,论文的作者发布帖子推广自己的产品啊,回答粉丝的问题啊。想想我都想要个这种平台!实现的话还是靠后端的数据库。

    B--benefits,好处

    • 使用方便:寄予web的实现,人人都能访问。
    • 了解科技发展趋势:我们总结了热词,让你紧跟时代发展。
    • 节约时间:节约你去一个一个官网查论文的时间。
    • 交友:关注业内大牛,认识兴趣相同的人。
    • 提问:在读计算机视觉顶级会议的论文中,肯定会有问题。可以在社区中提出你的疑问。

    C--compettors,竞争

    优势

    • 页面美观,搜索操作简洁易实现。
    • 有分析功能,分析热词走势,最火关键词等,让用户紧跟时代潮流。将结果通过图表的形式显示出来,方便用户查看。
    • 与其他组相比多了账户和社区的功能。
    • 可以在社区中提出问题,与其他人讨论。
    • 可以将论文放到你的收藏夹中,并对他们进行分类。
    • 更专注于计算机视觉领域,我们更专业(哈)

    劣势

    • 功能较多,实现繁琐,前期投入大
    • 没有用户基础,投入前期社区板块难做。

    D--Delivery,推广

    先从本校学生教师中推广,把他介绍给实验室的老师同学们。在此过程中听取用户意见,修改bug,完善功能。一段时间后,向其他学校实验室推广。

    结对过程

    讨论过程


    实现原型

    队友优点:积极认真,随叫随到
    缺点:迷之审美。。。

    遇到的困难及解决方法

    • 对队友之前相互不了解
      解决:结对第一天开了见面会,对彼此的性格有了初步了解。在原型制作的过程中也在努力的不断的磨合。

    • 对计算机视觉这个领域不了解,并且没有看过国外的论文,对这种峰会的论文体系结构不了解
      解决:有困难找学姐!!经常打扰学姐真是不好意思!!感谢学姐!!!鞠躬

    • 第一次知道还有原型这种东西
      解决:上网查资料,问同学,不断实践。墨刀这个工具还是挺简单的。

    • 一开始做的不像个网页
      解决:我们很早就做出来了个原型。但是,它一点也不像个网页!(哭笑)因为我之前数据库做的事客户端,所以对网页制作也不是很了解。然后我就去网上找相关的搜索网页,惊奇的发现网页的两边是要留白的。这个主要是因为人的眼睛移动幅度过大会很累。于是我们改了后,变得像真的网页多了。

    原型实现

    功能图如下

    论文搜索,点击高级搜索可进入列表搜索,可选搜索范围

    点击主页下方点击查看最新热词进入热词分析界面

    论文检索界面

    列表搜索,点击论文搜索可回去,要使用此功能需要先登录

    登陆界面

    登陆后列表搜索功能

    输入2017和空格后界面

    结果界面


    筛选属性

    TOP10热词,点击左上角详情,显示与热词相关的论文


    属性分析,分析不同顶会三种属性论文的数目,点击左上角扇形查看不同属性的占比


    点击右上角的的头像进入个人空间

    个人主页

    收藏夹

    设置

    我的关注

    点击上方发现按钮进入社区

    帖子页面

    写贴

    总结

    通过这次原型设计的锻炼,我体会了原型开发范型中快速建立原型这一关键环节的实现过程。对软件工程的过程模型有了更深刻的理解。这是第一次结对作业,与队友磨合好非常重要。虽然过程中遇到了很多的困难,但在我们的共同努力下,都顺利解决了。原型设计真是个好东西,在于非计算机领域的客户沟通时,方便客户的理解,少了很多麻烦。

    附加作业

    已具有的:数据库,OS,计算机网络,汇编的基本知识,多个计算机语言的使用。
    差距:算法的运用,写代码的行数。

    skills 课前评价 课后评价
    架构设计,模块化设计,接口设计 4 5
    模块实现,逐步细化 4 5
    单元测试,代码覆盖率 3 5
    效能分析和改进 3 5
    代码复审/代码规范/代码质量 3 5
    需求分析,典型用户,典型场景,创新 5 8
  • 相关阅读:
    OpenCV图像处理之 Mat 介绍
    linux 更改网卡名称 eth0
    【git】git常用命令
    【JS】函数提升变量提升以及函数声明和函数表达式的区别
    【VUE】vue中遍历数组和对象
    加密盐的意义和用途
    sql server2005版本中,len函数计算了字符串末尾的空格
    ES之一:API使用及常用概念
    flink (一)
    ClassLoader详解 (JDK9以前)
  • 原文地址:https://www.cnblogs.com/zzc2018/p/9690585.html
Copyright © 2020-2023  润新知