大娃html
:后端开发人员,主要工做为后端开发,文档撰写。前端
大娃的我的博客git
二娃github
PM,主要工做为项目进度把控,例会博客撰写。chrome
二娃的我的博客数据库
三娃*编程
PM,主要工做为项目进度把控,用户需求分析,组织平日例会,各种博客的撰写和项目推广。后端
三娃的我的博客浏览器
四娃布局
前端开发人员,主要工做为网页各项功能的实现,文档撰写。
四娃的我的博客
五娃
前端开发人员,主要工做为页面开发,文档撰写。
五娃的我的博客
WF
测试,主要工做为测试先后端代码,发现bug交付给开发组。
WF的我的博客
七弟
前端开发人员,主要工做为页面开发,文档撰写。
七弟的我的博客
此外,团队博客中也有一篇关于团队成员的详细介绍(附成员美照),连接以下:团队成员介绍
需求分析
现在deep learning大火,不少计算机人甚至其余专业的人都会向deep learning中跳,但从0到入门这一过程当中着实面临着一些困难:
可见现有的学习途径对初学者并非很友好。因此咱们想搭建一个在线平台, 提供给用户可拖拽的编程方法,经过图形链接自动生成程序。用这种方式能够帮助没有接触过deep learning的人更快、更直观地理解基本原理,并作一些前期的简单练习,可以快速入门。
同时,咱们还会为用户提供论坛形式的讨论平台,帮助用户在学习过程当中遇到困难有求助渠道,提升用户之间的互动性及用户体验。
典型用户
咱们设想的典型用户为有必定计算机基础、想要学习deep learning的人,且经过教材、博客的学习感受有些生涩难懂、吃力。
预期功能及用户数量
预期功能有:
用户数量:
经历了Alpha、Beta和Gamma三个版本的迭代,从最开始的只支持搭建模型生成代码,到现在支持用户登陆/注册、保存模型、下载代码且优化了前端给用户更温馨的体验。目前网站支持的功能主要为搭建模型——设置参数——生成代码 or 搭建模型——设置参数——保存模型——调用模型——修改模型并保存 or 调用样例模型——设置参数——生成代码,具体页面以下:
搭建模型
设置参数
生成代码
下载代码
登陆/注册
保存模型
调用模型
修改模型并保存
调用样例模型
快速入门教程
咱们的第一代Alpha版本于2019.4.18部署上线,截止到Alpha阶段结束,已经有了840的访问量和247的生成模型数量,因为还未开放注册/登录功能,所以还未统计注册用户量。目前的数据量以下:
因此,Alpha、Beta和Gamma阶段加起来的网页访问量为170九、生成模型数量为49一、注册用户量为142,达到了预期目标!
咱们在16级和17级计算机学院群和18级士谔书院群进行了推广,此外还在天津大学、北京理工大学进行了推广,在咱们推广以后,咱们也收到了一些用户反馈,这为咱们项目的改进明确了方向,具体反馈内容以下:
分工协做
因为咱们团队自己人数较多,为7我的,高于平均水平,又由于以前咱们没有过作完整工程的经验,所以咱们选择在标配的基础上,增长一个PM,以便于更好地总体规划和把控项目进度。在经历了Alpha阶段的探索后,咱们发现由大娃一人能够完成后端的开发工做,因而咱们从原来的“两人前端,两人后端”,调整为了“三人前端,一人后端”,由人员流动来的同窗负责进行测试的任务。平时PM会发布任务,开发组根据平常进度推动开发,若是有突发状况,则团队成员人尽可兵、以尽快解决问题为第一要义。
经验教训
经历了Alpha、Beta和Gamma阶段,主要经验教训就是一个项目的推动,须要团队总体的积极状态,而不是一个两我的的Carry。大佬可能可以带领团队快速前进一段时间,但务必让团队成员跟上进度,可以几乎平均承担任务,而不是直接摸鱼。不然,可能到了开发后期,就会出现大佬本身身心俱疲、Carry不动,团队其余成员不懂该如何继续推动,爱莫能助的状况,而一旦出现这种状况,要么压榨大佬,要么就要停下进度,从头开始学习,这样就会将以前的时间double,这两种局面都是对项目而言十分不利的。
咱们团队选用github来进行项目管理,项目连接为:VisualPytorch
PM和测试人员会在github上把相应的工做发布issue,并将其归在负责人的名下,当开发人员完成了任务之后能够在issue下留言,天天晚上PM会检查issue,并关闭已经被完成的issue。项目的issue的连接为:VisualPytorch_issue
在时间上,虽然以前据说可以天天早上一块儿去图书馆,坐在一块儿面对面开发是效率比较高、效果比较好的开发模式。但因为大三你们都比较忙,也都有本身的安排,有些同窗要准备出国、考研等,时间上也不统一,所以咱们并未对成员的具体工做时间做要求,只要在DDL以前可以保证质量地完成任务便可。
咱们的项目是一个自选项目,仍是和深度学习有关,而组内同窗并非全部人都对Pytorch熟悉,所以前期的学习成本比较高,学习周期较长,开发时间相对紧张一些。所以,在Alpha版本中,咱们讲精力放在了核心功能的实现上;在Beta版本中,咱们进一步丰富了咱们的组件,并提供了下载代码的功能,且容许用户可以登陆/注册本身的帐号,并将模型保存在本身的帐号下屡次编辑;Gamma版本中,咱们优化了前端页面的布局,使用户能有更好的使用体验,并添加了详细的使用文档和快速入门教程,使得不管用户对deep learning了解多少,都可以体验全部功能。
测试矩阵 | 功能测试 | 页面测试 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
测试浏览器 | 测试环境(浏览器版本) | 组件拖拽 | 组件删除 | 组件连线 | 参数输入 | 点击事件(组件、按钮、连接)下拉框选择 | 报错状况 | 注册登陆 | 保存模型 | 查看模型 | 删除模型 | 生成代码 | 代码下载 | 主页面 | 联系咱们页面 | 帮助页面 | 代码生成页面 | 页面切换 |
chrome | 74.0.3729.131 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
火狐 | 67.0(64位) | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
ie | 11.765.17134.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
edge | 42.17134.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
10.4.3505.400 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
UC | 6.2.4098.3 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Opera | 60.0.3255.95 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
搜狗 | 8.5.10.30358 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
猎豹 | 6.5.115.18552 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
能够看到,咱们的网站在不一样的浏览器上的表现仍是比较稳定的。此外,为了验证生成的代码是否正确,咱们课下的测试方法为生成不一样的模型而后覆盖工程中的模型代码,而后去验证是否正确。但为了展现方便,咱们找到了一个用咱们的组件能够拼接出的github上的模型,而后用它的模型部分代码和咱们所生成的代码进行比对,截图以下:
咱们找到的github的模型连接为:https://github.com/MorvanZhou/PyTorch-Tutorial/blob/master/tutorial-contents/401_CNN.py
代码规范和全部的文档都保存在github上,在github-doc分支中,文档连接为:VisualPytorch_doc
咱们的目标用户有如下几类:
属性 | 描述 |
---|---|
姓名 | 张XX |
身份 | IT行业相关从事者、deep learning初学者 |
年龄 | 21岁 |
所占比例 | 60% ~ 65% |
重要性 | 十分重要,是本网站的核心用户,帮助他们快速入门、练习是本网站的核心功能 |
知识层次 | 有必定的计算机专业知识,系统学习过计算机相关课程 |
动机/目的 | 利用网站更直观地搭建模型,快速入门deep learning |
用户偏好 | 除了可进行模型搭建外,可能还但愿有相应的教程、论坛等 |
…… | …… |
属性 | 描述 |
---|---|
姓名 | 马XX |
身份 | IT行业精英、资深deep learning从事者 |
年龄 | 40岁 |
所占比例 | 20 ~ 30% |
重要性 | 较为重要,能够在论坛中回答初学者的疑问,也会给网站的改进提供意见 |
知识层次 | 熟悉计算机专业知识,具备极强的编程能力,精通所从事的领域 |
动机/目的 | 出于兴趣逛到网站,为初学者解答疑惑 |
用户偏好 | 但愿可以更方便地与人交流 |
…… | …… |
属性 | 描述 |
---|---|
姓名 | 蒋XX |
身份 | 计算机本科学生 || 路人 |
年龄 | 18岁 |
所占比例 | 10 ~ 15% |
重要性 | 通常重要,能够经过网站引发其对deep learning的兴趣,从而转化为核心用户 |
知识层次 | 学习过计算机相关课程 || 用过计算机 |
动机/目的 | 闲逛论坛/知乎时看到就点了进来看看 |
用户偏好 | 须要简单明了的操做指南,美观的UI,有趣的体验等 |
…… | …… |
其中最为重要的仍是deep learning的初学者,而这一批人主要是计算机相关专业在读学生或相关从业人员,考虑到咱们身边接触的学生较多,咱们以问卷的形式展开用户调查,主要调查用户是否喜欢这种模式的网站,以及对网站的功能还有哪些需求,问卷调查结果以下:
能够看到,这种网站的需求仍是比较大的,并且也容易被用户所接受,具体的文件调查结果在咱们的github-doc分支中,连接以下:用户需求调查
在项目发布后,咱们分别在北航16级、17级和18级的计算机学院中进行了推广,并在天津大学和北京理工大学进行了推广。
VisualPytorch的详细介绍请见产品发布说明,连接以下:VisualPytorch发布说明
咱们产品的IP地址为http://114.115.151.39,同时咱们也申请了域名www.visualpytorch.xyz,但因为绑定须要进行备案,须要公司实体等,所以未可以绑定。
名字 | 分工 | 团队贡献分 | 具体贡献 |
---|---|---|---|
tdc | 后端开发 | 50 | (1)加入代码注释 (2)完善生成的代码,使其基本可运行 |
ywt | PM | 52 | (1)十次scrum meeting博客记录 (2)项目展现答辩 (3)Gamma阶段发布说明的撰写 |
zzw | PM | 55 | (1)组织召开scrum meeting (2)Gamma阶段项目展现博客的撰写 (3)整合博客目录 (4)1次技术博客发布 (5)项目推广 |
mhx | 前端开发 | 54 | (1)优化前端参数设置框的实现方法 (2)修复前端bug (3)技术博客的撰写 |
wgh | 前端开发 | 46 | 完善帮助文档 |
wf | 测试 | 48 | (1)后端代码单元测试、接口测试、回归测试、压力测试等 (2)撰写测试报告 |
bwj | 前端开发 | 45 | 优化header |
咱们的网站旨在让入门deep learning变得简单、直观、有趣。由于deep learning是一个有趣而又玄学的东西,但若是让初学者由于高门槛、枯燥等因素而被劝退,着实十分惋惜。咱们的网站就可让初学者们很直观地进行模型的搭建,就好像搭积木同样,并返回代码,覆盖他已有的模型文件便可进行训练。
认识到了PM的难度,如何协调、控制好团队进度绝非易事,而若是PM失控,团队进度很容易崩溃
一切开发都是基于设计的,设计先行
任何一个成果都须要团队共同的努力,而不只仅是一我的的强大
与Alpha阶段结束时个人认识相同,软件工程这门课程确实有很深的学问,它不只仅是写好代码就能够顺利完成项目,还很考验团队协做能力,而团队协做能力是由多种因素所决定的,因此这门课程是对咱们综合能力的提高。课程过程当中,老师和助教们尽力为咱们营造出一种真实的公司开发的氛围,是咱们对软件工程的体会加深。但结合咱们大三的现状,绝大多数同窗面临着出国、考研、保研等须要精力来准备的事情,而敏捷开发自己是一个十分须要全身心投入的东西,而软件工程对于咱们来讲,确实只是一门课程,咱们没办法作到把所有精力都投入到一门课程中去。综上,窃觉得课程设置的各个环节有些复杂,也太过耗费精力,若是能够简化一下课程流程,下降课程工做量,与AI、嵌入式的工做量稍微平衡一下,会有更好的体验和口碑。也但愿老师可以,把软件工程课程整个流程设计的有意义而不是复杂、劳累,并给同窗引导而不只仅是监督进度,这样也许能让同窗们真正看到意义所在,而不只仅是体会到劳累、感到不满。