电子相册系统需求分析.docx
《电子相册系统需求分析.docx》由会员分享,可在线阅读,更多相关《电子相册系统需求分析.docx(28页珍藏版)》请在冰豆网上搜索。
![电子相册系统需求分析.docx](https://file1.bdocx.com/fileroot1/2023-1/7/8bc182e5-0e4d-43e6-ac81-8c74d0e8d9f2/8bc182e5-0e4d-43e6-ac81-8c74d0e8d9f21.gif)
电子相册系统需求分析
中原工学院软件学院
二级实践课题设计任务书
姓名
刘亚敏
计算机信息管理专业112班
题目
相册管理系统的设计和实现
设
计
任
务
要求设计一个简单的相册管理程序,能实现新建、打开相册,导入照片、幻灯片放映、旋转图片等功能。
可实现按相册创建时间、照片上传时间、照片描述等查看相册。
要求使用数据库记录照片信息,并用文件夹及文件操作管理相册及照片。
时
间
进
度
第1周:
(2012.06.11~2012.06.17):
系统需求分析,进行界面设计;设计系统的数据库结构进行分析、设计,并通过画E-R图的方式来帮助实现数据库结构的完整设计,列出数据库数据表,之后以列出的关系模型为依据进行
第2周:
(2012.06.18~2012.06.24):
对系统进行详细的分析设计,根据不同的功能模块,对其进行相应的编码及测试;
第3周:
(2012.06.25~2012.07.01):
对系统进行测试和纠错,进一步完善其功能,之后进行报告总结,交与老师验收。
原主
始要
资参
料考
与文
献
[01]李红.数据库原理与应用,高等教育出版,2003年3月。
[02]谢希仁.计算机网络.电子工业出版社,2008年1月。
[03]白以恩.计算机网络基础及应用[M].哈尔滨:
哈尔滨工业大学出版社,2000.189~258
指导教师签字:
年月日
摘要
由于市场竞争的需要,交流方式的多样化,用户的可选择的方式也就不断增加,对于软件研发者,软件功能的多样化和完善才是竞争的资本。
由于信息交流的多样化,特别是电子信息技术的发展,同时,随着数据库技术,客户/服务器技术等的发展,使得电子相册系统的功能更加完善。
电子相册管理系统的特点是从相册管理的角度出发,通过数据库将几乎所有与之相关的数据统一管理起来,从而形成了集成的信息集。
电子相册管理系统较好的用户界面,信息共享,信息管理使得管理人员和用户使用更加的便捷,而且电子相册系统的可操作性非常强,针对不同教育程度的人群。
电子相册系统容纳的信息量非常大,主要通过文字和图片等方式展示出来,针对当前信息交流和管理类型的软件较多的原因,电子相册系统通过简单的几个功能模块就实现了用户的登录、注册、信息更新、信息共享、信息管理等功能。
且在不同的功能模块中,分工明确,不同的功能模块通过控件联系起来。
从而使得用户之间的交流更加的多样化。
关键词:
相册管理;数据库设计;界面设计。
第1章绪论
1.1课题背景
由于市场竞争的需要,交流方式的多样化,用户的可选择的方式也就不断增加,对于软件研发者,软件功能的多样化和完善才是竞争的资本。
由于信息交流的多样化,特别是电子信息技术的发展,同时,随着数据库技术,客户/服务器技术等的发展,使得相册系统的功能更加完善。
相册管理系统的特点是从相册管理的角度出发,通过数据库将几乎所有与之相关的数据统一管理起来,从而形成了集成的信息集。
相册管理系统较好的用户界面,信息共享,信息管理使得管理人员和用户使用更加的便捷,而且相册系统的可操作性非常强,针对不同教育程度的人群。
相册系统容纳的信息量非常大,主要通过文字和图片等方式展示出来,针对当前信息交流和管理类型的软件较多的原因,相册系统通过简单的几个功能模块就实现了用户的登录、注册、信息更新、信息共享、信息管理等功能。
且在不同的功能模块中,分工明确,不同的功能模块通过控件联系起来。
从而使得用户之间的交流更加的多样化。
1.2相册管理系统的现状
现有系统主要是由人工进行管理和维护,工作量较大,不能满足人们对时间和效率的要求,导致这种相册模式已不再适应日益增长的相册工作管理量。
迫切需要找到一种更加智能的相册管理以及注册系统。
1.3课题研究内容
希望能够以最低的成本,并且能够在最短的时间期限内研发出具有登录、注册、信息共享、信息管理等功能的相册管理系统。
该课题以某商标注册所的客户管理需求为出发点,实现了以下功能:
1)登录模块
2)相册管理模块
3)相片管理模块
第2章需求分析
2.1相册需求分析
在完成了针对《相册管理》软件市场的前期调查,同时与多位软件使用者进行了全面深入地探讨和分析的基础上,提出了这份软件需求规格说明书。
此需求规格说明书对《相册管理系统》软件做了全面细致的用户需求分析,明确所要开发的软件应具有的功能、性能与界面,使系统分析人员及软件开发人员能清楚地了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
本说明书的预期读者为用户、业务或需求分析人员、测试人员、项目管理人员。
2.2需求分析的任务概述
2.2.1目录
1、开发目标
人们交流的方式多种多样,但是,我们在交流的同时希望更多的了解对方的信息,本软件即是根据此需求进行开发的。
2、应用目标
让用户能够通过注册信息,登录并更新及查询自己的信息,在此基础上,用户还能够有效的掌握和共享其它资源,但是不能更新。
从而促进了信息管理的规范化和集成化,使得用户之间的交流更加的便捷。
2.2.2用户的特点
本软件产品的最终用户来源广泛,相同之处则是为了增进与他人之间的交流,管理人员则可以随时更新软件的项目,以及查询和维护信息。
本软件面向大众,用户使用过程中的操作也不复杂。
2.2.3假定和约束
本软件产品为大众用户使用,然而,本软件在功能上还不够完善,因此对于用户的需求还无法完全实现。
2.2.4需求约定
本相册管理系统主要能实现新建、打开相册,导入照片、幻灯片放映、旋转图片等功能。
可实现按相册创建时间、照片上传时间、照片描述等查看相册,并用文件夹及文件操作管理相册及照片。
方便性和上传照片快速性创造条件,对用户的登陆注册以及管理实现计算机管理,实现数据的及时保存预处理。
2.2.5功能详细描述
相册管理系统主体分为三大部分:
用户登陆和使用相册和退出本系统。
<1>用户通过对用户名和密码的校验才可以登录,会出现一个相册管理系统主界面,里面包含了用户可以做的所有操作。
<2>在相册主界面部分可以上传相片,浏览相片,新建相册,删除相册等。
<3>退出本系统就彻底的退出了相册管理系统。
2.3系统环境需求
2.3.1开发环境需求
硬件需求:
CPUPIII500以上的PC服务器,内存1GB以上,硬盘8GB以上。
操作系统:
WindowsXP
软件需求:
MicrosoftVisualStudio2005开发环境,SQLServer2005数据库
2.3.2运行环境需求
硬件需求:
CPUPIII500以上的PC服务器,内存1CB以上,硬盘8GB以上。
操作系统:
WindowsXP;软件需求:
.NETFrameworkv2.0。
第3章概要设计
3.1数据库概要设计
对于企业客户关系管理系统的数据库设计,本文将从以下几个方面进行描述:
首先是概念模型描述,包括对系统的实体属性分析及系统的E-R图,然后是系统的逻辑结构设计,即给出系统的数据库设计表结构及描述。
3.1.1实体及其属性
整个系统各实体可用以下关系来表示(其中主键已用下划线标识):
●用户(用户账号,用户名,用户密码)
●相册(用户名,相册编号,相册名,创建时间,相册简述)
●相片(相册编号,相片编号,相片名,创建时间,相片简述)
3.1.2E-R模型
用户名
在分析过系统各实体之间的联系后可得出系统的整体概念模型,用E-R图表示出来,如图3.1所示的。
用户密码
用户
查看
相册
属性
相片
相片编号
相片名字
相册简介
创建时间
相册名字
相册编号
相片简介
创建时间
图3.1E-R图
第4章详细设计
为了方便用户的操作,系统采用了模块化设计的思想,通过各模块的不同组合以实现不同的增、删、改、查功能。
最终,使该系统能够具有规范化的格式、完整的信息量和易于查询等的特点。
4.1数据库的详细设计
依据数据库的概要设计,最后总结出数据库结构的主要数据表包括:
用户信息表,相册信息表,相片信息表。
以下将给出系统数据库设计的逻辑模型,即各数据表的结构。
1、用户信息表
用户信息表存储用户的相关信息,表结构如表4.2所示
表4.1用户信息表结构
列名
数据类型
长度
允许空
是否为主键
用户名
char
7
否
是
用户密码
char
7
否
否
用户编号
int
否
否
2、相册信息表
相册信息表存储相册的相关信息,表结构如表4.3所示
表4.2相册信息表结构
列名
数据类型
长度
允许空
是否为主键
用户账号
char
7
否
否
相册号
char
6
否
是
相册名
char
20
否
否
创建日期
smalldatetime
否
否
3、相片信息表
相片信息表存储相片的相关信息,表结构如表4.4所示
表4.3相片信息表结构
列名
数据类型
长度
允许空
是否为主键
相册号
Char
6
否
否
相片号
char
7
否
否
相片名
char
10
否
是
相片简介
Int
6
否
否
4.2结构化分析与设计
4.2.1数据主要功能的数据流程图
1.登录功能
2.用户功能
4.2.2系统总体结构设计
4.3系统详细设计
以下是系统各主要功能模块的界面设计及实现。
4.3.1相册登录管理
进入相册的用户必须先登录,输入正确的用户名和登录密码,点击“登录”。
用户在登录界面填写完用户名及密码后,单击登录按钮,不是所有的用户名和密码都能进入,输入的用户名和密码需与数据库中的用户表内的记录一致,需进行判断。
登录页面如图4.1所示
图4.1登录页面
4.3.2相册信息管理
用户通过身份验证后进入相应功能页面。
点击界面“登录”按钮,用户在进入系统后可以进行相应操作,其中包括新建相册等,新建相册需要把输入的信息添加到数据库中,相册才可以建立成功。
进入“相册管理界面”,可查看“相册信息”。
如图4.2所示。
图4.2相册管理页面
在该页面通过选择相册查询如“美丽风景”、“绚丽夜空”、“伤感人物”、“可爱动物”、“魅力星座”等相册信息,选择其中的一个相册,点击打开对于相册进行查询、编辑,系统都提供了查询功能,点击某一条相册,点击“打开相册”按钮,将进入该相册中,可对相片进行编辑,旋转,黑白化……
在该界面中单击新建相册集弹出相册新建界面,其中包括相册编号、相册名、相册描述,在这其中填入相应数据后单击新建相册即可创建该相册,同时在数据库和前台都有相应更新;
在列表式下拉框中选中某个相册名后单击“打开相册”即可打开该相片管理界面,如图4.3所示:
4.3相册信息管理页面
在“相册管理”页面中,单击“进入相册查询”按钮,弹出“相册查询”页面,输入相册名,单击“显示结果”,在ListBox控件中,显示相册的相关信息,如图4.4所示:
图4.4相册查询页面
第5章运行及测试
5.1 系统测试概要
在编码的过程中,需要通过不断的对系统进行调试,才能对其功能做出完善性的补充。
所以测试在此期间起了相当大的作用。
以下给出用户登录及客户信息管理模块的若干主要测试用例。
如表5.1所示。
●登录功能;
实现用户登录,根据登录者的不同,进入不同界面。
●用户注册功能;
实现用户注册功能,在注册时填写相应的用户个人信息(用户名、密码、等)
●用户信息管理功能;
实现用户个人信息的管理,用户对于个人信息可以随时的修改。
●系统设置管理;
用户根据需要修改系统相关设置
表5.1测试用例
序号
功能模块
测试功能点
操作步骤及数据
期望结果
实际结果
1.
登录
输入正确用户名密码
在登录页面输入用户名及密码,点击“登录”按钮
正常登录,显示相应功能页面
正确
2.
输入正确的用户名和错误的密码
在登录页面输入用户名及密码,点击“登录”按钮
不能正常登录,系统给出提示
系统给出提示:
“密码错误,请重新输入”
3.
用户名或密码空白
在登录页面不输入用户名及密码,直接点击“登录”按钮
系统给出提示
系统给出提示“请输入用户名及密码”
4.
相册信息管理
相册信息的查询
根据相册的名称、创建时间等信息进行对相册进行分类查询
按用户要求显示相册列表
按创建时间或相册名字显示相册列表
5.
相册信息的新建
单击相册管理器中的新建相册,弹出新建相册界面,输入相册详细信息,单击“新建相册”
即创建相册成功
按用户要求创建出相应的相册
创建的相册信息和用户所填数据
6.
相片信息管理
相片信息的新建
点击添加相片,在文件夹中选中要上传的相片,填写相片相应信息,然后上传
上传用户希望看到的相片
相册列表和数据库中出现相应上传的照片
相片信息的修改
点击打开相片,在相片管理器重进行对相片的,浮雕化、向左向右旋转等功能
单击相应的按钮出现相应想过
单击放大或缩小等按键会出现相应的结果
5.2系统维护
本系统主要采取三种方式维护:
1改正性维护
在软件初期使用,由于某种原因,软件存在一些错误或缺陷。
需要由软件开发小组按用户要求对系统进行改正性维护。
2适应性维护
当系统长时间使用后,随着用户的增加,系统在某些方面的速度可能不如刚开始的时候,所以对这个问题我们要做出适当维护。
3完善性维护
在系统使用后,该应用系统可能不适应业务的发展。
用户对软件提出了新的需求和性能要求。
第6章结束语
通过长达将近两周的软件工程课程设计,我们团队不但学会了软件工程设计的基本步骤,而且也学会了如何培养自己的团队协作能力。
在开发初期,团队必须使用统一的开发平台,由小组长统一部署,将小组分为几个部分,大家分工合作再汇总以提高课程设计完成的效率,不懂的问题大家也可以相互帮忙解决,不懂的问题就要问,问老师问同学,也可以上网搜索,千万不要一个人在那里瞎想,因为我们是一个团队,我们要提高效率必须要相互帮助、良好的协作!
前期工作做完了后,我们一定要进行测试工作,每个人写的代码难免会出现一些问题,测试期间就是对这些问题进行修改,然后总结经验和教训!
总之,在这次的设计过程中,我们学到的不仅是知识,还认识到许多事情。
这次设计使我们的编程水平提高了一大步,使我们充分的认识到合作的可贵。
由于这次设计涉及到数据库、软件工程、C#,我们学到了不少编程工具与数据库连接的知识,对数据库的操作有了进一步的了解。
这次设计对我们的综合能力是一次很好的锻炼,但是我们必须承认自己的能力和知识还很肤浅。
所以今后我们的学习道路还是很漫长的。
最后,在这里我们要衷心的感谢我们的指导老师杨卫明,谢谢他的悉心指导和热心帮助。
由于我们的水平有限,加之时间短暂,故电子相册管理系统中还有许多不足之处,望老师加以批评指正,我们会在以后的课程设计中不断改进,不断完善。
参考文献
[01]李红.数据库原理与应用,高等教育出版,2003年3月。
[02]谢希仁.计算机网络.电子工业出版社,2008年1月。
[03]白以恩.计算机网络基础及应用[M].哈尔滨:
哈尔滨工业大学出版社,2000.189~258
附录系统相关代码
系统的主要代码如下:
用户登录:
publicpartialclassLogin:
Form
{
publicLogin()
{
InitializeComponent();
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
if(textBox1.Text==""||textBox2.Text=="")
MessageBox.Show("用户或密码有空值!
!
!
","信息提示");
else
{
stringmysql;
SqlConnectionmyconn=dataconnection.createConn();
//SqlConnectionmysqlconn=newSqlConnection();
//stringconnString="database=photo;integratedsecurity=SSPI;server=RJXY302-29\\SQL2005";
//mysqlconn.ConnectionString=connString;
//mysqlconn.Open();
mysql="Select*fromuswhereuser='"+textBox1.Text.Trim()+"'andpassageword='"+textBox2.Text.Trim()+"'";
SqlCommandmycmd=newSqlCommand(mysql,myconn);
inti=Convert.ToInt32(mycmd.ExecuteScalar());
if(i<=0)
{
Formmyform=newmain();
myform.Show();
this.Hide();
}
else
{
MessageBox.Show("用户或密码错误!
!
!
","信息提示");
myconn.Close();
}
}
}
privatevoidForm8_Load(objectsender,EventArgse)
{
this.AcceptButton=this.button1;
}
publicstringGetusename()
{
returntextBox1.Text.Trim();
}
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
{
}
}
}
相册管理界面:
publicpartialclassoppic:
Form
{
publicoppic()
{
InitializeComponent();
}
privatevoidtoolStrip1_ItemClicked(objectsender,ToolStripItemClickedEventArgse)
{
}
privatevoidoppic_Load(objectsender,EventArgse)
{
inti;
DirectoryInfodinfo=newDirectoryInfo("f:
\\相册库\\"+this.Text);
FileSystemInfo[]fsinfo=dinfo.GetFileSystemInfos();
for(i=0;ilistBox1.Items.Add(fsinfo[i].ToString());
listBox1.SelectedIndex=0;
pictureBox1.Image=Image.FromFile("f:
\\相册库\\"+this.Text+"\\"+listBox1.SelectedItem.ToString());
comboBox2.Items.Add("垂直翻转");
comboBox2.Items.Add("水平翻转");
comboBox2.Items.Add("90度水平翻转");
comboBox2.Items.Add("180度水平翻转");
}
privatevoidlistBox1_SelectedIndexChanged(objectsender,EventArgse)
{
pictureBox1.Image=Image.FromFile("f:
\\相册库\\"+this.Text+"\\"+listBox1.SelectedItem.ToString());
}
privatevoidtoolStripButton9_Click(objectsender,EventArgse)
{
FileInfoFinfo=newFileInfo(listBox1.Text);
Finfo.Delete();
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
}
//privatevoidpictureBox2_MouseMove(objectsender,MouseEventArgse)
//{
//if(image!
=null)
//{
//Cursor.Current=mycur;
//Graphicsgra=pictureBox1.CreateGraphics();
//RectanglesourceRec=newRectangle(e.X-10,e.Y-10,30,30);
//RectangledestRec=newRectangle(e.X-20,e.Y-20,50,50);
//gra.DrawImage(image,destRec,sourceRec,GraphicsUnit.Pixel);
//}
//else
//MessageBox.Show("选择需要显示的图片");
//}
//Graphicsgraphics;
//Imageimage1=Image.FromFile("e\\相册库\\云台山");
//privatevoidbutton5_Click(objectsender,EventArgse)
//{
//graphics.Clear(this.BackColor);
//intwidth=Convert.ToInt32(Convert.ToDouble(comboBox1.Text)*image1.Width);
//intheight=Convert.ToInt32(Convert.ToDouble(comboBox1.Text)*image1.Height);
//graphics.DrawImage(image1,180,26,width,height);
//}
//privatevoidbutton9_Click(objectsender,EventArgse)
//{
//graphics.DrawImage(image,newPoint(180,26));
//}
//Cursormycur=newCursor(@"E:
\相册库\云台山");
//Bitmapimage;
//privatevoidbutton4_Click(object