CoderZQYのBlog

个人不定期更新的学习周报

0%

软件工程相册管理系统文档

相册管理系统

一、面向对象分析

1. 设计目的

随着数码产品的普及,传统的相册已经淡出了市场,人们一般把照片存放在电脑中。如果电脑中照片很多,不易查和别人分享。制作这个电子相册系统对相册进行分类管理,可以上传自己的照片和朋友分享,同时对朋友的照片可以发表自己的评论。系统拥有较好的用户界面,信息共享,信息管理使管理人员和用户使用更加便捷,可操作性强。面向所有希望在电脑上进行照片管理的用户。

2. 功能需求

2.1 系统结构

该相册管理系统一共包含三个子系统,分别是用户登陆子系统、用户管理子系统、相册管理子系统。

  • 用户登陆子系统:用户登陆子系统具有用户注册和用户登录功能。
  • 用户管理子系统:普通用户具有个人信息管理功能、管理员还具有用户管理功能。
  • 相册管理子系统:相册管理子系统具有照片管理和相册管理功能。
  • 整个系统采用MVC结构,即JSP + javabeen + servlet的模式

2.2 功能描述

2.2.1 用户管理子系统

Ⅰ、用户:

  • 普通用户:系统的合法用户

  • 管理员:具有系统管理权限的用户

Ⅱ、功能:

普通用户:

  • 注册:注册成为系统用户

  • 注销:删除用户

  • 更改:修改用户信息

  • 登入:登陆系统

管理员:

  • 登录

  • 升级用户

  • 删除用户

Ⅲ、用例模型视图:

image-20210211030909956

图 1 普通用户-用户管理子系统用例图

image-20210211030918761

图 2 管理员-用户管理子系统用例图

Ⅳ、活动图:

  • 注册功能活动图:

image-20210211135526352

图 3 注册功能的活动图
  • 登入功能活动图:

    image-20210211031023098

图 4 登入功能的活动图
  • 注销功能活动图:

    image-20210211031045642

图 5 注销功能的活动图
  • 更改功能活动图:

    image-20210211031055500

图 6 更改功能的活动图
  • 管理员更新用户信息活动图:

    image-20210211031108968

图 7 管理员更新用户信息功能的活动图

Ⅴ、场景描述:

表 1 用户登录场景
用例名称 用户登录
范围 用户管理子系统
级别 重要
主要参与者 用户(关注身份的合法性)
涉众及其关注点
前置条件 合法用户
成功保证 进入系统
主成功场景 (1)启动系统,出现登录界面。 (2)输入用户名和密码,提交。 (3)系统验证。 (4)验证成功进入系统
表 2 管理员删除用户场景
用例名称 管理员删除用户
范围 用户管理子系统
级别 重要
主要参与者 管理员(拥有相应权限)
涉众及其关注点 违规用户
前置条件 管理员拥有管理用户权限
成功保证 进入管理员界面
主成功场景 (1)启动系统,登录管理员界面 (2)输入管理员用户名和密码,提交 (3)系统验证 (4)验证成功进入管理员界面 (5)查找所要删除的用户 (6)若找到,进行删除

2.2.2相册管理子系统

Ⅰ、用户:

  • 普通用户

  • 管理员

Ⅱ、功能:

普通用户:

  • 创建相册:创建一个新的相册

  • 修改相册:对相册进行修改

  • 上传图片:上传照片或图片到某个相册

  • 浏览照片:播放照片

  • 对照片评论:在每张照片的评论区写感想

管理员:

  • 审核用户图片

Ⅲ、用例模型视图:

image-20210211031304329

图 8 普通用户相册管理用例图

image-20210211031313669

图 9 管理员相册管理用例图

Ⅳ、泳道图:

image-20210211031323568

图 10 用户相册管理功能的泳道图

Ⅴ、场景描述:

表 3 用户上传图片场景
用例名称 用户相册管理
范围 相册管理子系统
级别 重要
主要参与者 用户、管理员
涉众及其关注点
前置条件 用户成功登入相册管理系统,
成功保证 上传的照片符合要求
主成功场景 (1)上传照片,等待审核。 (2)审核通过。 (3)成功上传,相册更新。

3. 逻辑分析与建模

3.1 用户管理子系统建模

3.1.1 业务类和领域类

  • 实体类:用户、登入、注册、更新和注销;管理员的登入、升级用户、删除用户

  • 控制类:用户管理、管理员管理

  • 界面类:登录界面、用户管理界面、管理员界面

3.1.2 类模型

  • 登入功能的类模型:

    image-20210211135747603

图 11 登录功能的类模型
  • 用户管理的类模型:

image-20210211135756360

图 12 用户管理的类模型
  • 管理员管理的类模型:

image-20210211135804536

图 13 管理员管理的类模型

3.1.3 协作模型

  • 登录功能的协作模型:

image-20210211135920158

图 14 登录功能的协作模型
  • 用户管理功能的协作模型:

image-20210211135926006

图 15 用户管理功能的协作模型
  • 管理员管理功能的协作模型:

image-20210211140024512

图 16 管理员管理功能的协作模型

3.2 相册管理子系统建模

3.2.1 业务类和领域类

  • 实体类:相册目录、相册、照片列表、照片、浏览、评论、上传、审核
  • 控制类:相册管理、用户相册管理
  • 界面类:相册管理界面、管理员界面

3.2.2 类模型

image-20210211140045143

图 17 相册管理的类模型

image-20210211140122049

图 18 用户相册管理的类模型

3.2.3 协作模型

  • 管理员相册管理的协作模型:

image-20210211140141502

图 19 用管理员相册管理的协作模型
  • 用户相册管理的协作模型:

image-20210211140146776

图 20 相册管理的协作模型

4. 非功能分析

4.1 技术可行性分析

目前为止,用户登入子系统、用户管理子系统和相册管理子系统已经基本实现,用户在使用过程中并无不良反馈,能够在规定时间内完成系统的开发。

4.2 社会可行性分析

  • 法律方面的可行性:本产品未触犯任何法律法规,可进行开发。
  • 使用方面的可行性:由调查可知,本系统是一款实用价值较强的产品,提供诸多功能,能满足用户的需求。

4.3 经济可行性分析

本产品属于小型软件,对于经费的开支并不大,开发系统时所用的软件成本也不高,系统开发的支出较少,也在预算范围内,主要支出为数据库与网络服务器的费用。

4.4 可行性研究结论

在软件开发时,支出主要源于服务器和安全维护费用,其他方面并无太多支出,所以,该软件的经济效益时可观的。

二、面向对象设计

1. 系统结构

1.1 系统整体结构设计

image-20210211140330759

图 1 系统结构设计图

1.2 系统功能框架设计

image-20210211140414657

图 2 系统功能框架图

2. 功能设计

2.1 用户登录子系统

2.1.1 注册、登录功能类图

image-20210211140705665

图 3 注册、登录功能精化类图

2.1.2 注册功能顺序图

image-20210211140715988

图 4 注册功能顺序图

2.1.3 登录功能顺序图

image-20210211140723802

图 5 登录功能顺序图

2.2 用户管理子系统

2.2.1 用户修改密码功能

  • 类图

image-20210211140739917

图 6 用户密码修改功能精化类图
  • 顺序图

image-20210211140743627

图 7 用户密码修改功能顺序图

2.2.2 管理员查看用户功能

  • 类图

image-20210211140755710

图 8 用户查看功能精化类图
  • 顺序图

image-20210211140802821

图 9 用户查看功能顺序图

2.3相册管理子系统

2.3.1添加、删除相册功能

  • 类图

image-20210211140816599

图 10 添加、删除相册功能精化类图
  • 添加相册功能顺序图

image-20210211140824396

图 11 添加相册功能顺序图

2.3.2 上传、查询、删除图片功能

  • 类图

image-20210211140842667

图 12 上传、查询、删除图片功能精化类图
  • 上传图片功能顺序图

image-20210211140846499

图 13 上传图片功能顺序图

2.3.3 放映单张图片功能

  • 类图

image-20210211140903535

图 14 放映单张图片功能精化类图
  • 顺序图

image-20210211140907132

图 15 放映单张图片功能顺序图

3. 非功能设计

3.1 程序运行环境

  • 开发平台:Windows 10,Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
  • 开发软件:IDEA 2019.3.3 x64
  • Tomcat版本:apache-tomcat-8.5.59
  • 数据库:MySql 8.0.19
  • MySql数据库管理和开发工具:Navicat 12.0.11
  • 相关Jar包:

    ① 使用SmartUpload组件:jsmartcom_zh_CN.jar

    ② 使用C标签:jstl.jar和 standard.jar

    ③ Mysql驱动:mysql-connector-java-8.0.19.jar

3.2 易用性

本系统具有:易理解性、易学习性和易操作性等特点

  • 在UI设计上充分考虑了用户的需求,通过各种提示使得整个相册管理系统的操作简单易上手。
  • 增设用户名、当前时间的屏幕显示,以体现整个系统的友好性、人性化。
  • 当鼠标移动到相关链接时会发生颜色变化,使用户很容易理解系统的操作模式,增强了用户体验效果。

4. 数据库设计

4.1 E-R图

image-20210211141124234

图 16 E-R图

4.2 表设计

4.2.1 用户信息表(tb_user)设计

字段名 类型 长度 约束 自增 备注
u_id int unsigned pk 用户id
u_name varchar 50 Unique 用户名
u_pass varchar 50 密码
u_flag int 1 标志位(1,admin,0,user) default:0
表 1 tb_user表

4.2.2 相册表(tb_album)设计

字段名 类型 长度 约束 自增 备注
a_id int unsigned pk 相册ID
a_name varchar 50 相册名
a_discription varchar 255 相册描述
表 2 tb_album表

4.2.3 照片表(tb_photo)设计

字段名 类型 长度 约束 自增 备注
P_id int unsigned pk 照片ID
P_name varchar 50 照片名称
P_discription varchar 255 照片描述
表 3 tb_photo表

4.2.4 相册类别表(tb_type)设计

字段名 类型 长度 约束 自增 备注
t_id int unsigned pk 类别id
t_name varchar 50 unique/not null 类别名称
表 4 tb_type表

4.2.5 创建相册表(tb_ua)设计

字段名 类型 长度 约束 自增 备注
u_id int unsigned Pk/not null 用户id
a_id int unsigned Pk/not null 相册ID
a_createtime datetime 创建时间
表 5 tb_ua表

4.2.6 上传图片表(tb_ap)设计

字段名 类型 长度 约束 自增 备注
a_id int unsigned Pk/not null 相册ID
P_id int unsigned Pk/not null 照片ID
P_uploadtime datetime 上传时间
表 6 tb_ap表

4.2.7 搜索图片表(tb_up)设计

字段名 类型 长度 约束 自增 备注
u_id int unsigned Pk/not null 用户id
P_id int unsigned Pk/not null 照片ID
P_uploadtime datetime 上传时间
表 7 tb_up表

4.2.8 相册分类表(tb_ta)设计

字段名 类型 长度 约束 自增 备注
t_id int unsigned Pk/not null 类别id
a_id int unsigned Pk/not null 相册ID
a_createtime datetime 创建时间
表 8 tb_ta表

三、系统实现

1. 功能实现

1.1 需求功能

该系统实现了课程的全部要求,可对相册进行分类管理,可以上传自己的照片和朋友分享,同时对朋友的照片可以发表自己的评论。

1.2 扩展功能

  • 精美的用户界面来提升用户体验感
  • 在图片浏览时我们采用百度图片的设计,可以鼠标触碰图片边缘来实现上下张的翻页
  • 供快捷的图片搜索服务,可以按照片名称+所属相册精确查找,也可以只输入照片名称模糊查找
  • 友情链接可以跳转到其他在线用户相册系统
  • 帮助可以跳转到用户使用指导界面

2. 界面实现

2.1 注册登录界面

image-20210211141301815

图 1 系统登录注册界面图

2.2 相册查看界面(主界面)

image-20210211141306476

图 2 主界面图

2.3 图片查看界面

image-20210211141309671

图 3 图片查看界面图

2.4 图片放映界面

image-20210211141313727

图 4 图片放映界面图

2.5 新建相册界面

image-20210211141320066

图 5 新建相册界面图

2.6 上传图片界面

image-20210211141324215

图 6 上传图片界面图

2.7 密码修改界面

image-20210211141328109

图 7 密码修改界面图

2.8 管理员查看用户界面

image-20210211141333675

图 8 用户查看界面图

2.9 照片评论界面

image-20210211141338213

图 9 照片评论界面图

image-20210211141342027

图 10 照片评论区

四、总结

java代码参考github:AlbumManage

-------------本文结束感谢您的阅读-------------