设计通讯录毕业设计报告书Word格式文档下载.docx
《设计通讯录毕业设计报告书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《设计通讯录毕业设计报告书Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
(3)简易性。
ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。
例如,ASP.NET页框架使您可以生成将应用程序逻辑与表示代码清楚分开的用户界面,和在类似VisualBasic的简单窗体处理模型中处理事件。
另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。
(4)可管理性。
ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。
由于配置信息是以纯文本形式存储的,因此可以在没有本地管理工具帮助的情况下应用新设置。
此"
零本地管理"
哲学也扩展到了ASP.NET框架应用程序的部署。
只需将必要的文件复制到服务器,即可将ASP.NET框架应用程序部署到服务器。
不需要重新启动服务器,即使是在部署或替换运行的编译代码时。
(5)可缩放性和可用性。
ASP.NET在设计时考虑了可缩放性,增加了专门用于在聚集环境和多处理器环境中提高性能的功能。
另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄漏、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。
(6)自定义性和扩展性。
ASP.NET随附了一个设计周到的结构,使开发人员可以在适当的级别“插入”代码。
实际上,可以用自己编写的自定义组件扩展或替换ASP.NET运行库的任何子组件。
实现自定义身份验证或状态服务一直没有变得更容易。
(7)Web2.0支持
随着第二波互联网热潮的回归,Web2.0得到越来越多人的认同,而A更是开创了许多Web应用的新模式,包括WebForm,更加简易的WebServices。
以及对Ajax的强有力的支持。
使我们在最短的时间内开发出一套完整健壮而有符合用户习惯的优秀程序成为可能。
1.2数据库的选择
(1)数据库介绍
Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;
提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;
为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle,或者任何ODBC兼容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"
进阶用户"
则能使用它来开发简单的应用软件。
虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。
(2)数据库用途
MicrosoftAccess在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。
它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在InternetInformationServices运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/MicrosoftSQLServer.
它的使用方便程度和强大的设计工具为初级程序员提供许多功能。
不过,这种便于使用可能使人误解。
这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。
因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。
一些专业的应用程序开发人员使用Access用作快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。
可是如果是透个网络存取数据的话,Access的可扩放性并不高.因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如Oracle、DB2、MicrosoftSQLServer、WindowsSharePointServices、PostgreSQL、MySQL、AlphaFive、MaxDB,或者Filemaker。
无论如何,不少Access的功能(表单,报告,序列和VB代码)可以用作其他数据库的后期应用,包括JET(档案为主的数据库引擎,Access缺省使用)、MicrosoftSQLServer、Oracle和任何其他跟ODBC兼容的产品。
这种方法允许开发者把一个成熟的应用的数据移动到一台更大功率的服务器而没有已经在适当的位置牺牲发展。
很多开发者谁使用MicrosoftAccess使用Leszynski命名约定,虽然这不普遍;
它是一次编程大会,并非一个DBMS实施的规章。
(3)数据库特性
一好处进入从程序员视角在它的有关兼容性有SQL-质问可能被观看并且作为SQL语句编辑,并且SQL语句直接在巨视和VBA模里可以被使用操作进入桌子。
用户可能混合并且使用两个VBA并且"
宏"
编程形式和逻辑既没提供面向对象的可能性。
导入导出报表的生成程序,当时有能力和到这项任务的复杂报告创造,没有另一受欢迎数据库报表程序的生成程序充满特色和强有力-水晶报告。
MSDE(微软公司SQL服务器桌面发动机)2000,袖珍版本的MSSQL服务器2000,被包括开发版的办公室XP并且被用于进入可能作为除之外的另一种选择JET数据库引擎。
(尽快的*版本的MSDE和微软公司交换服务器实际上使用这台喷气发动机处理巨大大量数据并且安置一“赝品”在它之上的那些应用的应用层。
大约这事实的缺乏知识因进入/喷口家庭的软件产品而为不该受不敬做贡献,特别是关于"
大"
工程。
)
进入分割和粘贴功能性能使它有用工具在其他数据库之间连结(例如,在数据或者数据库变换期间的Oracle和微软公司SQL服务器)。
进入与给与窗子和其他平台应用一起的积分的各种各样进口和退场门特征一起来,一经请求从应用的里面或者手工由用户其中几可以被执行。
例如非常紧密SNP完全格式化的为分享的形式与没有全部的进入软件的人们报告。
它也能容易被升级到微软公司SQL服务器。
(4)数据库发展
进入可提供的编程语言,当时在另一个内产品MicrosoftOffice家具,微软公司应用的VisualBasic。
两个数据库进入讯息库COM组成部分被提供:
这笔遗产数据存取物体(DAO),用进入和新只可提供ActiveX数据对象(忙乱)。
MicrosoftAccess容易被应用于小的工程但是规模无效对大的工程如果应用被不好设计。
全部数据库质问,形式和报告被储存在数据库里,并且与相关的模型的理想协调,没有与他们做一个身体上组织的阶层的可能性。
1.3IIS介绍及配置
因特网信息服务器(InternetInformationServer,IIS)是Microsoft公司提供的一种集成了多种Internet服务(WWW服务、FTP服务等)的服务器软件,利用它,可以很容易地构造Web站点。
由于是同一家公司的产品,IIS和WindowsNTServer紧密地集成在一起,可以充分利用WindowsNT的多种功能,其安全机制也以WindowsNT的NTFS安全机制为基础,因此可以实现用IIS构建的Web站点的安全性。
在本系统开发过程中,在IIS安装完毕后,打开IIS管理器,配置虚拟目录和应用程序池到开发的ASPX页面根目录下。
第二章需求分析
2.1系统需求分析
此系统为通讯录系统,主要的功能包括五大部分:
浏览功能、查询功能、修改功能、增加功能和删除功能。
浏览功能:
列出所有记录(每项记录只列出姓名、单位及部门、办公室电话域);
可选定一项记录,显示所有域;
查询功能:
姓名匹配查询;
单位及部门匹配查询;
电话号码匹配查询(包括多个域);
修改功能:
修改所有的域,姓名不能为空;
增加功能:
增加一个新的记录;
删除功能:
删除一个记录,提供确认机制。
2.2系统功能分析
本系统主要实现我们信息的管理,包括我们平时朋友信息的添加、修改、查询和删除,及一些辅助项目的管理,如登录系统用户管理和用户组管理。
整个系统模块划分如下图:
1、数据集模块
通过此模块来统一管理通讯录管理系统中用到的数据库连接控件、数据源控件、数据集控件和数据查询控件。
2、登录窗体模块
在登录窗体模块中,系统还将自动记录登录用户的用户名和登录时间。
3、系统管理模块
用户通过此模块来管理用户组和系统登录用户,包括登录用户组和系统登录用户名称的添加、修改、删除和查询等。
在进行登录用户组和登录用户记录的添加保存时,应该进行用户组和系统登录用户记录的用户名是否重复的检验。
如果重复,则对用户进行提示,只有不重复才能进行用户组和系统登录用户记录的添加。
在进行用户组和系统登录用户记录删除时,要弹出提示窗体让用户确认是否删除,只有在用户确认以后才能进行用户组和系统登录用户记录的删除。
在进行用户组的添加修改时,对于用户组长字段,要提供一些用户名,便于用户选择。
在进行系统登录用户记录的添加修改时,对于用户组字段,要提供一些用户组名称,以便于用户进行选择。
4、主窗体模块
用户通过此模块可以显示系统的主菜单,也可以执行数据库的备份和恢复操作。
在主窗体模块中,包括3个子模块:
通讯录数据管理子模块、信息管理子模块和登录信息查询子模块。
在登录信息查询子模块中,具有管理员身份的用户通过此模块来管理系统用户的登录信息,包括系统用户的登录时间和退出时间的查询等操作。
最后单击“退出本系统”菜单,便可以退出通讯录管理系统。
2.2.1系统登录
用户输入用户名和密码进行登录。
2.2.2用户注册
初次登录的用户可在注册界面注册过后再进行登录。
2.2.3信息查看
该功能主要方便朋友之间联系,能方便的查看朋友目前所处行业,联系方式,并提供打印功能等。
2.2.4信息修改
管理员对朋友信息的修改,以便能及时的更正信息。
2.2.5信息删除
管理员对好友信息的删除。
2.2.6信息添加
管理员对好友信息的添加
2.2.7信息查询
管理员对信息的查询。
2.3系统功能流程图
第三章数据库设计
数据库设计的优劣直接关系到项目系统的成败,一个好的数据库设计方案可以有效的提高系统的效率,高效快捷的组织数据管理,而且方便的系统维护。
3.1数据库概念设计
在概念设计阶段中,设计人员从用户的角度看待数据及处理要求和约束,产生一个反映用户观点的概念模式。
然后再把概念模式转换成逻辑模式。
将概念设计从设计过程中独立开来,使各阶段的任务相对单一化,设计复杂程度大大降低,不受特定DBMS的限制。
利用E-R方法进行数据库的概念设计,可分成三步进行:
首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局模式,最后对全局E-R模式进行优化,得到最终的模式,即概念模式。
3.1.1设计局部E-R模式
实体和属性的定义:
用户(用户ID,用户名,密码)
好友(ID号,姓名,性别,出生年月,手机号码,电话,家庭住址,邮编,QQ,E-mail)
管理(好友,用户)
3.1.2设计全局E-R模式
所有局部E-R模式都设计好了后,接下来就是把它们综合成单一的全局概念结构。
全局概念结构不仅要支持所有局部ER模式,而且必须合理地表示一个完整、一致的数据库概念结构。
(1)确定公共实体类型
为了给多个局部E-R模式的合并提供开始合并的基础,首先要确定各局部结构中的公共实体类型。
在这一步中我们仅根据实体类型名和键来认定公共实体类型。
一般把同名实体类型作为公共实体类型的一类候选,把具有相同键的实体类型作为公共实体类型的另一类候选。
(2)局部E-R模式的合并
合并的原则是:
首先进行两两合并;
先和合并那些现实世界中有联系的局部结构;
合并从公共实体类型开始,最后再加入独立的局部结构。
(3)消除冲突
冲突分为三类:
属性冲突、结构冲突、命名冲突。
设计全局E-R模式的目的不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突,使之成为能够被所有用户共同理解和接受的同一的概念模型。
(4)全局E-R模式的优化
在得到全局E-R模式后,为了提高数据库系统的效率,还应进一步依据处理需求对E-R模式进行优化。
一个好的全局E-R模式,除能准确、全面地反映用户功能需求外,还应满足下列条件:
实体类型的个数要尽可能的少;
实体类型所含属性个数尽可能少;
实体类型间联系无冗余。
3.2数据库逻辑结构设计
依照数据库的概念分析与逻辑关系结构,最终实现数据库的逻辑结构,下列各表分别为本系统的数据表
表3-1Addresslist表
字段
类型
含义
说明
id
int
序号
主键
userId
Varchar(15)
用户名
frdName
Varchar(10)
好友姓名
frdPhone
电话
frdMobilephone
Varchar(11)
手机
frdAddress
Varchar(200)
地址
frdQQ
Varchar(20)
QQ
frdEmail
Varchar(100)
E-mail
表3-2User表
userPwd
Varchar(50)
密码
username
userSex
Varchar
(2)
用户性别
userBirth
Datetime
出生年月
userPhone
userMobilePhone
userCode
Varchar(6)
用户密码
userAddress
用户地址
userEmail
用户邮箱
userQQ
用户QQ
表3-3Listname表
Id
selectname
名字
表3-4Menu表
FuncID
功能号
Funcname
功能名
FuncUrl
功能源
FuncParentID
Varchar(4)
功能根源号
FuncDesc
功能降序排列
Funcdirection
功能方向
第四章系统程序设计
4.1系统模块组成
本系统主要分为六大模块:
添加好友信息模块、删除好友信息模块、修改好友信息模块、查找好友信息模块、用户注册模块、系统管理模块。
4.2各模块的实现
下面会选几个有代表性的窗口实现进行说明,其他的与其类似。
4.2.1用户登录和注册模块的实现
用户进入系统时,提示输入密码的信息如图4-2所示。
图4-1提示登录与注册界面
登录代码:
publicpartialclassLogin:
{
amendPasswordtransfer;
protectedvoidPage_Load(objectsender,EventArgse)
{
}
protectedvoidbtnLogin_Click(objectsender,EventArgse)
transfer=newamendPassword();
stringNewPwd=;
stringsqlQuery="
selectuserId,userPwdfromUserswhereuserId='
"
++"
'
;
DataBaseDB=newDataBase();
DataTabledt=DB.DataSelect(sqlQuery);
try
intRow=;
if(Row==0)
Response.Write(amendPassword.Show_MessageBox("
没有此用户!
));
="
;
return;
else
stringsel_userid=dt.Rows[0]["
UserID"
].ToString();
stringsel_Pwd=dt.Rows[0]["
userPwd"
].ToString().Trim();
stringconfirm_pwd=transfer.EncryptPassword(NewPwd,"
MD5"
).Trim();
if(sel_Pwd!
=confirm_pwd)
用户密码错误!
Session["
userID"
]=;
Response.Redirect("
TreeAddress/Tree.aspx"
);
catch(System.Exceptionee)
Response.Write("
scriptlanguage=javascript>
alert('
)<
/script>
}
图4-2注册页面
注册代码:
publicpartialclass_Default:
privateArrayListalYear;
privateArrayListalMonth;
privateArrayListalDay;
if(!
this.IsPostBack)
InitDate();
privatevoidInitDate()
alYear=newArrayList();
alMonth=newArrayList();
alDay=newArrayList();
for(inti=1950;
i<
2100;
i++)
alYear.Add(i.ToString());
for(inti=1;
=12;
alMonth.Add(i.ToString());
32;
alDay.Add(i.ToString());
ddlYear.DataSource=alYear;
ddlYear.DataBind();
ddlmonth.DataSource=alMonth;
ddlmonth.DataBind();
ddlDay.DataSource=alDay;
ddlDay.DataBind();
protectedvoidbtnValidate_Click(objectsender,EventArgse)
if(txtName.Text!
="
||txtPwd.Text!
||txtPwd2.Text!
||txtUname.Text!
)
inti=userNameValidate();
<
注意:
带**号的内容为必填项,否则无法完成注册'
privateintuserNameValidate()
SqlCon