《社团管理系统》详细设计说明书_第1页
《社团管理系统》详细设计说明书_第2页
《社团管理系统》详细设计说明书_第3页
《社团管理系统》详细设计说明书_第4页
《社团管理系统》详细设计说明书_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、详细设计说明书V1.0(版本号)拟 制 人审 核 人年 月 日 目录33333445668991.引言1.1本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了实现层面上的要求和说明。1.2 项目全称:理工学院社团管理系统 项目发起者:09软件工程2班DWLGY小组 项目开发者:09软件工程2班DWLGY小组 项目用户:理工的广大师生1.31.42.总体设计2.1员、社团和管理员。会员的需查询院系各社团的活动情况、会员参加对本人参加社团情况的查询和维护部分个人信息以及各社团的活动员的学号和密码。这些是很难得到的,特别是密码,所以不但满足了会员的要求,还保护了会员的个人隐私。浏览、

2、查询、统计和修改会员参加社团活动的基本信息,设计不同用户的操作权限和登陆方法对所有用户开放的会员信息查询和个人部分信息维护查看个人情况信息维护会员个人密码根据注册的情况对数据库进行操作并生成报表。面进行注册,来参加相应的社团。 本程序采用 B/S 架构,并使用了四层逻辑结果,如图 1 所示:图1 2 所示:图2 3.程序描述 工作流程为:打开该系统,普通浏览者能浏览、阅读和社团信息及新闻,能进行注册,注册后为准会员,系统管理员登录进入新闻后台管理区,可以进行如下管理: 社团信息管理 删除和修改社团信息 对已有社团进行部门管理 对社团章程管理 对社团的活动信息进行管理 添加社团(注:授权码最为重

3、要,它将在社团注册时为唯一识别码) 管理员信息管理 添加管理员 修改或删除管理员信息 新闻管理 公告管理(添加、删除和修改) 新闻管理(添加、删除和修改) 用户管理 个人用户管理(添加、删除和修改) 协会用户管理(添加、删除和修改) 下载管理 表格管理(修改和删除) 资料管理(删除和修改) 添加信息(添加下载资料) 留言管理 个人留言管理(回复和删除留言) 图片管理 添加图片 删除图片 修改图片 实用信息管理 添加使用信息 系部管理(添加、删除和修改系部) 为一个向外部展示本学校的社团建设成就。即时可见:对社团信息的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即

4、时见效”的功能;系统运行应该快速、稳定、高效和可靠;在结构上应具有很好的可扩展性,便于将来的功能扩展和维护。3.3设备 PentiumIII 处理器以上且满足以下要求的计算机:最低 64 MB 存,最小 2.1 GB 硬盘。 PentiumIII 处理器以上且满足以下要求的计算机:最低 256MB 存,最小 8 GB 硬盘。支持程序客户端操作系统:Windows 98/NT/2000/XP或更高版本浏览器:IE 5.0以上或Netscape同等版本以上服务器操作系统:Windows 2000 Server或者Windows 2003 ServerWeb服务器:MS IIS应用服务器:IIS、C

5、OM+等企业级应用服务器数据库:SQL SERVER3.4重要算法及部分代码Web用户控件该系统中创建了两个Web用户控件Foot.ascx和Head.ascx,在首页、新闻动态、社联简介、资料下载等页面的HTML代码里都进行了引用,调用方式为:Register 指令注册用户控件,同时把属性 TagName(标签名)和TagPrefix(标签前缀)添加到 Register属性表示该用户控件相对于Runat=server属性,用法如下:其中Head.ascx用户控件作用是显示导航栏Flash用户控件作用是显示底部相关信息等。个用户控件中,然后在任何需要该功能的地方重用此控件。通用类代码在所有相关

6、页面显示文件和 Web 用户控件的代码隐藏文件.aspx.cs或.ascx.cs 中,通过对数据访问类的引用(以创建类实例方式),调用数据访问库执行查询、插入、删除和更新操作、页面登陆检验等。此处列举Dbhelp类(数据访问类)中主要函数的源码:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebC

7、ontrols.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using System.Text;using System.Text.RegularExpressions;/ / Dbhelp 的摘要说明/ public class Dbhelpprotected static string con =ConfigurationManager.ConnectionStringsconnstr.ToString();public SqlConnection conn = new SqlConnectio

8、n(con);/public SqlConnection conn = new SqlConnection(DataSource=.;Initial Catalog=Studentdatabase;uid=sa;pwd=123456;);#region 用户登录验证/ / 验证用户是否是合法用户/ / 接受SQL语句/ public int CheckLogin(string sql)trySqlCommand cmd = new SqlCommand(sql, conn);if (conn.State = ConnectionState.Closed)conn.Open();int resu

9、lt = (int)cmd.ExecuteScalar();return result;catch (Exception ex)HttpContext.Current.Response.Write(ex.Message);throw;#endregion#region 用户信息提示/ / 对话框信息/ / 接受要显示给用户的信息public void MessageShowBox(string TxtMessage)HttpContext.Current.Response.Write(alert( + TxtMessage +);#endregion#region 查询数据库信息/ / 数据填

10、充/ / 接受SQL语句/ 返回DataSet类型数据dspublic DataSet GetData(string sql)tryDataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter(sql, conn);if (conn.State = ConnectionState.Closed)conn.Open();da.Fill(ds, DataTable);return ds;catch (Exception ex)HttpContext.Current.Response.Write(ex.Message);throw

11、;#endregion#region 数据库信息更新/ / 实现数据库的更新/ / 接受Sql语句/ 返回受影响行数public int Exucte(string sql)trySqlCommand cmd = new SqlCommand(sql, conn);if (conn.State = ConnectionState.Closed)conn.Open();int result = cmd.ExecuteNonQuery();return result;catch (Exception ex)HttpContext.Current.Response.Write(ex.Message)

12、;throw;#endregion#region 读取数据库数据public DataSet Excute1(string sql)DataSet ds = new DataSet();SqlDataAdapter da = new SqlDataAdapter(sql,conn);if (conn.State = ConnectionState.Closed)conn.Open();da.Fill(ds,News);if (conn.State = ConnectionState.Open)conn.Close();return ds;#endregion#region Session传值判

13、断注册身份public void TeamAdd()HttpContext.Current.Sessionidentity = 团体注册;HttpContext.Current.Response.Redirect(Register.aspx);public void Person()HttpContext.Current.Sessionidentity = 个人注册;HttpContext.Current.Response.Redirect(Register.aspx);#endregion#region 获取数据库字段public SqlDataReader GetRed(string sq

14、l)SqlCommand cmd = new SqlCommand(sql,conn);if (conn.State = ConnectionState.Closed)conn.Open();SqlDataReader red = cmd.ExecuteReader();return red;red.Close();conn.Close();#endregion前台主要页面代码1. 首页1) 填充首页各信息控件模块:ApplicationUserInfor = string.Empty;/将用户登陆信息置空GVNews.DataSource = dh.GetData(select top 6

15、* from Newsorder by NewID desc);/读取最新前六条新闻GVNews.DataBind();TxtName.Focus();GvDonload.DataSource = dh.GetData(select top 5 DName,Idfrom Download order by Id desc);/读取最新下载资料GvDonload.DataBind();GvLeague.DataSource = dh.GetData(select top 5 * fromLeague_Table order by ID desc);/填充协会信息模块GvLeague.DataBi

16、nd();DataSet ds = dh.GetData(select top 1 Contents from Afficheorder by Id desc);/填充通告模块if(ds.Tables0.Rows.Count0)LblAd.Text = ds.Tables0.Rows00.ToString();GVActivity.DataSource = dh.GetData(select top 5Name,Activity,ID from League_Table where IntActivity=1 order by IDdesc);GVActivity.DataBind();/填充

17、社团活动新闻信息模块ds=dh.GetData(selecttop1ViscerafromNewsorderbyNewIDdesc);/填充专题报道信息模块if(ds.Tables0.Rows.Count0)LblReport.Text = ds.Tables0.Rows00.ToString();DataList1.DataSource = dh.GetData(select * fromShowImage);DataList1.DataKeyField=Id;/根据主键:Id读取数据库中新闻图片的存储路径用以动态填充图片新闻模块DataList1.DataBind();DataList2.

18、DataSource = dh.GetData(select top 6 * fromUrlMessege order by Id desc);DataList2.DataBind();/填充实用信息模块marqueeid=marquee3onmouseover=this.stop() onmouseout=this.start() behavior=scrolldirection=left scrollamount=3 style=width: 859px; height: 103px;border-right: #ccffff thin double; border-top: #ccfff

19、f thin double;border-left: #ccffff thin double; border-bottom: #ccffff thin double;text-align: right; asp:Image id=ImageShow AlternateText=风景如画 Height=120Width=90 runat=server ImageUrl=_designer:wfdid=w32. 下载页面代码: 从数据库中读取文件路径:string num = ds.Tables0.Rows00.ToString();string FilePath = ds.Tables0.Row

20、s01.ToString();判断数据库文件类型:if (FilePath.Trim() = Word文件)filetype = DownLoad_Doc;filepostfix = .doc;else if (FilePath.Trim() = Excel表格)filetype = DownLoad_xls;filepostfix = .xls;string fileName = num + filepostfix;/客户端保存的文件名string filePath = Server.MapPath(filetype + / +fileName);/路径/以字符流的形式下载文件FileStr

21、eam fs = new FileStream(filePath,FileMode.Open);byte bytes = new byte(int)fs.Length;fs.Read(bytes, 0, bytes.Length);fs.Close();Response.ContentType = application/octet-stream;/通知浏览器下载文件而不是打开Response.AddHeader(Content-Disposition, attachment;filename= + HttpUtility.UrlEncode(fileName,System.Text.Enco

22、ding.UTF8);Response.BinaryWrite(bytes);Response.Flush();Response.End();using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using Syst

23、em.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class Message : System.Web.UI.PageDbhelp dh = new Dbhelp();publicstringsql=selecttop5*fromMassageorderbyIddesc;/从数据库中读取前五条最新留言protected void Page_Load(object sender, EventArgs e)DLBinit(sql);#region 绑定数据protected void DLBinit(string s

24、ql)/用数据适配器对DataSet数据集进行填充留言本容if (dh.conn.State = ConnectionState.Closed)dh.conn.Open();SqlDataAdapter da = new SqlDataAdapter(sql, dh.conn);DataSet ds = new DataSet();da.Fill(ds, table);PagedDataSource ps = new PagedDataSource();ps.AllowPaging = true;/允许分页功能ps.PageSize = 5;/设置每页显示五条信息ps.DataSource =

25、 ds.Tablestable.DefaultView;DataList1.DataSource = ps;DataList1.DataBind();#endregionprotected void BtnMassage_Click(object sender, EventArgs e)/点击留言按钮跳转到留言界面Response.Redirect(ReplyMassage.aspx);后台主要页面代码填充图片信息代码:protected void DLBinit(string sql)/进行填充已上传的图片进行填充模块if (dh.conn.State = ConnectionState.C

26、losed)dh.conn.Open();SqlDataAdapter da = new SqlDataAdapter(sql, dh.conn);DataSet ds = new DataSet();da.Fill(ds, table);PagedDataSource ps = new PagedDataSource();ps.DataSource = ds.Tablestable.DefaultView;GridView1.DataSource = ps;GridView1.DataBind();删除图片信息代码:protected void GridView1_RowDeleting(o

27、bject sender,GridViewDeleteEventArgs e)/删除图片信息int id =int.Parse(GridView1.DataKeyse.RowIndex.Value.ToString();string sql = select * from ShowImage where Id= + id + ;DataSet ds = dh.GetData(sql);string filename = ds.Tables0.Rows01.ToString();trystring value = filename.Split(/);filename = value2.ToStr

28、ing();catch (Exception)dh.MessageShowBox(删除失败!);return;物理删除图片代码:string filepath = Server.MapPath()+/ShowImage/ + filename;if (File.Exists(filepath)/判断文件是否存在File.Delete(filepath);/进行物理删除文件sql = delete ShowImage where Id= + id + ;/删除数据库中文件信息if (dh.Exucte(sql) 0)sql = select * from ShowImage;DLBinit(sq

29、l);/删除后重新进行填充模块elsedh.MessageShowBox(删除失败!); 删除下载资料代码:protected void GVAdminLoad_RowDeleting(object sender,GridViewDeleteEventArgs e)/删除下载资料信息string sql = select DName from DownLoad whereId=+GVAdminLoad.DataKeyse.RowIndex.Value.ToString()+;DataSet ds = dh.GetData(sql);string name = ds.Tables0.Rows00

30、.ToString();stringfilepath=Server.MapPath()+DownLoad_Doc+name+ .doc;if (File.Exists(filepath)/物理删除下载资料信息File.Delete(filepath);int id=int.Parse(GVAdminLoad.DataKeyse.RowIndex.Value.ToString();sql = delete DownLoad where Id= + id + ;if (dh.Exucte(sql) 0)DataBinit();elsedh.MessageShowBox(删除失败!);return;

31、添加下载资料信息代码:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;using Sys

32、tem.IO;public partial class Web_Admin_AdminSource : System.Web.UI.Pagestring filepath = ;string filepostfix = ;Dbhelp dh = new Dbhelp();protected void Page_Load(object sender, EventArgs e)TxtName.Focus();protected void BtnSubmit_Click(object sender, EventArgs e)/进行添加下载资料信息string str = FUFile.PostedF

33、ile.FileName;if (str = String.Empty)dh.MessageShowBox(附件不能为空!);return;this.GetFilePath();filepostfix = str.Substring(str.LastIndexOf(.);try/判断上传资料文件类型if (DDLType.Text.Trim() = Word文件)if (filepostfix != .doc)dh.MessageShowBox(请附加正确的Word文件);return;else if (DDLType.Text.Trim() = Excel表格)if (filepostfix

34、 != .xls)dh.MessageShowBox(请附加正确的Excel表格);return;/将文件进行物理添加stringfilename=str.Substring(str.LastIndexOf()+1);string name = filename.Substring(0,filename.Length-4);string path = ././ + filepath + / + filename;FileInfo fileinfo = new FileInfo(str);long filesize = (fileinfo.Length / 1024) / 1024;if (fi

35、lesize 20)/限制文件大小不能超过20兆dh.MessageShowBox(对不起,文件大小不能超过20MB!);return;/将所上传文件信息上传到数据库中string sql =insert into DownLoad (DName,DType) values(+ name + , + DDLType.Text.Trim() + );if (dh.Exucte(sql) 0)this.FUFile.PostedFile.SaveAs(Server.MapPath(path);dh.MessageShowBox(上传成功!);elsedh.MessageShowBox(上传失败!);return;catch (Exception ex)Response.Write(ex.Message);throw;#region 获取文件路径protected void GetFilePath()if (DDLType.Text.Trim() = Word文件)filepath = DownLoad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论