敏捷软件方法的学习辅助管理系统设计 第13页
图5-6 文献模块的工厂模式
同理笔记模块也采用同文献模块相类似的工厂模式,这样在增加笔记新类型时,也能够系统结构改动小,程序可扩展性好。
5.3.3数据库设计
1.数据概念结构设计
根据第二次迭代需求分析得知,文献需添加分级标识属性。此阶段概念结构设计模型E-R图如图5-7所示。
图5-7 文献数据E-R图
2.数据逻辑结构设计
由上面的概念结构设计,得出文献数据逻辑结构,如下所示。
用户(用户名,密码)
文献(文献编号,出版日期,作者,摘要,标题,关键字,引用文献,创建日期,创建日期)
期刊(期刊编号,文献来源,出版商,卷标号,页码)
图书(图书编号,出版商)
会议(会议编号,文献来源,出版商,卷标号,页码)
学位论文(论文编号,文献来源,出版商)
电子文献(电子文献编号,文献来源,出版商)
学位报告(报告编号,文献来源,出版商)
3.数据物理结构设计
由前面的文献数据逻辑结构得出文献数据物理结构,如下表所示。
文献表
列名 数据类型 长度 允许空
DocumentId Varchar 10 不允许
Title Varchar 100 不允许
Author Varchar 100 不允许
PublishDate Char 10 允许
Abstarct Varchar 500 允许
Keys Varchar 100 允许
OuoteDocument Varchar 500 允许
CreateDate Char 10 允许
论文网
http://www.751com.cn/ 辣文毕业论文
http://www.751com.cn/ DocumentId 文献编号
Title 标题
Author 作者
PublisheDate 出版日期
Abstarct 摘要
Keys 关键字
OuoteDocument 引用文献
CreateDate 创建日期
DocumentDegree 分级标识
5.4实现策略
通过对本此迭代任务的认识,本阶段主要实现笔记添加图片、表格和复制粘贴截图以及模糊查询功能,使之笔记管理模块更好的满足用户学习的需要。
5.4.1添加图片表格的实现策略
添加图片表格采用对象序列化方法,引入File类、FileOutputStream和ObjectOutputStream类。其中File类表示文件和目录路径名的抽象表示形式,已实现了Serializable(序列化)接口,FileOutputStream类是文件输出流,它是用于将数据写入File或FileDescriptor的输出流。一般用于写入诸如图像数据之类的原始字节的流。
1.对象序列化保存文件
首先通过File=new File(“iostream\\”+str)来生成以str内容为文件名的文件。再通过File类的createNewFile方法建立文件,最后通过自定义定义的notecontentTextPaneSave方法将笔记里内容序列化到刚才建立的文件中。notecontentTextPaneSave()方法如下:
public void notecontentTextPaneSave(File file) {
FileOutputStream fous = null;
ObjectOutputStream oos = null;
……
fous = new FileOutputStream(file);//生成FileOutputStream对象
……
oos = new ObjectOutputStream(fous);
…… //将FileOutputStream对象传到ObjectOutputStream对象
oos.writeObject(notecontentTextPane.getStyledDocument());
…… //将对象写入字节流
oos.flush(); //刷新该流的缓冲
……
oos.close(); 清空并关闭流
……
}
2.对象反序列化读取文件
相对对象序列化通过FileInputStream类和ObjectInputStream类,其中FileInputStream类用于读取诸如图像数据之类的原始字节流,ObjectInputStream类用于恢复那些以前序列化的对象,能够确保从流创建的图形中所有对象的类型与java虚拟机中显示的类相匹配。
读取的方法:
File f=new File(“iostream\\”+str);//str为笔记标题名,获取文件对象
FileInputStream byteOut=null;
ObjectInputStream out=null;
StyleDocument std=null; //StyledDocument用作通用样式文档的接口
……
byteOut=new FileInputStream(f);
…… //将FileOutputStream对象传到ObjectOutputStream对象
out=new ObjectInputStream(byteOut);
…… //将文件对象中的字节流读出来
<< 上一页 [11] [12] [13]
敏捷软件方法的学习辅助管理系统设计 第13页下载如图片无法显示或论文不完整,请联系qq752018766