Deadline:
2017-10-22 10:00PM,以博客发表日期为准。
评分基准:
- 按时交 - 有分(团队选题-5分,,团队贡献分-5分,需求分析-10分,原型设计-10分),检查的项目包括后文的三个方面
- 按要求确立团队选题(基本分3分,根据完成质量加分,原则上不超过满分5分)
- 按要求制定团队成员贡献分(完成贡献分分配,5分)
- 按要求完成需求分析(基本分5分,根据代码质量加分,原则上不超过满分10分)
- 按题目要求完成原型设计(基本分5分,根据完成质量加分,原则上不超过满分10分)
- 晚交 - 0分
- 迟交两周以上 - 倒扣本次作业分数
- 抄袭 - 倒扣本次作业分数
Task1:确定团队选题
- 确立团队,确定之后每个团队需要写描述要做的究竟是什么系统,预期的用户量是多少。
- 围绕选题项目内容的 真实、可用、有价值(有情怀 作为加分项)目标来分别阐述。
- 建立和初步熟悉团队git的协作方式。项目后续的代码、文档都要通过码云增量式管理。实现文档的版本化和增量式管理。
- 请立刻建立团队项目的git仓库。
Task2:团队成员绩效评估方法
成员的绩效 = 团队获得的分数 + 个人的团队贡献分
在项目alpha 和 beta 阶段评审后, 团队会得到一个项目分数(每个成员都会得到同样的分数,做为自己的原始分数的一部分)。团队成员的努力程度不同,达成目标的程度不同,帮助同伴的付出不同,那就要在“团队贡献分” 上有所区分。 所有人贡献分的总和为 20N,其中N为团队的人数。 在alpha/beta 之后,团队按照自己制定的规则,把 (20N)瓜分给每人,这就是 “团队贡献分”,要求:每个人的团队成员贡献分不一样。
要求:请每人阅读教材 “人、绩效和职业道德”一章,然后团队开一个讨论会,协商讨论团队贡献分的分配规则。每人得分为自然数,并且每个人分数不能相同。 请写一个团队博客详细说明每个团队的成员计划如何帮助团队完成任务,以及团队贡献分的分配规则。
要注意,有很多原因导致一个人的团队贡献分不高,alpha 阶段之后,每个团队会有一名成员离开,导致团队离开的原因也很多,未必和贡献分的高低相关。Task3:需求分析
软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求。请发表一篇随笔,完成初步的需求分析:
- 访问软件项目的真实用户(至少10个),确保软件真正体现用户的需求,为软件最终可用奠定基础。
- 如果是原有项目,需要对旧项目的所有信息做一个调研,通过采访以前的开发者,形成采访文档,请参考《构建之法》的P422大马哈鱼洄游的过程性介绍。
- 用户调研方法参考《构建之法》第8章获取用户需求——用户调研
参考《软件需求规格说明书》国标规范文本,撰写对应项目的软件需求规格说明书。提供《需求规格说明书》的Git链接。
a. 除形式上满足规范文本要求外,整体内容必须围绕项目实质展开,对所要开发的项目确保尽力做到清晰完整准确。
b. 使用一致的图形符号和文字描述内容。- 分析和设计方法:
- 在线作图工具ProcessOn:
c. 所有的缩写须事先定义。
d. 需要有一个目录,word排版样式规范美观,图文并茂,通篇文档有一个统一的样式风格。
e. 将自己置于读者的立场——如果对软件项目不熟悉的人员,通过阅读这份文档,能否完全读懂软件要做什么。
NABCD 写作,视频
请同学们把自己项目的NABCD 都写出来。a. 列成详细的条目,用具体的事实和分析说明。
b. 把这些要点都组合成为一段话 -- 当你要向别人兜售你的项目的时候, 你通常只有很短的时间 (电梯演说),能否自然而有条理地把项目说清楚? 请用你产品中实际的元素代替 <> 中的抽象概念。
各位领导/投资人/用户/合作伙伴:我们的产品 <foo> 是为了解决 的痛苦, 他们需要 <Need>,但是现有的方案并没有很好地解决这些需求,我们有独特的办法 <Approach>,它能给用户带来好处 <Benefit>,远远超过目前市场上的竞争对手 <Competitor>。 同时,我们有高效率的 <Delivery> 方法,能很快地让大部分用户知道我们的产品,并进一步传播。 c. [附加题]把上面的这段话录制为视频,上传到视频网站,并把链接发到团队博客上。- NABCD参考 (参见 )
- 同学们的实际作业例子:
团队协作,加强分工,需要描述每个成员的具体分工及占整个文档任务的工作量比例。
Task4:原型设计
原型设计能够在表现层将设计合成一个逻辑整体,用户能和你一起看到未来交互的软件蓝图、功能和效果,获得较真实的感受,在不断讨论的基础上完善未来的设计思想。因此,原型设计能起到有效沟通的作用,漂亮,直观的原型图更是让人赏心悦目。
- 不要等到所有代码写好之后再去验证需求,请用设计工具描述用户界面和需求。
- 原型设计不仅要考虑主要功能的页面排布,同时也要考虑用户实际操作中的问题,提前为用户考虑得当并征求用户意见
- 系统是必须可运行的,可实际使用的——请抱着这样的同理心去考虑系统。
如果是设计原型,采用专门的原型设计工具,能够事半功倍,工具参考:
- 移动应用原型与线框工具-
- 原型设计界的PS -
- 网页和移动端的设计
- 一款简洁高效的原型图设计工具
- 致力于高保真原型制作工具
- 一款免费的带有手绘涂鸦风格的原型设计软件
编码规范:
讨论制定团队的编码规范,满足代码风格规范和代码设计规范(参考书第4章4.1-4.3内容)