图4.2 数据流程图
四、网站概要设计
1、 模块的划分与功能设计
通过对用户需求调研并分析,确定系统应具备的功能,包括:注册登录、上传下载、留言评论、创建目录、计算浏览次数、修改密码、上一张/下一张连接。
各模块的具体功能设计如下: (1)注册登录功能
对于相册这种网站来说,用户首先必须注册,提供可供登录比对的个人验证信息,进入个人的帐号之后才能进行其他操作。 (2)上传下载
相册最主要的功能就是存储图片,所以必须提供完善的用户上传图片到服务器端及用户从服务器端下载图片的功能,上传时选择相册名,下载时可以选择下载的路径。此外,还包括一些删除图片,目录的相册基本管理。 (3)留言评论
- 17 -
提供浏览者对图片发表评论的功能,发表评论必须先注册登录。 (4)创建目录
允许注册用户登录后自行在相册内创建文件夹,方便用户对上传相片的分类和管理。 (5)计算浏览次数
计算浏览某一个目录的次数,数据自动更新并显示在目录名旁边。 (6)编辑图片
根据需求分析,提供对已上传的图片修改名称及描述信息的功能,用户在想修改图片名称和描述信息的时候不用将图片删除重新上传。 (7)修改密码
用户可根据自己的需要对原有的密码进行修改。 (8)上一张/下一张连接
为图片浏览者提供“上一张/下一张”连接功能,方便浏览者查看上下张图片。
2、功能模块的初步设计
为了配合模块的划分和实现预期的功能,将功能模块按照网站的页面个数划分为:相册首页、用户登录页面、创建目录页面、上传页面、用户注册页面、修改密码页面和显示图片页面,各个页面后端写实现功能的代码,在App_Code里面写一个连接数据库方法的类databaseclass,具体连接数据库的ADO方法,比如Connection,Command,Adapter和dataset,datatable等都写在这个类里面,页面后端代码共用此方法对数据库进行连接。
3、 模块的组织结构图
如图4.3所示
- 18 -
图4.3 模块组织结构图
起始页为相册首页,未登录可以浏览图片,进入显示图片评论页面,用户登录页面和用户注册页面,只有查看图片和评论的权限。
登录用户可以进入所有页面,并拥有一些操作权限。
4、 数据库结构的设计
用户信息表如表4.1所示
表4.1 userInfo(用户信息表) 名称 userid username password tel email rolename 中文描述 用户id 用户名 密码 电话 邮件 权限 数据类型 int varchar varchar varchar varchar varchar 长度 4 50 50 50 50 50 Null PK Not null Y Null Null Null Null Null 默认值 userInfo用于储存用户信息,用户在注册时填写的资料都保存在此表内,主要用于用户登录时对比信息,确定是否本人登录。
- 19 -
图片信息表如表4.2所示
表4.2 photo(图片信息表)
名称 photo_id phototitle photopath photodesc cataid userid time 中文描述 图片id 图片标题 图片编号 图片描述 目录id 用户id 上传时间 数据类型 int varchar varchar varchar int int datetime 长度 4 50 50 100 4 4 8 Null PK Not null Y Null Null Null Null Null Null 默认值 photo用来储存图片信息,用于查找比对图片将正确的图片显示在网页上和搜寻上一张/下一张图片。
目录信息表如表4.3所示
表4.3 catalog(目录信息表)
名称 catalog_id catalog_name userid Time broustimes 中文描述 目录id 创建用户名 创建用户id 创建时间 浏览次数 数据类型 int varchar int datetime int 长度 4 50 4 8 4 Null PK Not null Y Null Null Null Null 默认值 0 catalog储存目录的相关信息,其中broustimes默认值设置为0,点击此目录一次,写入数据库一次,用来记录此相册目录的浏览次数。
评论信息表如表4.4所示
表4.4 comment(评论信息表)
名称 id 中文描述 评论信息id photo_id 图片id userid 用户id content 评论内容 time 发表时间
数据类型 int int int varchar datetime 长度 4 4 4 100 8
Null PK Not null Y Null Null Null Null 默认值
- 20 -
第五章 开发与实现
第一节 详细设计与实现
一、分类管理
1、功能描述
登录用户,输入要创建的分类的名字,点击“新增分类”弹出对话框“新
建成功”,点击确定后跳转到上传页面,如果新建一个目录名相同的文件夹,提示“此文件名存在”,页面不跳转。
用户进入管理界面,可以通过分类管理添加相册新的分类和删除已有的分类;
每个分类就相当于一个相册集。
2、界面设计
添加一个窗体,设置linkbutton控件,连接到其他页面。一个linkbutton
控件退回初时状态;设置2个label控件,2个button控件分别用来确定新增分和取消此次操作。
分类管理如图5.1所示
图5.1 分类管理
分类管理实现部分代码: 新增分类调用方法:
protected void addFenlei_Click(object sender, EventArgs e) {
- 21 -