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