当前位置:文档之家› 学生社团管理系统课程设计说明书

学生社团管理系统课程设计说明书

合肥师范学院(本科)课程设计说明书课程数据库原理题目学生社团管理系统姓名学号专业班级2011级嵌入式应用技术班指导教师完成日期2013 年 6 月30 日目录第一章绪言 (2)1.1系统开发的背景 (2)1.2系统开发的意义 (2)第二章需求分析 (3)2.1系统功能分析 (3)2.2系统可行性分析 (3)第三章数据库概念设计 (4)3.1概念设计(E-R 图) (4)第四章数据库的逻辑设计 (4)4.1逻辑设计(关系模式图) (4)第五章系统设计 (5)5.1系统总体设计 (5)5.2系统的功能模块设计 (5)第六章系统的实现与调试 (6)6.1系统的运行环境 (6)6.2系统运行结果 (6)第七章小结 (14)7.1系统的特点 (14)7.2系统开发过程的特点 (14)7.3存在的问题与改进方向 (14)7.4自我体会 (15)附录 (16)附录1:部分程序源代码 (16)第一章绪言1.1 系统开发背景随着学校规模的不断扩大,学生数量急剧增加,为了适应多元化的文化环境。

各种社团的数量也增加了很多。

面对庞大的信息量,传统的人工方式管理会导致学生社团信息管理上的混乱,人力与物力过多浪费,管理费用的增加,从而使学校管理人员的负担过重,影响整个学校的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的学生信息管理系统,对学生信息进行集中统一的管理。

通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。

1.2 系统开发的意义学生社团管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生社团信息管理的效率。

因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生社团信息管理系统,将是非常必要的,也是十分及时的。

通过对管理系统模型的研究,提出一套构造学生社团信息管理系统模块的方法,并利用数据库,信息系统分析学的知识,结合其它学校管理业务知识,建立起相关数据模型,利用面向对象开发工具对其进行设计与开发,建立一套有效的学生社团信息管理系统,可以减少工作量,将管理工作科学化,规范化,提高学校管理的工作质量和工作效率。

第二章需求分析2.1系统功能分析随着学生选社,退社的频率的增加,开发一个简单易用实用的社团管理系统对提高社团管理的效率显得尤为重要。

此系统主要功能是实现学校社团的信息化管理,其设计要求随着大学生校园文化的不断丰富,各种学生社团应运而生,对所有学生社团进行统一管理。

系统需要实现的功能和操作,系统要求分权限管理,分两种管理权限,一般用户和管理员,一般用户可以对社团信息进行查询、浏览;管理员可以对社团信息进行查询,更新,删除和插入等,可以对社团成员进行增加、修改和删除,可以进行社团以及成员信息的查询、统计和生成报表等。

查询:可以对学生所在的社团进行查询,也可根据具体输入进行查询。

更新:由于要进行社团信息管理,用户需注册,填写有关信息,管理员可以增加社团,如果社员不再参加社团可以选择删除,从而从数据库中删除其有关记录。

该大学社团管理系统运用方便、操作简单、工作效率高。

给学生提供了更多更及时的社团活动信息,便于学生了解社团动态,积极参加社团活动。

同时也给学院社团管理提供了一个完善的信息拓展平台,方便发布活动公告以及社团财务、会员资料的管理,使社团在无形中构建一种团结友善的凝聚力。

2.2 系统可行性分析学校都有许多学生社团。

每个社团有一位学生负责人,但必须是该社团成员。

每个学生都可以参加多个社团(也可以不参加)。

凡参加社团的学生都以学号识别。

所以必须开发一个数据库,对所有学生社团进行统一管理。

学生社团管理的具体要求是:(1) 各社团简况维护,包括社团名称、社团号、成立时间、近期活动。

(2)参加社团的成员简况维护,包括学号、姓名、性别、所在系别。

不参加社团者不涉及。

(3)各社团成员加入和退出信息的输入。

(4)按社团查询该社团组成(即全部成员)情况。

(5)按学号、姓名查询该学生参加社团情况。

(6)打印包括所有社团在内的统计报表:社团编号、社团名称、成立日期等。

对于以上这些要求,必须进行完整设计与分析,创建所需的表、建立相应的查询和窗体,打印报表明细各社团成员的信息和各社团中部门间的关系。

第三章数据库概念设计3.1 概念设计(E-R 图)第四章数据库逻辑设计4.1 逻辑设计(关系模式图)关系模式图学生(学号,姓名,性别,所在系别)社团(社团名称,成立时间,社团编号,近期活动)选社(学号,社团编号,参与社团活动)第五章系统设计5.1 系统总体设计图5-1 系统功能图5.2 系统功能模块设计学院社团管理系统是一个典型的数据库开发应用程序,它有两个权限,分别管理员和普通会员,具体规划如下:(1)管理员:①社团管理主要是对社团信息进行查询、增加、删除、修改。

②会员管理主要是对会员信息进行查询、增加、删除、修改。

(2)会员:①查询社团信息。

②查询本人信息,修改本人信息。

第六章系统的实现与调试6.1 系统运行环境1)硬件环境服务端:计算机CPU Intel p4 3.0G、内存1G 以上的pc机、WINDOWS 2000操作系统。

客户端:Windows 7、CPU Intel p4 3.0G、内存512M 、MicrosoftIE5.0以上的pc机。

2)软件环境操作系统:Windows2000及更高版本的操作系统;测试支持软件工具:vfp。

6.2 系统运行结果图6-1 登录界面图6-2 管理员操作界面图6-3 管理员按学号查询会员信息图6-4 管理员按姓名查询会员信息图6-5 管理员按社团号查询社团信息图6-6 管理员按社团名查询社团信息图6-7 管理员按社团号修改社团信息图6-8 管理员按社团名修改社团信息图6-9 管理员对社团信息维护图6-10 管理员添加新社团图6-11 管理员删除社团图6-12 学生会员操作界面图6-13 学生会员查看本人信息图6-14 学生会员查看社团信息图6-15 学生会员修改本人信息第七章小结7.1 系统的特点该系统用户界面友好、清楚明了、突出重点、而且容易美观实用;界面还必须能够提供尽量多的功能,以给顾客便捷的服务。

系统需要实现的功能和操作,系统要求分权限管理,分两种管理权限,一般用户和管理员,一般用户可以对社团信息进行查询、浏览;管理员可以对社团信息进行查询,更新,删除和插入等,可以对社团成员进行增加、修改和删除,可以进行社团以及成员信息的查询、统计和生成报表等。

查询:可以对学生所在的社团进行查询,也可根据具体输入进行查询。

更新:由于要进行社团信息管理,用户需注册,填写有关信息,管理员可以增加社团,如果社员不再参加社团可以选择删除,从而从数据库中删除其有关记录。

7.2 系统开发过程的特点学生社团管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生社团信息管理的效率。

因此,开发一套能够为用户提供充足的信息和快捷的查询手段的学生社团信息管理系统,将是非常必要的,也是十分及时的。

通过对管理系统模型的研究,提出一套构造学生社团信息管理系统模块的方法,并利用数据库,信息系统分析学的知识,结合其它学校管理业务知识,建立起相关数据模型,利用面向对象开发工具对其进行设计与开发,建立一套有效的学生社团信息管理系统,可以减少工作量,将管理工作科学化,规范化,提高学校管理的工作质量和工作效率。

7.3 存在的问题与改进方向该系统只能进行以上所描述的简单的功能,对系统内信息的安全性保护存在不足。

另外,由于系统结构简单,无法使用户对该系统进行并发行操作。

因此,我们还需要在该系统的基础上继续努力,不断完善该系统。

7.4 自我体会数据库课程设计是一个复杂和有难度的任务,尽管如此,我始终坚信只要努力付出就会出现奇迹。

因为以前没有学习过vfp软件的使用,所以这次从多种途径来学习并了解vfp软件,从图书馆借了大量的书籍进行自学。

遇到问题的时候和小组成员讨论并请教老师同学,这样学会了很多知识,比如:如何实现一个项目,只需要前期的需求分析,概念模型,逻辑模型的构建,以及表单的建立,菜单的建立,项目管理器的作用等等。

也吸收到了大量的知识。

所以我想说一切的付出都是有回报的,当然其中不能缺少团队之间的默契以及合作。

通过这次的数据库课程设计收获到很多东西。

首先老师叫我们用vfp的软件来做课程设计,但是因为以前没有接触过该软件,所以完全不懂,还必须得从头自学,比如说通过向图书馆借书参考,学会了制作表单,报表,菜单,以及建立项目管理器等等。

只有通过这些才能做出完整的课程设计,这不是一个简单的过程,其中要付出很大的精力和时间,但是当最终出现成果的时候还是很欣慰的,觉得都值了,还有团队分工合作也是很重要的一个方面。

通过这次课程设计让我受益匪浅,社团管理系统在大学中具有实用性,本次课程设计运用了以前未接触过的vfp软件,因此在制作课程设计过程中不仅要学会数据库的基础知识,还要了解vfp的相关知识,该系统制作过程中在需求分析阶段,需要合理设计系统结构并形成概念模型和逻辑结构。

然后在vfp系统中逐步实现该系统的功能。

由于没有接触过vfp,在制作过程中遇到很多疑难问题,所以要多看书多请教老师同学。

培养了我的各种能力,收获很多。

附录附录1:部分程序代码登陆界面set exact oni=i+1select userlocate for alltrim(username)=alltrim(thisform.text1.text)if found()and alltrim(password)=alltrim(thisform.text2.text)if class=thisform.optiongroup1.valuedo casecase class=1do form form2.scxthisform.releasecase class=2do form form3.scxthisform.releaseendcaseendifelseif i<3messagebox("用户名或密码错误,请重新输入",48,"系统警告") thisform.text1.value=""thisform.text2.value=""thisform.text1.setfocuselsemessagebox("三次错误,无权登陆",48,"系统警告") thisform.releaseendifendif社团信息表单查找if empty(thisform.Text1.value)=.f.go topa=bo1.valueb=alltrim(thisform.Text1.value)c=.f.if a="社团号"locate for 社团号=bif eof()messagebox("数据库中不存在您所要查询的记录",16,"系统提示")go topreturnelsec=.t.endifendifif a="社团名"locate for 社团名=bif eof()messagebox("数据库中不存在您所要查询的记录",16,"系统提示")go topreturnelsec=.t.endifendifif cthisform.Text1.enabled=.f.go recno()thisform.Text2.visible=.t.thisform.Text2.enabled=.f.thisform.Text3.visible=.t.thisform.Text4.visible=.t.thisform.Text5.visible=.t.bel3.visible=.t.bel4.visible=.t.bel5.visible=.t.bel6.visible=.t.thisform.Text2.value=社团.社团号thisform.Text3.value=社团.社团名thisform.Text4.value=社团.成立时间thisform.Text5.value=社团.近期主要活动thisform.grid1.setfocusthis.enabled=.f.mand2.enabled=.t.endifelsemessagebox("请输入要查找的内容!",16,"系统提示") thisform.Text1.value=""thisform.Text1.Setfocusendifthisform.refresh修改a=alltrim(thisform.Text3.value)b=alltrim(thisform.Text4.value)c=alltrim(thisform.Text5.value)if empty(a)messagebox("社团名不可以修改为空值",16,"系统提示") returnendifmsg=messagebox('确定要修改记录吗?',32+4,'系统提示')if msg=6go recno()replace 社团.社团名with a,社团.成立时间with b,社团.近期主要活动with cmessagebox("修改记录成功",48,"系统提示")thisform.grid1.refreshmand1.enabled=.t.thisform.Text1.enabled=.t.this.enabled=.f.thisform.Text2.visible=.f.thisform.Text3.visible=.f.thisform.Text4.visible=.f.thisform.Text5.visible=.f.bel3.visible=.f.bel4.visible=.f.bel5.visible=.f.bel6.visible=.f.thisform.Text1.value=""thisform.Text1.setfocusendiffomer4 会员信息表单查找if empty(thisform.Text1.value)=.f.go topa=bo1.valueb=alltrim(thisform.Text1.value)c=.f.if a="学号"locate for 学号=bif eof()messagebox("数据库中不存在您所要查询的记录",16,"系统提示")go topreturnelsec=.t.endifendifif a="姓名"locate for 姓名=bif eof()messagebox("数据库中不存在您所要查询的记录",16,"系统提示") go topreturnelsec=.t.endifendifif cthisform.Text1.enabled=.f.go recno()thisform.Text2.visible=.t.thisform.Text2.enabled=.f.thisform.Text3.visible=.t.thisform.Text4.visible=.t.thisform.Text5.visible=.t.bel3.visible=.t.bel4.visible=.t.bel5.visible=.t.bel6.visible=.t.thisform.Text3.value=会员.学号thisform.Text4.value=会员.姓名thisform.Text5.value=会员.性别thisform.Text6.value=会员.所在院系thisform.grid1.setfocusthis.enabled=.f.mand2.enabled=.t.endifelsemessagebox("请输入要查找的内容!",16,"系统提示") thisform.Text1.value=""thisform.Text1.Setfocusendifthisform.refresh修改a=alltrim(thisform.Text3.value)b=alltrim(thisform.Text4.value)c=alltrim(thisform.Text5.value)if empty(a)messagebox("姓名不可以修改为空值",16,"系统提示")returnendifmsg=messagebox('确定要修改记录吗?',32+4,'系统提示')if msg=6go recno()replace 会员.姓名with a,会员.性别with b,会员.所在院系with c messagebox("修改记录成功",16,"系统提示")thisform.grid1.refreshmand1.enabled=.t.thisform.Text1.enabled=.t.this.enabled=.f.thisform.Text2.visible=.f.thisform.Text3.visible=.f.thisform.Text4.visible=.f.thisform.Text5.visible=.f.bel3.visible=.f.bel4.visible=.f.bel5.visible=.f.bel6.visible=.f.thisform.Text1.value=""thisform.Text1.setfocusendif退出thisform.releaseform5管理员对社团信息维护表单(插入,删除,关闭)第一条select 社团if bof()=.f. thengo topmand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t.endifthisform.refresh上一条if bof()=.f. thenskip-1mand1.enabled=.t.mand3.enabled=.t.mand4.enabled=.t.elsemessagebox("已经到达第一条记录",48,"提示") mand1.enabled=.f.mand2.enabled=.f.endifthisform.refresh下一条if eof()=.f. thenskipmand1.enabled=.t.mand2.enabled=.t.mand4.enabled=.t.elsemessagebox("对不起,已经到达最后一条",48,"信息不全") mand3.enabled=.f.mand4.enabled=.f.endifthisform.refresh添加select 社团if mand5.caption="添加" go bottommand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.f. mand4.enabled=.f. mand5.caption="保存" mand8.caption="放弃" mand6.enabled=.f.thisform.Text1.enabled=.t. thisform.Text2.enabled=.t. thisform.Text3.enabled=.t. thisform.Text4.enabled=.t. thisform.Text1.value=""thisform.Text2.value=""thisform.Text3.value=""thisform.Text4.value=""thisform.Text1.readonly=.f.thisform.Text2.readonly=.f. thisform.Text3.readonly=.f. thisform.Text4.readonly=.f.elseappend blankskipmand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.f. mand4.enabled=.f.mand5.enabled=.t. mand6.enabled=.t. thisform.Text1.readonly=.f. thisform.Text2.readonly=.f. thisform.Text3.readonly=.f. thisform.Text4.readonly=.f. thisform.Text1.enabled=.f. thisform.Text2.enabled=.f. thisform.Text3.enabled=.f. thisform.Text4.enabled=.f. mand5.caption="添加"mand8.caption="关闭"a=alltrim(thisform.text1.value)b=alltrim(thisform.text2.value)c=alltrim(thisform.text3.value)d=alltrim(thisform.text4.value)if empty(a)messagebox("社团号不可以为空值",16,"系统提示")returnendifmsg=messagebox('确定要保存记录吗?',32+4,'系统提示')if msg=6replace 社团.社团号with a,社团.社团名with b,社团.成立时间with c,近期主要活动with dmessagebox("保存记录成功",48,"系统提示")mand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.t.mand4.enabled=.t.thisform.refreshendifthisform.refresh删除USE 社团.dbf EXCLUSIVEmsg=messagebox('您确定要删除这条记录吗?',32+4,'系统提示') if msg=6delete for alltrim(社团.社团号)=alltrim(thisform.text1.text) packmessagebox("删除记录成功",16,"系统提示")go topthisform.refreshendif关闭if mand8.caption="关闭" thenthisform.releaseelseif mand5.caption="保存"deletemand5.caption="添加" mand8.caption="关闭"select 社团locate for 社团号=alltrim(thisform.text1.value) 社团名=alltrim(thisform.text2.value)成立时间=alltrim(thisform.text3.value)近期主要活动=alltrim(thisform.text4.value)go topmand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.t.mand4.enabled=.t.mand6.enabled=.t.thisform.Text1.readonly=.t.thisform.Text2.readonly=.t.thisform.Text3.readonly=.t.thisform.Text4.readonly=.t.endifform6:管理员对会员信息的维护(添加,删除,关闭)第一条:select 会员if bof()=.f. thengo topmand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t.endifthisform.refresh上一条:if bof()=.f. thenskip-1mand1.enabled=.t.mand3.enabled=.t.mand4.enabled=.t.elsemessagebox("已经到达第一条记录",48,"提示") mand1.enabled=.f.mand2.enabled=.f.endif下一条if eof()=.f. thenskipmand1.enabled=.t.mand2.enabled=.t.mand4.enabled=.t.elsemessagebox("对不起,已经到达最后一条",48,"信息不全") mand3.enabled=.f.mand4.enabled=.f.endifthisform.refresh添加select 会员if mand5.caption="添加" go bottommand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.f. mand4.enabled=.f. mand5.caption="保存" mand8.caption="放弃" mand6.enabled=.f.thisform.Text1.enabled=.t. thisform.Text2.enabled=.t. thisform.Text3.enabled=.t. thisform.Text4.enabled=.t. thisform.Text1.value=""thisform.Text2.value=""thisform.Text3.value=""thisform.Text4.value=""thisform.Text1.readonly=.f. thisform.Text2.readonly=.f. thisform.Text3.readonly=.f.thisform.Text4.readonly=.f.elseappend blankskipmand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.f. mand4.enabled=.f. mand5.enabled=.t. mand6.enabled=.t. thisform.Text1.readonly=.f. thisform.Text2.readonly=.f. thisform.Text3.readonly=.f. thisform.Text4.readonly=.f. thisform.Text1.enabled=.f. thisform.Text2.enabled=.f. thisform.Text3.enabled=.f. thisform.Text4.enabled=.f. mand5.caption="添加" mand8.caption="关闭"a=alltrim(thisform.text1.value)b=alltrim(thisform.text2.value)c=alltrim(thisform.text3.value)d=alltrim(thisform.text4.value)if empty(a)messagebox("学号不可以为空值",16,"系统提示")returnendifmsg=messagebox('确定要保存记录吗?',32+4,'系统提示')if msg=6replace 会员.学号with a,会员.姓名with b,会员.性别with c,所在院系with dmessagebox("保存记录成功",48,"系统提示")mand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.t.mand4.enabled=.t.thisform.refreshendifendifthisform.refresh。

相关主题