小型备忘录系统学位论文Word下载.docx
《小型备忘录系统学位论文Word下载.docx》由会员分享,可在线阅读,更多相关《小型备忘录系统学位论文Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
2.总体设计
2.1、顶层数据流图,如图2-1:
图2-1
2.2、系统模块结构图,如图2-2:
图2-2
2.3、功能需求与程序与关系,如图2-3:
图2-3
3.具体系统实现功能介绍
3.1、备忘录新增功能
在系统的主界面中的4个条件(创建时间、提醒时间、内容、备注)中输入所要备忘的内容,再按一下新增,就已经新增加一个备忘日志,所有的备忘都可以在主界面的信息表中显示出来。
主要代码如下:
privatevoidbtnAdd_Click_1(objectsender,EventArgse)
{
stringcreat=Time1.Value.ToShortDateString().ToString();
stringtixing=Time2.Value.ToShortDateString().ToString();
stringneirong=text1.Text.Trim();
stringbeizhu=text2.Text.Trim();
stringstrwhere="
InsertintoInformation(创建时间,提醒时间,内容,备注)values('
"
+creat+"
'
'
+tixing+"
+neirong+"
+"
+beizhu+"
)"
;
caozuo(strwhere);
}
3.2、备忘录删除功能
在主界面的信息表中,找到你想要删除的备忘日志,选定,在按一下删除,就表示删除成功,所删除的备忘日志在主界面的信息表以及数据库都查找不到。
privatevoidbtnDel_Click_1(objectsender,EventArgse)
MessageBoxButtonsmbs=MessageBoxButtons.YesNo;
DialogResultresult;
result=MessageBox.Show("
是否要删除消息!
"
删除"
mbs);
if(result==DialogResult.Yes)
DeletefromInformationwhere创建时间='
+creat+"
and提醒时间='
+tixing+"
and内容='
+neirong+"
and备注='
+beizhu+"
3.3、备忘录修改功能
在主界面的信息表中,找到你想要修改的备忘日志,选定,其4个内容在输入文本框中显示出来,就直接在上面修改,然后按修改或回车就表示已经修改好了,所修改的备忘会在主界面的信息表中显示出来。
privatevoidbtnUpdate_Click_1(objectsender,EventArgse)
intindex=dataGridView1.SelectedCells[0].RowIndex;
intmaxindex=dataGridView1.Rows.Count;
if(index>
=0&
&
index<
maxindex-1)
strcreat=dataGridView1.Rows[index].Cells[0].Value.ToString().Trim();
strtixing=dataGridView1.Rows[index].Cells[1].Value.ToString().Trim();
strneirong=dataGridView1.Rows[index].Cells[2].Value.ToString().Trim();
strbeizhu=dataGridView1.Rows[index].Cells[3].Value.ToString().Trim();
UpdateInformationset创建时间='
提醒时间='
内容='
注备='
where创建时间='
+strcreat+"
and提醒时间='
+strtixing+"
and内容='
+strneirong+"
and备注='
+strbeizhu+"
3.4、备忘录查询功能
在主界面模块中,如果想查询备忘日志,按查询按钮,就跳到查询模块,然后选择查询类型,输入查询内容,再按回车或GO按键,就可以查询了,查询到的备忘日志会在查询模块中的信息表中显示出来。
privatevoidsearch_Click(objectsender,EventArgse)
stringstrwhere=textBox1.Text.Trim();
if(comboBox1.SelectedIndex==0)
show("
Select*fromInformationwhere创建时间='
+strwhere+"
);
elseif(comboBox1.SelectedIndex==1)
Select*fromInformationwhere提醒时间='
elseif(comboBox1.SelectedIndex==2)
Select*fromInformationwhere内容='
elseif(comboBox1.SelectedIndex==3)
Select*fromInformationwhere备注='
elseMessageBox.Show("
查找类型不能为空!
3.5、备忘录提醒功能
当你登陆系统后,若设定的提醒时间与本地时间的日期一样的话,就会弹出消息框显示你今天的备忘日记,并同时会有铃声想起,铃声的时间长度大概为10秒左右;
在消息框有个确定按钮,确定后,显示主界面。
privatevoidtixing()
stringmessage="
stringnow=DateTime.Now.Date.ToShortDateString();
select*fromInformationwhere提醒时间='
+now+"
SqlConnectionconn=newSqlConnection(@"
DataSource=.\SQLEXPRESS;
AttachDbFilename=C:
\Users\killlua\Desktop\小英\Command3\Command3\Database1.mdf;
IntegratedSecurity=True;
UserInstance=True"
System.Data.DataSetds=newSystem.Data.DataSet();
conn.Open();
SqlDataAdapteradapter=newSqlDataAdapter(strwhere,conn);
adapter.Fill(ds,"
Information"
if(ds.Tables[0].Rows.Count>
0)
StringBuildershortPath=newStringBuilder(80);
stringfilepath=
C:
\\Users\\killlua\\Desktop\\小英\\Command3\\Command3\\2.mp3"
if(filepath!
=string.Empty)
GetShortPathName(filepath,shortPath,shortPath.Capacity);
//取得短路径(DOC路径格式)
mciSendString("
closeall"
null,0,0);
//关闭设备
open"
+shortPath.ToString()+"
aliasMyMp3"
//打开音乐文件
playMyMp3"
//播放音乐
openFileDialog1.FileName=string.Empty;
for(inti=0;
i<
ds.Tables[0].Rows.Count;
i++)
{
DataRowdr=ds.Tables[0].Rows[i];
stringnum=(i+1).ToString();
message+=num+"
/创建时间:
+dr[0].ToString().Trim()+"
提醒时间:
+dr[1].ToString().Trim()+"
内容:
+dr[2].ToString().Trim()+"
备注:
+dr[3].ToString().Trim()+Environment.NewLine;
MessageBox.Show(message,"
闹钟提醒"
3.6、用户登陆功能
已经注册的用户在登陆界面输入用户名和密码,若用户名与密码与数据库存储的用户信息相匹配在话,则此用户就可以登陆自己的备忘系统界面,否则不能登陆系统。
privatevoidenter_Click(objectsender,EventArgse)
stringusername=textBox1.Text.Trim();
stringpassword=textBox2.Text.Trim();
if(string.IsNullOrEmpty(username)||string.IsNullOrEmpty(password))
MessageBox.Show("
用户名和密码不能为空!
return;
select*frompersonwhereusername='
+username+"
andpassword='
+password+"
if(show(strwhere)<
=0)
登录失败,你还没注册!
Form1form1=newForm1();
form1.Visible=true;
this.Visible=false;
}
3.7、用户注册功能
还没有注册的用户若想登陆此系统,则要进行注册,在登陆界面按“注册”进入注册界面,按照其要求填写用户信息,若用户名与数据库已存储的用户名不同在话,提交就会显示“注册成功”,自动返回登陆界面,让用户登陆;
若相同,系统会提示用户已存在,要用户重新注册。
privatevoidbtnsubmit_Click(objectsender,EventArgse)
stringsex="
if(radioButton1.Checked)
sex=radioButton1.Text;
elsesex=radioButton2.Text;
if(string.IsNullOrEmpty(username)||string.IsNullOrEmpty(password))
用户名和密码不能为空"
stringstrwhere1="
if(show(strwhere1)>
0)
该用户已经存在!
请重新注册吧"
Insertintoperson(username,password,sex)values('
+sex+"
if(caozuo(strwhere)>
注册成功!
Form3form3=newForm3();
form3.Visible=true;
this.Dispose();
3.8、用户退出功能
若用户在已完成自己在功能时或用户要离开又不想被别人看见自己在备忘日志信息时,按“退出”就可以注销用户,则退出系统。
privatevoidbtnexit_Click(objectsender,EventArgse)
MessageBoxButtonsmbs=MessageBoxButtons.OKCancel;
result=MessageBox.Show("
确定要退出!
"
退出"
mbs);
if(result==DialogResult.OK)
4.数据库设计
4.1、概念数据库设计
概念结构设计的主要任务是根据用户需求设计数据库的概念数据模型。
概念模型独立于具体的数据库管理系统,它描述的是从用户角度看到的数据库,反映了用户的现实环境,而与数据库将来怎样实现无关。
在需求分析基础上设计出能够满足用户各种需求的实体及它们之间的关系,从而为以后的逻辑结构设计作好铺垫。
数据库设计是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。
因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。
4.2、数据库逻辑结构设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。
数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
用户表4-1:
字段名称
数据类型
宽度
主键
说明
Username
nchar
20
no
用户名称
password
nchar
用户密码
sex
10
性别
表4-1
备忘日志信息表4-2:
创建时间
50
No
提醒时间
内容
200
备注
表4-2
4.3、数据库物理设计
用户表,如图4-3:
图4-3
备忘日志信息表,如图4-4:
图4-4
5.详细设计
5.1、设计工具的选择
设计工具是MicrosoftVisualStudio2008类设计视图,功能上简单,使用也简单,只有最基本的系统设计功能。
优点是它能与代码完全一致的实时统一,非常方便了代码的编写。
缺点是不支持需求分析阶段的设计,没有用例图顺序图。
而根据客户的需求,数据库设计用的是SQLServer2005,而不是用Office自带的Access数据库。
5.2、主要问题和解决方案
5.2.1、用户登陆模块设计,如图5-1:
图5-1
在登陆界面,已经注册的用户要输入用户名和密码,才能登陆系统,若输入用户名与密码不匹配时,则会弹出消息框“登陆失败,你还没注册”,如图5-2:
图5-2
若还没有输入用户名或密码就登陆时,就会弹出消息框“用户名和密码不能为空”,如图5-3:
图5-3
5.2.2、用户注册模块设计,如图5-4:
图5-4
对于想要登陆系统而没有注册的用户,则要在登陆界面按“登陆”按钮进入注册界面;
用户根据要求填写好按“提交”则会显示“注册成功”,然后返回登陆界面。
若用户名与已注册的用户重名,则不能注册,提交后系统就会提示用户已经存在,如图5-5:
图5-5
若用户名或者密码为空是,则不能注册,提交后系统会提示用户或密码不能为空,要重新注册,如图5-6:
图5-6
5.2.3、主界面模块设计,如图5-7:
图5-7
在主界面模块中,主要的功能操作都在上面,可以按照个人的意愿来进行备忘录在增加、修改、删除等等操作。
5.2.4、查询模块设计,如图5-8:
图5-8
如果备忘日志信息太多,用户想要查看某一信息在话,就可以用到查询功能,在主界面中点击“查询”按钮,就会进入查询界面。
查询界面中,有查询类型和查询内容要输入,查询类型有:
创建时间、提醒时间、内容、备注4种,选其一,然后在文本框输入想要收索在内容,查询后,内容就会在界面的数据表显示出来;
若没有选择查询类型,或者只输入查询内容,则不能进行查询操作,即程序不响应此操作。
5.2.5、闹钟提醒设计,如图5-9:
闹钟提醒的时间单位为天,没有细化到小时,所以,提醒会在每天登陆系统时,会提醒今天在所有备忘内容。
要想上午新增备忘,下午就可以提醒,那就要备忘后我退出系统,下午再打开。
若从查询模块返回主界面模块时,闹钟也会提醒一次,即每当跳到主界面模块时,闹钟提醒功能就会执行一次。