校友网站的设计与实现计算机软件专业.doc_第1页
校友网站的设计与实现计算机软件专业.doc_第2页
校友网站的设计与实现计算机软件专业.doc_第3页
校友网站的设计与实现计算机软件专业.doc_第4页
校友网站的设计与实现计算机软件专业.doc_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

中文题目:校友网站的设计与实现外文题目:ALUMNI WEBSITE DESIGN AND IMPLEMENTATION毕业设计(论文)共54页(其中:外文文献及译文17页)图纸共 0张完成日期2015年6月 答辩日期2015年6月摘要学生时代是每个人都会经历的一个重要的人生阶段,会在每个人心中留下珍贵的回忆。可是一走上工作岗位,大多数人都会与以前的同学失去联系。有时,即使想联系却没有联系方式。通过校友录系统,可以找到想要联系的同学。随着计算机及网络技术的不断发展,网络在现代社会生活中发挥着越来越重要的作用,为加快毕业校友之间的联系和学校与毕业同学之间的联系,我设计并实现了校友网站,校友网站利用互联网实现了这些目的。在提倡终生教育的今天,随着人们学历的提高,同学越来越多,通过提供完善的校友录服务和规范的校友录管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。基于ASP.NET的网站设计方法是当今流行的动态网站设计方法,依靠Microsoft公司强大的技术和资金实力,基于.NET Framework的软件设计思想显示出巨大的潜力和应用前途,现在已被许多大型软件公司使用。本文正是基于ASP.NET进行动态网站的设计。关键词:校友录;ASP.NET;SQL Server数据库;动态网站ABSTRACTStudent is an important stage in everyones life, will be left in the hearts of everyone precious memories. While we took to work, most people will be with the previous lost contact students. In some cases, even if we would like to contact other people, but no contact. Recorded through the alumni system, can be found linked to the students want. With the computer and the continuous development of network technology, network life in modern society is playing an increasingly important role, in order to speed up the link between graduates and the schools and the link between graduates, I designed and implemented the alumni Web site Alumni Web site use of the Internet to achieve those aims. In the promotion of lifelong education today, with the improvement of peoples qualifications, more and more students, by providing comprehensive services and alumni standardized management, can be achieved between the promotion of alumni, alumni and alma mater, the feelings between the convenience The purpose of alumni contacts. ASP.NET website design is popular in todays dynamic web site design methods, relies on Microsofts strong technical and financial strength, based on the. NET Framework software design idea shows great potential and application of the future, has now been many large-scale software companies. This article is based on the ASP.NET dynamic website design.Keywords:Alumni;ASP.NET;SQL Server Database;Dynamic WebsiteI目录1 项目概述11.1 现系统概述11.2 系统业务流程31.3 系统功能模块32 系统需求分析52.1 需求陈述52.2 Use Case建模62.2.1定义活动者62.2.2 Use Case图63 系统架构设计93.1 架构设计目标93.2 系统架构设计103.3 系统架构类图134 系统详细设计154.1 系统交互图154.1.1系统架构类交互图154.1.2 活动者与模块间的交互164.1.3 系统协作图184.1.4 系统状态图184.1.5 系统活动图194.2 数据库设计204.2.1 ER图204.2.2 物理表结构图224.3 开发环境的选择234.3.1 系统开发工具234.3.2 数据库的选择234.3.3 系统网络架构设计245 编码255.1 概述开发工具及编程脚本255.2 脚本习惯说明265.3 脚本266 测试276.1 测试原则及测试方法概述276.2 测试项目测试用例296.3 软件测试结论306.3.1 软件能力306.3.2 缺陷和限制306.3.3 建议306.3.4 测试结论31结论32致谢33参考文献34附录A 中文译文35附录B 英文原文42附录C 源程序清单51辽宁工程技术大学毕业设计(论文)1 项目概述1.1 现系统概述目前,经济发展迅猛,人们的压力也越来越大,以致把大多数的时间都投入在工作上,往往就会淡忘以前的生活。学生时代是梦想最多的时代,感情最纯真的时代,在那时,我们都会遇到很多不同的人,也结交了很多知己。但是一走上工作岗位,大多数人都会与以前的朋友失去联系。有时,即使想联系却没有联系方式。通过校友录系统,可以找到想要联系的朋友。在提倡终生教育的今天,随着人的教育经历的增长,校友是越来越多,那么,校友信息的管理是我们每个人成长中必须管理的信息。对校友信息的增加、删除、修改、查询,以及数据的备份和恢复,都成为校友录管理系统不可缺少的部分。通过提供完善的校友录服务和规范的校友录管理,可以达到增进校友之间、校友与母校之间的感情,方便校友联系的目的。基于ASP.NET的网站设计方法是当今流行的动态网站设计方法,依靠Microsoft公司强大的技术和资金实力,基于.NET Framework的软件设计思想显示出巨大的潜力和应用前途,现在已被许多大型软件公司使用。本文正是基于ASP.NET进行动态网站的设计。本文设计校友网站不但可以在互联网上使用,也可以在校园局域网的服务器上让学校独自使用和进行二次开发。目前世界上各种形式的校友录网站大约有28 万个之多,它们在网民心中占有重要地位。以目前存在的校友录网站来看,大致有以下几类:(1)按收费方式分,有收费校友录和免费校友录,其中以后者居多,像中国人的超级校友录就是收费的校友录服务,而像友联同学录、网易同学录等大部分提供的是免费校友录服务;(2)按提供同学录服务所在网站分,有大专院校自己网站上的同学录,如西北大学校友录;有专门单独的同学录网站,如世纪同学录;有综合网站上的同学录,如ChinaRen校友录、新浪校友录、校内网等等,其中以综合网站上的校友录居多。国内的同学录,目前仍然以ChinaRen、校内网和5460最具知名度,这三个同学录在众多的同学录网站中人气最旺,经营状况良好,占据了这个领域的大部分份额,但5460更多是在吃“资历老”的老本,呈现下降趋势。其他的同学录如友联、网易、新浪、亿唐、网大也占有一定份额。班级同学录的形式和班级实体的构成是一样的,由班级管理员负责维护界面。方便实用的留言版让每一个班级成员都有畅所欲言的权利,在这上面,你可以怀旧,可以抱怨,可以展望,总之只要班级管理员不干预,你可以发表任何言论;班级相册是同学录最直观、最具吸引力的一个功能,通过简单快捷的方法把照片上传到同学录供朋友们观赏,可以让同学不会因为时间的流逝而忘记自己的长相;通过班级聊天室可以在线聊天“生日榜”可以提醒大家对即将过生日的同学送去美好祝福;班级通讯录被喻为是永远不会丢失的现代化地址簿,可以随时随地调出;如果你有重要通知要告诉所有的同学,不用一个个的发信息,通过利用消息群发功能就能实现。经过多年的发展同学录管理系统发展逐渐成熟,同学录系统无论是在功能、用户界面等方面都得到了很大的改进。在一些特殊时期,校友录的作用更可以极大的显现和发挥到极至。因为在这些时期,同学老师之间都难以见面,面对面的人际交流机会就缺失了,而校友录就正好充当了这一角色,在虚拟的世界中成为一个信息传递的平台。校友录这些功能也使得它与其他网络工具相比有着其独特的优势。与BBS相比,其实同学录是另一个意义上的论坛,你同样可以发表自己的言论和看法,不同的是,这是一个表明身份的论坛,不是一个匿名的论坛,它的指向性很明显,因为当你在表达某些看法时,处在集体当中、熟悉你的人可以结合你的背景及对你的了解来理解你的言论;与QQ或ICQ聊天相比,若要向大家传达一则信息,不需要逐个的发布,可以群发,另外校友录有单独的留言页面,留言可以得到长期保留,可以供人查看,不会因为主机的不同而丢失;与E-mail相比,同学录有空间量大的相册,操作方便安全,而且文字语言可以借助图示表情,内容表达也更生动。现在的同学录还充当了另一个角色就是作为广告载体,只要很少成本,有些人就可作为班级访客在上面发布广告。但是这种广告载体的有效性是值得怀疑的。因为绝大多数愿意登录校友录的人都希望能在同学录上获得一种“家”的归属感,所以当有人在“家园”中发布一些广告信息时,犹如在家中的墙壁上涂鸦,容易引起人本能的反感,更何况如果遇上了负责任的管理员会在第一时间内把这些不合时宜的广告信息删除,所以在设计本系统时省去了广告载体功能。各个同学录在功能上会存在差异,但都在不断地完善,静态网站的同学录也正在向动态网站的同学录过渡,因为随着Internet的进一步发展,静态Web站点的开发与维护变得越来越困难,一方面信息的不断增加和变化,使站点维护人员不得不经常修改他们的网页,特别是基于数据库驱动的Web站点更是如此,随着Internet上信息量的增多和交互性的加强使HTML越来越难以胜任。另一方面静态网页由于不能与浏览者进行有效交互,使人们感到越来越乏味,而不愿意再一次地进入同一站点。所以开发动态网页或动态内容成了越来越多的站点所追求目标。所谓动态内容是由每一个用户按照自己的需求发出请求而特殊制作的Web网页。网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。1.2 系统业务流程经过前期调研分析和综合其它各方面相关理论知识,给出校友网站的业务流程图,如图1-1所示。已注册网站首页注册页面是否登录班级页面个人信息管理否创建班级是申请加入是已加入班级通讯录留言簿是班级管理否班级已存在否管理员图1-1 校友网站系统流程Fig1-1 Alumni Website System Workflow1.3 系统功能模块根据上述业务流程,整个校友录系统抽象出以下几个功能模块,如图1-2所示。下面模块划分只是抽象意义上的划分,各模块之间需要共享数据,相互协作,完成整个系统流程,单一事物功能模块间是相互独立的。图1-2 系统功能模块图Fig1-2 Function Models of System登陆模块:用户进入网站首页,通过登陆模块进入系统后即可进行其他模块的一系列操作,未登陆游客只能浏览首页内容。用户模块:访问首页后可以通过用户模块中的用户注册功能完成身份注册,注册成功后可以登录系统。登录系统以后也可以对注册时填写的个人信息进行查看和修改。班级模块:用户可以通过此模块查看已经创建的班级列表,选择加入班级,或者选择创建新的班级,成为新班级管理员对班级信息及成员进行管理。通讯录模块:加入班级的用户可以通过此模块查看班级同学的通讯录信息。留言簿模块:加入班级的同学可以通过此模块班级留言信息和添加留言。2 系统需求分析软件需求分析就是把软件计划期间建立的软件可行性分析精和细化,分析各种可能的解法,并且分配给各个软件元素。需求分析是软件定义阶段中的最后一步,是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。确定对系统的综合要求 。分析系统的数据要求,导出系统的逻辑模型,修正系统的开发计划。深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求,借助于当前系统的逻辑模型导出目标系统逻辑模型,解决目标系统“做什么”的问题。需求分析可分为需求提出、需求描述及需求评审三个阶段。软件需求分析工作也是一个不断认识和逐步细化的过程。该过程将软件调研阶段的需求资料进行分析和设计,使软件范围逐步细化到详细定义的程度,并分析出各种不同的软件元素,然后为这些元素找到可行的解决办法。本章将从不同角度的需求分析问题,讲述软件需求陈述,系统功能建模,并给出了用例图。2.1 需求陈述需求分析的基本任务是准确的回答“系统必须做什么?”这个问题,是对目标系统提出完整、准确、清晰、具体的要求,是确定系统所需的功能和任务目标。需求分析阶段应包括UseCase建模,它们是用来描述参与者在系统中行为信息而产生的用例。因此,它们有助于系统分析员与系统设计人员之间的通信。本系统主要研究的内容为基于.NET Framework的网络应用程序实现,利用的开发工具是Microsoft Visual Studio 2005 中的ASP.NET。具体的功能就是实现校友之间的信息交流,具有创建班级的功能,还包括加入班级成员,查看班级成员信息和校友留言信息的要求等。班级管理员对功能的需求:班级成员信息管理:可以浏览班级所有成员的信息,并审核要求成为班级成员的用户。留言信息管理:可浏览、添加,并维护所有班级成员所有留言信息。班级用户对功能的需求:申请加入班级管理:用户找到所在班级后即可申请加入。个人信息管理:可注册、修改个人信息。留言信息管理:可浏览、添加班级留言信息。班级成员信息的浏览:用户可浏览班级所有用户的信息。分析问题领域是软件系统开发的一项基本工作,是项目开发之初必须首先进行的重要工作。分析问题领域的结果是对问题领域的清晰,精确的定义,明确目标系统将做什么。 分析问题领域的主要任务是:对问题领域进行抽象,提出解决方案;对未来的系统进行需求分析,确定系统的职责范围,功能需求,性能需求,应用环境及假设条件等。实施面向对象分析的一般步骤如下:(1)分析用户需求,建立Use Case并通过用例图来描述用户的需求。(2)通过建立域模型以识别类与对象,从而识别系统中的各种对象。(3)确定对象的内部特征,从而定义出各个属性与服务,以进一步细化类的结构。(4)识别对象之间的关系并使用设计模式对类的结构进行优化和改造。(5)获得对象之间的行为关系,绘制出各种动态图形(顺序图、协作图、状态图等)。2.2 Use Case建模2.2.1定义活动者根据校友录系统模块的需求可以确定2个活动者,即班级管理员,普通用户。班级管理员通过班级模块设置班级信息,审核班级成员。普通用户与班级管理员都是注册得到进入系统的权限,两者都可以管理自己的个人信息,在通讯录模块中查看所在班级通讯录,在班级留言簿查看留言或添加留言。2.2.2 Use Case图用例图定义:由参与者(Actor)、用例(Use Case)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。用例图(User Case)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。根据系统需求分析,结合系统活动者的定义分析,得到系统校友录系统模块的六个用例,结合活动者和用例得到校友录系统模块的用例图如下图2-1所示。(1)用户注册用例:参与者:班级管理员、普通用户说明: 启动添加用户信息功能。 输入用户编号。 输入用户信息。 提交用户信息。 用户注册结束。(2)个人信息管理用例参与者:班级管理员、普通用户、通讯录模块说明: 用户登录。 启动查看个人信息功能。 启动更改个人信息功能。 启动删除个人信息功能。 更新个人信息。 个人信息管理结束。 图2-1 校友录管理Use Case图Fig2-1 Use Case for Alumni System(3)班级管理用例参与者:班级管理员、班级模块说明: 班级管理员登录。 启动查看班级模块信息功能。 启动更改班级信息模块功能。 更新班级模块信息。 个人信息管理结束。(4)成员审核用例参与者:班级管理员、班级模块说明: 查看待审核成员信息。 启动审核新成员功能。 班级模块接受新成员信息并更新。(5)通讯录查看用例参与者:班级管理员、普通用户、通讯录模块说明: 启动查看通讯录信息功能。 通讯录模块接受请求并显示信息。 通讯录查看结束。(6)留言管理用例参与者:班级管理员、普通用户、留言簿模块说话: 用户登录。 提出查看留言信息请求。 留言簿模块接受请求并显示信息。 启动添加新留言功能。 留言簿模块接受新留言信息并更新。 留言管理结束。3 系统架构设计软件的系统架构是指通过某种特定的技术平台,完成软件系统整体功能的开发过程。也可以通俗地理解为:总体设计和总体结构布局。软件架构是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。一般而言,软件系统架构有两个要素:1它是一个软件系统从整体到部分的最高层次的划分。2建造一个系统所做出的最高层次的,以后难以更改的,商业和技术的决定。3.1 架构设计目标软件架构设计要达到如下的目标:(1)可行性(Feasible)。架构具有可行性是架构设计的基石。(2)可靠性(Reliable)。软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠。(3)安全行(Secure)。软件系统所承担的交易的商业价值极高,系统的安全性非常重要。(4)可定制化(Customizable)。同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。(5)可扩展性(Extensible)。在新技术出现的时候,一个软件系统应当允许导入新技术,从而对现有系统进行功能和性能的扩展。(6)可维护性(Maintainable)。软件系统的维护包括两方面,一是排除现有的错误,二是将新的软件需求反映到现有系统中去。一个易于维护的系统可以有效地降低技术支持的花费。(7)可升级性(Scalable)。软件必须能够在用户的使用率、用户的数目增加很快的情况下,保持合理的性能。只有这样,才能适应用户的市场扩展得可能性。(8)客户体验(Customer Experience)。软件系统必须易于使用。软件的最终用户很可能是不具有计算机专业技术的人员。3.2 系统架构设计下面我们将根据架构设计原则和信息系统原理来建立系统的架构设计模型。将信息系统中比较关心的对象分层,可分为三层:用户界面层、业务层、数据访问层,如图3-1所示。再把各层中的公共部分提出来:权限管理,这样得到包图,如图3-2所示。图3-1 系统体系架构图Fig3-1 The Diagram of System Architecture图3-2 校友录管理模块包图Fig3-2 Package Diagram of Alumni Management Model(一)用户界面包用户界面包的职责是:(1)与用户的交互,接收用户的各种输入以及输出各种提示信息或处理结果。(2)对于输入的数据进行数据校验,过滤非法数据。(3)向业务处理对象发送处理请求。用户界面包图展开如图3-3所示:图3-3 用户界面包展开图Fig3-3 Package Diagram of Users Interface用户界面包包含的类如图3-4所示:图3-4 用户界面类图Fig3-4 Class Diagram of Users Interface(二)业务逻辑包业务逻辑包图展开如图3-5所示:图3-5 业务逻辑包图展开Fig3-5 Package Diagram of Business业务逻辑包的职责是:(1)实现各种业务处理逻辑或处理算法。(2)向数据访问对象发送数据持久化操作的请求。(3)向用户界面层返回处理结果。业务逻辑包包含的类如图3-6所示:图3-6 业务逻辑类图Fig3-6 Class Diagram of Business(三)数据访问包数据访问层的职责是:(1)实现数据的持久化操作。(2)实现事务处理。数据访问包图展开如图3-7所示:图3-7 数据访问包图展开Fig3-7 Package Diagram of Data Access数据访问包包含的类如图3-8所示:图3-8数据访问类图Fig3-8 Class Diagram of Data Access对于每一个业务处理中需要持久化操作的对象都可以对应为一个数据库访问对象,在很多业务处理中需要请求多个数据库访问对象来进行数据的读写操作,而这些操作又必须在同一个事务中,这时需要用同一个数据库连接对象来进行统一的事务处理。这里的数据库连接类的创建用到了单件(Singleton)模式,保证一个类仅有一个实例,一个客户在同一时刻只能用一个数据库连接对象。(四)权限管理包权限管理的主要职责是:验证请求者的请求权限。权限管理包图展开如图3-9所示:图3-9权限管理包图展开Fig3-9 Package Diagram of Access Authorization权限管理包包含的类如图3-10所示:图3-10 权限管理类图Fig3-10 Class Diagram of Access Authorization3.3 系统架构类图将包图展开,得到类图,它是架构的静态结构图,表达了各个类之间的静态联系。系统架构类图如图3-11所示。图3-11 系统架构类图Fig3-11 Class Diagram of System Architecture4 系统详细设计本部分设计主要涉及软件系统的动态建模和系统类图的详细设计。软件系统的动态模型分为交互模型和活动状态模型,其中的交互模型主要由顺序图和协作图构成,活动状态模型主要包括活动图和状态图。通过为软件系统项目建立动态模型,从而产生体现系统动态行为的可视化分析结果包括对象的时间特性和对象为完成目标任务而相互进行通信的机制、对象行为的改变和状态变化情况,以及对象可能出现的各种活动状况等信息。详细设计是软件工程中软件开发的一个步骤,就是对概要设计的一个细化,就是详细设计每个模块实现算法,所需的局部结构。详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。4.1 系统交互图序列图和协作图称为交互图。其中,序列图用来描述对象之间消息发送的先后次序,阐明对象之间的交互过程以及在系统执行过程中的某一具体时刻 将会发生什么事件。序列图是一种强调时间顺序的交互图,其中对象沿横轴排列,消息沿纵轴按时间顺序排列。序列图中的对象生命线是一条垂直的虚线,他表示一个对象在一段时间内存在。交互图是用来表达系统的各个对象之间如何交互,如何合作完成某个行为的动态模型工具,它与用例图、状态图、活动图等共同构成了系统的行为视图。交互图主要用于对用例图中的控制流进行建模,它包括序列图和协作图,其中,序列图按时间次序描述系统中各对象如何通过消息交互,协作图从空间上描述收发消息的对象的结构关系。4.1.1系统架构类交互图系统架构类的工作流程:(1)用户界面对象在接收了用户的输入请求后,向权限管理对象发送处理请求。(2)权限管理对象验证权限后将验证结果返回给用户界面对象。(3)权限管理对象根据验证结果进行以下处理:对于不符合权限的请求则返回提示信息;对于符合权限的请求,则将请求转发给业务对象。(4)业务对象进行业务处理。对于业务处理中的数据持久化操作,通过访问数据库访问对象进行操作,期间的任何异常都交给异常处理对象处理。最后返回处理结果信息给权限管理对象。(5)权限管理对象将处理结果信息返回给用户界面。系统架构类的交互图如图4-1所示:图4-1 系统架构类的交互图Fig4-1 Interactive Diagram of System Architecture Class4.1.2 活动者与模块间的交互与班级管理模块进行交互的活动者(角色)主要是班级管理员。班级管理员与班级管理模块的交互图如图4-2所示。图4-2 班级管理员与班级管理交互图Fig4-2 Interactive Diagram between Class Administrator and Class Management图4-3校友录网站协作图Fig4-3 Collaboration Diagram for Alumni Website 4.1.3 系统协作图交互图用来说明系统如何实现一个用例或用例中的一个特殊场景。UML提供两类交互图:时序图和协作图。时序图按时间顺序描述系统元素之间的交互;协作图则按照时间和空间顺序来描述系统元素之间的交互。协作图用于显示对象之间如何进行交互以执行特定用例或用例中特定部分的行为。设计员使用协作图和序列图确定并阐明对象的角色,这些对象执行用例的特定事件流。它们是主要的信息来源,用于确定类的职责和接口。与序列图(Sequence Diagram)不同,协作图显示了对象之间的关系。序列图(Sequence Diagram)和协作图表述的是相似的信息,但表述的方式却不同。协作图显示对象之间的关系,它更有利于理解对给定对象的所有影响,也更适合过程设计。用户访问的协作图如图4-3所示。4.1.4 系统状态图状态图是通过类对对象的生命周期建立模型来描述对象随时间变化的动态行为。状态图显示了一个状态机,它基本上是一个状态机中的元素的一个投影,也就意味着状态图包括状态机的所有特性。在班级模块中,主要有创建班级、加入班级、查看班级等状态,下面给出用户创建班级的状态图,如图4-4所示。图4-5 用户创建班级状态图Fig4-5 State Diagram for Creating Classes4.1.5 系统活动图活动图是描述活动是如何协同工作的。当一个操作必须完成一系列事情,而又无法确定以什么样的顺序来完成这些事情时,活动图可以更清晰地描述这些事情。活动图是阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。工作流程的结构使用活动图来进行说明。校友录用户首先登录系统,然后查看班级信息,根据需要选择班级;还可以创建新班级;同时可以查询班级的通讯录和留言簿。完成活动后退出系统,下面给出用户的活动图,如下图4-6所示。图4-6 班级模块活动图Fig4-6 Activity Diagram for Class Model4.2 数据库设计关系型数据库是目前应用最广泛的数据库。既然是面向对象系统设计,数据库设计当然也要是面向对象的。现在要考虑如何对类进行持久化操作,即如何将对象类映射到关系数据库的二维表。4.2.1 ER图ER图即 E-R图 。E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图用矩形表示,矩形框内写明实体名;比如学生张三丰、学生李寻欢都是实体。如果是弱实体的话,在矩形外面再套实线矩形。属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。通过之前章节对系统的一系列描述,可以得到四个实体:用户、班级、通讯录、留言簿。同时为了增进系统运行时的效率适当的进行数据冗余,对班级进行进一步拆分,得到详细班级信息;对用户信息进一步拆分,得到住址、电话号码等通讯录信息。 由此,可以获得本系统的ER图如图4-7所示:1 用户班级通讯录留言簿加入属于属于提供*11*11*图4-7 系统ER图Fig4-7 E-R DiagramER图中的实体的属性表如表4-1所示:表4-1 实体属性表Tab4-1 Entity and Attribute Table实体属性用户用户编号、用户名、真实姓名、密码、生日、电子邮件、性别、头像、QQ、电话、移动电话、邮政编码、通信地址、格言、注册日期、班级、审核状态班级班级号、班级名、入学年份、注册日期、宣言、班级管理员留言簿编号、主题、内容、发表时间、留言人、班级号、置顶标识通讯录真实姓名、生日、电子邮件、QQ、电话、移动电话、邮政编码、通信地址4.2.2 物理表结构图将校友网站ER模型中的实体转换为物理表,得到物理表结构:表4-2 用户表Tab4-2 Users Table字段名称数据类型字段长度字段描述用户编号Int4主键,不为空用户名Varchar50不为空真实姓名Char6不为空密码Varchar50不为空生日Varchar50城市电子邮件Text-不为空性别Char6不为空头像Text-不为空QQText-可为空电话Text-可为空移动电话Text-可为空邮政编码Text-可为空通信地址Text-可为空格言Text-可为空注册日期Datetime-默认为当前日期班级Int4外键审核状态Char10默认值未审核表4-3 班级表Tab4-3 Class Table字段名称数据类型字段长度字段描述班级号Int4主键,不为空班级名Varchar50不为空入学年份Varchar50不为空注册日期Datetime-默认为当前日期宣言Varchar100不为空班级管理员Int4外键表4-4 班级留言表Tab4-4 Classly Table字段名称数据类型字段长度字段描述编号Int4主键,不为空主题Varchar50不为空内容Varchar50不为空发表时间Datetime-默认为当前日期留言人Varchar100不为空班级号Int4外键Ly_topChar10置顶标识,可为空4.3 开发环境的选择4.3.1 系统开发工具本设计采用Microsoft Visual Studio 2005作为校友网站的开发工具。Visual Studio 是微软公司推出的开发环境,是目前最流行的Windows平台应用程序开发环境。使用Visual Studio 2005,专业开发人员能够:使用改进后的可视化设计工具、编程语言和代码编辑器,享受高效率的开发环境 ,在统一的开发环境中开发并调试多层次的服务器应用程序,使用集成的可视化数据库设计和报告工具,创建SQL Server 2005解决方案等。4.3.2 数据库的选择SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select, Insert, Update, Delete, Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。SQL Server是一个关系数据库管理系统。它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。4.3.3 系统网络架构设计本系统采用B/S结构,系统网络架构图如图4-8所示。图4-8 系统网络构架图Fig4-8 Net Architecture Diagram of System客户机最低配置说明:表4-5Tab4-5硬件类别硬件名称CPUP3 800+内存128M显卡集成硬盘3G带宽56Kbps支持软件安装情况:表4-6Tab4-6服务器1.Microsoft Windows 2003 Server2.IIS 5.13.Microsoft SQL Server 20004.Microsoft Visual Studio 2005客户机1.Microsoft Windows XP Professional2.IE 6.05 编码编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码!。用预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。编码在电子计算机、电视、遥控和通讯等方面广泛使用。编码是信息从一种形式或格式转换为另一种形式的过程。5.1 概述开发工具及编程脚本(一)从软件的技术层面看, ASP有如下的特点: (1)无需编译,ASP脚本集成于HTML当,容易生成,无需编译或链接即可直接解释执行。 (2)易于生成,使用常规文本编辑器(如WINDOWS下的记事本),即可进行*.asp页面的设计。 (3)独立于浏览器,用户端只要使用可解释常规HTML码的浏览器,即可浏览ASP所设计的主页。ASP脚本是在站点服务器端执行的,用户端的浏览器不需要支持它。因此,若不通过从服务器下载来观察*.asp 主页,在浏览器端见不到正确的页面内容。 (4)面向对象,在ASP脚本中可以方便地引用系统组件和ASP的内置组件,还能通过定制 ActiveX Server Component(ActiveX服务器组件)来扩充功能。 (5)与任何ActiveX scripting 语言兼容 除了可使用VBScript 和JScript语言进行设计外,还可通过Plug-in的方式,使用由第三方所提供的其它javascript语言。 (6)源程序码不会外漏,ASP脚本在服务器上执行,传到用户浏览器的只是ASP执行结果所生成的常规HTML码,这样可保证辛辛苦苦编写出来的程序代码不会被他人盗取。 (二)从应用的层面看,ASP有如下的功能: (1)处理由浏览器传送到站点服务器的表单输入。 (2)访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。 (3)读写站点服务器的文件,实现访客计数器等功能。 (4)提供广告轮播器、取得浏览器信息、URL表管理等内置功能。 (5)由cookies读写用户端的硬盘文件,以记录用户的数据。 (6)可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。 (7)使用VBScript或JScript等简易的脚本语言,结合HTML码,快速完成站点的应用程序。通过站点服务器执行脚本语言,产生或更改在客户端执行的脚本语言。 (8)扩充功能的能力强,可通过使用C#、Visual Basic、Java、Visual C+ 等多种程序语言制作ActiveX Server Component以满足自己的特殊需要。5.2 脚本习惯说明脚本中变量命名遵守C#语言变量命名规则:变量名必须以字母开头,变量名只能由字母、数字和下划线组成,而不能包含空格、标点符号、运算符等其它符号。变量名不能与C#中的关键字名称相同。变量名不能与C#中的库函数名称相同。 设计中使用统一使用英文单词加数字的命名方式。5.3 脚本见附录C。6 测试6.1 测试原则及测试方法概述软件测试是为了发现错误而不断执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程按顺序逐个对测试项目做出说明。软件测试过程应该遵循如下的原则:(1)尽早地和不断地进行软件测试。不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患。(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。测试以前应当根据测试的要求选择测试用例(Test case),用来检验程序员编制的程序,因此不但需要测试的输入数据,而且需要针对这些输入数据的预期输出结果。(3)程序员应避免检查自己的程序。程序员应尽可能避免测试自己编写的程序,程序开发小组也应尽可能避免测试本小组开发的程序。如果条件允许,最好建立独立的软件测试小组或测试机构。这点不能与程序的调试(debuging)相混淆。调试由程序员自己来做可能更有效。(4)在设

温馨提示

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

评论

0/150

提交评论