现代软件工程 练习与讨论 第十章 典型用户和场景
1. 讨论:下面的老板犯了什么错误?
老板没有看到学生们背后的真正动机,大学生们都是打着出来学习的幌子来到旅店开房,老板把学生的幌子理解成了他们的需求,于是对宾馆进行了整改,撤掉了学生们真正想要的床,这样一来就没有理解学生客户背后的真正动机,所以旅店也只能倒闭。
2. 是否要文档
文档对于软件的开发过程来说是十分有用的,而且文档经常被作为里程碑标记,使项目跟踪和控制变得可能,也使软件生产的每一部分都可前溯,保证软件的质量。在软件开发的过程中,文档的作用不可小视。它们不仅能帮助开发人员了解自己的工作进度,方便自己和他人阅读和改进代码,还能够帮助项目的管理人员管理软件开发进程、提高软件开发的效率和质量、改进软件开发过程。
3. ATM操作界面的用户
第一类:多次使用过不同ATM系统的正常客户,如学生,老师等白领。
第二类:基本不使用ATM的用户,如老人,不会操作,不识字。
第三类:拣到或者偷到别人的卡来尝试密码,试图取钱的用户。
第四类:银行的工作人员,来进行系统的测试和日常维护的。
第五类:第一次使用本系统的用户,不熟悉环境。
4. 你想写一个游戏,你知道游戏用户有哪些种类么?
可以根据游戏时间来划分:第一类人是痴迷于游戏,把游戏当成了生活的一部分,游戏对于他们来说有着很高的优先级,经常可以在大半夜来玩儿游戏。第二类人对游戏也有着很高的热情,但他们对于日常工作还是更为重视,除了工作以外,游戏有着很高的优先级,游戏是他们娱乐的第一选择。第三类人则是游戏爱好者,他们会有很多的休闲措施,游戏只是其中之一,并没有很高的优先级,当无聊或者无所事事的时候他们可能会选择来打游戏。
5. 别做过头
做项目的过程中过分的在意于一个项目的内容结构是否合理,资源是否充足,导致在搜集资源的时候花了大量的时间,导致接近deadline的时候才抓紧时间并行其他的程序结构。
6. 系鞋带
第一, 我们要定义好相关的概念
—what is “shoe”, “shoe laces”, “tied shoe laces”, and “untied shoe laces” 鞋, 鞋带, 系鞋带, 解鞋带都是什么概念
—Benefit of this feature “tie your shoe laces”。 系好鞋带的好处是什么
—The goal of the feature? 系鞋带的目标是什么?
—What does “success” look like? 什么叫系好了?
—Unambiguous steps to achieve from “untied” to “tied”明确的步骤来演示系鞋带的过程。
第二, 规范好一些假设 (assumptions), 例如, 鞋带是已经穿好在鞋上的么? 什么样的鞋属于我们要处理的?
第三, 避免一些误解, 下面这个从技术上也是 “鞋带绑紧了”, 但它是 “系好了”么? 打了死结算成功么? 要打多少个蝴蝶结才算好?
第四, 厘清一些边界条件, 下面的情况属于好的系鞋带状态呢, 还是不好的状态呢? 这需要PM/Dev/Test 协商达成一致意见。鞋带要打多紧才算好? 打好的鞋带能拖在地上么?
第五, 描述主流的用户/软件交互步骤。