有了上面这段话,我们就又可以得出下面几个需求:
1.程序可以进行登录。
2.登录后可以通知其他在线用户。
3.可以与其他用户进行对话。
4.可以注销或者关闭。
1.2对于用户需求进行提问,并进行总结
经常会有这样的情况:可能客户给出的需求仍然不够细致,或者客户自己本身对于需求就很模糊,此时我们需要做的就是针对用户上面给出的信息进行提问。接下来我就看看如何对上面的需求进行提问,我们至少可以向经理提出以下问题:
NOTE:这里我穿插一个我在见到的一个印象比较深刻的例子:客户往往向你表达了强烈的意愿他多么多么想拥有一个属于自己的网站,但是,他却没有告诉你网站都有哪些内容、栏目,可以做什么。而作为开发者,我们显然关心的是后者。
1.登录时需要提供哪些内容?需不需要提供密码?
2.允许多少人同时在线聊天?
3.与在线用户聊天时,可以将一条消息发给一个用户,还是可以一次将消息发给多个用户?
4.聊天时发送的消息包括哪些内容?
5.注销和关闭有什么区别?
6.注销和关闭对对方需不需要给对方提示?
由于这是一个范例程序,而我在为大家讲述,所以我只能再充当一下客户的角色,来回答上面的问题:
1.登录时只需要提供用户名称就可以了,不需要输入密码。
2.允许两个人在线聊天。(这里我们只讲述这种简单情况,允许多人聊天需要使用多线程)
3.因为只有两个人,那么自然是只能发给一个用户了。
4.聊天发送的消息包括:用户名称、发送时间还有正文。
5.注销并不关闭程序,只是离开了对话,可以再次进行连接。关闭则是退出整个应用程序。
6.注销和关闭均需要给对方提示。
好了,有了上面这些信息我们基本上就掌握了程序需要完成的功能,那么接下来做什么?开始编码了么?上面的这些属于业务流程,除非你对它已经非常熟悉,或者程序非常的小,那么可以对它进行编码,但是实际中,我们最好再编写一些用例,这样会使程序的流程更加的清楚。
1.3编写用例
通常一个用例对应一个功能或者叫需求,它是程序的一个执行路径或者执行流程。编写用例的思路是:假设你已经有了这样一个聊天程序,那么你应该如何使用它?我们的使用步骤,就是一个用例。用例的特点就每次只针对程序的一个功能编写,最后根据用例编写代码,最终完成程序的开发。我们这里的需求只有简单的几个:登录,发送消息,接收消息,注销或关闭,上面的分析是对这几点功能的一个明确。接下来我们首先编写第一个用例:登录。










