基于web校友录的设计与开发说明书内容摘要:

个用户编号 2) 用户名:一个全局唯一的字符序列,标识用户。 3) 搜索:用户通过搜索功能,搜索出用户或班级的信息。 4) 班级管理员:班级创建者赋予注册用户管理权限,成为班级管理员。 管理班级的成员(包括通过 /拒绝加入班级申请、删除班级成员)、留言板信息(增加或者删除留言)、修改班级公告等。 14 5) 加入班级:用户通过搜索找到自己的班级,然后发送加入请求,班级管理员通过请求后才能加入。 6) 创建班级:当用户通过搜索班级,发现自己的班级还没被创建时,发送创建班级请求,请求创建自己的班级。 系统管理员通过请求后才能创建。 3 解决方案 采用 .NET 开发平台 C和 .NET 平台都可用于高效开发 B/S架构软件。 .NET 平台由 Microsoft公司推出,目前已推出 .NET 版本和 Visual Studio 2020 集成开发环境。 .NET 框架提供了丰富的组件,有助于提高软件开发效率,可以容易地生成 Web 应用程序和 .NET Web Service。 .NET 开发平台是一组用于建立 Web 服务器应用程序和 Windows 桌面应用程序的软件组件,用该平台创建的应用程序在 Common Language Runtime( CLR)(通用语言运行环境)(底层)的控制下运行。 CLR 是一个软件引擎,用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。 类库集提供了使应用程序可以读写 XML 数据、在 Inter 上通信、访问数据库等的代码。 所有的类库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入 /输出等底层功能。 Web 服务器应用程序通常依赖于 ,一个处理 Web 请求的服务器端的库。 又依赖一个用于发送和接收 SOAP 信息的 Web Services 库,以及一个用于以浏览器接收用户输入并动态地生成 Web 页面以示响 应的 Web 用户接口( UI)(有时称作 Web 表单)。 Windows桌面应用程序通过使用 Win 表单库(也称作 Windows 表单)可以显示一个图形 UI。 使用 组件 是 .NET 框架中一组用于和数据源进行交互的类库。 允许和不同类型的数据源以及数据库进行交互, 提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。 这些类库称为 Data Providers,下表列出了一些常见的 Data Providers 和允许进行交 互的数据源类型。 15 Provider 名 Data Source 描述 ODBC Data Provider 使用 ODBC 接口的数据源进行数据库连接 Ole Db Data Provider 使用 Ole Db 接口的数据源,例如 Access 数据库连接 Oracle Data Provider 提供 Oracle 数据库连接 SQL Data Provider 提供 Microsoft SQL Server 数据库连接 Data Providers 表 支持两种数据访问方式:保持连接的数据操作和断 开连接的数据操作。 保持连接下的情况下,所有的数据读写都在数据源上发生,适合于读出的数据不需重复使用的小数据量操作。 断开连接的情况下,将数据源的数据取出到数据集( DataSet)中,供给应用程序访问(增删查改),在必要的时候将数据集的更新写回数据源,这种方式适合于大量重复使用的数据。 本系统在 .NET 框架下,使用 C语言编写 应用程序,采用 数据访问技术实现数据访问,使用 Microsoft SQL Server 2020 进行数据库开发,采用类型化 DataSet 用于存放校友录数据用于校友 录各表间数据的传送。 使用 三层架构 在 项目中,软件体系结构通常分为三层,即表示层、业务逻辑层、数据访问层。 表现层( UI):用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。 业务逻辑层( BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。 业务逻辑层是系统架构中体现核心价值的部分。 它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。 数据访问层( DAL):该层所做事务直接操作数据库,针对数据的增添 、删除、修改、更新、查找等。 优点: 开发人员可以只关注整个结构中的其中某一层。 可以很容易的用新的实现来替换原有层次的实现。 可以降低层与层之间的依赖。 有利于标准化。 利于各层逻辑的复用。 由于校友录系统面向庞大的用户群,需要经常维护和更新数据,因此采用三层架构方便维 16 护。 使用存储过程 存储过程是保存起来的可以接受和返回用户提供的参数的 TransactSQL语句的集合。 在存储过程中可以使用数据存取语句、流程控制语句、错误处理语句等。 其主要特点是执行效率高,可重复使用。 在创建存 储过程时, SQL Server会将存储过程编译成一个执行计划并保存起来,在执行存储过程时,不需要重新编译,因此执行速度快。 一旦创建一个存储过程,很多需要执行过程的应用程序都可以调用存储过程,减少可能出现的错误。 4 数据库设计 至此,我们通过对整个系统的分析已经有了明确的框架。 数据库在校友录系统中占有非常重要的地位,数据库结构设计得好坏将直接对整个系统的效率及实现的效果产生影响。 合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。 数据库需求分析 通过上述系统功能分析,总结出 以下 的需求信 息。 用户有权限管理,每个用户拥有一定的权限,角色分为 3 类:普通用户角色、班级管理员角色和系统管理员角色。 普通用户角色注册并且登录后可以维护自己的个人信息,包括查看、修改自己的信息和修改自己的密码。 可以查看班级信息、用户信息,可以发表留言和回复留言,可以发送短消息。 班级管理员角色的用户可以进行管理操作,包括修改、删除、查看本班的成员,回复、删除班级留言,增加、修改、删除班级相册以及修改班级公告等。 系统管理员角色的用户可以进行一些用户管理类的操作,包括:添加用户、查看用户信息、修改用户权限、删除用户等。 用户表中必须记录用户的各种信息,包含:用户名、密码、真实姓名、性别、生日、邮件地址、注册时间。 用户加入班级还要记录权限信息,所以有加入班级表,包含:编号、班级编号、用户名、是否为管理员。 留言表包含以下信息:留言编号、留言用户、班级编号、最后回复人、标题、内容、最后 17 回复时间、发表时间。 短消息表记录以下信息:编号、用户名、发信人、收信人、内容、发送时间。 班级表包含以下信息:班级编号、班级名称、系别编号、入学年份、班级通知、班级宣言。 相册表包含以下信息:相册编号、相片编号、班级编号、相册名称。 在需 求分析工作完成后,接下来的工作就是数据库设计。 数据库设计是整个数据库应用系统开发过程中的一个重要环节,它具体可以分为三个部分:一是概念模型设计,即 ER图的设计;二是逻辑模型的设计,即表 /字段的设计;三是物理模型设计。 数据库概念设计 数据库可以由以下实体构成: 1) 用户(用户名、密码、真实姓名、性别、生日、注册时间) 2) 班级(班级编号、班级名称、系别编号、) 3) 留言(留言编号、留言用户、班级编号、最后回复人、标题、内容、发表时间) 4) 相册(相册编号、相片编号、班级编号、相册名称) 5) 相片(相片编号、相册编号、相 册名称、上传用户、图片路径、标题、说明、发表时间) 6) 系别(系别编号、系别名称) 7) 短消息(编号、用户名、发信人、收信人、内容、发送时间) 数据库逻辑设计 1 数据库表 根据数据库概念设计,我们可以得到以下数据库表: 表 41 用户表 Users 字段名 数据类型 描述 UserName varchar(16) 用户名(主键) UserPwd varchar(32) 密码 RealName varchar(10) 真实姓名 Sex char(2) 性别( ’ 男 ’ 或 ’ 女 ’ ) Birthday datetime 生日 Phone varchar(15) 电话 18 Mobile varchar(16) 手机 varchar(12) ICQ varchar(12) ICQ MSN varchar(30) MSN Face varchar(50) 头像 Mail varchar(30) 邮件地址 PwdQue varchar(50) 密码问题 PwdAnswer varchar(50) 密码答案 Web varchar(30) 个人网页 Address varchar(60) 地址 WorkAdd varchar(50) 工作单位 Zipcode char(6) 邮编 UnderWrite varchar(255) 签名 LastLogin datetime 最后一次登录时间 RegTime datetime 注册时间 SendMail int 控制生日自动发送邮件 MessageCount int 新信息数量 表 42 班级表 Class Info 字段名 数据类型 描述 ID int 班级编号(主键) ClassName varchar(50) 班级名称 Dep_ID int 系别编号(外键) ClassYear char(4) 入学年份 About varchar(MAX) 班级通知 ClassEnounce varchar(MAX) 班级宣言 ClassMode bit 班级是否开放,默认为 1 AllUserCount int 所有用户数量 ,默认为 0 AllPhotoCount int 所有照片数量 ,默认为 0 AllTopicCount int 所有留言数量 ,默认为 0 SiteName varchar(50) 网站名 19 SiteUrl varchar(50) 网站地址 SendMail bit 是否发送邮件 ,默认为 0 MailServer varchar(50) 邮件服务器地址 MailUserName varchar(50) 邮件服务器登陆名 MailUserPwd varchar(50) 邮件服务器登陆密码 MailTitle varchar(50) 邮件标题 MailContext varchar(MAX) 邮件内容 MailBirthdayTitle varchar(50) 生日祝福邮件标题 MailBirthdayContext varchar(MAX) 生日祝福邮件内容 表 43 留言表 Board 字段名 数据类型 描述 ID int 留言编号(主键)自动增长为 1 UserName varchar(16) 留言用户(外键) Class_ID int 班级编号(外键) LastReplyUserName varchar(16) 最后回复人 Title varchar(50) 标题 Contents varchar(MAX) 内容 Reverts int 回复数 Hits int 点击数,默认为 0 LastReplyTime datetime 最后回复时间 PostTime datetime 发表时间 表 44 回复留言表 ReBoard 字段名 数据类型 描述 ID int 回复留言编号(主键),自动增长为 1 Board_ID int 留言编号(外键) UserName varchar(16) 回复用户 Contents varchar(MAX) 内容 PostTime datetime 回复时间 20 表 45相册表 Album 字段名 数据类型 描述 ID int 相册编号(主键)自动 增长为 1 Photo_ID int 相片编号(外键) Class_ID int 班级编号(外键) AlbumName varchar(20) 相册名称 TheDesc int 分类排序 ,默认为 0 表 46 相片表 Photo 字段名 数据类型 描述 ID int 相片编号(主键)自动增长为 1 Album_ID int 相册编号(外键) Album_Name varchar(20) 相册名称 UserName varchar(16) 用户名(外键) ThePath varchar(50) 图片路径 Title varchar(50) 标题 Contents varchar(500) 说明 Hits int 点击数 ,默认为 0 Reverts int 回复数 ,默认为 0 PostTime datetime 发表时间 表 47 相片评论表 RePhoto 字段名 数据类型 描述 ID int 相片评论编号(主键)自动增长为 1 PhotoID int 相片编号(外键) UserName varchar(16。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。