【Asp.net精品源码栏目提醒】:以下是网学会员为您推荐的Asp.net精品源码-基于个人网站建设的CMS【毕业论文,绝对精品】 - 毕业设计,希望本篇文章对您学习有所帮助。
引言 内容管理系统,英文名称是 Content Management SystemCMS,一般认为,CMS 是一种位于 WEB 前端Web 服务器和后端办公系统或流程内容创作、编辑之间的软件系统。
内容管理解决方案重点解决各种非结构化或半结构化的数字资源的采集、管理、利用、传递和增值,并能有机集成到结构化数据的商业智能环境中,如 OA,CRM 等。
内容的创作人员、编辑人员、发布人员使用 CMS 来提交、修改、审批并发布内容。
这里指的“内容”包括文件、表格、图片、数据库中的数据甚至视频等一切需要发布到 Internet、Intranet 以及 Extranet 网站的信息。
网站 CMS 机构将内容的采集、使用以及管理和复杂的程序设计、网页编辑相分离。
当一个用户请求页面时,各部分联合生成一个标准的 HTML 页面。
网站内容管理系统底层的操作系统、Web 服务器和数据库软件必须通过中间件对内容管理系统提供支持,现在网站建设中最常用的中间件是 ASP、
ASP.net、PHP、JSP等。
为了隐藏操作系统和各种服务软件的细节,内容管理系统一般采用分层设计的方法,通常分成核心层和功能扩展层。
核心层除提供标准的扩展接口外,还提供基本身份认证、数据库管理和应用程序框架等基本功能。
功能扩展层构建在核心层之上,利用核心层的扩展接口,开发出针对不同类型应用的插件和模块。
用分层设计的思想开发的内容管理系统,前、后台子系统之间耦合度低,可以方便地插拔模块,系统设计思路清晰,便于不同应用模块的修改升级。
w1 问题定义 (此部分主要由钱佳负责,王勇、夏敦同学协助完成)2 系统可行性分析 (此部分主要由钱佳负责,王勇、夏敦同学协助完成)3 系统开发计划及进度 (此部分主要由钱佳负责,王勇、夏敦同学协助完成)4 系统需求分析 (此部分主要由钱佳负责,王勇、夏敦同学协助完成)5 系统设计目标与原则 (此部分主要由钱佳负责,王勇、夏敦同学协助完成)6 系统总体设计 (此部分主要由钱佳负责,王勇、夏敦同学协助完成)7 数据库分析与设计 (此部分主要由王勇负责,钱佳、夏敦同学协助完成) 在设计数据库时我们比较充分地了解到要成功建设个人网站各个方面的需求,包括现有的和将来可能增加的需求。
我们严格按照数据库设计的一般步骤进行该数据库的设计,即将该数据库设计分为:数据库规划、数据库需求分析、数据库概念结构设计、数据库逻辑结构设计和数据库结构的实现。
7.1 数据库规划 对于数据库系统,规划阶段是十分必要的。
数据库规划的好坏将直接影响到整个 CMS 的成功与否,并将对个人网站在互联网人气和访问流量产生深远的影响。
随着数据库技术的发展与普及,各个行业在计算机应用中都会提出建立数据库的要求。
但是,数据库技术对技术人员和管理人员的水平、数据采集和管理活动规范化以及最终用户使用计算机能力较高要求。
同样地,数据库技术对于计算机系统的软、硬件要求也要求较高,至少要有足够的内、外存容量和必要的 DBMS软件。
规划阶段具体分为以下三个步骤: 1系统调查 在用户需求确实后,根据用户的实际需求,开展系统需求调查。
数据库系统w调查主要以数据库系统的实现为主,作为可行性分析报告的基础。
2可行性分析 根据数据库系统调查的实际情况,通过决策分析,来确定数据库系统开发方案是否可行,主要是成本与效益分析,如果成本比效益要小,那么数据库系统开发的可行性高;如果成本比效益要大,那么数据库系统实际开发的意义就不大了。
3确定数据库系统的总目标和制定项目开发计划 可行性分析报告出来后,如果该系统确实可行,就要开始制定数据库系统开发的总体方案了。
要以调查内容为基础,从总体上来确实数据库系统的目标和制定数据库开发的计划。
7.2 数据库需求分析 MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。
目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放
源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。
数据库分析是数据库设计的第一个阶段,也是非常重要的一个阶段。
数据需求分析阶段首先必须准确了解(包括数据与处理)。
收集与分析用户在数据管理中的信息要求,处理要求,安全性和完整性要求。
在这个阶段主要是收集基本数据、设计数据结构以及数据处理的流程,组成一份详尽的数据字典,为以后的进一步设计打下基础。
数据库的需求分析是整个设计过程中最困难、最耗费时间的一步。
需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
数据库是实现有组织地,动态地存储大量关联数据,方便用户访问的计算机软硬资源组成的系统;它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高效独立性。
用户的需求具体体现在各种信息的提供、保存、更新和查询,这就是数据库结构能够充分满足各种信息的输入和输出。
收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
基于个人网站建设的 CMS 系统总体上分为应用中心和系统设置,具体包括用户管理模块、文件管理模块、分类管理模块、文章管理模块、音乐管理模块、视频管理模块、图片管理模块、链接管理模块、日记管理模块、留言评论模块等,分别对应不同的数据流。
w 图 7-1 网站首页结构图 图 7-2 系统后台业务流程图7.3 概念结构设计 最常用的概念结构设计方法有实体——联系法、面向对象设计方法、属性综合法和规范化关系方法。
本系统采用的是实体——联系法。
实体—联系方法(Entity-Relationship Approach)。
是数据库结构设计常用的方法,它不是严格意义上的数据模型,因为该模型只提供了对数据表及联系的表示,而没有定义在数据上的操作,它是对现实世界的数据的表示,不依赖于具体的数据库管理系统(DBMS Database Management System)。
它是目前设计模型的常用工具。
实体是客观存在并相互区分的事物,属性是指实体某一方面的特征,属性的取值在一定的范围内 ,这是属性的值域,而关系是实体集合之间存在的关系。
这是一种自上而下抽象的方法。
在数据需求分析的基础上,设计出能够满足需求的各种实体以及它们的关系。
该方法用 E-R 图来描述现实世界的概念模型。
E-R 图是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。
以下各 E-R 图中ltpkgt代表此字段是该表的主键,ltfkgt代表外键,ltakgt代表索引。
w 图 7-3 表 category 的实体联系图 图 7-4 表 group 的实体联系图w 图 7-5 表 article 的实体联系图 图 7-6 表 role 的实体联系图7.4 物理结构设计 数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程,就是数据库的物理结构设计。
数据库的物理设计通常分为两步: 1确定数据库的物理结构。
2对物理结构进行评价,评价的重点是时间和空间效率。
w7.4.1 确定物理结构 数据库的物理结构信赖于所选用的 DBMS,信赖于计算机硬件环境,设计人员进行设计时主要需要考虑以下几个方面。
1确定数据的存储结构 从存取时间、存储空间利用率和维护代价三方面考虑,得出了该数据库的存储结构。
表的数据的数据项和数据结构如下所示: 表 7-1 access 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 群组编号 role_id smallint 6 否 2 节点编号 node_id smallint 6 否 3 节点层号 level tinyint 1 否 4 父 ID pid smallint 6 否 5 模块名 module varchar 50 是 表 7-2 article 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 10 否 2 所属父类号 tid int 6 否 3 标题 title varchar 120 否 4 关键字 keywords varchar 120 否 5 描述 description varchar 200 否 6 预览图片 img varchar 200 否 7 内容 content text 否 8 创建时间 add_time int 15 否 9 更新时间 update_time int 15 否 10 创建者 ID adder_id int 10 否 11 排序值 sort int 15 否 12 点击次数 apv int 10 否 13 URL 重写值 rewrite varchar 200 否w 14 状态 status int 1 否 表 7-3 category 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 6 否 2 所属父类号 pid int 6 否 3 分类名 title varchar 60 否 4 排序值 sort int 12 否 5 状态 status int 1 否 6 关键字 keywords varchar 120 否 7 描述 description varchar 200 否 8 所属模块 module varchar 30 否 9 URL 重写值 rewrite varchar 200 否 表 7-4 diary 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 10 否 2 天气情况 weather varchar 60 否 3 内容 content text 否 4 添加者 ID adder_id int 10 否 5 添加时间 add_time int 11 否 6 状态 status int 1 否 表 7-5 group 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id smallint 3 否 2 菜单项目名 name varchar 25 否 3 菜单显示名 title varchar 50 否 4 创建时间 create_time int 11 否 5 更新时间 update_time int 11 否w 6 状态 status tinyint 1 否 7 排序值 sort smallint 3 否 8 是否显示 show tinyint 1 否 表 7-6 link 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 10 否 2 链接名称 title varchar 50 否 3 链接地址 url varchar 200 否 4 描述 intro varchar 100 否 5 排序值 sort int 11 否 6 状态 status int 1 否 表 7-7 message 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 10 否 2 父信息 ID pid int 10 否 3 文章 ID aid int 10 否 4 发表人昵称 adder_name varchar 200 否 5 Email adder_email varchar 200 否 类型(1:文章 type int 否 6 评论 2:留 1 言) 发表人 ID0: adder_id int 否 7 10 游客 8 内容 content varchar 200 否 9 发表时间 add_time int 11 否 10 发表人 IP ip varchar 15 否 11 状态 status int 1 否w 表 7-8 music 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 10 否 2 音乐名 title varchar 100 否 3 作者 author varchar 60 否 4 链接地址 url varchar 200 否 5 排序值 sort int 12 否 6 所属分类 tid int 10 否 7 添加者 ID adder_id int 10 否 8 添加时间 add_time int 11 否 9 状态 status int 1 否 表 7-9 node 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id smallint 6 否 应用名/模块 name varchar 否 2 20 名 3 显示名 title varchar 50 是 4 状态 status tinyint 1 否(0) 5 备注 remark varchar 255 是 6 排序值 sort smallint 6 是 7 父节点 ID pid smallint 6 否 第几层(共 3 level tinyint 否 8 1 层) 9 类型 type tinyint 1 否 10 分组 ID group_id tinyint 3 否 表 7-10 photo 编号 字段中文名 字段英文名 数据类型 长度 可否为空w 1 序号 id int 10 否 2 图片名称 title varchar 100 否 3 图片简介 intro varchar 200 否 4 图片地址 img varchar 200 否 5 链接地址 link varchar 200 否 6 所属分类 tid int 10 否 7 排序值 sort int 12 否 8 添加者 ID adder_id int 10 否 9 添加时间 add_time int 11 否 10 状态 status int 1 否 表 7-11 role 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id smallint 6 否 2 组名 name varchar 20 否 3 上级组 pid smallint 6 否 4 组状态 status tinyint 1 否 5 描 述 remark varchar 255 否 6 实体名 ename varchar 5 否 7 创建时间 create_time int 11 否 8 更新时间 update_time int 11 否 表 7-12 role_user 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 群组 ID role_id mediumint 9 是 2 用户 ID user_id char 32 是 表 7-13 router 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id int 11 否w 2 重写 URL rewrite varchar 200 否 3 原始 URL url varchar 200 否 表 7-14 user 编号 字段中文名 字段英文名 数据类型 长度 可否为空 1 序号 id smallint 5 否 2 用户名 account varchar 64 否 3 昵称 nickname varchar 50 否 4 密码 password char 32 否 5 组合账号 bind_account varchar 50 否 最后登录时 last_login_time int 否(0) 6 11 间 最后登录所 last_login_ip varchar 是 7 40 在 IP 8 登录次数 login_count mediumint 8 否(0) 9 是否验证 verify varchar 32 是 10 邮箱 email varchar 50 否 11 备注 remark varchar 255 否 12 创建时间 create_time int 11 否 13 更新埋单 update_time int 11 否 14 状态 status tinyint 1 .