通过软件的需求分析已经获得了系统的基本功能需求。根据各大功能模块的不同,将系统分为各种功能大块。系统功能结构如下图所示。
图4-1系统功能结构图
注册/登录
游客(未进行注册或登陆的用户)可以浏览、搜索流浪动物信息资讯,用户注册首先需要进行表单验证,来验证用户名和手机号码是否合法,然后验证用户名和手机号是否已经存在,验证通过即可注册。
注册成功后,用户可以通过输入用户名来登录系统,输入密码后进行验证。登录成功后,用户可以使用公告信息浏览、宠物百科搜索、个人中心、收藏管理等功能。
个人信息管理
用户登录系统后,在账户设置中,可以修改昵称、头像、手机号、登陆密码等个人基本信息。
流浪动物信息搜索
系统首页展示了流浪动物信息搜索输入框,用户在输入框内输入与流浪动物信息名称相关的关键字,系统通过模糊查询搜索到用户需要的流浪动物信息并展示。
流浪动物信息展示
用户在浏览流浪动物信息详情时,点击某一个流浪动物信息信息,跳转到该流浪动物信息信息的详情展示页。在流浪动物信息信息页面展示了流浪动物信息的详情信息,比如流浪动物信息介绍,流浪动物信息照片等,用户通过浏览信息了解主要内容,最终决定是否领养。
品种管理
管理员根据流浪动物品种分类、流浪动物品种详情信息进行分类管理。
概念设计包括实体和联系两部分,如该系统中,用户是一个实体,其属性包括用户 ID 标识、用户名、密码、电话、地址等属性。联系是指实体之间有意义的关联,包括一对一、一对多、多对多三种类型。
系统E-R图如下所示。
图4-2系统E-R图
针对系统的实体和属性,结合数据设计思想,对系统的逻辑设计的内容进行如下描述。
流浪动物信息(流浪动物名称、流浪动物品种,流浪动物性别,流浪动物年龄,志愿用户帐号,领养内容等)。
用户信息(用户姓名,性别,照片,电话等)。
数据库表是设计和实现系统的一个重要基础。以下列出了流浪动物救助网站几个重要的数据库表。
表auth (用户权限管理)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | auth_id | int | 10 | 0 | N | Y | 授权ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用户组: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模块名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 页面标题: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路径: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳转方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可删除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查询字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表导航名称: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表导航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
表adoption_information (领养信息)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | adoption_information_id | int | 10 | 0 | N | Y | 领养信息ID | |
2 | animal_number | varchar | 64 | 0 | Y | N | 动物编号 | |
3 | animal_name | varchar | 64 | 0 | Y | N | 动物名称 | |
4 | animal_species | varchar | 64 | 0 | Y | N | 动物品种 | |
5 | animal_gender | varchar | 64 | 0 | Y | N | 动物性别 | |
6 | animal_age | varchar | 64 | 0 | Y | N | 动物年龄 | |
7 | animal_regions | varchar | 64 | 0 | Y | N | 动物地区 | |
8 | volunteer_users | int | 10 | 0 | Y | N | 0 | 志愿用户 |
9 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
10 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
11 | adoption_content | text | 65535 | 0 | Y | N | 领养内容 | |
12 | adoption_notes | text | 65535 | 0 | Y | N | 领养备注 | |
13 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
14 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
15 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
16 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
17 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表event_registration (活动报名)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | event_registration_id | int | 10 | 0 | N | Y | 活动报名ID | |
2 | activity_number | varchar | 64 | 0 | Y | N | 活动编号 | |
3 | activity_name | varchar | 64 | 0 | Y | N | 活动名称 | |
4 | event_date | date | 10 | 0 | Y | N | 活动日期 | |
5 | volunteer_users | int | 10 | 0 | Y | N | 0 | 志愿用户 |
6 | user_name | varchar | 64 | 0 | Y | N | 用户姓名 | |
7 | contact_number | varchar | 64 | 0 | Y | N | 联系电话 | |
8 | registration_content | text | 65535 | 0 | Y | N | 报名内容 | |
9 | examine_state | varchar | 16 | 0 | N | N | 未审核 | 审核状态 |
10 | examine_reply | varchar | 16 | 0 | Y | N | 审核回复 | |
11 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
12 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
13 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表forum (论坛)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 论坛id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用户ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵称:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 点赞数 |
6 | hits | int | 10 | 0 | N | N | 0 | 访问数 |
7 | title | varchar | 125 | 0 | N | N | 标题 | |
8 | keywords | varchar | 125 | 0 | Y | N | 关键词 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 来源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 标签 | |
12 | img | text | 65535 | 0 | Y | N | 封面图 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |
16 | avatar | varchar | 255 | 0 | Y | N | 发帖人头像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 论坛分类:[0,1000]用来搜索指定类型的论坛帖 |
表group_activities (团队活动)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | group_activities_id | int | 10 | 0 | N | Y | 团队活动ID | |
2 | activity_number | varchar | 64 | 0 | Y | N | 活动编号 | |
3 | activity_name | varchar | 64 | 0 | Y | N | 活动名称 | |
4 | activity_status | varchar | 64 | 0 | Y | N | 活动状态 | |
5 | event_date | date | 10 | 0 | Y | N | 活动日期 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面图片 | |
7 | activity_content | longtext | 2147483647 | 0 | Y | N | 活动内容 | |
8 | hits | int | 10 | 0 | N | N | 0 | 点击数 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 点赞数 |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推荐 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间 |
表slides (轮播图)
编号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | slides_id | int | 10 | 0 | N | Y | 轮播图ID: | |
2 | title | varchar | 64 | 0 | Y | N | 标题: | |
3 | content | varchar | 255 | 0 | Y | N | 内容: | |
4 | url | varchar | 255 | 0 | Y | N | 链接: | |
5 | img | varchar | 255 | 0 | Y | N | 轮播图: | |
6 | hits | int | 10 | 0 | N | N | 0 | 点击量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 创建时间: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新时间: |