下载收藏自己喜爱的图片的功能。
页面的交互性:各级页面要具有良好的交互性,减少响应时间,节省用户时间
2.2.2 后台功能需求
后台的作用是为前台运行必要的数据支持和供网站管理员对网站进行管理
用户管理:管理员对数据库里面的userInfo这张表进行操作,管理里面存储的用户基本信息。
数据管理:管理员操作存储图片信息,评论信息,还有目录信息的表,达到管理的目的
权限设置:对用户进行权限设定,属性为Administrator的用户拥有最高权限,可以对网页上的任何目录和图片进行删除,添加和修改。
2.3 开发运行环境需求
1. Visual studio.net
2. windows2003/2000/XP
3. SQL Sever 2000
4. VB.NET
此网站是在windows2000/2003/XP操作系统下,以Visual studio.net为前台开发工具,用中文SQL Sever 2000为后台数据库,其中主要通过ADO技术来访问数据库。
2.4 新系统的逻辑设计-数据流程图
图2 数据流程图
3 网站概要设计
3.1模块的划分与功能设计
通过对用户需求调研并分析,确定系统应具备的功能,包括:注册登陆,上传下载,留言评论,创建目录,计算浏览人次,编辑图片,修改密码, "上一张,下一张"连接。
各模块的具体功能设计如下:
1. 注册登陆功能
对于电子相册这种网站来说,用户首先必须注册,提供可供登陆比对的个人验证信息,进入个人的账户之后才能进行其他操作。
2. 上传下载
电子相册最主要的功能就是储存图片,所以必须提供完善的用户上传图片到服务器端及用户从服务器端下载图片的功能,上传时选择相册名,下载时可以选择下载的路径。此外,还还包括一些删除图片,目录的相册基本管理
3. 留言评论
提供浏览者对图片发表评论的功能,发表评论必须先注册登陆。
4. 创建目录
允许注册用户登陆后自行在相册内创建文件夹,方便用户对上传相片的分类和管理。
5. 计算浏览人次
计算浏览某一个目录的人次,数据自动更新并显示在目录名旁边。
6. 编辑图片
根据需求分析,提供对已上传的图片修改名称及描述信息的功能,用户在想修改图片名称和描述信息的时候不用将图片删除重新上传
7. 修改密码
用户可根据自己的需要对原有的密码进行修改。
8. "上一张,下一张"连接
为图片浏览者提供"上一张,下一张"的连接功能,方便浏览者查看上下张图片。
3.2 功能模块的初步设计
为了配合模块的划分和实现预期的功能,将功能模块按照网站的页面的个数划分为七个:相册首页,用户登录页面,创建目录页面,上传页面,用户注册页面,修改密码页面和显示图片评论页面,各个页面后端写实现功能的代码,在App_Code里面写有一个连接数据库方法的类databaseclass,具体连接数据库的ADO方法,比如Connection, Command, Adapter和dataset,datatable 等都写在这个类里面,页面后端代码共用此方法对数据库进行连接。
3.3 模块的组织结构图
图3 模块组织结构图
起始页面为相册首页,未登陆可以浏览图片,进入显示图片评论页面,用户登陆页面和用户注册页面,只有查看图片和评论的权限。
登陆用户可以进入所有页面,并拥有一些操作权限。
3.4 数据库结构的设计
表1 userInfo(用户信息表)
名称 中文描述 数据类型 长度 Null PK 默认值 userID 用户id Int 4 Not null Y username 用户名 Varchar 50 Null password 密码 Varchar 50 Null tel 电话 Varchar 50 Null email 邮件 Varchar 50 Null rolename 权限 Varchar 50 Null userInfo用于储存用户信息,用户在注册时填写的资料都保存在此表内,主要用于用户登陆时比对信息,确定是否本人登陆。
表2 photo(图片信息表)
名称 中文描述 数据类型 长度 Null PK 默认值 photo_id 图片id int 4 Not null Y phototitle 图片标题 varchar 50 Null photopath 图片编号 varchar 50 Null photodesc 图片描述 varchar 100 Null cataid 目录id int 4 Null userid 用户id int 4 Null time 上传时间 datetime 8 Null photo用来储存图片信息,用于查找比对图片将正确的图片显示在网页上和搜寻"上一张,下一张"图片。
表3 catalog(目录信息表)
名称 中文描述 数据类型 长度 Null PK 默认值 catalog_id 目录id int 4 Not null Y catalog_name 创建用户名 varchar 50 Null userid 创建用户id int 4 Null Time 创建时间 datetime 8 Null broustimes 浏览次数 int 4 Null 0 Catalog储存目录的相关信息,其中broustimes默认值设置为0,点击此目录一次,写入数据库一次,用来记录此相册目录的浏览次数。
表4 comment(评论信息表)
名称 中文描述 数据类型 长度 Null PK 默认值 id 评论信息id int 4 Not null Y photo_id 图片id int 4 Null userid 用户id int 4 Null content 评论内容 varchar 100 Null time 发表时间 datetime 8 Null 4 网站详细设计
4.1 相册首页的设计
4.1.1功能描述
相册首页显示所有相册目录,目录可以点击进入,浏览目录内的图片。目录旁边显示浏览人次创建时间等信息,后面有一个删除按钮,目录的创建者可登陆后删除此目录和目录下的内容。顶部的按钮可以点击挑转到其他画面,未登陆者只能够进入登陆画面和注册画面。
4.1.2界面设计
添加一个窗体,设置6个了linkbutton控件,连接到其他页面。一个linkbutton控件退回初时状态;设置gridview控件绑定数据,gridview的columns里面设置5个boundfield控件,一个templatefield控件,itemtemplate设置一个linkbuton控件用来删除该目录;设置两个label控件,一个sqldatasource控件,用来绑定数据源,显示在页面上并和其他页面建立连接。
添加后完成的界面,运行如图4所示:
图4 相册首页
4.1.3工作流程和代码
首页gridview显示绑定的数据内容,点击删除按钮,普通用户可以删除自己创建的目录,未登陆或者不是自己创建的目录都不能删除,管理员可以删除空目录,核心代码如下:
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
Dim bbstr As String
..........................
Dim c As String = "select rolename from userinfo where username='" & Session("username") & "'"
obj.BindingsDataSet("guanliyuan", c)
\\调用datebaseclass类里面定义的连接数据 库的方法BindingsDataSet查询useinfo表中角色权限是不是管理员
aastr = "select userid from catalog where catalog_id=" & Integer.Parse(i) & " "
obj.BindingsDataSet("c", aastr)
\\调用datebaseclass类里面定义的连接数据库的方法BindingsDataSet查询创建目录的用户id
.............................................
If Session("userid")=Convert.ToInt32(obj.ds.Tables("c").Rows(0)(0).ToString) Or obj.ds.Tables("guanliyuan").Rows(0)(0).ToString = "管理员" Then bbstr = "select cateid from photos where cateid=" & Integer.Parse(i) &
上一篇:
基于net毕业论文管理系统
下一篇:
马原:环境保护与可持续发展论文(word)