基于RIA技术的网络电子相册的设计与实现

基于RIA技术的网络电子相册的设计与实现[20191207132118]
摘 要
本论文首先对系统的所做课题的研究背景、意义;课题所做内容;以及所用的开发环境RIA的Silverlight及工具的介绍;开发模式MVVM(Model-View-ViewModel)的架构做了详细的介绍与了解;另外还介绍了做界面设计的Expression Blend工具,对于我们所使用开发工具中使用的是VS2010版,Expression Blend和VS实现无缝连接的具体介绍。而后对系统进行合理的可行分析与设计,以及对数据库的连接问题介绍;随州便是对系统的结构与功能的具体实现方法进行介绍。

关键字:SilverlightMVVMExpressionBlend界面设计可行性分析
目 录
1 引言 1
1.1 课题研究的背景与意义 1
1.2 课题的内容介绍 2
1.3 本课题所做的工作 2
2 开发环境及工具 3
2.1 开发模式 3
2.2 系统的开发工具和运行环境 4
3 系统的分析和设计 5
3.1 系统可行性分析 5
3.1.1 经济可行性 5
3.1.2 技术可行性 5
3.1.3 操作可行性 5
3.2 需求分析 6
3.2.1 业务流分析 6
3.2.2 数据流分析 7
3.3 系统模块的设计 8
3.3.1 系统的功能分析 8
3.3.2 系统的参与者分析 9
4 系统分析 10
4.1 数据库的设计 10
4.1.1 数据库的概念设计 10
4.1.2 数据库的逻辑设计 11
4.1.3 数据库的物理设计 11
5 系统功能的实现 13
5.1 系统整体框架 13
5.2 定义系统的业务实体类 15
5.3 相册的管理 16
5.4 相片的管理 23
5.5 多图片的上传功能实现 27
6 系统测试 31
7 系统评价 34
7.1 系统存在的不足 34
7.2 系统改进方案 34
结语 35
参考文献 36
致谢 37
1 引言
1.1 课题研究的背景与意义
随着数码摄影技术的普及,电子相册系统已经成为人们日常生活中不可分割的一部分,很多内容管理系统都整合了电子相册模块,但是很多电子相册仍然有些单一简单甚至无聊,除了简单的图片展示外,不能提供绚丽的动画、自定义查看方式等。RIA的Silverlight网络电子相册系统提供了具有丰富效果相片展示功能,还提供了丰富的动画和定制特性,使得电子相册变得非常动人更具人性化。
电子网络相册如今在社会中有着多种应用,如QQ群有群相册、QQ空间也可以创建自己的电子网络相册,同时各大网站也都纷纷推出了一系列的功能齐全、缤纷多彩的相册空间,这样网民们就能把想分享的照片发布到网络中供周围朋友以及网友们的欣赏。
目前基本上每个上网用户都收藏了一定数量的照片,如何以一种吸引人的、另人印象深刻的方式存储于网络中,查看自己的每一组各具意义的照片是每个用户非常关心且有兴趣的问题。通过使用Siverlight丰富的多媒体功能与ASP.NET服务器端进行结合,可以创造出具有漂亮绚丽多彩效果的应用程序,会极大地吸引人们的眼球、用户的目光,提升整个网站系统的人气。
电子相册,顾名思义就是区别于传统的纸质相册的形式,而是以各类照片为基本素材,用电子产品显示而成的一种新兴作品。更是一种现代新兴产业的影视艺术形式。与电视节目类似,它同样具备图文并茂的视觉感受以及冲击效果。电子相册富有极强的叙事性,它不仅能以艺术摄像的变化手法完美演绎摄影画面的精彩瞬间,还能够给家庭和亲友带来欢乐,并且通过文字的完美演绎,展现照片的意义,发掘相册内在的思想深度,也可作为自己的一份档案资料记录曾经的美好回忆,并且能够永久的保存。
综上所述,我们不难看出,电子相册在现代社会中,不仅对网络,还是对人们的生活都发挥着越来越重要的作用,同样也越来越离不开电子相册,只有不断对其进行摸索、改进与创新,才能跟得上时代的脚步,才能满足人们日益增长的要求。
1.2 课题的内容介绍
1.在此课题中运用到了RIA的Silverlght技术的应用与管理。了解了Silverlight技术对ASP.NET应用程序的影响、Silverlight开发环境的介绍、Silverlight常用控件的介绍(具体包括TextBlock控件、TextBox控件、PasswordBox控件、Button控件、Slider控件和Calender等控件)、Silverlight编程。
2.对本课题的具体前期分析即用户的需求分析,在设计一个模块或者是一个项目之前,我们都需要对其进行严谨缜密的设计,因为一旦数据设计或者功能设计有所缺陷,代码和架构都可能要进行大规模的调整,这不仅会影响开发者的信心,增加对项目设计的难度,同样也会延缓开发项目的进度和计划。
3.对需要做的电子相册项目进行具体的功能分析,具体包括相册的管理(创建、修改、删除相册)、相片的管理(显示、删除相片)、图片上传(注意要实现多图片的文件上传)。
1.3 本课题所做的工作
本课题采用了Visual Studio 2010开发工具和SQL Server 2008数据库分析与设计了一个基于RIA的Silverlight网络电子相册系统。所做主要工作如下:
对系统进行有力全面的分析,包括可行性分析、需求分析(业务流分析、数据流分析)、系统模块的设计(系统功能分析、系统参与者分析)、数据库的设计(概念、逻辑、物理的设计)、系统功能的具体实现。而后对于设计汇总存在的问题进行具体分析具体解决,在不断的摸索中去解决问题,不会不懂的查找资料,询问老师同学,使得课题能够在最短时间内完成。
2 开发环境及工具
2.1 开发模式
在本系统中,使用的是基于RIA的Silverlight的开发模式,主要采用的是MVVM(Model-View-ViewModel)的架构,它将UI+VM+Model的模式完全隔开,各个模式的用途如下: UI注重的是界面展示,也就是跟用户打交道的;而VM则是处理业务逻辑上的问题,它把UI需要用的数据及事件响应给进行全面封装;最后Model注重的数据的提供与传输。
对于我们所使用开发工具中使用的是VS2010版,这样Expression Blend能够和VS无缝连接么?答案是肯定的,Expression Blend中的所有代码都可以在VS中转化过来。
对于ViewModel层,我们知道他要提供View层以大量数据和事件,其大概工作模式是View层把数据变化传输到ViewModel层,通过ViewModel层的业务逻辑处理之后,再最终提交给Model层。
简单理解ViewModel要做的工作有三点,分别是:数据的前期准备、事件的响应以及对数据的大量传输;
在Silverlight中还有一个比较重要的就是它的绑定方式,一般来说,它支持着OneTime、OneWay、TwoWay三种形式的数据绑定。
OneTime:控件与数据绑定之后,会自动显示数据,一旦显示完成,则两者无任何关联即会自动解除绑定。
TwoWay:这时相对于OneWay而言的,同样能够显示数据,但OneWay是单向关联,而TwoWay则是双向的,即数据源和控件上的值是相互联系的,一方有变化,另一方也会跟着变化。
实际开发中,数据源却并只是是某一个现成控件的属性,大多数是XML数据库对应的实体类进行绑定的,在这边,值得注意的是若是控件是与自定义类绑定的,则自定义类必须实现INotifyPropertyChange接口才能更好进行绑定。
在RIA的Silverlight中,不仅可以对UI控件的属性进行绑定,而且能够将UI控件中的事件进行绑定。MVVM模式中,ViewModel暴露所有需要用到的View事件属性,如下有三种实现方法:公布事件属性、事件初始化及绑定、定义事件的函数,由此可以看出Silverlight绑定功能的强大,为实现UI设计和后台代码的逻辑的分离提供强而有力的“后台”。
2.2 系统的开发工具和运行环境
1.Visual Studio 2010集成化开发环境,采用了Visual C# 4.0作为开发语言
2.SQL Server 2008 或者是SQL Server Express数据库;
3.Microsoft Silverlight 4 Tools for VS2010,Silverlight开发工具集合
RIA的Silverlight所提供的一些高层功能包括如下几个方面:
(1)跨平台支持:
它可以运行在所有流行的Web浏览器上,同时它也能够运行在Microsoft 公司的Windows平台上和苹果公司的MacOSX平台上。
(2)移动支持:
支持Windows Mobile 操作系统和Nokia S60设备。
(3)类似WPF的图形化系统:
访问一个支持类似Windows表示基础的、功能强大的图形化系统。
(4)丰富的控件库:
RIA的Silverlight提供了大量的的用户界面控件以支持数据库绑定和自动布局。
(5)DLR:
RIA的Silverlight支持动态语言,并支持在动态语言运行时上的操作。
除此之外,RIA的Silverlight还有一些控件需要我们去学习了解,具体包括TextBox控件、TextBox控件、PasswordBox控件以及Slider控件和Calender控件,在RIA的Silverlight中所有控件都是可以在XMAL中以声明的方式进行定义的,同样他也可以像ASP.NET一样在代码中进行动态定义。
3 系统的分析和设计
3.1 系统可行性分析
3.1.1 经济可行性
在当今社会设计做一个电子相册其实可以说是再简单不过的一个系统,只是相对于以往的纸质的相册来说,电子相册花费更少,样式更新,保存性更永久,不会再有相册被墨水等污渍弄脏就无法修复的烦恼。目前的电子相册系统,存在一个使用ASP.NET技术实现的相册,但是因为图片显示相对封闭静止,操作麻烦,一直很少有人去对其进行使用,但是随着大多数用户对于电子相册系统的依赖,同时需要更多个性化、人性化的功能,迫切需要一套更新颖的电子相册系统。
该系统只需支出适量的资金就可以进行本系统的开发设计与使用,使用本系统后,能够较大的带来高的系统访问量与较高的人气,提升系统知名度,同时也带动了系统的经营效率。
根据上述分析不难看出,本系统项目结构清晰明朗、功能合理,而且使用C#技术能够进行开发,并按照客户的要求进行合理设计全部功能。
3.1.2 技术可行性
电子相册系统为用户提供一个展示自己相册的平台,努力挖掘每一个潜在的用户,为用户提供一个个人展示的平台,拓宽企业的销售渠道,提升企业在信息化方面的竞争力。
电子相册系统的目标是:信息收集制度化、信息加工标准化、信息存储档案化、信息传递规范化及销售管理工作专业化。
该系统可以采用ASP.NET C#+Sliverlight4.0+SQL Server数据库来完成,之前就已经开发过类似的项目,完全可在要求时间内完成该系统的开发。
3.1.3 操作可行性
在操作上其实不用太过担心,本系统是基于RIA的Silverlight的一个项目,只要能够熟悉了解Silverlight的一些基本知识以及它的一些控件操作方式,还有便是了解在满足客户要求的前提下,对项目进行系统的分析和数据库表的建立,在这便是对项目的界面进行很好的设计,界面设计对于客户来说确实很重要,一个项目呈现出来,客户并不了解本项目的后台代码具体如何,而是首先之间感受项目的界面,所以我们要很好的设计界面,使得客户能够流畅的使用本系统。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/qrs/204.html

好棒文