结队作业一
这个作业属于哪个课程 | 2021春软件工程实践S班 |
---|---|
这个作业要求在哪里 | 结对作业一 |
结对学号 | 031801124 \ 221801126 |
这个作业的目标 | 1、阅读《构建之法》 2、结对、学习、使用原型设计 |
其他参考文献 | 1.B站学习视频 2.学术网站 3.使用Axure管理团队项目图文教程 |
一、阅读《构建之法》
阅读《构建之法》第3章和第8章的内容,并在下方作业里体现出阅读后的成果。特别是第8章中的NABCD模型。
-
《构建之法》中举了一个例子移山公司的工程师只有20%的时间来写新功能的代码,其他时间都消耗在了提高职业技能、学习新的技术等,“磨刀不误砍柴工”,只有不断使自己的“刀”更加锋利,就是“工欲善其事必先利其器”的道理。
-
书中讲到:需要通过可量化的指标来衡量软件工程师的工作能力,书中用衡量职业运动员NBA球星的案例来说明一样。衡量标准可以通过如项目花费时间、项目大小,项目是否按时、项目交付质量等,可通过LOC、功能点等来具体衡量。
-
软件项目开发的过程中可以使用分而治之的思想,把一个大的任务分成若干个小的组成部分。一方面可以帮助我们理清软件项目设计的细节与过程,另一方面可以将每个小的任务分配给个人,方便PM掌握大家的任务进展,提高工作效率。
-
有关NABCD的理解
N,需求:就是了解用户需要什么,通过调研的方式来掌握用户真正需求的是什么。
A,做法:做法包括项目落地的过程中的技术和其他因素,如法律、人脉、平台、客户群体、目标人群等。
B,好处:做的项目产品能否满足客户的需求?是否为客户带来什么好处?满足目标人群吗?
C,竞争:与同类产品的对比,通过对优劣势进行分析,一来可以完善自己的产品,提高的竞争力,二来可以根据自己的优劣势情况来选择针对的客户群体,提高准确性。
D,推广:如何推广?如何交付的问题功能?如何提高用户的满意度?
二、原型设计:顶会热词统计
1、PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 10 | 15 |
· Estimate | · 估计这个任务需要多少时间 | 10 | 15 |
Development | 开发 | ||
· Analysis | · 需求分析 (包括学习新技术) | 300 | 180 |
· Design Spec | · 生成设计文档 | 30 | 60 |
· Design Review | · 设计复审 | 10 | 10 |
· Coding Standard | · 文本规范 (为目前的开发制定合适的规范) | 10 | 10 |
· Design | · 具体设计 | 120 | 300 |
·Talking | ·结对讨论 | 30 | 60 |
·Development Model | ·开发原型 | 500 | 580 |
· Test | · 测试(自我测试、提交修改) | 30 | 20 |
Reporting | 报告 | 120 | 90 |
· Test Repor | · 测试报告 | 100 | 70 |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 10 | 10 |
合计 | 660 | 745 |
效能分析
我们在计划和估计任务需要时间上做的还不错,但是在学习新技术的时候较为草率,主要表现(我)是无用的视频学习时间,一开始单单看视频而没有上手实操,导致后面真正进入项目阶段又要回去翻看视频相关的功能,导致效率的下降。我们在设计文档、设计复审、文本规范 上都中规中矩,在开发原型和具体设计上还是存在不足,具体表现为没有严格按照设计文档流程走,还是存在拖沓和细节厘清出现问题等状况,对项目开发的具体所用时间产生了影响。最后测试、测试报告、计算工作量、事后总结, 并提出过程改进计划等方面我们完成的也不错。总体而言是一次效率较高的合作。
2、NABCD在项目中的使用
N(Need,需求)
问题与需求:
小刚是一个电影迷,他最近看了一个电影:里面的机器人很快的分类出他视野里的各个物体。这让他感到很酷炫,并且激发了他对计算机视觉领域的兴趣。于是他决定通过阅读论文来了解这个领域的研究现状,但令人苦恼的是,他不知道近几年计算机视觉领域的热门研究方向,根据论文列表去一篇一篇查找总结效率又着实太低,于是想求助“软件工程实践”的同学们,希望我们能帮助他设计一个平台解决现阶段的需求。希望此平台至少具备以下功能:
- 获取待爬取论文列表及论文信息爬取;支持用户输入单个论文题目,也支持批量导入论文列表;
- 通过论文列表,爬取论文的摘要、关键词、原文链接;
- 对已爬取的论文列表进行操作;可对论文列表进行增删改操作;
- 可对论文列表进行查询(输入论文题目,也支持模糊查询:输入论文编号、关键词等基本信息),若在论文列表中不存在所要检索的论文,则根据输入的查询语句到网站爬取并返回论文的摘要、关键词、原文链接;
- 分析已爬取到的论文信息,提取top10个热门领域或热门研究方向;形成如关键词图谱之类直观的查看方式,点击某个关键词可展现相关的论文;
- 可对多年间、不同顶会的热词呈现热度走势对比,以动图的形式呈现(这里将范畴限定在计算机视觉的三大顶会CVPR、ICCV、ECCV内);
用户需要阅读计算机视觉领域的论文,希望了解这个领域的热门研究方向,但又苦恼于效率太过低下的一篇篇去找,所以希望有一个平台能够对论文进行整合、分析,方便自己查看的平台解决现阶段的需求。平台可以给定论文列表,并对其进行增删改操作;平台可以通过论文列表,爬取论文的题目、摘要、原文链接等信息;平台可以对论文属性进行筛选、分析,形成热词图谱等直观查看方式;平台可以对比多年间不同顶会的热词与热度走势对比;平台可以对论文列表分析,并进行数据统计,数据分析。
A(Approach,做法)
我们制作了一个网站来解决这类问题(按模块分类更好)
-
l 可以用户自定义论文列表。
-
l 可以对自定义列表和所有抓取的会议论文进行分析,提取热门领域和热门研究方向
-
l 可以方便地查看每个论文的摘要,关键词
-
l 可以在每个论文下用户留言评论
-
l 主页模块:搜索和展示热词
-
l 仓库模块:方便地导入,自定义自己的论文列表,生成分析报告,相关推荐。
-
l 论文详情模块:简洁明了地显示论文的摘要,关键词。一键阅读全文。
-
l 热词分析模块:展示会议热词,了解热门方向
B(Benefit,好处)
- 可以用自己的论文列表生成分析报告。一键完成
- 可以增删改论文和批量导入论文,方便操作论文列表
- 主页的热词列表方便快速添加论文
- 中文界面,比谷歌学术和微软学术更贴近中国用户。
- 界面简洁明了,没有弹窗、广告等其他干扰项,专心畅游学术海洋
- 轻量级应用,对电脑配置要求低
- 免费开源,无需费用,可以吸取他人的意见和想法
C(Compete,竞争)
优势:
中文界面,比谷歌学术和微软学术更贴近中国用户。
界面简洁明了,没有弹窗、广告等其他干扰项,专心畅游学术海洋
轻量级应用,对电脑配置要求低
免费开源,无需费用,可以吸取他人的意见和想法
快速添加论文,快速了解热点
劣势:
界面较为简陋
相比于大厂软件功能不够完善
仅仅处在原型阶段,没有产品demo进行测试
D(Delivery,推广)
-
利用人际交往在学校实验室中推广第一批用户。
-
在程序员为主的gihub上推广,听取大家的意见。
-
可在CSDN、博客园、微信软件交流群内推广,吸取意见
-
可在学术搜索论坛,如小木虫等私信测评者,精准获取资讯
-
成熟后可包装为创业项目,走上更大的舞台
3、 原型设计
原型设计网页:https://frydby.axshare.com/#id=cas58z&p=%E7%99%BB%E5%BD%95
总体思路:
我们的产品叫做“论文小灵通”,使用Axure RP 9.0进行设计和开发,主页搜索参考了谷歌学术、微软学术、百度学术等网站,个人数据部分参考了之前的图书馆数据库管理系统进行设计。大致框架如下:
1. 登录界面
用户的登录和注册。用户拥有自己的论文列表。
2. 主页
搜索:简单搜索(实现了模糊搜索),高级搜索、搜索后的结果、热门论文推荐
3. 论文列表
可以批量导入论文,收藏论文和删除论文,维护用户自己的论文列表。
4. 论文详情
可以查看论文的标题和作者,看pdf格式的论文,进行收藏和评论
5.论文分析
查看2018到2020年,CVPR、ICCV和ECCV的热点分析
4、结对过程
因为我们两个是舍友,对彼此都比较了解,所以很自然的就结对了,过程也很顺利。下面是结对过程和聊天讨论记录:
5、评价总结
队友宇哥031801124:
结对感受:这次的结队作业让我在做中学,学到了关于原型设计的基础做法。在找资料的过程中发现原型设计也不仅仅是前端外观的设计,其中各种功能的实现,让用户使用起来如同真正使用产品。这些问题的解决也是有很大学问的。以前觉得做后端对于做前端有鄙视链是很有道理的。现在觉得都是有技术难度,不是一蹴而就的。刚开始第一次结对编程的时候觉得跟舍友一起的话跟自己一个人编程去完成也差不多,不过是任务对半分罢了。但是到真正开始一起做的时候,尤其是快到deadline的时候就感觉到了不同。首先就是效率其实是比单独做来得低的。有时候自己做完还要等待对方做完才能继续。以后要是需要合作就要想办法提高效率。然后结队的责任感让我在假期中更有干劲来摆脱其他的干扰来完成任务。
队友评价:当了这么久的舍友,队友一直让我觉得是很靠谱的,技术强,合作过程顺利。与他合作就让我充满了信心。他这次也很给力地完成了任务。我们两个人对于前端和原型设计这方面都是新手,他对新技术上手快,很快就能做出成果。数据分析如何插入到原型设计这一难题他很快就解决了。
我221801126:
结对感受:这次作业与之前作业有很大的不同,需要两个人一起完成。我又学习了《构建之法》的相关内容,进行需求分析,学习到了需求分析的NABCD模型,什么是有效的进行需求分析,怎么保证用户的需要是我们准确的理解,软件项目的功能是用户所需的,怎么能够在同类的市场上产生竞争实力。我了解了产品的核心价值,如何对产品功能的划分让团队更准确、理性,知道了什么是原型,学习了原型在产品开发中的作用,将产品的需求和功能具体化,帮助我们和顾客沟通。我还学习了Axure管理团队项目图文教程 团队协作操作步骤。但在一开始接触学习模型制作时自己觉得很难,有时外出摸鱼,害混了两次役满...结果我还没怎么学队友就已经领先了我很多。这次作业自己拖了宇哥的后腿,很不好意思。还有下次的作业也需要团队合作一起完成,我要继续努力,加油加油加油!
队友评价:宇哥很靠谱,交流起来也很顺利,一开始他告诉我原型是什么,提供汉化软件包和其他的axure的产品安装包等等资源,然后我们在中文的门户网站上面学习,还有B站的相关Axure学习视频,再后来宇哥告诉我怎么使用Axure管理团队项目以及团队协作操作步骤等等。我有时外出摸鱼,完成的比较晚,谢谢队友没有责怪我,但是下次还是可以多催催我哈哈哈哈哈哈。
遇到的困难及解决方法
困难一
- 困难
面对不熟悉的领域和软件使用方式不知所措,对作业要求不清楚不知道要做些什么,一头雾水迷迷糊糊找不到方向。
- 解决
我们询问了往届的学长学姐,听往届学长学姐的说之前的作业的大概模式和样子,阅读了往届学长学姐的博客,减轻了心中的焦虑,明确了需求和方向。这告诉我们:我们要多查询相关资料,站在巨人的肩膀上看问题。
困难二
- 困难描述
axureRP等软件的学习和使用不熟练,对新鲜的axureRP抱有厌烦急躁之心,axureRP云团队同步共享项目时常卡顿,对项目产生不利影响。
- 解决
在学习网站上观看原型工具AXure的相关视频教程,实操项目;在QQ看到了有同样云经历的同学的处理方法,换用了谷歌浏览器,提升了浏览质量。这告诉我们:要多动手,有目的性地多去实践学习内容,实践方出真知,这样才能取得到更好的学习效果。