个人知识管理系统Version1.0开发记录(02)

第 一 步 做 什

我们该如何入手呢?先来看看目前常用的三个方法。

1、从事物产生的源头出发,层层推进,步步验证,最后开花结果。这种方法经常用于科研项目,或者三期以后的工程,国家政府项目用的较多。

2、以结果为导向的方法,我们需要什么结果,逆向推论出我们该如何进行工作。这种方法常用于盈利性比较强的短期项目,或者就是为了赶工的。

3、大项目分解成中项目,中项目分解成小项目。每个项目单位功能齐全,小项目组合成大项目,功能运行正常,也就是常用的敏捷开发方式。

考虑到实际工作生活情况,和我们的出发点,也就是软件定位,个人知识管理系统的本质目的是为了完善我们的知识体系。所以,我们采取以下方式:以方法3为主要方法,一个小功能一个小功能的来做;以方法1为重要方法,当遇见自己感兴趣或者觉得有必要专研一下的时候;以方法2为次要方法,当我们遇见难点思维困乏找不到突破口和连接点的时候,看看结果,逆向尝试。

现在,我们用级别来分解项目,下级取上级第一个对象。

1级(完整项目),站内知识管理(比如查询,整理,更新),站外知识管理(比如收集,整理,入站),站内站外互动,站外搜索,等。

2级(站内知识),学习管理,时间管理,健康管理,财富管理,目标管理,方法管理,人脉管理,商业管理,站内互动,站内搜素,等。

3级(学习管理),专业知识(比如计算机软件),横向知识(硬件,网络,系统),纵向知识(比如数学,英语,行业知识),生活知识,健康知识,孩子教育,等。

4级(专业知识),程序设计发展路径(比如Java语言—>android—>C语言—>C++语言),程序语言,数据库,UI/UE/WEB/WAP/APP,框架,等。

5级(Java语言),Java基础,数据库设计,WEB开发,SSH框架,等。

我们只是对知识层面做了一个大概级别分解,这对科班出身的朋友们都比较好理解,这种分解只是静态层面的。当我们熟悉后,会用动态层面的方式来分解,比如说按照功能模块分解,按照数学模型分解,按照逻辑概念(比如生命周期)分解。按照上面的分解方式,我们得出了一个小小的功能模块,静态知识的储存、查询、修改、显示等。时间紧迫,直接动手吧。

1、工具,Eclipse,tomcat。创造前先仿造。熟练理解后,可以使用axurerppro等网页原型设计工具自己设计。

做一个显示界面UI,我们可以在这个界面,实现对一些知识的普遍操作行为。我们仿造现在流行的chm格式,做了一个简单的html页面。这个页面是一个知识面,这个知识面里包含了很多知识点,以左边菜单的格式来跳转到每个具体的知识点。如下图:

2、工具:Eclipse。

设计javaBean。这个思路是有很多种的,看个人喜欢把知识整理成什么样子,比如有些朋友喜欢整理成文字、图片、声音、视频,有些朋友喜欢按照生命周期(比如儿童期,青年期,成年期,中年期等)来整理,等。我们这里尝试用数学模型来描述知识体系,比如知识点,知识面,知识体,知识时空等,不论对错,日后再说。写出来如下图:

3、工具:Oracle,plsqldev。

每个实体类,对应数据库中的一张表,所以,我们可以先尝试建立几张简单的表,并建一些关联。比如知识面中,有些知识面包含的知识点比较多,有些却少许多,知识面的图形就可以分解成三个知识点的三角形,四个知识点的四边形,以此类推,数据库也就建立类似的关联。我们先用一个Java语言的基础知识面来做尝试,方便以后做复制工作。

我们下次要做一个简单的尝试:完成数据库的一个简单知识面的录入工作(create知识点表,知识面表,insert一些数据),然后通过jdbc读取数据库数据,进行一些简单的数据处理后,发送到web页面,呈现在我们的用户界面,在界面上做一些简单的操作,与数据库完成一次互动。OK,下次见。

时间: 2024-12-31 03:58:39

个人知识管理系统Version1.0开发记录(02)的相关文章

个人知识管理系统Version1.0开发记录(08)

切入点 前面,我们已经搭建好了web端的一种基本结构,需要进一步定位的主要问题有三点: 1.界面的选择和确定,用extjs做的初步样式,进一步改动为jqueryUI/html,再进一步改变为HTML5等.我们思考一种用户思维,只要有一个地方让用户不喜欢,用户就会全盘否定该款软件:所以,软件界面一定要简单.精致.能引起用户的兴趣.符合用户习惯和用户思维. 2.框架的选择和确定,struts2,hibernate/mybatis,spring等,在编写知识体核心功能模块前,需要完成选择和改写. 3.

个人知识管理系统Version1.0开发记录(04)

demo model 我们采用mvc软件架构模式,方便以后用Struts2框架技术优化.重构.封装.这次主要设计一些常用的方法工具,即数据访问逻辑.工具:eclipse.oracle.sqldeveloper. 思路如下: 1.  用sqldeveloper新建表oneds,写入一条name="cookie"的数据. 细节: 参数越多,越要细致检查单词拼写. 2.  用java读取和写入对象属性,与数据库互动. 3.  用java进行数据访问,先完成五个方法,查询所有知识点,增加知识点

个人知识管理系统Version1.0开发记录(06)

demo view 夜已深,我们先简单演示一下,完成一个小段落了.涉及工具及技术知识:图形处理软件photoshop cs6,js类库ext. 思路如下: 1.下载ps6,有破解版本的,dll文件覆盖即可,玩个把小时,看看文字.图片jpg.png.gif动画怎么玩的,实际用时找对应方法. 2.下载ext2,docs(这个就是API)-->examples-->HelloWorld.工具栏.菜单栏.表单.面板.布局.事件.类.DOM...... 3.整理结构,注释代码,记录日志. 4.管理员登陆

个人知识管理系统Version1.0开发记录(03)

demo  设 计 一个知识点demo,在数据库和用户界面的互动事件.分三个层次,数据存储,数据方法工具,数据呈现界面.这一次先完成数据存储,按以下逻辑实现.工具:eclipse,oracle数据库,sqldeveloper(改用oracle的sqldeveloper).(当后面数据库复杂时可以考虑PowerDesigner.) 1.考虑软件功能.数据方法.商业元素.逻辑扩展等实用因素,设计实体类. 2.用jdbc连接oracle数据库. 3.数据储存在数据库中,分析oracle数据库的数据类型

个人知识管理系统Version1.0开发记录(11)

关 键 字 搜 索 (1)匹配单个属性的关键字:(2)匹配单个对象的关键字:(3)匹配对象集合的关键字:(4)基于事件驱动的:(5)实时搜索,参考win7的搜索功能. 1.备份,java代码,数据库数据. 2.oracle数据库,用户操作. (1)查看数据库默认表空间. select * from database_properties;(2)创建用户create user 用户名 identified by 密码 默认表空间 临时表空间create user dyl identified by

个人知识管理系统Version1.0开发记录(10)

物理分页 这次我们运用Mybatis拦截器来实现物理分页,后面会运用动态sql来实现,或者运用Map/CollectionUtils/StringUtils编写工具类来实现.oracle是运用的rownum,mysql是运用的limit offset,pagesize.代码中有大量注释,可以参考Mybatis基本原理一起阅读.后面,我们会根据一些实际开发需要,把物理分页功能的代码封装成jar包,以后直接调用就好了,比如Mybatis+Spring3的运行环境,可以采用Mybatis动态sql来实

个人知识管理系统Version1.0开发记录(01)

架 构 描 述 01.数据层,数据源,有形资源入库,无形资源整理,对外搜索引擎,对内平台搜索,数据类型(文字.图片.声音.视频.组合),数据时空优化,数据安全方案(数据进站关卡,数据出战关卡),数据并发方案,大数据分布式处理. 02.数据层,数据库,概念数据,物理数据,面向对象,业务程序,数据流程,数据ER图(实体.属性.关联). 03.数据层,数据集,数据采集.数据传递.数据储存.数据加工.数据维护.数据使用. -----------------------------------------

个人知识管理系统Version1.0开发记录(13)

英 语 短 文 需 求 分 析   版本号 创建人 创建时间 更新人 更新时间 KBS 1.1.0 duyaolin 2015/2/2   1.功能描述 编写一个工具类功能模块,可以收集.整理平时工作中常见英语词汇.句子.短文,和这些英语内容相关问题的解决方案等,提高工作效率.此功能模块归属为,学习管理.英语学习.计算机专业英语运用下的一个需求版本. 2.需求分析 2.1 管理英语短文 2.1.1 功能描述 收集工作中常用英语短文(包括词汇.短语.句子). 2.1.2 用例图 2.1.3 用例分

个人知识管理系统Version1.0开发记录(05)

demo controller我们从前面的实现过程可以得出三种普遍使用的信息处理方式:1.操作数据库,对数据进行增删改查,比如运用sqldevloper查看数据信息.2.运用计算机程序语言,对数据进行增删改查,比如eclipse->window->show view->console.3.通过用户界面,对数据进行增删改查,比如各种browser.PC端.APP端. 我们编写的软件,是数据的一系列操作行为,数据库方式<-->计算机程序语言方式<-->用户界面方式(U