本人想要编写一个技术日记的程序,目的是收集技术点滴,技术的积累很重要,但总不能拍拍脑袋,所以自己做了一些需求分析,并且希望大家集思广益,唯一的指导原则是:实用第一。                        技术日记程序需求分析文档
1 功能概览
 采用的界面方式类似于Windows资源管理器。
 可以按标题,日期,来源,重要级别和分类记录技术资料。
 可以按标题,日期,来源,重要级别查询以及全文搜索,允许天间的灵活定制。 
 文本编辑可以编辑格式文本。 
 提供类似MS Outlook中的便笺的功能
 可以在引用外部文档和把技术日记存为外部文档。
 每条技术日记的记录可以带附件。 
 允许拷贝快捷方式
 提供在线更新功能(第二版)
 可以实现离散式的文件备份,也就是不同的分类节点可以存放在不同的目录下。
 报表:输出各个文件在硬盘或者连接的地址以及相关的树型信息。
 系统可以实现备份和还原。(第二版)
 系统可以允许用户选择文章或者个别的技术日记来生成复习大纲,输出到Word之中,并自动商城标题、目录等等。要求把附件的东西也要输出到Word中。2 技术要点和步骤
1. 可以按照标题,日期,来源和重要级别进行分类
 其中标题为最末一层;
 日期、来源和分类的层次关系可以用户自己定义;
 文章的分类可以用户自己定义,而且最大支持到500层。
 允许分类层次的拖动转移和整体删除。
 允许节点的添加、复制、剪切,粘贴、粘贴快捷方式,修改和删除。
 提供重要级别配置的功能,用户可以自定义重要级别的层次和名称
 也提供批量更改级别的功能。
2. 技术日记的内容可以多种格式存放
 存放在数据库(ACCESS)的备注字段中,TXT文本格式,WORD格式、Excel格式,RTF格式。当然也可以允许有其他的连接方式,但是,就不能参与全文搜索了。
 程序自带的文本编辑器,可以实现格式文本的编辑。
 如果技术日记记录在外部的介质中,那么自带的文本编辑器可以用来记录日记的大纲等信息,主要用来检索。
 打开技术日记有两种方式:1:在菜单中选择命令[打开],技术日记将已非模态只读方式打开,该方是属于默认设置;2:在菜单中选择命令[编辑],技术日记将已模式独占方式打开。也可以使用“CTRL+双击”的方式来编辑。
3. 查询
使用可配置的查询方式,用户可以自己添加查询条件,任意组合,其中包含的查询子模块包括:
 按标题查询;
 按日期查询;
 按重要级别查询;
 按分类查询,并且可以定制查询的层数;
 技术日记的内容查询,其中就包含了对存放在数据库(ACCESS)的备注字段中的数据,TXT文本格式,WORD格式、Excel格式,RTF格式的全文搜索,使用数据库查询的通配符“%”,也就是支持模糊查询。
 可以导出查询条件形成一个XML文件*.tdq(technology diary query)。
 可以导入查询条件文件*.tdq。
4. 支持对查询结果进行操作
也就是可以对查询出来的记录进行编辑和删除等操作。
5. 在软件左侧的属性控件中,分为几个区
 发布区:所有发布的帖子放在这里。
 草稿箱:没有写好的,不好归属的日记暂时放在这里。
 回收站:没有直接删除的技术日记放在这里。
6. 可以让用户选择默认的技术日记编辑程序,如果用户选格勒就可以在列表中选择,系统还有一些应用程序的快捷方式.
7. 右侧的属性列表中的表头
标题,日期,来源
用户可在右键菜单中选择排列方式中更改排列的方式
8. 右键菜单
 排列方式
标题
日期
来源
重要级别
 新建
分类
技术日记
 属性
9. 在删除技术日记的时侯,需要用户选择是否要删除连接的文件
10. 配置区
工具-》选项:配置各个选项的默认值,具体的还没想好。
11. 可以新建分类
可以在树上右击选择[添加分类]也可以电极新建按纽然后在对话框中选择新建分类。
12. 多用户使用,登录切换。
13. 备份文件夹
用户可以自己定义节点的文件存放路径。如果为了移动方便,那么路径可以设置成相对路径。节点下的技术日记存放在分类节点指定的目录下,如果技术日记指向一个外部连接,那么这个外部连接有效,相对路径将被忽略。
14. 系统的备份和还原
在每个存放文件的目录下,都会有一个XML文件,当系统崩溃或者需要交流的时侯,新建一个节点然后导入这个XML文档,那么就可以把所有的当前目录下的文件导入系统的这个结点下了。
在备份时只要把已经存在的目录拷贝出去,就可以实现备份了。
在还原时,只要用系统将根部的XML大开就行了。
系统可以重建根据用户的需求重建该XML文件。
15. 可以在别的分类下复制每个技术日记的快捷方式,这样就解决了多个副本的问题。
快捷方式的删除不影响所连接的技术日记。另外还需要一个连接方式的查看界面。
可以查看当前选中技术日记的所有其他的连接的位置,以及,查看当前快捷方式连接的源技术日记的位置。
16. 预留状态栏
第一版本先不作状态栏,在后面的版本来完善。
17. 涉及到的用户界面
 启动界面
 用户登录界面
 用户授权界面
 更改密码界面
 主界面
 管理所有快捷方式连接的界面
 查看当前选择问的其他连接位置的信息
 新建修改分类界面
 新建修改技术日记界面
 属性界面
 查询界面
 定义重要级别界面
 批量更改技术日记的重要级别界面
 关于界面
… …