这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Networkengineering1834/homework/11150 |
这个作业的目标 | 学习 Git 分支管理,学习团队协作、学习团队合作的原则以及流程、设计团队项目、规划项目计划、学习需求规格说明文档的书写、学习 GitHub issue的设置 |
一、队伍信息
1.1 团队名称及团队宣言
- 团队名称:诺亚方舟开发团队
- 团队宣言:让编程改变世界,拥抱前沿科技
2.1 队员信息
队员名称 | 学号 |
---|---|
黄晓楷(组长) | 3118005327 |
黄裕煜 | 3118005328 |
潘宇恒 | 3118005335 |
林瑜 | 3118005332 |
林佳锐 | 3118005330 |
艾买提·阿布都克力木 | 3118005311 |
1.3 团队特色
- 运用机器学习技术,实现网站的智能化
- 团队内分工明确、各司其职,各个模块都有相应的人负责
- 团队规定明确,有严格规范,对评分规定、代码规范、Git 分支与提交管理具有详细的规范
- 团队成员各有所长,优势互补
1.4 团队分工
职责 | 参与成员 |
---|---|
前端开发 | 艾买提·阿布都克力木、潘宇恒 |
后端开发 | 黄裕煜、林佳锐 |
智能化功能开发 | 黄晓楷 |
产品设计(PM) | 林瑜 |
测试 | 艾买提·阿布都克力木、潘宇恒、黄裕煜、林佳锐、黄晓楷、林瑜 |
文档和复审 | 林瑜、艾买提·阿布都克力木、黄晓楷 |
1.5 各成员完成情况
黄晓楷
- 完成以图搜图模型的学习;
- 完成 Python 相关框架的学习;
- 完成 Python Django 开发的学习;
- 正在学习违规图像识别模型。
黄裕煜
- 了解并掌握了 Python3 的基本语法以及使用;
- 掌握了基础的Web知识;
- 掌握了 Mysql 数据库的基础知识以及相关操作;
- 了解了 Django 框架的基本使用。
潘宇恒
- 了解并掌握了前端 html 、css 和 JavaScript 的基础以及使用;
- 了解了 vue 框架的基本语法和基本使用;
- 学习了前端开发的主要流程以及思想。
林瑜
- 页面样式已确定,粗略框架已设计,下一步准备精修页面以及加入交互;
- 完成了需求说明文档。
林佳锐
- 了解并掌握了Python3的基本语法以及使用
- 了解了Django框架的基本使用
艾买提·阿布都克力木
- 已完成 HTML 基础语法的学习-----------------------------------网页内容控制(√)
- 已完成 CSS 基础语法的学习-------------------------------------网页布局控制(√)
- JavaScript 及 VUE 框架仍在奋力研究中, 还需要一定的时间-----网页行为控制(*)
二、项目介绍
2.1 项目概述
一个面向摄影爱好者的共享影像作品图片管理网站,和以此为中心搭建的社交网络。平台主要有两大功能,一是图片分享与管理,我们会提前预设好几个分类,其中之一是以中国传统的动画形象为元素进行分类,从而起到推广弘扬中国的动画元素。用户可以上传图片并加以标签和描述,每次上传时会产生一次动态,类似于微信的朋友圈动态,用户间可以通过图片页面或者动态页面进行点赞、评论或收藏从而与作者进行互动,找到志同道合的伙伴。
2.2 需求规格说明书
-
需求规格说明书已经上传到 GitHub 上,由于篇幅较大,这里不作展示,具体参考 GitHub 仓库的需求规格说明书
-
部分内容截图如下:
2.3 预期的用户量
- 我们的计划是从本校出发辐射大学城内其他高校,预期产品运营完善后用户量为月度活跃用户为1万人。
- 用户定位为广大原创作品摄影爱好者
2.4 项目阐述
- 可用:该图片网站有分享、检索、检测图片管理等功能。
- 真实:为了让广大苦于没有同好的摄影爱好者能够找到有相同兴趣的同志。
- 价值:为中国广大影像爱好者提供一个作品共享平台,促进中国摄影业的发展。
- 情怀:我们希望开发一个实用且能够广泛传播的摄影作品管理系统,从而建立一个面向摄影爱好者的摄影作品共享平台,让更多的人能够找到与自己相同兴趣的人。
- 目标:将我们的构想变成一个真实可用的产品。
2.4 项目各模块任务
2.4.1数据库
- 数据库建表 —— 后台
2.4.2 用户模块
- 个人信息的页面制作 —— 前端
- 个人信息的头像等接口 —— 后台
- 个人信息的更新
- 个人信息的查找
- 消息的页面制作 —— 前端
- 消息的接口 —— 后台
- 显示系统消息
- 显示用户评论消息
- 删除消息
- 我的收藏的页面制作 —— 前端
- 我的收藏的接口 —— 后台
- 我的收藏的查看
- 我的收藏的删除
- 我的收藏的添加
- 作品管理的页面制作 —— 前端
- 作品管理的接口 —— 后台
- 分享/保密图片——将图片公开/不公开
- 图片的删除
2.4.3 图片模块
- 图片详情页面的制作 —— 前端
- 图片详情的接口 —— 后台
- 显示图片的详细信息——喜欢数量、图片评论
- 喜欢/取消喜欢图片 —— 图片的喜欢属性增加/减少
- 收藏/取消收藏图片 —— 加入/移除我的收藏
- 评论图片 —— 评论该图片
2.4.4 首页模块
- 首页页面的制作 —— 前端
- 首页的接口 —— 后台
- 用户的登录与注册
- 热门标签 —— 选择出热门的标签,并返回该标签类型的图片集合
- 热门作品 —— 根据点击量进行排序,并返回排序后的图片集合
- 滚动精选栏 —— 随机返回图片集合
- 搜索 —— 查找图片
- 分享作品 —— 添加图片并设置图片属性为公开
2.4.5 智能化模块
- 以图搜图功能 —— 机器学习
- 违规图片识别 —— 机器学习
2.5 GitHub 仓库
2.5.1 项目链接
- 本项目通过 GitHub 协作,项目链接为 https://github.com/Boyle-Coffee/SE_homework_picture
2.5.2 issue 展示
三、时间安排
3.1 计划时间表
第 6 周 | 1.团队组队、团队博客 |
---|---|
2.团队介绍、成员展示、角色分配、选题确定 | |
3.制定团队计划安排,团队贡献分的规定 | |
第7周 | 1.需求规格说明书 |
2.原型设计,队员估计任务难度并学习必要的技术 | |
3.编码规范完成、平台环境搭建完成、初步架构搭建 | |
第8周 | 1.原型改进(给目标用户展现原型,并进一步理解需求) |
2.架构设计,WBS, 团队成员估计各自任务所需时间 | |
3.测试计划 | |
第9、10周 | 1. 团队项目Alpha任务分配计划 |
2. 连续7天的Alpha敏捷冲刺,7 篇 每日Scrum Meeting博客+代码提交 | |
第11周 | 1.用户反馈+测试计划改进 |
2. 团队Alpha阶段个人总结 | |
3. 团队项目Alpha博客:发布说明、测试报告、展示博客、项目管理 | |
第12周 | 1. 团队项目Alpha博客:事后分析 |
3.2 开发计划(甘特图)
开发计划-V1
开发计划-V2
- 本周经过商讨后,发生原计划的一部分不合理之处:
- 考虑到队员的实际学习掌握情况以及知识点的难易程度,对前置知识的学习时间以及开发时间做出了相应的调整。
- 为了提高开发效率,我们将 UI 设计与开发同时进行,使得开发过程中两者出现的问题都能向对方反馈
- 同时出于保证项目的健壮性等特性,延长了功能测试时间以及压力测试时间。确保项目的功能的bug数量少至可控范围内,同时确保项目的运行可承受预期人数(一万人)同时在线浏览页面时不会发生崩溃等异常事件。
故我们重新规划开发计划,如下图:
四、个人感想
黄晓楷
通过这周的团队项目,我学习到了很多书本上学不到的东西,“纸上得来终觉浅”。我明白了如何和开发成员比较好地合作,如何运用好 GitHub ,如何做好一个项目的前期准备比如需求分析、开发环境搭建、团队分工等。
在学习方面,我也学到了很多的开发技能,如 Python 后台开发、MySQL 的使用、Pycharm 的使用、Django的使用、GitHub 团队协作、语雀文档管理(文档的增量式管理)。
同时,通过这周的项目,几次讨论下来,我也与我的队员渐渐有了默契,结下了妙不可言的缘分,讨论和解决问题的效率也渐渐变高。
黄裕煜
由于之前已经学习过C语言以及Java语言,所以此次项目对python3的学习就相对于前两种语言而言更快就可以上手并进行编辑。
对于Django框架的基本使用仍需要继续琢磨,才可以做到掌握其基本使用,仍需要花几天进行学习。
潘宇恒
在短时间内从零开始前端学习不是件容易的事情,但是前端开发的神秘面纱通过我的学习正在一步步被掀开,我能感觉到前端开发过程的艰辛,但同时我也充满信心与兴趣去完成好这一件事情。
林瑜
第一次作为PM经历团队协作,axure还是有点生疏,不过好在时间也比较充裕,算是完成了任务。
林佳锐
python是一个非常简洁的语言,很容易上手
Django框架结构很清晰,便于开发
摸鱼快乐
艾买提·阿布都克力木
所谓万事开头难,零基础短时间内学习大量技术并不容易,但不管如何,我会继续努力的!