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

下载本文档

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

文档简介

1、社团管理系统详细设计说明书V1.0(版本号)拟制人审核人 年 月 日目录1.引言 31.1 编写目的 31.2 项目背景 31.3 定义 31.4 参考资料 32.总体设计 42.1 需求概述 42.2 软件结构 53.程序描述 63.1 功能 63.2 性能 83.3 运行环境及设备要求 93.4 算法 93.5 程序逻辑 213.6 数据库设计 223.7 测试要点 251. 引言1.1编写目的本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了 实现层面上的要求和说明。1.2项目背景项目全称:理工学院社团管理系统项目发起者:09软件工程2班DWLGY小组项目开发者:09软件

2、工程2班DWLGY小组项目用户:理工的广大师生1.3定义USE CASE用例会员社团管理系统中合法的注册用户游客未注册或者未登录的社团管理系统平台浏览者管理员系统的管理者1.4参考资料1 天极网新技术研究室.ASP.NET完全入门人民邮电,2001.62 Sanjeev Rohilla等著,君等译.ADO.NET专业项目实例开发中国水利水电,2003.53 启明工作室编著.ASP.NET网络应用系统开发与实例.人民邮电,2005.74 王华杰,律松一波等编著.C#数据库开发技术.清华大学,2003.2 攀建编著.ASP.NET+ADO.NET项目开发实例.清华大学,2004.1(美)A.Rus

3、sell Jones著,高春蓉等译.ASP.NET从入门到精通.电子工业出版,2002.17 Scott Worley著,王文龙 湘宁译.ASP.NET技术幕.人民邮电,2002.48 Russ Basiura等著,浩译.ASP.NET Web服务高级编程清华大学,2003.29 (美)Angshuman Chakraborti等著,唐云深,世华等译 .NET Framework专业项目实例开发中国水利水电, 2003.610 Scott Allen等著.C#数据库入门.郝启堂 哲峰译.清华大学,2003.211 (美)微软公司著.NET框架1.1类库参考手册.清华大学,2004.112 St

4、eve Walther 著.ASP.NET:Tips,Tutorials,and Code电子工业,2003.713 (美 Jeffrey Richte 著.Microsoft.NET Frameworks.清华大学,2003.414 Alex Homer 等.ASP.NET Web Forms Programming清华大学,2003.12. 总体设计2.1 需求概述社团管理系统需要满足来自三方面的需求, 这三个方面分别是会 员、社团和管理员。会员的需查询院系各社团的活动情况、会员参加 的各个社团情况及会员信息的修改; 社团需对会员参加社团、 注销社 团的基本情况进行操作; 社团管理系统的管

5、理员的功能最为复杂, 包 括对会员、 社团的活动等各方面的信息进行管理和统计, 及系统状态 的查看、维护并生成会员社团统计表。 会员可以直接查看参加社团及 社团活动情况, 会员可以根据本人学号和密码登录系统, 还可以进行 对本人参加社团情况的查询和维护部分个人信息以及各社团的活动 安排等相关信息。 一般情况下, 会员只应该查询和维护本人的参加社 团情况和个人信息, 若查询和维护其他会员的信息, 就要知道其他会 员的学号和密码。这些是很难得到的,特别是密码,所以不但满足了 会员的要求,还保护了会员的个人隐私。社团工作人员有修改会员个人信息的权限,所以需对工作人员登 陆本模块进行更多的考虑。在此系

6、统中,社团工作人员可以为会员加 入社团或是登陆记录,并打印生成相应的报表给用户查看和确认院系 管理人员功能的信息量大,数据安全性和性要求最高。本功能实现对 会员参加各社团相关信息的查询和统计、 工作人员和管理人员信息查 看及维护。社团管理员可以浏览、查询、修改、统计社团的基本信息; 浏览、查询、统计和修改会员参加社团活动的基本信息,设计不同用 户的操作权限和登陆方法对所有用户开放的会员信息查询和个人部 分信息维护查看个人情况信息维护会员个人密码根据注册的情况对 数据库进行操作并生成报表。社团管理系统的数据流程:首先由社团工作人员或系统管理员等 有录入权限的用户将各自权限围的信息进行录入处理,然

7、后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统计,没有权限用户还可以基于注册界 面进行注册,来参加相应的社团。2.2软件结构本程序采用B/S架构,并使用了四层逻辑结果,如图1所示:用户层(UI)业务逻辑层(BLL)数据访问层(DAL)数据层(DB)图1系统结构示意图以下为用户社团管理系统流程图,也是我们的核心工作流程图,如图2所示:适贞击“谨八菇疑“豆示萤宁页体-進过验证(目动记轨管理级别与权限会员和衬团诲斛管-奁询与打耳I”i可以信斜崔疔7珈*用僚,槪啟一i損雯朿查當贽职扌|叫1吝询*偎存弄桂怖* *11图2系统流程图3. 程序描述3.1功

8、能工作流程为:打开该系统,普通浏览者能浏览、阅读和社团信息及新闻,能进行注册,注 册后为准会员,系统管理员登录进入新闻后台管理区 ,可以进行如下管理:社团信息管理删除和修改社团信息对已有社团进行部门管理对社团章程管理对社团的活动信息进行管理添加社团(注:授权码最为重要,它将在社团注册时为唯一识别码)管理员信息管理添加管理员修改或删除管理员信息新闻管理公告管理(添加、删除和修改)新闻管理(添加、删除和修改)用户管理个人用户管理(添加、删除和修改)协会用户管理(添加、删除和修改) 下载管理表格管理(修改和删除)资料管理(删除和修改)添加信息(添加下载资料)留言管理个人留言管理(回复和删除留言)图片

9、管理添加图片删除图片修改图片实用信息管理添加使用信息系部管理(添加、删除和修改系部)通 測 览者4浏览网詁“f *注册用 户*P矍录后经权眼和辭 社团信息管理7管理员信烏管新闻管理门菅哩用户J2F載管理43.2性能该系统操作简单、界面友好:完全控件式的页面布局,使得社团信息及新闻 的录入工作更简便,为用户提供方便快捷的社团管理及相关信息的发布, 更将作 为一个向外部展示本学校的社团建设成就。即时可见:对社团信息的处理(包括录入、修改、删除)将立即在主页的对应栏目显示出来,达到“即时发布、即时见效”的功能;系统运行应该快速、稳定、高效和可靠;在结构上应具有很好的可扩展性,便于将来的功能扩展和维护

10、3.3 运行环境及设备要求设备客户机硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机: 最低 64 MB 存,最小 2.1 GB 硬盘。服务器硬件要求:具有 Pentium III 处理器以上且满足以下要求的计算机: 最低 256MB 存,最小 8 GB 硬盘。支持程序 客户端操作系统: Windows 98/NT/2000/XP 或更高版本浏览器:IE 5.0以上或Netscape同等版本以上服务器操作系统: Windows 2000 Server或者 Windows 2003 Server Web服务器:MS IIS应用服务器: IIS、COM+ 等企业级应用服务器

11、数据库: SQL SERVER3.4 算法重要算法及部分代码Web 用户控件该系统中创建了两个 Web用户控件Foot.ascx和Head.ascx,在首页、新闻动 态、社联简介、资料下载等页面的 HTML 代码里都进行了引用,调用方式为:Register指令注册用户控件,同时把属性TagName标签名)和TagPrefix(标签前缀)添加到Register指令中,Src属性表示该用户控件相对于父页面的相对地 址。用户控件也是服务器端控件,还必须在用户控件代码中添加 Runat=server属性,用法如下:其中Head.ascx用户控件作用是显示导航栏 Flash按钮,Foot.ascx用户控

12、件 作用是显示底部相关信息等。用户控件是非常易于代码重用的, 可以把许多相关功能和用户界面封装在一 个用户控件中,然后在任何需要该功能的地方重用此控件。通用类代码在所有相关页面显示文件和Web用户控件的代码隐藏文件.aspx.cs或.ascx.cs 中,通过对数据访问类的引用 (以创建类实例方式 ),调用数据访问类里的相应函 数完成相关功能,如建立数据库连接、打开和关闭数据库、对数据库执行查询、 插入、删除和更新操作、页面登陆检验等。此处列举 Dbhelp 类(数据访问类 )中主要函数的源码:using System;using System.Data;using System.Configu

13、ration;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 System.Text;using System.Text.RegularExpressions;/ / Dbhelp 的摘要说明/ public class Dbhelpprot

14、ected static string con =ConfigurationManager .ConnectionStrings connstr .ToString();public SqlConnection conn = new SqlConnection (con);/public SqlConnection conn = new SqlConnection(DataSource=.;Initial Catalog=Studentdatabase;uid=sa;pwd=123456;);#region 用户登录验证/ / 验证用户是否是合法用户/ / vparam name=sql 接受

15、 SQ语句 v/param/ public int CheckLogin( string sql)trySqlCommandcmd = new SqlComman(dsql, conn);if (conn.State = ConnectionState .Closed)conn.Open();int result = ( int )cmd.ExecuteScalar();return result;catch ( Exception ex)HttpContext .Current.Response.Write(ex.Message); throw ;#endregion#region 用户信息

16、提示/ vsummary/ 对话框信息/ v/summary/ vparam name=TxtMessage接受要显示给用户的信息 public void MessageShowBox(string TxtMessage)HttpContext .Current.Response.Write( vscript language=javascript type=text/javascriptalert(+ TxtMessage +)v/script );#endregion#region 查询数据库信息/ vsummary/ 数据填充/ v/summary/ vparam name=sql 接受

17、 SQL语句 / 返回 DataSet类型数据 ds public 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)

18、; throw ;#endregion#region 数据库信息更新/ / 实现数据库的更新/ / vparam name=sql 接受 Sql 语句 v/param/ 返回受影响行数 publictryint Exucte( stringsql)SqlCommandcmd =new SqlComman(dsql, conn);if (conn.State =ConnectionState .Closed)conn.Open();int result = cmd.ExecuteNonQuery();return result;catch ( Exception ex)HttpContext .

19、Current.Response.Write(ex.Message); 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.Clos

20、e();return ds;#endregion#region Session 传值判断注册身份public void TeamAdd()HttpContext .Current.Session identityHttpContext .Current.Response.Redirect(public void Person()HttpContext .Current.Session identityHttpContext .Current.Response.Redirect(#endregion#region 获取数据库字段public SqlDataReader GetRed( strin

21、g sql) = 团体注册 ;Register.aspx = 个人注册 Register.aspx););SqlCommandcmd = new SqlComman(dsql,conn);if (conn.State = ConnectionState .Closed)conn.Open();SqlDataReader red = cmd.ExecuteReader();return red;red.Close();conn.Close(); #endregion前台主要页面代码1. 首页1) 填充首页各信息控件模块: Application UserInfor = string .Empty

22、; / 将用户登陆信息置空 GVNews.DataSource = dh.GetData( select top 6 * from News order by NewID desc ); / 读取最新前六条新闻GVNews.DataBind();TxtName.Focus();GvDonload.DataSource = dh.GetData( select top 5 DName,Id from Download order by Id desc ); / 读取最新下载资料GvDonload.DataBind();GvLeague.DataSource = dh.GetData( selec

23、t top 5 * from League_Table order by ID desc );/ 填充协会信息模块GvLeague.DataBind();DataSet ds = dh.GetData( select top 1 Contents from Affiche order by Id desc );/ 填充通告模块if (ds.Tables0.Rows.Count0)LblAd.Text = ds.Tables0.Rows00.ToString();GVActivity.DataSource = dh.GetData( select top 5 Name,Activity,ID f

24、rom League_Table where IntActivity=1 order by ID desc );GVActivity.DataBind();/ 填充社团活动新闻信息模块ds = dh.GetData( select top 1 Viscera from Newsorder by NewID desc ); / 填充专题报道信息模块if (ds.Tables0.Rows.Count0)LblReport.Text = ds.Tables0.Rows00.ToString();DataList1.DataSource = dh.GetData( select * fromShowI

25、mage);DataList1.DataKeyField = Id ;/ 根据主键: Id 读取数据库中新 闻图片的存储路径用以动态填充图片新闻模块DataList1.DataBind();DataList2.DataSource = dh.GetData( select top 6 * from UrlMessege order by Id desc );DataList2.DataBind();/ 填充实用信息模块在HTML弋码中对后台代码的 Data数据集进行调用:vmarquee id =marquee3 onmouseover=this.stop() onmouseout=this.

26、start() behavior =scroll direction =left scrollamount =3 style =width: 859px; height: 103px; border-right: #ccffff thin double; border-top: #ccffff thin double;border-left: #ccffff thin double; border-bottom: #ccffff thin double; text-align: right;      asp: Image id =lmageShow Altern

27、ateText =风景如画Height =120 Width =90 run at =server ImageUrl = _designer : wfdid =w32.下载页面代码:1)实现下载功能代码: 从数据库中读取文件路径:string num = ds.Tables0.Rows00.ToStri ng();stri ng FilePath = ds.Tables0.Rows01.ToStri ng();判断数据库文件类型:if (FilePath.Trim() =Word文件)filetype =Dow nLoad_Doc;filepostfix =.doc;else if (File

28、Path.Trim() = Excel 表格)filetype =DownLoad_xls;filepostfix =.xls;string fileName = num + filepostfix; / 客户端保存的文件 名stri ng filePath = Server.M apPath(filetype +/ +fileName); / 路径/以字符流的形式下载文件FileStream fs = new FileStream (filePath,FileMode .Open);byte bytes = new byte ( int )fs.Length;fs.Read(bytes, 0

29、, bytes.Le ngth);fs.Close();Resp on se.C onten tType =applicatio n/octet-stream;/通知浏览器下载文件而不是打开Response.AddHeader(Content-Disposition, attachment;file name= + HttpUtility.UrlE ncode(fileName,System.Text. Encoding.UTF8);Resp on se.Bi naryWrite(bytes);Resp on se.Flush();Resp on se.E nd();3.留言本实现代码:usi

30、ng 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;public partial class Me

31、ssage: System.Web.UI. PageDbhelp dh = new Dbhelp();public string sql = select top 5 * from Massageorder by Id desc ;/ 从数据库中读取前五条最新留言protected void Page_Load( object sender, EventArgs e)DLBinit(sql);#region 绑定数据 protected void DLBinit( string sql)/ 用数据适配器对 DataSet 数据集进行填充留言本容if (dh.conn.State = Conne

32、ctionState .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 = ds.Tablestable .DefaultView;DataList1.Data

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

34、();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( object sende

35、r, 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.ToString

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

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

38、 string name = ds.Tables0.Rows00.ToString(); string filepath = 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)

39、DataBinit();elsedh.MessageShowBox( 删除失败! );return ;添加下载资料信息代码: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

40、.HtmlControls;using System.Data.SqlClient;using System.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 sende

41、r, EventArgs e) / 进行添加下载资料信息string str = FUFile.PostedFile.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(请附加正确的 Wore

42、文件);return ;else if (DDLType.Text.Trim() = Excel 表格)if (filepostfix != .xls )dh.MessageShowBox(请附加正确的 Excel 表格);return ;/ 将文件进行物理添加string filename = str.Substring(str.LastIndexOf( ) + 1);string name = filename.Substring(0,filename.Length-4);string path = ././+ filepath + / + filename;FileInfo filein

43、fo = new FileInfo (str);long filesize = (fileinfo.Length / 1024) / 1024;if (filesize 20) / 限制文件大小不能超过 20 兆dh.MessageShowBox(对不起,文件大小不能超过 20MB! );return ;/ 将所上传文件信息上传到数据库中string sql = insert into DownLoad (DName,DType) values(+ name +Ill III+ DDLType.Text.Trim() +)if (dh.Exucte(sql) 0)this .FUFile.Po

44、stedFile.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_doc;else if (DDLType.Text.Trim() = Excel 表格) fil

45、epath =DownLoad_xls ;#en dregi onprotected void BtnCancel_Click( object sender, EventArgs e) _/Respo nse.Redirect();3.5程序逻辑逻辑模型就是把概念模型,即E-R图,转换为与数据模型相符合的逻辑模型关系模型。E-R图向关系模型转换,首先要进行数据的规化。所谓规化是指 在一个数据结构中没有重复出现的项组。 规化是在关系数据库中减少数据冗余的 过程。具体E-R图向关系模型转换的结果如下所示,其中带下划线的为关键码:普通会员:(会员编号、所属社团、届时、加入时期、职位、性别、出生日 期

46、、所在班级、所在系、寝室号、备注)社团:(社团编号、社团全称、社团负责人、社团创始人、主管单位、成立 日期、社团性质、社团简介、备注)活动表:(活动编号、活动主题、日期、审核状态、活动负责人、社联监查 人员、承办单位、活动容、备注)社联:(社联届时、社联负责人、办公地点、联系、备注)社团评优表:(社团编号、届时、总得分、备注)财务:(社团编号、届时、金额、收入支出性质、经手人、日期、备注)系统E-R图3.6数据库设计数据库设计该系统使用SQL SERVE作为应用程序的数据库,建立了有 16数据表,下 面主要介绍以下9具有代表性的表:Administration表用于存储管理员的信息,Assoc

47、iationInfor表用于存储协会部门信息, Depart表用于存储学院系部信息Down Load表用于存储下载资料的存储路径信息,LeagueLogin_Table表用于存储社团注册信息,LeagueRule表用于存储协会章程信息,Massage表用来存储留言信息,News表用来存储新闻信息,ShowImage表用来存储新闻图片的存储路径, 在6个数据表中,介绍一下新闻表和账户表如下:Administration 表如表 3-6-1 所示:-dbo.Administratot14pName| Pwd表3-6-1管理员信息表Id为该表主键,Name为管理员名称,Pwd为密码Associationinfo 表如表 3-6-2 所示

温馨提示

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

评论

0/150

提交评论