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