网易电子相册6|电子相册系统
关键字:网易电子相册
简 介:2011年09月07日 重要提醒:系统检测到您的帐号可能存在被盗风险,请尽快查看风险提示,并立即修改密码。 关闭 网易博客安全提醒:系统检测到您当前密码的安全性较低,为了您的账号安全,建议您适时修改密码 立即修改 关闭 电子相册系统 21.1 系统分析和设计
2011年09月07日
重要提醒:系统检测到您的帐号可能存在被盗风险,请尽快查看风险提示,并立即修改密码。 关闭
网易博客安全提醒:系统检测到您当前密码的安全性较低,为了您的账号安全,建议您适时修改密码 立即修改 关闭
电子相册系统
21.1 系统分析和设计
本系统采用Struts 2 Hibernate Spring的开发模式,Hibernate用于底层的数据库操作,Struts 2用于控制层和页面表现层的处理,应用中各组件都处于Spring的Ioc容器管理下,以松耦合的方式组织在一起。
< xmlnamespace prefix ="st1" ns ="urn:schemas-microsoft-com:office:smarttags" />
21.1.1 需求分析
随着数码产品的普及,传统的相册已经淡出了市场,人们一般都把照片存放在电脑中。但是,如果电脑中相片很多的话,查找起来就很不方便,也不能和别人分享。因此制作这个电子相册系统对相册进行分类管理,可以上传自己的相片和朋友分享,同时对朋友的相片可以发表自己的评论。
根据上面的分析,相册系统主要有以下功能:创建相册、修改相册、删除相册以及上传相片、修改相片、删除相片、和对相片的评论等。如果是后台管理员的话还可以增加、修改、和删除相册类别。
经过需求分析,本系统的角色分为普通用户和管理员,这两个角色有不同的功能模块。该相册系统的用例图如图21-1所示。
21.1.2系统功能模块
根据前面的分析,在本相册系统中,普通用户操作主要有注册、登录、创建相册、修改相册、删除相册以及上传照片、修改照片、删除照片和对照片的评论;管理员操作主要有登录和管理相册类别。下面对这两个角色操作进行设计分析。
1. 普通用户操作
作为普通用户登录系统后,首先可以创建自己的相册,然后在相册中上传自己的照片,还可以对自己的相册和照片进行修改和删除,同时可以浏览别人的照片并发表自己的评论。具体操作如图21-2所示。
2. 管理员的用户名与密码在数据表中设定,管理员登录后可以对相册中的类别进行管理,具体操作如图21-3所示。
21.2 数据库设计
在完成系统的需求分析和系统的设计之后,开始数据库的建表,用户数据的存储。数据表的设计是很重要的。下面分别对本系统中需要用到的表进行介绍。
21.2.1数据库建表
本系统选用Oracle数据库,在Oracle数据库中创建一个数据库system(Oracle数据库自带)。本相册系统需要有如下5个表:用户表usersbrain、相册类别表kindbrain、相册表albumbrain、相片表photobrain和相片评论表photowordbrain。
1. 用户表users
本系统的用户表用来保存用户信息,便于判断登录用户是否有效。用户表信息主要包括用户名、密码、注册时间以及头像等。该表的字段信息如表21-1所示。
表21-1用户表 字段名称 含义 类型 约束 userId 自增列 Int 主键 userName 用户名 Varchar2(32) 非空 PassWord 密码 Varchar2(32) 非空 userEmail 邮箱 Varchar2(32) 非空 userLv 用户等级 Int 非空 regDate 注册时间 Varchar2(32) 非空 Head 头像 Varchar2(32) 非空
2. 相册类别表kind
建立相册类别表是为了把相册进行分类管理,这样可以方便用户的查询。该表主要包括类别名称和类别说明。该表的字段信息如表21-2所示。
表21-2相册类别表 字段名称 含义 类型 约束 kindId 自增列 Int 主键 kindName 类别名称 Varchar2(32) 非空 kindDesc 类别说明 Varchar2(32) 非空
3. 相册表album
该表用来保存用户建立的相册信息,相册信息主要包括相册名称、相册说明、创建时间、创建人和所属类别信息。该表的字段信息如表21-3所示。
表21-3相册表 字段名称 含义 类型 约束 albumId 自增列 Int 主键 albumName 相册名称 Varchar2(100) 非空 albumOpen 相册公开 Int 非空 Cover 相册封面 Varchar2(32) 默认为空 albumDesc 相册说明 Varchar2(1000) 非空 createDate 创建时间 Varchar2(32) 非空 kindId 种类ID Int 外键 userId 创建人ID Int 外键
4. 相片表photo
该表用来保存用户上传的相片信息,相片信息主要包括相片标题、相片说明、上传时间、相册ID、相片地址和小相片地址。该表的字段信息如表21-4所示。
表21-4相片表 字段名称 含义 类型 约束 photoId 自增列 Int 主键 Title 相片标题 Varchar2(32) 非空 photoDesc 相片说明 Varchar2(50) 非空 uploadDate 上传时间 Varchar2(32) 非空 picUrl 相片地址 Varchar2(32) 非空 smallPicUrL 生成小相片地址 Varchar2(32) 非空 albumId 相册ID Int 外键
5. 相片评论表photoword
该表用来保存相片评论信息,相片评论信息主要包括标题、内容、评论人ID、评论时间和相片ID。该表的字段信息如表21-5所示。
表21-5相片评论表 字段名称 含义 类型 约束 photowordId 自增列 Int 主键 Title 标题 Varchar2(32) 非空 Content 内容 Varchar2(50) 非空 wordDate 评论时间 Varchar2(32) 非空 userId 评论人ID Int 外键 photoId 相片ID Int 外键
21.2.2系统实体及其关联关系
根据数据库的建表,确定本系统有5个实体:用户、种类、相册、相片和相片评论。下面进一步分析他们之间的关系。
用户可以添加相册和相片评论,所以用户实体和相册、相片评论两个实体存在一对多的关联。相册类别主要是进行相册分类,因此,相册类别和相册之间存在一对多的关系。不同类别的相册里边有很多相片,因此相册和相片有一对多的关系。相片评论只针对相片,一个相片可以有很多人评论,所以相片和相片评论之间也是一对多的关联关系。图21-4是这5个实体的关系图。