这里我以一个window程序(功能为统计各类语言代码行数)为例来讨论.
以一个实际例子为背景,来讨论怎么样一步步实现目标,也简单地阐述了项目开发步骤,也讲述了在项目中溶进可利用的应用模式. 鉴于作者能力所及,只谈了个人在项目中的理解与经验,浅陋之处,还肯见凉.. 本文只作探讨参考. 首先我们要明确我们的目的----在软件工程上也就是需求了,我假设我现在是个用户,那么我的理想中的工具是个什么样子的呢? 1.输出代码文件的代码行数,能输出代码文件中的注释行数. 2.一次性输出多个代码文件的代码行数与注释行数, 3.可以自主设定要统计那些文件. 4.混合统计多种程序语言代码. 5.输出统计信息(输出到文件中) 好了,看了用户的需求,你脑海中有没有一个大致的用户要的东东的界面模型呢?会不会是如下图所示的呢?本来要贴一图出来,但愚人笨啊,怎么都弄不上去,只好大概画个示例了:)
这个作为开发人员呈现给用户的界面,当然要使用户能明白怎么用它来工作的了,假设你从用户的角度来说考虑的很周到的话,不用你解释,人家一看就知道怎么用的,那当然是最好不过了,但大多数时候,你的系统如果有一定复杂度的情况下,操作不是那么显然,这就免不了要给用户来说明了.
很显然我们这个例子不是复杂的,所以你一看就知道该怎么来用的,但我还是说明我们界面形成的原由,这是为了引出我们开发的思路.
我为什么会在脑海中形成这样一个界面呢?这当然离不开用户的需求了,其实我们就是要从需求来考虑界面需求的.
那么从用户的需求来看,那些是可以体现到界面上的呢,让我们从头看起吧.
从1和2来看这是对程序基本功能说明的,这些处理好象看不出能有什么界面体现出来,既然看不来,那就暂且不考虑她,在以后的开发中可能会新的发现,但现在就忽略掉不管了;
再看3的要求,噢,这个其实能提供给用户自己选择文件的,那我们就呈现一个文件选择对话框让他自己决定了,但我们不能一开始上来就呈现一个文件选择对话框吧,对,给他提供个按钮来触发出来就行了,OK,那我们就可以想到添加个select file 按钮了;
这里我根本没什么调查,我们都是做程序的,我们自己当然很清楚,但作为一个项目开发的需求调研,就要做很多工作了,这里也体现需求调研明确的重要性)那就意味着有时我们不需要一个个地来选文件,我只要指定个目录就行了,那不就是多个selectJ一般的都是这么选文件的,但根据我调查的情况,代码文件往往都是在聚集在一个文件夹下,或一个目录下的各个文件夹下( folder按钮就解决了吗,事实上的确是这样的;然后再来看4和5,与前面1和2一样,看不个究竟来,那就先不管了;
到此我们都看完了,是不是就完了呢?非也,我们只选择了文件,那程序还没给我们统计呢,噢,再添一按钮叫做account,我们一点此按钮,就让程序进行统计工作了,噢这一统计不就把上面所说的1,2,4,5不就出来了吗?事实上作为用户也是想只要给他一个接口,点一下就万事OK了,也就什么都满意了.
也许你要问了,中间白框框干什么用?那算是我们自己附加到需求上的功能,这里作为显示选中的文件列表,这其实也叫做用户的隐性需求,从我作为用户的角度上来看,这个功能还是蛮不错的
OK,象造东西,模型出来了,我们就开始了