软件工程学年设计信息管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学年设计
课程名称:软件工程学年设计
实验项目:信息管理系统
姓名:XXX
专业:计算机科学与技术
班级:XXX班
学号:XXX
指导教师XXX
1.概述与可行性研究
(1)概述
随着计算机科学的发展,计算机已经在人们生活的很多领域扮演着越来越重要的角色。

我们在使用计算机巨大丰富人类生产生活的同时,
大量的数据以各种各样的形式存储在计算机中。

如何能有效的管理这些
数据,成为了每一个使用计算机的人都要面临的问题。

我们往往需要用
特定的一种工具管理特定的一种形式的数据。

各种工具之间无法进行有
效沟通,当我们需要使用多种数据时,需要在各种工具之间进行切换。

这是我们不愿意面对的一种情况。

有没有这样的一种可能性,一个工具
去完成这样的任务。

这是我希望能做到的。

(2)技术可行性
由于本工具的目标是对多种数据格式的文件提供一个统一的管理方案。

而针对特定格式,有许多成熟的工具在大量使用。

这给本工具的开
发提供了很好的参考。

而且本工具并打算提供针对每一种文件格式的大
二全的解决方案,只提供基本的常用的操作。

所以,在技术上,本方案
是可行的。

(3)操作可行性
由于本工具不提供复杂的操作,所以用户只要有基本的计算机使用经验,就能对本工具进行熟练的操作。

2.需求分析
(1)基本功能需求
①提供针对不同格式文件的读取,现阶段提供对html文件和pdf文件的支持
②提供不同格式文件的文件的常用的操作
③使文件能以用户需求进行组织,以建立文件之间的关系网
④提供类似思维导图的功能,使用户能将大脑中想法显性的表
示,并能与各种文件建立联系
(2)用户界面需求
对于一个好的软件有一个友好的用户界面是很重要的。

用户界面应尽量做的简单、层次清晰明了,以最大限度为用户提供操作方便。

如尽量减少用户输入次数,多使用快捷按扭。

3.数据描述
(1)数据流图
(2)数据字典
项目信息(项目号,项目名,项目标签,项目描述,创建时间)
文件信息(文件位置,文件名,文件描述,文件标签,从属的项目号)
标签信息(标签名,标签描述)
(3)数据采集
通过用户的输入(3)实体联系图
4.总体设计与分析
(1)对象模型
(2)功能模型
(3)系统模型功能划分
(4)详细功能描述
提供文件信息:让用户输入文件的标签,文件名,文件从属项目,文件位置。

系统生成文件类型,文件时间。

数据库接口:提供对数据库的增,删,改,查功能。

显示文件项目:以项目为单位,显示文件组。

项目管理:提供对项目的信息的修改。

选择显示文件:控制界面的当前视图
文件的显示:文件的显示区域
文件的操作:提供文件的基本操作
(5)工具的选择
数据库:sqlite
编程语言:c++
图形界面:Qt
(4)数据库设计
文件表
项目表
标签表
项目标签关联表
文件标签关联表
6.编码与实现
(1)主界面
CREATE TABLE R_Tag_File (
Id integer NOT NULL PRIMARY KEY,
R_Tag_Name text NOT NULL,
R_File_Pos text NOT NULL,
CONSTRAINT R_Tag FOREIGN KEY (R_Tag_Name) REFERENCES
Tag_Table (Tag_Name) ON DELETE CASCADE ON UPDATE
CASCADE,
CONSTRAINT R_File FOREIGN KEY (R_File_Pos)
REFERENCES File_Table (Positon) ON DELETE CASCADE ON
UPDATE CASCADE
)
主界面使用分栏布局,左边显示项目管理模块,右边显示文件视图。

(2)文件管理视图
提供的方法:
bool insertFileTable(fileTable* value);
bool insertProTable(projectTable* value);
bool insertTagTable(tagTable *value);
bool alterTable(QString *table, void* value);
bool delTable(QString *table, int key);
int getProjectId(QString name);
static QString getFilePosition(QString filename);
static QString getFileType(QString filename);
void save(TagDatabase *database, ItemTree *tree);
void save(TagDatabase *database, ItemTree *tree);
(3)项目管理模块
提供方法:
Void showWebView(WebView
*htmlView, QString position);
void showPdfView(Window
*pdfView, QString position);
void addfile();
void delfile();
(4)Html操作模块
提供方法:
Bool findText();
QWebHistory *historY();
Void setUrl();
Void zoomIn();
Void zoomout();
(5)Pdf操作模块
提供方法:
QRectF searchBackwards(const QString &text); QRectF searchForwards(const QString &text); bool setDocument(const QString &filePath); void setPage(int page = -1);
void setScale(qreal scale);
void pageChanged(int currentPage);
void textSelected(const QString &text);
void selectedText(const QRectF &rect);
void showPage(int page = -1);。

相关文档
最新文档