编号
本科生毕业设计(论文)
题目: 氏族宗谱管理系统
工程 学院 计算机科学与技术专业
学 号 学生姓名 指导教师
二〇一二年六月
摘要
摘 要
宗谱,又称族谱、家乘、祖谱、家谱等.一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书体裁.宋代以前,宗谱只作为官吏铨选和巨姓望族婚姻门第参考的依据;宋元时代,民间开始为了说世系、序长幼、辨亲疏、尊祖敬宗开始编纂宗谱,宗谱的编纂逐渐由官方垄断走向民间私修,但是未形成风气;从明代开始,民间大族纷纷开始编纂宗谱,各地同宗之间的联系也更为紧密,宗族文化开始了一个飞跃的发展.但是从清末到新中国文革期间,由于战乱和文化方针的阻扰和破坏,宗族文化陷入低潮.随着社会的发展,自九十年代以来,人们对于自己的宗族文化开始关注起来,各地宗谱纷纷重修,也为宗族文化带来了新的活力.随着科技的发展和人们对于精神文明的需求,宗谱作为中华五千年来最具有平民色彩的文献也需要融入信息化的进程.因此,创建一个氏族宗谱管理系统对于继承这一文化是十分重要的.本系统通过创建家族树来显示氏族成员之间的血缘关系.本系统的实现,将会填补我国信息化进程中在平民文化上的空白,继续继承和发展我国特色的平民氏族文化.
关键词:氏族宗谱;家族树;血缘关系;信息发布
I
Abstract
ABSTRACT
Genealogy, also known as lineage, family multiply progenitor spectrum, genealogy, etc. A reproduction of the form of a table spectrum, recorded a blood relationship, the main family lineage and an important figure in deeds special book genre. Before the Song Dynasty, Genealogy only considered as the basis of official selection and the reference of the giant surname family in marriage; Song and Yuan times, in order to describe descent and relationship, respect the ancestors, lineages began compiling genealogy, genealogy compilation gradually changed from official monopoly to private repair, but not the formation of the atmosphere; from the Ming Dynasty, almost every clan have started compiling genealogical ,and the relationships of the same clan become closer, clan culture began a quick development. But from the late Qing Dynasty to the Cultural Revolution in new China, war and cultural policy became the biggest obstruction and destruction to the clan culture. Since the 1990s with the development of society, people pay more attention to their own clan culture ,and the many genealogies have been rebuilt, also the culture of clan has brought new vitality. With the development of technology and the demand for spiritual civilization, genealogy as the literature of China five thousand years to the most civilian colors also need to integrate into the process of information, therefore, create a clan genealogy management system for inherited this culture is very important. The system creates a family tree to show the kinship between the clan members. The implementation of this system will fill the blank of China's information process in the civilian culture, continue to inherit and develop our characteristics civilians clan culture.
Keywords: Clan genealogy; the family tree; kinship; information dissemination
II
目录
目 录
第1章 绪论 ............................................................................................................. 1
1.1 课题背景 .............................................................. 1 1.2 目前现状 .............................................................. 1 1.3 氏族宗谱管理系统概述 .................................................. 2
1.3.1 基本概念 .................................................................... 2 1.3.2 语言介绍 .................................................................... 2 1.3.3 研究内容 .................................................................... 3 1.3.4 预期目标 .................................................................... 3 1.3.5 可行性分析 .................................................................. 3
第2章 开发技术与环境介绍 ................................................................................. 5
2.1 ASP.NET简介 .......................................................... 5 2.2 开发环境 .............................................................. 6
2.2.1 关于LINQ .................................................................... 6 2.2.2 关于VS2010 .................................................................. 6
第3章 系统需求分析与设计 ................................................................................. 7
3.1 系统需求分析 .......................................................... 7
3.1.1 系统介绍 .................................................................... 7 3.1.2 系统功能 .................................................................... 7 3.1.3 系统数据库设计 .............................................................. 8
3.2 系统基本流程 ......................................................... 11
第4章 系统具体实现 ........................................................................................... 13
4.1 系统辅助类的实现 ..................................................... 13
4.1.1 数据库连接类DataClasses .................................................... 13 4.1.2 验证码生成程序ValidCode .................................................... 13 4.1.3 家族树生成程序TreeView ..................................................... 15 4.1.4 图片上传控件UpImg .......................................................... 22
4.2 管理员模块实现 ....................................................... 23
4.2.1 宗谱管理员 ................................................................. 24 4.2.2信息发布系统管理员 .......................................................... 28 4.2.3 管理员管理界面 ............................................................. 29
4.3 会员模块实现 ......................................................... 32
4.3.1 会员登陆 ................................................................... 32 4.3.2 会员注册 ................................................................... 34
i
目录
4.3.3 会员个人信息查看及修改 ...................................................... 36 4.3.4 氏族成员查看 ................................................................ 39 4.3.5 家族树查看 .................................................................. 40 4.3.6 信息列表 .................................................................... 42 4.3.7 发布信息 .................................................................... 43 4.3.8 信息查看和回复 .............................................................. 44
第5章 结论与展望 ............................................................................................... 49
5.1结论 .................................................................. 49 5.2不足之处及未来展望 .................................................... 49
参考文献 ................................................................................................................. 51 致 谢 ..................................................................................................................... 52
ii
氏族宗谱管理系统
第1章 绪论
1.1 课题背景
家谱,又称族谱、家乘、祖谱、宗谱等.一种以表谱形式,记载一个以血缘关系为主体的家族世系繁衍和重要人物事迹的特殊图书体裁.家谱以记载父系家族世系、人物为中心,由记载古代帝王诸侯世系、事迹而逐渐演变来的.家谱是一种特殊的文献,就其内容而言,是中国五千年文明史中最具有平民特色的文献,记载的是同宗共祖血缘集团世系人物和事迹等方面情况的历史图籍.在信息化社会高速发展的今天,让我国这一传统文化从书本走向信息化也是我国精神文明建设的一个重要组成部分.
从中国家谱发展的历史看,宋代以后修谱的宗旨发生了变化,此前家谱作为官吏铨选和巨姓望族婚姻门第参考的依据作用已逐渐丧失,编纂家谱的目的主要是为了说世系、序长幼、辨亲疏、尊祖敬宗,且比较关注亲亲之道的提倡.家谱的编纂也逐渐由官方垄断走向民间私修.总的来看,宋元时代民间私修家谱尚未形成风气,并不普遍,而这一情形的转变主要是在明代.家谱、族谱,是一个家族的生命史.它不仅记录着该家族的来源、迁徙的轨迹,还包罗了该家族生息、繁衍、婚姻、文化、族规、家约等历史文化的全过程. 家谱是以记载父系家族世系、人物为中心的历史图籍,是由记载古代帝王诸侯世系、事迹而逐渐演变来的.先秦时,社会上流传有《周官》、《世本》等谱学通书;秦汉以后,又出现了《帝王年谱》、《潜夫论.志氏姓》、《风俗通.姓氏篇》等谱学著作.到魏晋南北朝时,门阀制度盛行,家谱成了世族间婚姻和仕宦的主要依据,于是便迅速发展起来.隋唐五代后,修谱之风更从官方流行于民间,以至遍及各个家族,出现了家家有谱牒、户户有家乘,并且一修再修、无休无止.因此每次修谱,也就成了同姓同族人之间的大事.氏族宗谱也成为了我国五千年文明史中最具有平民特色的文献.
家庭与家族是社会的细胞,一个家族分化为若干个家庭,任何一个家庭或家族的变迁除了其主观因素外,都离不开社会的大环境和社会的变迁.从这个意义上说,一个家族谱也是一个社会历史文化的缩影.研究和立谱可以使我们了解自己祖宗所处的社会历史环境,了解家族发展的历史文化,继承、发扬先祖的光荣传统,弘扬先祖业绩,团结全族骨肉,奋发向上,培养后代,创造光辉的未来.
随着社会的发展和国家对非物质文化的重视,氏族文化在信息化方面的建设也应该加速发展,以满足人们对于精神文明日益增长的需求.建立氏族宗谱管理系统,可以加强氏族成员之间的交流,便于氏族管理的信息化.通过氏族中某些名人的影响,还能激发民族凝聚力,响应国家精神文明建设的方针.同时,氏族宗谱管理系统的建立也可以为我国历史发展的研究提供一个很好的参考资料.
1.2 目前现状
随着社会的发展和国家对非物质文化的重视,很多在历史上消失的带有浓厚的氏族文化也纷纷被重新开展.例如,钱氏一族自宋初就在杭州及其重要的“元宵祭钱王”活动很早就消沉在历史长河中.通过宗谱上的记载,杭州钱鏐研究会在2008年重新开办了时隔千年的“元宵祭钱王”活动.自此,在杭州市文化局和杭州钱鏐研究会的共同组织下,“元宵
1
江南大学学士学位论文
祭钱王”活动越传越广,全国各地钱王后裔纷纷赶往杭州钱王祠参加祭祖活动.各地钱王子孙通过相互交流之后,纷纷产生认祖归宗想法.而根据各分支《钱氏宗谱》的记载,对于各地钱王子孙的辈分都有了初步的确认,同时也为各地钱王子孙认祖归宗带来了方便.由此可见,人们对于自己的祖先和家族发展历史是十分重视的.
目前,国内仅有个别氏族宗谱管理网站,但也只是简单介绍.作为中国五千多年来最具有平民色彩的文献,氏族宗谱应该跟上现代化的脚步,应该同我国其他文化一样,通过建立信息化的管理系统,继承和发扬这一项平民文化,加快我国建设现代化文明的脚步.建立钱氏宗谱管理系统,可以加强氏族成员之间的交流,便于氏族管理的信息化.通过氏族中某些名人的影响,还能激发民族凝聚力,响应国家精神文明建设的方针.同时,氏族宗谱管理系统的建立也可以为我国历史发展的研究提供一个很好的参考资料.
1.3 氏族宗谱管理系统概述
1.3.1 基本概念
氏族宗谱管理系统是显示一个氏族成员之间血缘关系的管理系统,即通过家族树的形式,按辈分显示自始祖以来的所有成员之间的血缘关系.从通讯的角度来看,钱氏宗谱管理系统是通过电脑网络来传输信息和服务;从流程的角度来看,钱氏宗谱管理系统是网页自动生成结点树的技术应用;从服务的角度来看,钱氏宗谱管理系统是氏族成员为了继承和发扬我国平民和氏族文化,同时解决氏族成员之间地域相隔不能当面的交流的困难而建立的一个网页管理系统;从网络的角度来看,钱氏宗谱管理系统提供了网络上显示宗谱的功能,同时为氏族成员之间交流提供服务.
氏族宗谱管理系统改变了传统的宗谱纸张书本保存形式,为氏族成员查看成员之间血缘关系提供更为简便的途径.它通过网络为用户提供全天候的服务.近年来,钱氏成员尤其是钱王子孙对于氏族宗谱格外关注,全国各地纷纷成立钱鏐研究会和钱氏联谊会.通过每年正月十八的\元宵祭钱王\的活动,钱王子孙们聚集在一起互相交流,追根寻祖.因此,通过建立氏族宗谱管理系统,将全国各地的钱氏宗谱汇总起来,让各地钱王子孙可以通过互联网查询和完善钱氏宗谱,同时通过氏族宗谱管理系统自带的论坛,各地钱王子孙可以互相交流,增进氏族成员间的关系.此外,鉴于国内氏族宗谱管理系统还是处于起步阶段,建立钱氏宗谱管理系统可以弥补国内对于宗谱文化信息化的空白,为其他氏族建立宗谱管理系统提供一个观摩的平台.同时,建立氏族宗谱管理系统还可以加快我国精神文明建设的脚步,更好更快的继承和发展我国平民文化和氏族文化. 1.3.2 语言介绍
C sharp(又被简称为\是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承、界面、与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件和对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角.C#是一种最新的、面向对象的编程语言.它使得程序员可以快速地编写各
2
氏族宗谱管理系统
种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域.正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选——无论是高级的商业对象还是系统级的应用程序.使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用.最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能.因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#.
使用C#编写的氏族宗谱管理系统是比较高端的网页系统.通过使用VS2010自带的数据库系统和先进的LINQ技术,它能承载大数据量和访问量, 并且具备非常高的安全性,从而满足人们对于氏族宗谱管理系统的需求. 1.3.3 研究内容
通过参考现有书面氏族宗谱管理系统,了解氏族宗谱管理系统的主要功能及应用,完成系统的需求分析;根据需求分析完成数据库的设计和系统的结构设计图;根据系统的结构设计图完成系统的结构设计,其中包括用户界面层、业务服务层和数据逻辑层的划分;根据设计文档,创建数据库并且通过LINQ建立相应的数据连接;完成用户界面层和业务服务层的编码并建立数据逻辑层的连接;完成单元测试和系统测试. 1.3.4 预期目标
(1)界面设计美观友好,信息查询灵活、方便、快捷、准确,数据存储安全; (2)全面显示所有氏族成员之间的血缘关系;
(3)为用户提供一个交流的平台,包括信息发布和回复; (4)用户可以随时修改自己的个人信息;
(5)系统对输入的成员信息进行检测,排除人为的输入错误; (6)系统对用户进行权限分类;
(7)不同的权限用户可以进行不同的操作;
(8)管理员用户可以添加、修改、删除氏族成员信息; (9)论坛管理员可以删除用户发布的不良信息; (10)系统最大限度地实现了易维护性和易操作性; (11)系统运行稳定、安全可靠. 1.3.5 可行性分析
(1)需求分析:目前国内暂时没有专门的氏族宗谱关系系统网站,而人们对于精神文化的需求日益增长,尤其是对于了解自己祖先和家族成员之间的血缘关系.建立氏族宗谱管理系统能满足人们对于氏族宗谱的需求;
(2)资源方面:作者作为氏族成员,曾数次参加“元宵祭钱王”活动,并且和多地的钱鏐研究会和钱氏联谊会保持联系,尤其是二零一零年参与《新泽钱氏宗谱》的重新编撰工作,拥有许多关于钱氏先祖和现有成员的资源;
(3)经济方面:氏族宗谱管理系统使用VS2010和其自带的数据库,通过C#语言编写,
3
江南大学学士学位论文
并且使用windows自带的IIS虚拟服务器,开发成本低,只需一台服务器,且当系统更新时只需更新服务器端程序即可,对客户端的要求较低.其次,使用成本低,用户只需登录系统即能查看和查询氏族成员之间的血缘关系,并且通过系统的信息发布系统发布和回复各种信息;
(4)技术方面:本系统使用最新的ASP.NET技术,使用C#语言编写.通过对系统的结构设计,对系统进行用户界面层、业务服务层和数据连接层的划分,简便了系统的开发难度,实现了系统的分层开发.
4
氏族宗谱管理系统
第2章 开发技术与环境介绍
2.1 ASP.NET简介
ASP.NET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单.因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现.这种被称为\Local Administration\的哲学观念使Asp.net的基于应用的开发更加具体和快捷.一个ASP.net的应用程序在一台服务器系统的安装只需要简单的拷贝一些必须的文件,不需要系统的重新启动,一切就是这么简单.多处理器环境的可靠性 ASP.net已经被刻意设计成为一种可以用于多处理器的开发工具,它在多处理器的环境下用特殊的无缝连接技术,将很大的提高运行速度.即使你现在的ASP.net应用软件是为一个处理器开发的,将来多处理器运行时不需要任何改变都能提高他们的效能,但现在的ASP却做不到这一点.自定义性和可扩展性 ASP.net设计时考虑了让网站开发人员可以在自己的代码中自己定义\的模块.这与原来的包含关系不同,ASP.net可以加入自己定义的任何组件.网站程序的开发从来没有这么简单过.安全性基于Windows认证技术和每应用程序配置,你可以确保你的原程序是绝对安全的. ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护.可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能.ASP.NET 是一个已编译的、基于 .NET 的环境,把基于通用语言的程序在服务器上运行.将程序在服务器端首次运行时进行编译,比ASP即时解释程序速度上要快很多.而且是可以用任何与 .NET 兼容的语言创作应用程序.另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework.开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等. ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具一起工作.这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持.
图2-1 Microsoft.NET框架图
5
江南大学学士学位论文
2.2 开发环境
操作系统:Microsoft Windows 7 开发语言:C#(C sharp) 开发工具:VS2010 2.2.1 关于LINQ
LINQ,语言集成查询(Language INtegrated Query)是一组用于C#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据.从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、where以及order by(C#)中.使用这些操作符可以编写查询语句.不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的LINQ类型.LINQ 提供了一条更常规的途径即给.Net Framework添加一些可以应用于所有信息源(all sources of information)的具有多种用途(general-purpose)的语法查询特性(query facilities),这是比向开发语言和运行时(runtime)添加一些关系数据(relational)特性或者类似 XML 特性(XML-specific)更好的方式.这些语法特性就叫做 .NET Language Integrated Query (LINQ) . 2.2.2 关于VS2010
Visual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件.是目前最流行的windows平台应用程序开发环境.Visual Studio 2010版本于2010年4月12日上市,其集成开发(IDE)的界面被重新设计和组织,变得更加简单明了.Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows7的应用程序.除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库.
VS2010还具有以下新特性:
(1) C# 4.0中的动态类型和动态编程; (2) 多显示器支持;
(3) 使用Visual Studio 2010的特性支持TDD; (4) 支持Office ; (5) Quick Search特性; (6) C++ 0x新特性; (7) IDE增强;
(8) 使用Visual C++ 2010创建Ribbon界面; (9) 新增基于.NET平台的语言 F#;
Microsoft Visual Studio 2010 采用拖曳式便能完成软件的开发.简简单单的操作便可以实现一个界面的生成.但拖曳的界面,也应当有相应的代码来实现功能.Microsoft Visual Studio 2010支持C#、C++ 、VB, 可以快速实现相应的功能.
6
氏族宗谱管理系统
第3章 系统需求分析与设计
3.1 系统需求分析
3.1.1 系统介绍
本系统名为氏族宗谱管理系统,主要实现氏族血缘关系图和家族信息发布系统.系统共分为三个部分——氏族宗谱模块、信息发布模块和管理员模块.游客在未登录的情况下可以浏览氏族宗谱家族树(血缘关系图)、查询氏族成员之间的血缘关系和会员在信息发布系统发布的信息;游客可以通过系统右上角注册按钮进入注册界面,注册成系统会员之后,用户可以在血缘关系图界面点击查看摸个成员的具体信息;在信息发布系统,会员能发布信息、回复他人的信息.管理员可以在管理界面添加、修改和删除氏族成员和管理信息发布系统.同时,管理员也分为站长和普通管理员.其中,站长可以通过相应的界面赋予或者取消某个会员的管理员权限.本系统所采用的主要技术是ASP.NET的.NET Framework技术,数据库采用VS2010自带的SQL server数据库,使用的是IIS虚拟服务器,开发工具是Microsoft Visual Studio 2010. 3.1.2 系统功能 (1)用户界面层:
氏族宗谱管理系统 用 用 查 查 户注册户 看 看 登 论 成 录坛员 回复信息发布信息查看个人信息修改个人信息查询血缘关系查看成员信息 图3-1氏族宗谱管理系统用户界面功能
7
江南大学学士学位论文
(2)管理员界面:
图3-2 氏族宗谱管理系统管理员功能
3.1.3 系统数据库设计
系统分析结束后,基本确定本系统的基本功能.在编写具体代码前首先要设计数据库中有哪些表,分析各表之间的关系,画出数据库E-R图如下:
姓名 辈分 地址 序号 姓名 辈分 氏族成员 家族树 地址 生卒年 父亲 父亲 简介 图3-3 氏族成员表E-R图 图3-4 家族树表E-R图
8
氏族宗谱管理系统
用户名 密码 性别 浏览次数 标题 话题内容 会员 论坛话题 头像 权限 邮箱 发布时间 发布者 回复次数 图3-5 会员表E-R图 图3-6 论坛话题表 E-R图
标题 发布者 回复者 用户表 话题回复 话题 回复时间 回复内容 回复表 话题表 图3-7 话题回复表 E-R图 图3-8 话题E-R图
系统使用VS2010自带的SQL Server数据库.首先在程序目录下新建APP_Data文件夹,再新建SQL Server数据库.建立数据库后在表的目录下添加表. 数据库中的表有:
表3-1 数据库szcy中表信息
表名 Cy Tree User Post PostBack Sz
具体内容
成员表:用于存放氏族成员姓名、辈分、地址、父亲、生卒年、简介等信息 家族树表:用于存放结点姓名、父结点、结点简介、结点序号、辈分等信息 会员表:用于存放会员用户名、性别、邮箱、头像、权限等信息
论坛话题表:用于存放话题标题、发步者、发布时间、人气、回复次数等信息 话题回复表:用于存放回复标题、回复者、回复时间、回复内容等信息 氏族表:用于存放氏族名称、氏族简介、收录人数等信息
9
江南大学学士学位论文
具体表设计如下:
序号 1 2 3 4 5 6 7
列名 CyNum CyName CySex CyAddress CyFather CyBirth CyIntru
表3-2 Cy(成员表) 数据类型 长度 int nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar
4 50 50 200 50 200 300
具体说明 成员辈分 成员姓名 性别 地址 父亲 生卒年 简介
序号 1 2 3 4 5
列名 NodeID NodeName NodeFather NodeNum NodeNote
表3-3 Tree(家族树表) 数据类型 长度 int nvarchar nvarchar int nvarchar
4 50 50 4 300
具体说明 结点序号 结点姓名 结点父亲 辈分 简介
序号 1 2 3 4 5 6
列名 UserName UserPwd UserSex UserEmail UserPic IsAdmin
表3-4 User(会员表) 数据类型 长度 nvarchar nvarchar nvarchar nvarchar nvarchar int
50 50 50 200 200 4
具体说明 用户名 密码 性别 邮箱 头像 是否为管理员
序号 1 2 3 4 5 6 7
列名 Post_Title Post_Content Post_Sender Post_SenderTime Post_BrowseCount Post_BackCount
Post_Id
表3-5 Post(信息表) 数据类型 长度 nvarchar nvarchar nvarchar datetime int int int
200 2000 50 50 50 50 32
具体说明 标题 内容 发布者 发布时间 浏览次数 回复次数 信息编号
序号 1 2 3
列名 SzName SzNum SzIntru
表3-6 Sz(氏族表)
数据类型 长度 nvarchar int nvarchar
10
具体说明 氏族名称 收录人数 氏族介绍
50 32 4000
氏族宗谱管理系统
序号 1 2 3 4 5 6
列名 PostBack_title PostBack_Sender
表3-7 PostBack(信息回复表)
数据类型 长度
nvarchar nvarchar datetime nvarchar nvarchar int
200 50 50 2000 50 32
具体说明 标题 回复者 回复时间 回复内容 发布者 信息编号
PostBack_SenderTime PostBack_Content PostBack_PostName PostBack_PostId
3.2 系统基本流程
(1) 用户系统基本流程:
用户系统主要分为两个部分:钱氏宗谱模块和信息发布模块.
1)氏族宗谱模块:游客进入主页后可以查看部分姓氏来源的简介,在宗谱界面则可以看到氏族宗谱的血缘关系图.同时,通过输入不同的成员姓名还可以查询成员之间的血缘关系;游客可以通过注册页面注册为系统会员,会员登录系统之后,则可以进一步查看氏族成员的具体信息,包括性别、地址、出生年月和死亡年月、简介等相关信息.
2)信息发布模块:游客进入主页后可以通过点击菜单栏的论坛按钮进入信息发布系统.同时还可以通过点击信息发布系统的首页的信息列表查看信息的具体内容;游客在相应注册页面注册为系统会员之后,就可以发布新的信息和回复他人发布的信息;会员还可以通过点击个人信息,查看当前本用户的信息,同时通过点击个人信息页面的修改按钮,进入个人信息修改页面,会员可以对自己的邮箱,性别,头像和密码进行修改;此外,会员点击退出即可安全退出,返回系统主页.
用户系统流程图如图3-9所示:
图3-9 用户系统流程图
11
江南大学学士学位论文
(2)管理员系统基本流程:
管理员模块:系统通过判定登录会员是为管理员选择是否显示管理菜单.管理员进入管理页面后,可以进行一下操作:添加氏族成员、编辑氏族成员和删除氏族成员.同时,管理界面刷新,显示最新的成员列表;在论坛界面,系统通过判定登录会员是否为管理员来选择是否显示每条信息的删除选项,管理员通过点击删除按钮即可删除过时或不符合本系统的垃圾信息;同时,系统还要对登录会员是否为站长进行判定,若当前登录会员权限是站长,则显示管理员管理界面,站长可以对注册会员进行权限变更操作,通过查询和输入关键字两条途径来修改会员的管理员权限.
管理员系统流程图如图3-10所示:
图3-10 管理员系统流程图
12
氏族宗谱管理系统
第4章 系统具体实现
4.1 系统辅助类的实现
4.1.1 数据库连接类DataClasses
本系统使用VS2010自带SQL server数据库,数据连接使用的是LINQ to SQL类.作为VS2008以来的最新数据连接技术,只需把数据库中的表添加到DataClasses.dbml类中就能调用和修改数据库的数据.
具体实现方式如图4-1所示:
图4-1 DataClasses类实现方式
4.1.2 验证码生成程序ValidCode
为了防止某些恶意用户使用恶意软件登录,系统在登录界面设置了验证码.程序通过随机抽取0-9和26个英文字母中的4个,通过VS2010自带画图程序集,自动生成一定大小的彩色验证码图片.用户登陆系统时,必须输入验证码才能成功登录系统.
本程序实现代码如下: (1)随机获取4个字符:
private string GetValidCode(int num) {
string strRandomCode = \; char[] chastr = strRandomCode.ToCharArray(); StringBuilder sbValidCode = new StringBuilder();
13
江南大学学士学位论文
Random rd = new Random(); for (int i = 0; i < num; i++)
{
sbValidCode.Append(strRandomCode.Substring(rd.Next(0,
strRandomCode.Length), 1)); //以strRandomCode的长度产生随机位置,并截取该位置的字符添加到StringBuilder对象中 }
return sbValidCode.ToString(); }
(2)生成验证码图片:
public void ProcessRequest(HttpContext context) {
string strValidCode = GetValidCode(4);
context.Session[\; //将字符串保存到Session中,以便需要时进行验证
Bitmap image = new Bitmap(120, 30); //定义图像 Graphics g = Graphics.FromImage(image); //绘制图片 try {
Random random = new Random(); //产生随机对象 g.Clear(Color.White); //清除图片背景颜色 for (int i = 0; i < 25; i++) //随机产生图片的背景噪线
{
int x1 = random.Next(image.Width); int x2 = random.Next(image.Width); int y1 = random.Next(image.Height); int y2 = random.Next(image.Height);
g.DrawLine(new Pen(Color.Silver), x1, x2, y1, y2); }
Font font = new System.Drawing.Font(\
(System.Drawing.FontStyle.Bold)); //设置图片字体风格 LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 3, true); //定义图片的大小
//绘制随机字符
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); //绘制图片前景噪点
14
g.DrawString(strValidCode, font, brush, 5, 2);
百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库氏族宗谱管理系统设计 毕业论文在线全文阅读。
相关推荐: