这是整个系统结构的预览,话不多说,给个图:

本网站努力为每个人提供一个有效的校友录系统,为参与者提供一个简单有效的交流互动的平台,操作上要求简单、高效,性能上要求稳定、可扩展。在对同类网站系统进行了调查之后,通过重新设计,为网站使用者提供了如下的功能操作:管理员可以管理用户、用户可以搜索班级加入班级,进入班级后可以创建相册上传照片,可以留言发表评论,可以查看别人的通讯录发送小纸条,对于自己的上传的照片、相册可以进行删除操作,也可以退出班级,也可以删除自己的留言。

为了满足上面提出的功能需求,本网站应实现以下功能:

A.前台

a.注册与登录功能:此功能是必须功能,因为每个用户都不一样,而且每个用户的信息都十分宝贵,所以,需要口令进入是十分必要的。用户注册方面没有限制,也不进行实名认证,因为管理员有删除用户的权限,所以,在这个方面可以通过管理员进行控制。

b.查找、创建、加入、退出班级功能:此功能是本系统的核心功能,是实现的前提,因为校友录的一切信息功能都是基于班级的,虽然班级属于学校的下级,但是,学校其实只是班级的一个属性,没有人会针对学校进行什么活动。所以,此系统一定要提供查找已存在的班级,创建未存在的班级,加入已存在的班级,退出已加入的班级这四项前提性功能。

c.相册与相片的控制功能:此功能就复杂一些了,技术上是上传文件,前台是展现文件,此文件多人访问,但一人管理。只能删除自己上传的文件,却可以查看本班所有人上传和创建的相册。此功能是丰富校友录系统的一大特征点,是加强校友之间感情的必要所在,也是大家分享快乐的最佳途径。所以,非常有必要实现。

d.留言板功能:此功能与相册功能的实现相似,用户可以创建新留言,其它用户可以对此留言进行评论,留言的创建者可以删除留言,但是,由于留言功能的敏感性,不提供修改功能,要么存留,要么删除,修改会带了一些无法证明的争论。此功能是校友录的核心功能,也是几乎每个用户登陆都要查看的功能。

e.通讯录功能:此功能也是核心功能之一,在这里面,可以查看同班同学的个人资料,这也是校友录存在的意义,每个人修改了自己的校友录之后其它人都可以看到最新的信息,同时可以给已存在班级的用户发送小纸条,并且回复小纸条。

f.在线聊天室:此功能也是核心功能之一,进入班级之后,可以进入此模块,看见已经处于此模块中的同学,然后大家可以在这里一起聊天。我记得04年的时候,在线聊天室还是非常流行的,当时QQ聊天室就是其中之一,也是我喜欢去的地方,现在还清楚地记得里面的菁菁校园等房间,只是过去了的时光如同流逝了的岁月,永远不会再回来,再多也只是回忆而已。所以,这里放了一个这个,也是作为对当时决心要做IT的年少的自己一个交待吧~

B.后台

a.管理员用户管理模块:可以查看所有用户的信息,可以删除用户,也可以对用户进行密码重置,这给找回密码的用户提供的路径。密码丢失的用户可以与管理员联系,管理员可以重置此密码,然后通知用户。

b.管理员密码设置:此功能只有管理员可以使用,在管理员的密码被窃取之后,可以自己修改密码一保证系统的安全。

转载请标注原地址:http://www.cnblogs.com/ensleep/tag/%E5%9F%BA%E4%BA%8E.net%20mvc%E7%9A%84%E6%A0%A1%E5%8F%8B%E5%BD%95/

基于.net mvc的校友录(四、系统结构图)的更多相关文章

  1. 基于.net mvc的校友录(五、web.config对的配置以及filter实现的权限控制)

    web.config配置文件 此文件是整个系统的配置中心,它告诉iis服务器本网站需要哪些运行时环境,需要哪些环境,将要进行哪些操作,开发人员也会将一个常量性的数据放在此配置中,以备系统全局调用.此文 ...

  2. 基于.net mvc的校友录(七、文件上传以及多对多关系表的LINQ查询实现)

    图片的上传与调用 图片的上传就是文件的上传,在前台使用的是type="file"的input,但是,要将表单声明为multipart/form-data模式,方法是在BeginFo ...

  3. 基于.net mvc的校友录(六、codefirst的使用以及班级模块的关键部分实现)

    通过EF将新用户存入数据库 这里,探讨一下如何使用EF的code first将数据存入数据库,以及如何对用户的密码进行md5加密与验证.下面是用户登陆的前台代码. @using (Html.Begin ...

  4. 基于.net mvc的校友录(三、实体模型实现)

    实体模型设计 由于是实际开发,而且是时间比较紧的,所以,在开发实现过程中,总有一些对原计划的改动: AlumniBookModel数据库实体模型 这是主数据实体类,EF会根据此实体生成数据库,它的每一 ...

  5. 基于.net mvc的校友录(源程序)

    废话不多说,上程序再说: http://pan.baidu.com/s/11MnLo 我.net mvc4的正式学习时长,其实也就一个多月,期间除去玩游戏.听歌.谈恋爱,也就半个月,大神请轻喷~~ 转 ...

  6. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现)

    “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第四篇(用户管理功能的实现) 一.前三篇的内容是否对您有帮助呢?如果有的话,请您继续关注这篇吧,这篇主要是实现”用户管理“的 ...

  7. .NET MVC 学习笔记(四)— 基于Bootstarp自定义弹出框

    .NET MVC 学习笔记(四)—— 基于Bootstarp自定义弹出框 转载自:https://www.cnblogs.com/nele/p/5327380.html (function ($) { ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布

    之前的章节我们介绍了如何通过dapr发起一个服务调用,相信看过前几章的小伙伴已经对dapr有一个基本的了解了,今天我们来聊一聊dapr的另外一个功能--订阅发布 目录:一.通过Dapr实现一个简单的基 ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十四)——开发环境容器调试小技巧

    之前有很多同学提到如何做容器调试,特别是k8s环境下的容器调试,今天就讲讲我是如何调试的.大家都知道在vs自带的创建项目模板里勾选docker即可通过F5启动docker容器调试.但是对于启动在k8s ...

随机推荐

  1. Data URL

    Data URL 早在 1995 年就被提出,那个时候有很多个版本的 Data URL Schema 定义陆续出现在 VRML 之中,随后不久,其中的一个版本被提上了议案——将它做个一个嵌入式的资源放 ...

  2. Linux 64位编译\链接32位程序

    测试机器:Ubuntu14.04 64位 gcc编译32位程序,添加参数-m32: $ gcc -c -fno-builtin -m32 TinyHelloWorld.c ld链接32位代码,添加参数 ...

  3. Linux下发包处理

    Linux下发包处理: 1.用top分析工具来查看哪个进程占用的CPU资源比较大  2. 通过命令来查看都是那些端口被占用了   netstat -antp | more  3.在top里面查看到的异 ...

  4. AddToDate

    AddToDate is a PeopleCode built-in function for manipulating a date in PeopleCode. You can use it to ...

  5. (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?

    js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别? 转自:http://www.jb51.net/article/75089.htm ...

  6. MongoDB用户管理

    1. 创建一个超级用户 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 use admin db.createUser(   {     user: "adminUse ...

  7. mariadb的explain分析及InnoDB存储引擎

    id: 当前查询语句中,每个SELECT语句的编号,     id: 1  表示简单类型的查询 复杂类型的查询有三种:简单子查询,用于FROM中的子查询,联合查询:UNION 注意:UNION查询的分 ...

  8. mac 下 svn ignore 操作

    如何在svn中设备忽略的文件或者文件夹 1.如果你还没有对你的文件夹进行版本控制,则可以直接图形操作上进行ignore,或者在命令中运行 svn propedit svn:ignore 文件夹名 . ...

  9. IOS学习2

    1. #import,#include 和@class的区别 都引用一个类,根本定义区别:#include ,#import会把所有的copy一份到该文件 #import比#include的优势,im ...

  10. windows下编译lua源码

    所有的lua源码都放在了 src 文件夹下,当然,不同的lua版本目录结构有可能不一样,但是都会有 src 这个文件夹,只有这个才是我们编译必须的.而且lua越做越精简了,5.1的版本里面还有一些te ...