大娃html
后端开发人员,主要工做为后端开发,文档撰写。前端
大娃的我的博客git
二娃github
PM,主要工做为项目进度把控,平日例会的记录,例会博客及部分其余博客的撰写。chrome
二娃的我的博客django
三娃编程
PM,主要工做为项目进度把控,用户需求分析,组织平日例会,各种博客的撰写。后端
三娃的我的博客api
四娃浏览器
前端开发人员,主要工做为网页各项功能的实现,文档撰写。
四娃的我的博客
五娃
后端开发人员,主要工做为后端开发,文档撰写。
五娃的我的博客
六娃
测试,主要工做为测试先后端代码,发现bug交付给开发组。
六娃的我的博客
七弟
前端开发人员,主要工做为网页各项功能的实现,文档撰写。
七弟的我的博客
此外,团队博客中也有一篇关于团队成员的详细介绍(附成员美照),连接以下:团队成员介绍
需求分析
现在deep learning大火,不少计算机人甚至其余专业的人都会向deep learning中跳,但从0到入门这一过程当中着实面临着一些困难:
可见现有的学习途径对初学者并非很友好。因此咱们想搭建一个在线平台, 提供给用户可拖拽的编程方法,经过图形链接自动生成程序。用这种方式能够帮助没有接触过deep learning的人更快、更直观地理解基本原理,并作一些前期的简单练习,可以快速入门。
同时,咱们还会为用户提供论坛形式的讨论平台,帮助用户在学习过程当中遇到困难有求助渠道,提升用户之间的互动性及用户体验。
典型用户
咱们设想的典型用户为有必定计算机基础、想要学习deep learning的人,且经过教材、博客的学习感受有些生涩难懂、吃力。
预期功能及用户数量
预期功能有:
用户数量:
Alpha版本支持的功能主要为搭建模型——设置参数——生成代码,具体页面以下:
搭建模型
设置参数
生成代码
咱们的第一代Alpha版本于2019.4.18部署上线,截止到目前已经有了840的访问量和247的生成模型数量,因为还未开放注册/登录功能,所以还未统计注册用户量。目前的数据量以下:
此外,在咱们推广以后,咱们也收到了一些用户反馈,这为咱们下一阶段须要改进的工做明确了方向,具体反馈内容以下:
分工协做
因为咱们团队自己人数较多,为7我的,高于平均水平,又由于以前咱们没有过作完整工程的经验,所以咱们选择在标配的基础上,增长一个PM,以便于更好地总体规划和把控项目进度。除了两位PM外,分别由两位同窗负责前端的开发、两位同窗负责后端的开发,以及一位同窗负责测试。平时PM会发布任务,开发组根据平常进度推动开发,若是有突发状况,则团队成员人尽可兵、以尽快解决问题为第一要义。
经验教训
经历了Alpha阶段,主要经验教训有如下两点:
前期产品设计的不足
虽然咱们觉得已经肯定好了产品的各项功能,但真正着手开始开发的时候仍是意识到了前期产品设计的不足,许多细节并未敲定,也增长了很大的沟通成本。咱们也意识到,前期的产品设计再精细具体也不过度,越精细的设计就会带来越敏捷的开发。
低估了测试的任务量
在第一阶段的开发中,咱们想固然的觉得,测试的任务并不会过重,重头戏仍是在开发上。但接近Alpha阶段的尾声时,才发现测试的任务十分艰巨,一位同窗进行测试有些吃力。在下一阶段,咱们也会考虑调整人员的分配,衡量好各个部分的人均工做量。
咱们团队选用github来进行项目管理,项目连接为:VisualPytorch
PM和测试人员会在github上把相应的工做发布issue,并将其归在负责人的名下,当开发人员完成了任务之后能够在issue下留言,天天晚上PM会检查issue,并关闭已经被完成的issue。项目的issue的连接为:VisualPytorch_issue
在时间上,虽然以前据说可以天天早上一块儿去图书馆,坐在一块儿面对面开发是效率比较高、效果比较好的开发模式。但因为大三你们都比较忙,也都有本身的安排,有些同窗要准备出国、考研等,时间上也不统一,所以咱们并未对成员的具体工做时间做要求,只要在DDL以前可以保证质量地完成任务便可。
咱们的项目是一个自选项目,仍是和深度学习有关,而组内同窗并非全部人都对Pytorch熟悉,所以前期的学习成本比较高,学习周期较长,开发时间相对紧张一些。所以,在Alpha版本中,咱们讲精力放在了核心功能的实现上,其他的改善功能,咱们将在Beta版本中实现。
测试矩阵 | 功能测试 | 页面测试 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
测试浏览器 | 测试环境(浏览器版本) | 组件拖拽 | 组件删除 | 组件连线 | 参数输入 | 点击事件(组件、按钮、连接)下拉框选择 | 报错状况 | 生成代码 | 代码的拷贝 | 主页面 | 联系咱们页面 | 访问量统计页面 | 代码生成页面 | 页面切换 |
chrome | 74.0.3724.8 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
火狐 | 74.0.3724.8 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
ie | 11.706.17134.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
edge | 42.17134.1.0 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
10.4.3457.400 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | |
UC | 6.2.4094.1 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
Opera | 60.0.3255.56 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
搜狗 | 8.5.7.29493 | 正常 | 正常 | 正常 | 正常 | 正常 | 在reshape层输入中文报错会占满屏幕,关不掉 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
猎豹 | 6.5.115.18480 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 | 正常 |
能够看到,咱们的网站在不一样的浏览器上的表现仍是比较稳定的。此外,为了验证生成的代码是否正确,咱们课下的测试方法为生成不一样的模型而后覆盖工程中的模型代码,而后去验证是否正确。但为了展现方便,咱们找到了一个用咱们的组件能够拼接出的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分支中,连接以下:用户需求调查
在前期,因为团队成员在学习django、pytorch等内容,而这些学习工做一开始没有在github上记录,没有发布issue,因此前期没有什么进度。进入开发阶段之后,因为天天都开例会,且开发人员比较给力,每位同窗都能保质保量完成任务,甚至多作一些工做,因此咱们的项目推动的也比较顺利。
VisualPytorch的详细介绍请见产品发布说明,连接以下:VisualPytorch发布说明
咱们产品的IP地址为http://114.115.151.39,同时咱们也申请了域名www.visualpytorch.xyz,只是还在审核中,审核经过后咱们会第一时间绑定到咱们的IP上。
名字 | 分工 | 团队贡献分 | 具体贡献 |
---|---|---|---|
tdc | 后端开发 | 50 | (1)后端代码编写(和另外一位partern合做) (2)先后端交接文档编写 (3)网站帮助文档编写 |
ywt | PM | 51 | (1)scrum meeting博客记录 (2)技术规格说明书、【Alpha】发布说明的撰写 (3)朋友圈2次推广 (4)管理github项目 |
zzw | PM | 53 | (1)设计前端原型图 (2)团队介绍、项目选择、功能规格说明书、任务拆解、【Alpha】项目展现等博客的撰写 (3)组织召开scrum meeting (4)1次用户需求调查、4次推广 (5)管理github项目 |
mhx | 前端开发 | 52 | (1)搭建django的平台,完成了关于神经网络和访问日志的restful api接口 (2)完成了可拖拽的组件,实现了网页的基本架构 (3)部署网站 (4)前端设计文档的撰写 |
wgh | 后端开发 | 48 | (1)后端代码编写(和另外一位partern合做) (2)后端设计文档、函数说明的撰写 |
zls | 测试 | 49 | (1)前端页面、后端代码的测试 (2)共发现了15个bug |
bwj | 前端开发 | 47 | (1)部分前端可拖拉部分输入框的开发 (2)前端设计文档及部分代码规范文档的撰写 |
咱们的网站旨在让入门deep learning变得简单、直观、有趣。由于deep learning是一个有趣而又玄学的东西,但若是让初学者由于高门槛、枯燥等因素而被劝退,着实十分惋惜。咱们的网站就可让初学者们很直观地进行模型的搭建,就好像搭积木同样,并返回代码,覆盖他已有的模型文件便可进行训练。同时,咱们还计划为用户提供讨论交流的平台,进一步帮助用户解决遇到的问题,更顺利地进入deep learning的世界。
Alpha阶段总的来讲,虽然有小的困难,但仍是挺顺利的。于我而言,最重要的心得就是对PM在团队中的工做和所担任的角色有了更清晰的认识,PM要作的不只仅是引导团队前进,还要作团队中各个部分沟通的桥梁,同时也是团队中每一个部分之间的调节人员。总而言之,PM的任务就是确保团队这样一个“机器”,每一个“部件”之间链接得严丝合缝,可以开足马力前进,而不只仅是把控方向。
其次,就是认识到了测试的重要性,测试绝非一个轻松、工做量小的工做,就这一点咱们也将在Beta阶段中进行调整。
最后,就是全部的想法、沟通等等,最好都要有相应的记录,而不只仅是在微信群中沟通,有了具体的记录就有了规范的标准,才可以让双方达成共识。不然,很容易出现理解上的分歧。
在下一阶段,咱们将增添更多可拖拽部件,丰富用户可搭建的模型,同时完善生成代码中返回的Main.py和Ops.py。增长注册/登录功能,并搭建论坛,供用户进行沟通交流。为了保障网站的安全,咱们还将增长一些安全防御措施,如验证码、绑定邮箱等等。
软件工程这门课程确实有很深的学问,它不只仅是写好代码就能够顺利完成项目,还很考验团队协做能力,而团队协做能力是由多种因素所决定的,因此这门课程是对咱们综合能力的提高。课程过程当中,老师和助教们尽力为咱们营造出一种真实的公司开发的氛围,是咱们对软件工程的体会加深。但结合咱们大三的现状,绝大多数同窗面临着出国、考研、保研等须要精力来准备的事情,而敏捷开发自己是一个十分须要全身心投入的东西,而软件工程对于咱们来讲,确实只是一门课程,咱们没办法作到把所有精力都投入到一门课程中去。综上,窃觉得课程设置的各个环节有些复杂,也太过耗费精力,若是能够简化一下课程流程,下降课程工做量,与AI、嵌入式的工做量稍微平衡一下,会有更好的体验和口碑。