1.系统目标本系统的目标是开发一个操作简单、界面友好、功能齐全的管理系统,在网上完成有关文档的管理工作,包括用户登录、注册、文档的添加、浏览、选择、下载;用户个人信息的维护;用户信息的管理等等。
本系统提供了一个方便教师和学生交流的平台,将其应用于教学管理中,可以减少教师和学生的工作量,方便双方的交流,不受时间和地点限制,能够大大提高有关文档的管理效率。
2.开发工具和环境2.1 开发框架是 Active Server Page (ASP) 的下一个版本,是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。
提供许多比现在的Web开发模式强大的优势。
因为是基于通用语言的编译运行的程序,不像以前的ASP即时解释程序,而是程序首次在服务器端运行时就进行编译,这样的执行效果比一条一条的解释强很多。
所以它的强大性和适应性,可以使它运行在Web应用软件开发的多数平台上。
通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到的Web应用中。
同时,语言独立化。
所以,可以选择一种最适合自己的语言来编写程序,如: C#,VB,Jscript等。
另外,可以使用一些自带组件和自定义组件。
同时,使运行一些很平常的任务如表单的提交、客户端身份的验证、分布系统和网站的配置变得非常简单。
使用一种字符基础的分级配置系统,使服务器环境和应用程序的设置更加简单。
一个的应用程序在一台服务器系统的安装只需要简单的拷贝一些必要的文件,不需要系统的重新启动。
多处理器环境的已经成为一种可以用于多处理器的开发工具。
2.2开发环境Visual StudioVisual Studio 是微软公司推出的开发环境。
是目前最流行的Windows 平台应用程序开发环境。
Visual Studio 可以用来创建Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。
2.3开发语言C#C#派生于C/C++,是Microsoft专门为使用.NET平台而创建的一种新型编程语言,也是在移植到其他操作系统上的.NET版本中使用的主要语言。
与Windows的体系结构相似,易为开发人员所熟悉。
C#是面向对象的编程语言,具有面向对象编程语言的一切特性,封装性使代码逻辑清晰、易于管理,且应用到上可以使业务逻辑和HTML页面分离;继承性和多态性使代码的可重用性大大提高。
与其他语言相比,C#更安全,更强大。
2.4数据库SQL ServerSQL Server 2000 是一个全面的数据库平台。
为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。
此外 SQL Server 2000 结合了分析、报表、集成和通知功能。
同时,SQL Server 2000具有完全的Web 功能,通过对高端硬件平台及最新网络和存储技术的支持,可以为Web站点提供可扩展性和高可靠性。
在安全方面,可以保护防火墙内外的数据,支持灵活的、基于角色的安全设置,并提供高级的文件加密和网络加密功能。
2.5服务器IISIIS(Internet Information Server,互联网信息服务)是一种Web 服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP 服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,用于在网络(包括互联网和局域网)上发布信息。
3.数据库设计3.1数据库设计的原则数据库设计是系统开发中关键的步骤之一,其设计质量的好坏,数据结构的优劣,直接影响到最终系统的成败。
由于毕业设计管理系统涉及信息管理和操作,所以能否建立一个良好的数据组织关系和数据库,使整个系统的数据之间可以相互共享所拥有的信息资源,可迅速、方便、准确的调用和管理所需的数据,是衡量本系统开发工作好坏的重要指标,也是系统的基本要求。
数据库设计的基本原则是在系统总体方案的指导下,数据库应当为它所支持的管理目标服务,所以,在设计系统数据库系统时,重点要考虑了以下几个因素[1] [7]:(1)数据库必须层次分明,布局合理。
(2)数据库必须高度结构化,保证数据的结构化、规范化和标准化,这是建立数据库和进行信息交换的基础。
数据结构的设计应该遵循国家标准和行业标准,尤其是要重视编码的应用。
(3)在设计数据库时,一方面要尽可能地减小冗余度,减小存储空间的占用,降低数据一致性问题发生的可能性;另一方面,还要考虑适当的冗余,以提高运行速度和降低开发难度。
(4)必须维护数据的正确性和一致性,在系统中,多个用户共享数据库,由于并发操作,可能影响数据的一致性,因此必须用“锁”等办法保证数据的一致性。
设定相应的安全机制,由于数据库的信息对特定的用户有特定的保密要求,安全机制必不可少。
3.2逻辑结构设计3.2.1关系模式用户(用户登录账号、登录密码、是否是系统用户);文件(文件号、上传日期、大小、下载次数);管理员(账号、登录密码)3.2.2数据字典(1)user表:存储所有用户的登录信息,包括用户登录名:userName、用户登录密码:userPwd、是否为系统用户:system等,以用户登录名:userName字段为主键,可唯一区分每一个登录用户。
(2)attachments表:储存所有上传文件,包括文件名title、大小filesize、文件类型fileextension等。
4.系统模块设计与实现4.1 用户登录模块4.1.1 模块设计思想作为系统,首先需要用户登录界面,根据登录的用户名和系统用户表中的用户对比判断用户是学生还是教师,是学生进入学生用户主页面,是教师则进入教师用户主页面。
学生和教师的主页面的框架是相同的,不同的是左侧的导航按钮。
教师用户可进行全部功能的操作,学生用户只能进行部分功能的操作。
导航功能的实现时通过Visual Studio工具箱中的treeview控件实现的。
登录时用到登录名和密码,所以需要用户表user,用户表中存储用户名、密码和是否为系统用户的判断标识。
4.1.2 模块实现关键代码(1)用户登录界面</head><body style="width: 90%; padding-top: 20px; margin: auto; font-family: Microsoft YaHei;"><div class="panel panel-default"style="padding: 15px0;text-indent: 2em; font-size: 16px; font-weight: bold;"><asp:SiteMapPath ID="SiteMapPath1"runat="server"></asp:SiteMapPath></div><div class="container"style="width:35%; min-width:300px;margin-top:100px; padding:15px; border:1px solid#ccc;border-radius:5px;"><form runat="server"><h4style="font-family:'Microsoft YaHei'; border-bottom:1px dotted#ccc; padding-bottom:5px; display:block; width:100%;">登录</h4> <div class="form-group"><label for="name">登录名</label><input type="text"name="name"id="txtName"class="form-control"runat="server"/></div><div class="form-group"><label for="pwd">密码</label><input type="password"name="pwd"id="txtPwd"class="form-control"runat="server"/></div><div class="form-group"><asp:Button ID="Button1"runat="server"CssClass="btn btn-primary"Text="登录"OnClick="Button1_Click"/></div><div>还没有账号,去<a href="Reg.aspx">注册</a> | <a href="Default.aspx">返回首页</a></div></form></div></body></html>(2)注册界面<html xmlns="/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type"content="text/html; charset=utf-8"/><title>注册</title><link href="css/bootstrap.min.css"rel="stylesheet"/></head><body style="width: 90%; padding-top: 20px; margin: auto; font-family: Microsoft YaHei;"><div class="panel panel-default"style="padding: 15px0; text-indent: 2em; font-size: 16px; font-weight: bold;"><asp:SiteMapPath ID="SiteMapPath1"runat="server"></asp:SiteMapPath> </div><div class="container"style="width: 35%; min-width: 300px; margin-top: 100px; padding: 15px; border: 1px solid#ccc; border-radius: 5px;"><form runat="server"><h4style="font-family: 'Microsoft YaHei'; border-bottom: 1px dotted #ccc; padding-bottom: 5px; display: block; width: 100%;">登录</h4><div class="form-group"><label for="name">登录名</label><input type="text"name="name"id="txtName"class="form-control" runat="server"/></div><div class="form-group"><label for="pwd">密码</label><input type="password"name="pwd"id="txtPwd"class="form-control"runat="server"/></div><div class="form-group"><label for="pwd">再次输入密码</label><input type="password"name="pwd"id="txtPwd2"class="form-control"runat="server"/></div><div class="form-group"><asp:Button ID="Button1"runat="server"CssClass="btnbtn-primary"Text="登录"OnClick="Button1_Click"/></div><div>已经有账号了,去<a href="Login.aspx">登录</a> | <a href="Default.aspx">返回首页</a></div></form></div></body></html>(3)首页<head runat="server"><meta http-equiv="Content-Type"content="text/html; charset=utf-8"/><title>文档管理系统</title><script src="js/jquery.min.js"></script><link href="css/bootstrap.min.css"rel="stylesheet"/><style>#SiteMapPath1span {padding: 010px;}.btnSearch {height: 30px;}</style></head><body style="width: 90%; padding-top: 20px; margin: auto; font-family: Microsoft YaHei;"><form id="form1"runat="server"><uc1:headIDV runat="server"ID="headIDV"/><div class="panel panel-default"style="padding: 15px0; text-indent: 2em; font-size: 16px; font-weight: bold;"><asp:SiteMapPath ID="SiteMapPath1"runat="server"></asp:SiteMapPath><div class="input-group"style="width: 249px; float:right;padding-right:5px;"><input type="text"id="key"class="form-control"style="width: 200px; height: 30px;"runat="server"/><span class="input-group-btn"><asp:Button ID="btnSea"CssClass="btn btn-default btnSearch" runat="server"Text="搜索"OnClick="btnSea_Click"/></span></div></div><div class="panel panel-default"><div class="panel-heading"><h3class="panel-title">文档列表</h3></div><div class="panel-body"><div style=""><table class="table table-striped table-bordered"style="text-align: center;"><thead><tr><th style="text-align: center;"><spanclass="glyphicon glyphicon-sort-by-order"></span></th><th style="text-align: center;"><spanclass="glyphicon glyphicon-sort-by-alphabet"></span></th><th style="text-align: center;"><spanclass="glyphicon glyphicon-time"></span></th><th style="text-align: center;"><spanclass="glyphicon glyphicon-th-list"></span></th><th style="text-align: center;"><spanclass="glyphicon glyphicon-folder-close"></span></th><th style="text-align: center;"><spanclass="glyphicon glyphicon-paperclip"title="文件大小"></span></th><th style="text-align: center;"><spanclass="glyphicon glyphicon-download-alt"title="下载量"></span></th><td><%#this.repDocumentList.Items.Count + 1%></td><td><%#Eval("id") %></td><td><%#Eval("createTime","{0:yyyy-MM-dd HH:mm:ss}") %></td><td style="text-align: left;"><atarget="_blank"href='Details.aspx?id=<%#Eval("id") %>'class=""><%#Eval("title") %></a></td><td><%#Eval("fileExtension") %></td><td><%#Eval("filesize") %> MB</td><td><%#Eval("downloadCount") %></td></tr></ItemTemplate></asp:Repeater></tbody></table></div></div></div><div class="panel panel-default"style="padding: 15px0; text-indent: 2em;text-align: center;">简单文档管理系统 Copyright© 2015 <a href="admin/Default.aspx">后台</a></div></form></body></html>5.总体设计原则(1)符合教育系统的界面简洁朴素,风格布局一致的特点,没有过多的图案图片装饰设计。