软件工程导论团队项目(速课小龙)
一.团队介绍
1.团队成员
邓 旭 2016012068 (组长)
陈逸璇 2016012056
周紫伊 2016012043
谢月鹏 2016012066
洪泽芳 2016011988
葛金星 2016011992
2.队名:速课小龙
3.项目描述:
求而不得都是累,古语有云,先下手为强,后下手遭殃。
我们团队想做一个“网络课程购买及学习系统”。其宗旨是为了给广大学习者营造便捷的学习环境。“速课小龙”是垂直的线上学习网站。以独家视频教程、试题集锦、学习计划、问答社区为核心特色。在这里,你可以找到最好的学习牛人,也可以通过免费的在线公开视频课程学习国内外的基础科学知识。
4.队员风采:
(1)邓旭:
风格:我是属于比较主动的那种性格,作为组长,会带领大家一步一步去完成项目。但是做事的时候可能有些地方会考虑的不周全,不够细心。会为了自己的团队尽力去争取,去付出,想把事做得更好一些,比较追求完美。
技术:java语言,主要就是后端学习和开发,做过一些前后台交互的项目。
编程兴趣:从最开始连软件是什么都不知道的小白,到如今成为蓝旭工作室的正式成员,慢慢地在学习,希望自己有一天能独挡一面。还是挺喜欢敲代码的,但是现在算不上极端的喜爱,却在慢慢感受。
希望的软工角色:我想应该没有谁想在原地踏步,所以会不仅仅只想当个程序员,希望积攒到实力足够的时候,成为软件工程师,项目经理。
一句话宣言:兴趣是最好的老师,放任飘洒,终成无畏。
(2)陈逸璇:
风格:自己性格沉稳,是公认的比较靠谱的人。团队中,在扮演好自己的角色的同时,会积极为团队项目开展做出贡献。与队员默契合作,完成好属于我们的作品。
技术:html+css+js,前端开发,做过一些小项目
编程兴趣:大学以前,从未想过学习计算机专业,然而,最终走上了这条道路。一开始的不自信,到后来的喜爱。有人说,有兴趣才能做好,其实很多时候,做好了才有兴趣。
希望的软工角色:目前希望自己可以成为一名前端工程师,然后积累经验,成为一名产品经理或项目经理。
一句话宣言:我们未到达的远方,指引着我们的方向
(3)周紫伊:
风格:踏实认真,积极乐天,有自己的目标,想要的就一定会为之努力。
技术:JavaScript,jQuery,bootstrap,Ajax,HTML,CSS
编程的兴趣:网页设计,前端页面的设计与实现。
编程兴趣:喜欢网页设计,前端页面实现的过程
希望的软工角色:希望能够成为一名优秀的前端工程师,有能力的话向全栈工程师努力。不只是一名码农,而是涉猎广泛的全面型人才。
一句话宣言:愿你有扬在脸上的自信、长在心底的善良、 融进血里的骨气、 刻进生命里的坚强。
(4)谢月鹏:
风格:我是一个对自己生活很有规划的人,清楚地知道自己想要什么。有很多计划,都在慢慢完成的过程中。
技术:网页前端,小程序前端
编程兴趣:有用的,好玩的东西
希望的软工角色:希望通过自己的努力,成为一名合格的前端工程师。同时学习后端技术,争取成为一名全栈工程师。
一句话宣言:行远必自迩,登高必自卑。
(5)葛金星:
风格:性格阳光开朗,生活中是大家的开心果。做事认真,责任心强。追求完美,做一件事,要么不做,做的话一定要做好。
技术:前端技术
编程兴趣:享受技术,享受完成项目的过程。觉得开发的过程中,自己更像是一位艺术家,从事的都是充满创造性的工作。
希望的软工角色:希望自己成为一名出色的软件工程师,将来开发出更多优秀的产品。
一句话宣言:看我的!
5.团队合照:
6.团队描述:
团队成员有两人在学校“蓝旭工作室”任职,拥有丰富的前后端交互开发的经验,小组其他成员也都有项目开发的经验。小组成员配合默契,分工明确,有着积极的学习心态,在完成项目的过程中,不断地学习,提升自己的能力。本团队对软件的需求和现状进行了详细的分析和调查,对于存在的问题提出了相应的解决方案。项目团队成员具有一定的开发技术、经验和较强的解决问题的能力。在老师、同学的指导帮助下,科学运用研究方法,相信项目研究和开发可以顺利进行,相信我们可以出色的完成任务。
二.选题展示:
1.项目概述与意义:
项目概述:我们团队想做一个“网络课程购买及学习系统”。该系统涵盖视频教程、试题集锦、学习计划、问答社区四大模块。用户可以通过免费的在线公开视频课程学习国内外的基础科学知识,系统通过试题判断用户的掌握程度,为用户推荐适合的学习计划,并提供问答社区方便用户间的交流。系统宗旨在于为了给广大学习者营造便捷的学习环境。
意义:随着社会的进步,人们越来越重视教育。而网络教育为人们提供了一种全新的学习方式。当前,网络教育已经成为改革传统教育模式的强大动力和有效手段。其优势主要有如下几点:
(1)使教育资源共享变为现实。
(2)为学习者提供个性化学习的条件
(3)有助于实现交互式学习。
(4)有利于促进教育社会化和学习社会化。
2.速课小龙NABCD分析
1) N (Need 需求)
首先,我们的项目用户需求是比较明确的,即学生或社会人群想要通过网络来学习知识和技能。我们提供一个学习和分享的平台。
但这一点早就做烂了,网上相关的平台多如牛毛。我们考虑的是针对我们平时在网上平台学习上遇到的一些使用问题,解决他们的使用痛点,来定制一个有更好用户体验的产品。
刚性需求:需要一个有很好用户体验的学习平台的人群是很多的,而在分析市面上比较好的网上学习平台的时候我们发现,有的慕课没有学习后的测试机制纯干讲,有的慕课对课程类别限制受众面很窄,有的慕课对于课程的上传有很多要求,一些短小的小技能课程是没有的。
再谈一点次要需求,很多课程都是技术相关的课程,生活技能学习比如修手机,重装操作系统,ppt制作学习等很多用户有时候也是需要的。
那么,如果能做一款兼顾测试机制,多种内容课程上传,不限制上传资格身份,有讨论交流的学习,有点评打分机制的学习平台是有需求的。
我们的调研潜在用户名单(经常用网上慕课进行学习的大学生):杨帆、刘玥、丁小帅、王雪、王森、刘卓锦、雷启航、杨岚青、张宏宇、洪泽芳。
2) A (Approach 做法)
简述一下我们的独特招数:
(1)、运用网易云音乐的评论模式,可以相互评论。
(2)、每一个学习视频得配套上传一套试题供下载。
(3)、不限制上传身份,人人可当老师,通过评分机制来考核。
(4)、课程类别无限制,生活,技能,专业学习都有所涵盖。
3) B (Benefit 好处)
简述一下我们的产品带给用户的好处:
(1)更好的学习过程体验,有测试机制,能下载题目。
(2)分享自己任何有的技能,并可以获得报酬。
(3)基础的各类课程学习,能找到各种想学得东西。
4) C (Competitors 竞争)
首先,我们简要分析了一下现今慕课行业的产业链、市场分配和用户人群状况:
产业链:
当前慕课产业链主要涉及技术支持方、内容提供及运营方、行业监管方这三方。内容提供及运营方中的慕课平台是连接B端内容提供方和C端用户的桥梁,是产业链中的核心环节。
慕课平台主要采用企业与高校合作的模式,高校提供内容,企业提供平台和技术,从企业运营模式上分为慕课企业平台和导航平台两种。
市场分配:
第一类是拥有高校、政府等官方资质的平台,代表平台为学堂在线、好大学在线和华文慕课。这类平台不仅仅是具备其他合作高校的内容资源外,自身特有的内容资源也成为其一大优势,例如学堂在线拥有的清华大学慕课唯一授权,令其用户中学生比例较高。
第二类是互联网企业背景较强的平台,代表平台为中国大学MOOC、顶你学堂、智慧树 网。这类平台由有互联网企业专业主导运营,加上自身的技术背景,往往具备较强的运 营优势,同时互联网企业天然背景优势带来的用户流量,令其用户覆盖面较广。
用户人群状况:
用户规模即将突破2000万:2014年前后,国内学堂在线、中国大学MOOC等核心慕课平台相继上线后,中国慕课用户规模开始飞速增长,根据HCR慧辰资讯估计,2018年用户规模将突破2000万人。
用户以年轻高学历者为主:从地域上看,当前慕课用户主要分布在一、二线城市;年龄上,用户相对较为年轻,约50%为90后,渴望了解和学习新知识,拥有积极向上的生活态度;用户的学历水平普遍较高,约80%用户拥有本科及以上学历。
受慕课平台大多为免费开放课程的影响,目前仅有约20%的用户在慕课课程学习的过程中有过付费行为,且付费金额普遍在300元以内,多数是为取得慕课学分/学位认证而付费。当然,IT行业的慕课学习付费的还是较多的。
其次,简述一下我们产品的竞争优势:
(1)我们解决了内容提供方的一个缺口,通过用户提供内容,平台进行审核。目前国内慕课平台主要切入高等教育慕课领域,针对初等教育及职业教育领域的慕课平台尚少。而我们产品的课程内容没有限制,通过用户上传。
(2)我们有更好的学习机制,配套试题。
(3)我们属于迟到者,虽然没有先发优势,但有后发优势,技术成本低,学习他们的经验进行改进。
5) D (Delivery 交付)
首先,我们意识到了作为一个迟到者,在产品交付方面需要花费的精力是最大的。一个不小心我们的产品就被埋没了,哪怕它有很好的用户体验,但用户根本看不到。
所以,针对交付产品,我们做了以下的几点举措和推行产品的方法:
(1)以玩带学微信、qq、朋友圈推行法:
小红:我在速课小龙上传了怎么把丑女变美女的美妆教程,你要来看看吗?图片+朋友圈推送链接。
小明:我在速课小龙上传了怎么10分钟安装电脑系统的小视频教程,你要来参观吗?图片+朋友圈推送链接。
(2)各大高校贴吧攻陷法:
通过顶贴机发送帖子到各大高校贴吧做相关推送链接。声明基本技能课程全免费。
(3)qq,各种学习群招募水军打广告链接法。
(4)真枪实弹付钱广告法。
3.项目使用的编程语言及以期解决方案:
使用到的编程语言:
java,mysql,jsp,html,css,html5,css3,JavaScript,jQuery,bootstrap,ajax,json
期望使用的解决方案:
(1)小组定期讨论,总结问题与不足,协同合作。
(2)前期做好需求规划。制定出需求文档,功能文档,流程图,时序图。原型设计使用墨刀,选用git进行项目管理。前端使用html,css,bootstrap做基础布局,之后用css3,JavaScript,jQuery美化完善页面。后台开发运用java,MySQL数据库等。
(3)希望项目实现过程中能做到前后台分离,前后端之间使用 JSON 来交流,用 API 作为契约进行交互。以便前后台选用的技术栈互不影响。如果出现困难我们再采用jsp合页面。
(4)团队成员技术掌握程度技能熟悉程度区间为:7
三.团队贡献分配方式:
在开始想这个团队贡献分配方式的时候我们是很苦恼的,因为要考虑到每个同学的利益并且要保证这个分配方式的可行性及公平性,再次阅读了构建之法第十七章里面的绩效管理之后,我们重新理清了思路。
既然大家组成了一个团队,每个人都应该有参与的基础分,在进行的过程中每个人分工不同,那么究竟谁做什么做多少肯定是有差异的,这就涉及到了工作量和工作难度问题,做完之后,那么效果也会有差异。那么我们事后是不是应该总结一下,对于有突出贡献的,或者是因为完成错误耽搁团队进度者分别进行奖励与惩罚,而这个需要谁来评定呢,此时小组成员的互评就至关重要了。此次项目总分=50*n,我们小组为50*5=250分。综上所述,我们的分配方式由以下几部分组成:
1).基础分(10%)
2).工作量(30%)
3).工作重要程度(20%)
4).完成效果(30%)
5).小组互评(10%)
1.基础分(共25分)
为什么要有基础分呢?首先,因为我们毕竟还是学生团队,所以希望在有基础分的基础上,调动大家的积极性,争取让每个人都能真心为这个团队争取,为这个项目努力,做得更好一些,不愧对这基础分。同时也保障了大家的基本权益。
2.工作量(共50分)
对于我们一个软件工程的项目,工作量是什么?这就包括了主程序的代码编写,模块功能实现量,程序测试人员对于软件后期维护,项目的风险分析和软件的功能分析等等不同的工作,这些工作分配到每个成员的实际量就是我们这里所说的工作量。在评分的过程中,我们要做到可量化,所以把工作量又分成了工作时间,工作难度,波动工作量。
工作时间主要指工作花费的时间,有以下几点:
1).可以1h为最小时间点单位。
2).如果时间点确定后出现突发状况,经小组商议后可更改时间点。
3).任务未完成或者出现问题取消任务则不计入个人工作量。
4).两人合作一个任务则平分时间点。
但是构建之法这本书中也提到了,仅仅是靠工作时间来评定是有失偏颇的。比如说在项目开发过程中,组员们每天都在一起工作,所以工作的时间大体上是相同的,但是我们不能说一个主程序员用了一天的时间完成了一个难度很大的模块设计的工作投入和一个辅助人员用了一天的时间写了一份简单不重要的相关报告的工作投入是一样的,这也就是我们所说的工作难度问题。我们应该对于项目开发中负责难度较大的模块的组员更多的分数奖励,这样才是公平的,也间接地体现了知识的价值。
波动工作量主要是指在实际完成工作的时候工作量可能出现的偏大或者偏小由成员和负责人共同进行评分,在最终的工作量评分上进行少量修正
所以最终工作量等于:
工作时间 x 30% + 工作难度 x 45% + 波动工作量 x 25%
3.工作重要程度(共20分)
这条就是指对项目的具体贡献,主要包括基础贡献度,以及波动贡献度。最终得分由基础贡献度加上波动贡献度得到。为了区分贡献程度以及驱动大家主动为团队做贡献,商议后觉得在此可以采用等级划分。
基础贡献度由组长进行评分,总共有A, B, C, D, E五个等级,A级100,B级90,C级80,D级70,E级60,组长根据对于工程总体的了解对于该工作选择一个合适的等级。
在实际的具体操作中,由于实际情况的不同,可能重要程度会稍微有些出入,这时成员可以与组长进行协商共同评分,在最终的工作重要程度评分上进行少量修改。
最终工作重要程度评分等于:基础贡献度评分 + 波动贡献度评分
4.完成效果(共30分)
在我们最初分配不同的工作量后,对于每个人的完成程度我们应该有实时的跟踪记录,这样也更能督促组员。即使你有能力,分配到了最重要的工作,但是你因为某种原因并不能很好的完成任务,甚至于在最后期限也没有完成任务,这肯定是对个人得分有着很大的影响的,如果你选择了较为简单的工作,但是你在这份工作中完成地相当出色或富有创造性,这就是一个加分点。我觉得这样一定程度上也能促进一个出色的软件的形成。
这条评判标准主要包括完成质量和完成效率,最终评分由两个评分加权获得。完成质量主要通过测试完成评分。
评价成绩 | 效果 |
60% | 基本完成功能,但是很简陋,部分细节未能达到预期要求 |
80% | 完成得一般,要求的功能都实现了,但是还有优化的空间 |
100% | 完美完成,无可挑剔 |
其中,完成质量这一块还应包括额外加分和扣分。比如如下的情况:优化了功能,优化功能属于额外工作,且不影响自己的本职任务。
领取任务后,因个人事情没有完成,由于修复测试bug导致任务延期,对于用户发现且测试没有发现的bug等耽误了项目交工,给予扣分。
评价成绩 | 严重程度 |
扣分 | 不注意就不会发现的问题,给予警告 |
扣分 | 一般功能性问题,局部影响用户使用 |
扣分 | 严重影响用户使用 |
扣分 | 相当严重的问题,甚至对接下来的开发造成影响 |
最终完成效果等于:完成质量×60% + 完成效率×40%
5.组员互评(共10分)
这个部分还是很重要的,能够反应我们整个团队的问题,以及相应的解决方案,同时也能获得进步。这条评判标准是成员之间互相评分,每个人获得除了自己之外其他四个人的评分,最终根据加权获得一个分数。
所以,最终成员的团队贡献评分为:
基础分 x 10% + 工作量 x 30% + 工作重要程度 x 20% + 完成效果 x 20% + 小组评价 x 10%
在整个过程中,我们都围绕着能使团队评价贡献能够更加合理,使得团队中的成员都可以满意的起点出发,希望可以没有杂念影响下更好地完成任务,尽量能够考虑各个方面的因素。让整个团以团队利益为重,营造积极向上的团队氛围,大家互相配合与支持,相信长此以往,我们一定可以更努力更好得做好我们的项目。