软件工程导论团队项目

Section1

团队介绍:

1. 团队成员信息

张洪宇2016012092(组长)

韦佳妮2016012071

安然2016012088

杨岚青2016012086

李伟2016012023

李浩涌2016012027

郑书鸿2016011996

2. 团队名称 极速光年

3. 项目描述俗语有云,民以食为天。我们团队想要做一个能够查看每日食堂提供菜品图片并且能够进行“食堂预定点餐”的微信小程序,这个微信小程序还具有留言评论的功能。

4. 队员风采

(1)张洪宇
风格:
随和,雷厉风行
擅长的技术:jsp php as3
编程兴趣:喜欢用计算机技术实现自己的小想法,比如贪吃蛇,还有一些小动画的制作
希望的软工角色:项目经理
一句话宣言:有一颗波澜不惊志在必得的心

 

(2)韦佳妮
风格:
幽默
擅长的技术:JavaScript
编程兴趣 :web前端
希望的软件角色 :编写前台网页及特效
一句话宣言:   everybody up!

 

(3)安然
风格:
重视代码规范,追求简洁可读性强
擅长的技术:
c语言,html
编程的兴趣:希望能学到更多的技术
希望的软工角色:
程序员
一句话宣言:比我优秀的人比我还努力,我也一定要加油!

 

(4)杨岚青
风格:活泼
技术 : 
javaWeb开发   mysql
兴趣方向:Web后端
一句话宣言:业精于勤

 

(5)李伟

风格:认真踏实、友好乐观

擅长的技术:C语言、java、算法

编程的兴趣: 锻炼动手能力,提升自身实力
希望的软工角色:
开发人员、测试人员

一句话宣言: 相信自己,挑战自己

 

(6)李浩涌
风格: 
沉迷代码,无法自拔,喜欢安静,但善于沟通
擅长的技术:
擅长前端,HTML,css,js
编程兴趣:想通过自己的努力做一个游戏
希望的软工角色:前端工程师
一句话宣言:少问别人为什么,多问自己凭什么。

 

(7)郑书鸿

风格:沉着冷静,脚踏实地,于细节处认真

擅长的技术:java,html

编程兴趣:想要做一些实用的应用软件

希望的软工角色:应用软件开发程序员

一句话宣言:逆水行舟,不进则退。

 4.首次合照

 

(注:组长张洪宇在帮忙拍照,故未拍入)

5.  团队特色团队中有几位在各个工作室学习过的,还有一位参加过ACM比赛的,具有较丰富的实际以及学习经验。团队和谐,且团员认真努力。

 

Section2

选题展示:

1. 项目概述及其意义

概述:一个能够查看每日食堂提供菜品图片并且能够进行“食堂预定点餐”的微信小程序,这个微信小程序还具有留言评论的功能。

意义:为我们学校的大学生能在食堂吃到自己喜欢的菜肴并且减少排队等候的时间提供极大的便利。

2. NABCD分析项目

N(Need需求)

对于我们学校的·大多数学生来讲,去食堂吃饭才是普遍的选择,然而一方面有些食堂菜肴的供应量有限,学生们来到食堂有晚有早,可能你来到食堂的时候自己喜欢吃的菜肴已经卖完了,另一方面人又多,排队要等很久。还有就是很多食堂菜肴是现做的,这又多出了一份等待的时间,因此我们想到了学生对于这方面的需求。

我们团队应着广大学生的需求,开发这么一款好用的小程序,大大减少了学生们在食堂就餐所消耗的时间。

A(Approach做法)。

微信小程序是基于html,css,js的开发:

使用html,其实是使用wxml:,wxml真正的使用起来之后你才会发现其实这个语言的编程理念和html网页的编程技术有些相似,当你熟悉之后你就能全新的了解开发一款微信小程序所需要的技术含量并不需要太高,只是对一些标签的更换,比如<div>换成了<view>等。

使用css,其实是使用wxss,wxss顾名思义就是微信的css。通过对网页编程的技术里面运用的css,微信换成了自己的开发语言,wxss,其实主要的实现思想理念也和网页的开发技术差别不大,主要是一些标签的一些简单替换,大部分和原先的css、基本不误,都是通过同页面调用的方式实现的,然而wxss 具有 css 大部分特性,们对 css 进行了扩充以及修改,所以与css是差不多的,这个比较好解决。

 js: 微信小程序的 js 运行环境即不是 Browser 也不是 Node.js。它运行在微信 App 的上下文中,不能操作 Browser context 下的 DOM,也不能通过 Node.js 相关接口访问操作系统 API。

B(Benefit好处)

简单快捷地食堂订餐,免去学生们的排队之苦,而且还可以查看每日食堂的部分菜品图片,对于每日的提供的菜品有一些基本的了解并且能对其好坏留言评论,表达自己对于食堂菜品不一样的意见,方便了广大师生点餐就餐,而且还可以回收学生对于菜品的意见,促使食堂对某一部分令人不太满意的菜品做出改进。

C(Competitors竞争)

就目前的情况来看,点外卖的程序和软件倒是挺多的,但是却没有有一款点餐食堂菜品的,至少在我们的大学没有,因此在竞争这方面我们团队可是具有相当大的优势的,竞争者比较少,竞争者少就意味着市场资源丰富。

D(Delivery交付)

我们计划先制作出产品,然后如果可以的话与食堂方面进行合作,推出此功能,作为一款微信小程序,当然要在微信当中实现,针对这一点,我们将在微信中推广此功能所以,针对交付产品,我们做了以下的几种推行我们的产品的方法:

(1)以微信、朋友圈转发链接法

(2)东师青年公众号宣传法

(3)朋友推荐法

 3. 说明项目使用到的编程语言,期望使用的解决方案,每个队员在项目相关技术方面的熟悉程度(技能熟悉程度区间为1...10)

项目使用到的编程语言:HTML、CSS、JS

解决方案:Html和Css团队内部还是有人会的应该没什么问题。想开发一款微信小程序学会微信小程序的js是必须要精通的,只要你html+css+js的基础打的好在来全力的学习微信小程序js,之后在前端开发上就没有什么问题了,但是微信js精通,是需要花精力去学习的,所以我们准备组织组员去深入学习js,解决这方面的问题。

每个队员在项目技术方面的熟悉程度:js方面擅长的韦佳妮和李浩涌是7,而html和css方面其他队员的熟悉度差不多都是7

 

Section3

团队贡献分分配

1 .  共同思考团队贡献分配的过程:

初时考虑团队贡献分配真的是一个令我们团队感到很苦恼的问题,由于每个队员在小组中的分工不同,而且分到的工作难度以及量也不一样,因此,想要在一定程度上保证团队贡献分的公平分配就成了一个很重要的问题,公平合理的分配不仅可以调动队员们做事的积极性,而且还能解决矛盾并保证团队内部的和谐,这是很重要的一方面。经过激烈的讨论和协商之后,我们团队给出了还算满意的团队贡献分配方式。

 

2.  大致考虑到团队贡献分配的方面:

团队项目规则中,所有人分数的总和为50*N,即50分/人,其中N为团队的人数,那我们团队的贡献分数总分应为50*7=350分。而要团队中的每个人分数不尽相同,就需要将分数分配的考虑的部分尽可能的多一些,减少由于分配规则的不合理带来的误差。然后调整各个部分所占的分数比例,不太重要的将其比例调低,重要的将其所占的比例调高。有些部分是必须在考虑范围之内的,例如工作重要性,而工作重要性又由两个部分组成:工作量和工作难度,有的工作量大,却较为简单,而有的工作量小,却难度较高,而在工作重要性这个部分里里贡献最大的当然是工作量又大,难度又较高的人了。工作量的计算方式大致可以从两个方面推测,一是完成工作所需要的时间二是。工作时间上推测出来。工作重要性,工作重要性的计算方式可以包含两方面,一是评定工作难度的难易程度 二是),我们小组考虑到了很多类似这方面的内容。

 

3.  具体团队贡献分配分配的方式:

 最后总分=工作量(20%)+工作难度(40%)+工作完成度(20%)+队员评价(12%)+工作积极性(8%)*0.5

(1)    工作量(20%):对于我们的软件工程项目来说,包括主程序的代码编写,模块功能实现量,程序测试人员对于软件后期维护,项目的风险分析和软件的功能分析等等不同的工作,这些工作分配到每个成员的实际量就是我们这里所说的工作量。评定队员为了完成工作所花费的必要的学习时间也是其中之一(这是因为在完成项目的过程之中,不一定每个队员都能负责到自己最擅长的工作,有的队员并不擅长某方面,但由于团队需要而服从分工,这名队员将花费许多学习时间来完成自己所分配的工作,这个时候不能简单凭工作的难易程度来评判一个队员的贡献,因为他的工作对于别的队员来说可能很简单,但对他自己很难,他花费了大量时间学习如何去完成工作,却只得到一点点贡献分,这显然对他是不公平的)。一开始我们所有组员会对每个人要负责的部分做一个大致的时间评估(当然肯定有误差),以评估时间总和/7得到大致的工作时间,这样就得到了必要花费的工作时间,然后由组长评估每个人的工作时间为A,B,C,D,E分别对应100,90,80,70,60五个档次的工作量。而对于组员为了完成任务所必要的学习时间也同上。

 最终工作量=【工作时间*60%+学习时间*40%】*20%

(2)    工作难度(40%):对于团队项目,仅仅用工作量来衡量个人的工作实际投入肯定是不够的。比如说在项目开发过程中,组员们每天都在一起工作,但是我们不能说一个主程序员用了一天的时间完成了一个难度很大的模块的代码的工作投入和一个辅助人员用了一天的时间检查了一遍代码一样的,这也就是我们所说的工作难易程度。我们应该对于项目开发中负责难度较大的模块的组员更多的分数奖励,这样才体现了公平分配的原则。

由组长评估每个人的工作时间为A,B,C,D,E分别对应100,90,80,70,60五个档次的工作难度。

最终工作难度=评定档次分数*40%

(3)工作完成度(20%):工作完成程度在我们最初分配不同的工作量后,肯定会有完成的好的和完成的差的,即使你有能力,分配到了最重要的工作,但是你因为某种原因并不能很好的完成任务,甚至于在最后期限也没有完成任务,这肯定是对个人得分有着很大的影响的,如果你选择了较为简单的工作,但是你在这份工作中完成地相当出色或富有创造性,这就是一个加分点。我觉得这样一定程度上也能促进一个出色的项目的完成。

评价层次

分数占比

自己未能完成,延误团队进度,在其它组员的帮助下完成

40%

基本完成功能,但是有挺多不足,部分处理的不好

60%

完成得一般,要求的功能都实现了,但是还能进一步优化

80%

完成的非常好!

100%

最终工作完成度=评价分数*20%

(4)组员评价(12%):这部分是队员们的互相评价,也算是给组员们一个自主评价其它的机会。在成任务的过程中,每个人获得除了自己之外其他组员的评分。差评0分,一般1分,好评2分,每个人最多给队友2分评价分,最少给0分,即最高能拿到12分。

最终组员评价=除自己以外评价分数的总和

(5)工作积极性(8%):良好的态度是成功的一半,我们现在毕竟是一个学生组成的团队项目,不能要求的那么苛刻和严肃,要鼓励组员们的积极性和自主学习的兴趣,这个工作积极性的加分就能很好的促使目前能力不能达到要求的同学也能积极的投入到项目开发小组活动中来。也就是工作积极,讨论时活跃,认真学习的组员我们在这方面给予小小的加分奖励,这样才更人性化。

工作态度一般的给4分

较为活跃的给6分

起到了带头促进组员积极性的给8分

 

注:所有初始评价分数上限都为100分,最终分数=评价分数*分数占比

posted @ 2018-04-06 17:48  极速光年  阅读(466)  评论(5编辑  收藏  举报