




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于UML和ASP.NET实现三层B/S构造系统开发摘要进展良好的系统分析和设计是软件工程开发的关键,构架设计的合理与否往往决定了工程的成败。本文结合一个工程的开发,阐述了基于UL的系统建模过程和基于ASP.NET实现面向对象的三层构造应用系统的方法。关键词ASP.NET;三层构造;UL建模;系统开发架构设计是软件开发的根底,并往往决定一个工程的成败。三层构造是目前流行的架构设计形式,它是在由Bushann等提出的“层形式1根底上开展起来的,由表示层、业务逻辑层和数据访问层三个层次构造组成。它通过分解来管理问题的复杂性,同时还可以有效地重复使用业务逻辑并保存与昂贵资源如数据库的重要连接2,3。
2、基于ASP.NET可以充分发挥其完全面向对象的技术特点,实现三层构造B/S系统架构,从而进步开发效率,增强系统的可维护性和扩展性。本文结合一个“学生成绩管理系统的开发,研究如何基于UL进展三层B/S构造的系统建模,及其在ASP.NET下的应用实现。架构设计是非常高级的设计,也是系统设计的关键,主要是定义和说明包子系统,以及包与包之间的互相依赖与通信机制。系统构架模型的合理与否将决定系统的可维护性、扩展性和开发效率。包通常所需要处理的是要么是一个详细的功能区域业务逻辑,要么是一个详细的技术区域技术逻辑。业务逻辑主要考虑的是对系统业务功能的实现,而技术逻辑那么是进一步考虑用户界面、数据库或通信机制
3、等形成的技术方案。把技术逻辑和业务逻辑区分开来是极其重要的,这是为了当修改程序的某一部分时不会对另一部分产生影响,更加便于进展“复用,同时易于应对来自业务逻辑的变更需求。三层构造是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序构造划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规那么和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。其构造如以下图1所示:图1三层构造示意图三层构造是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将恳求传送给业务
4、逻辑层,业务逻辑层完成相关业务规那么和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。下面通过一个学生管理系统的开发,说明三层B/S构造系统从UL建模到基于ASP.NET进展实现的完好开发过程,UL建模工具采用的是RatinalRse。2.1需求分析软件需求分析是系统开发的第一步也是最重要的一个环节,其根本任务是准确地答复“系统做什么?这个问题,这需要在对用户需求进展充分调研的根底上,深化理解并描绘出软件的功能、性能、接口等方面的需求,可以使用UL建模作为需求分析和系统设计的有效方法。分析的目的是为了获得和描绘系统中所有的要求,因此分析阶段是一种典型的与
5、用户或客户合作的过程,通常由开发人员同用户或客户共同完成。在这个阶段,开发人员不应该考虑代码或程序实现的细节,而应该把精力放在对现有业务逻辑的理解上,通过与用户之间的充分沟通,逐步理解并描绘出得到用户确认的系统模型,包括用例模型和领域dain,系统中关键的类模型。软件开发人员在对用户进展需求调研的过程中,用户往往并不能立即准确描绘出将来系统应该提供一些什么样的功能。因此,需要开发人员理解和分析需求,并将系统应该具有的功能通过用例图直观的描绘出来,方便用户理解并做出评判,开发人员从而可以根据用户的反响不断调整用例模型,直至完全正确、充分描绘清楚系统功能。用例建模主要是别离出系统的活动参与者(At
6、r)和用例(Usease),用例是指对系统提供的功能的一种描绘,而活动参与者是那些可能使用这些用例的人或外部系统,通过用例图可以描绘出系统外部的执行者、系统的用例,以及它们之间的联络。本学生管理系统的用例图见图2。用例模型还需要进一步对每个用例进展详细描绘,进一步说明用例的名称、根本领件流和备选事件流、前置条件和后置条件等,并形成文档。限于篇幅,这里就不多说了。图2用例图分析过程中还要详细地列举领域(dain,系统中关键的类),为了进展领域分析,需要充分理解用例模型,也可以与用户及领域专家组织一次集体研讨会谈,尝试找出所有必须处理的关键概念以及它们之间的互相关系,并最终分析出域类图。以下图3为
7、本系统的域类图。需要强调的是:在本阶段,对领域进展分析的类图还是处于“草图状态。定义的操作和属性不是最后的版本,只是在本阶段看来比较适宜。后期将通过动态行为分析不断得出新的操作,这是一个逐步完善和开展的过程。2.2系统设计系统设计的目的是产生一个可用的、完好的解决方案,并且可以比较容易地将方案转换成程序代码。这个阶段在三层构造的架构设计模型根底上,将考虑所有的实现技术问题,对分析阶段的模型进展扩展和细化,分析阶段定义的类进一步扩大,定义新的类来处理技术方面的问题,并形成最后的UL模型。推动不断进展详细设计的方法是对每个用例进展动态建模,描绘如何通过类图中的对象协作实现用例中的功能,由于一开场对
8、系统的认识是很不够的,前面建立的类往往随着动态建模的深化,发现存在缺陷或不够完好,需要对分析中得到的域类图进展不断修正和调整,扩展形成业务逻辑包。同时,随着对用户界面、数据库访问等技术实现的深化建模,不断建立新的用户界面类如窗体、控件和数据访问类,形成用户界面包和数据访问包。本学生管理系统经过详细设计后,在域类图根底上进展扩展后形成的业务逻辑包类图如以下图4所示。图3域类图图4业务逻辑包类图新建立的数据访问包类图如以下图5所示。所有的数据访问类都定义了一个基类DBn,该基类包含属性DBnnetinString,通过该属性可以获得数据库连接字符串。还包括一个方法GetDataVie,可以实如今数
9、据库中执行查询获得一个DataVie。这些属性和方法被所有的数据访问类继承,可以直接使用。图5数据访问包关于用户界面包的类图比较简单,主要是通过界面设计,设计出窗体及控件等界面元素,并根据动态建模时需要涉及的用户界面访问动作,定义所引起的相关事件,这些方面都在窗体类中进展定义,并组成用户界面包,这里就不详细介绍。动态建模通常采用的方法是使用UL中的时序图描绘用例,一个时序图针对某个用例中的一个“场景进展分析。所谓“场景是指一个用例中事件开展的一条道路。根据活动参与者的不同输入或行为,通常一个用例会有多个“场景,也就需要分析出多个时序图。通过时序图描绘一个场景中各个对象之间所进展的通信,同时可以
10、分析出系统中相应的类需要具备的操作,从而不断扩大和细化类的设计。假如需要进一步描绘类的状态变化情况和操作流程,可以使用UL中的状态图和活动图。图6登录场景动态建模时产生的时序图较多,这里无法一一阐述。图6给出了登录系统场景的时序图,在用户界面包中定义了一个LginFr类,其对应的eb窗体为用户登录窗体页面Lgin.aspx,图6描绘了在该窗体中实现用户登录的场景。前面系统设计动态模型时,通过时序图已经对每个用例的各项功能所涉及的场景进展了详尽的描绘,按照时序图的规定把每个用例都分别进展编码实现即可。下面结合学生管理系统中的“登录系统用例,介绍基于ASP.NET进展系统实现的方法。首先需要考虑分
11、包,ASP.NET中包对应的就是命名空间。在本学生管理系统中,规定业务逻辑包的命名空间为Resultanage.BusinessRule,数据访问包的命名空间为Resultanage.DataAess,而用户界面包的命名空间为Resultanage.eb。然后进展业务逻辑包和数据访问包中相关类的设计,对于“登录系统用例,从上图6的登录场景时序图中可以看出,相关的类有业务逻辑包的Users类和数据访问包的UsersDB类,分别对这些类的属性和方法进展定义和实现,并设计一些测试用例或测试程序对其进展单元测试。最后按照用户界面包和上图6的登录场景时序图中的规定,对用户登录窗体页面Lgin.aspx进
12、展设计实现,其实现登录的代码如下所示:privatevidbtnLgin_lik(bjetsender,Syste.EventArgse)stringUserNae=txbUserNae.Text;stringPassrd=txbPassrd.Text;tryFrsAuthentiatin.SetAuthkie(UserNae,false);Sheleessage(UserNae);elseessage.Text=用户登录失败!;ath(SqlExeptinsqlexeptin)Respnse.rite(sqlexeptin.essage);代码中对于业务的处理,通过调用业务逻辑包Users类
13、的Lgin方法实现登录信息的检查,其代码如下:publistatiblLgin(stringUserNae,stringPassrd)if(UserNae=)returnfalse;elsereturnUsersDB.hekLgin(UserNae,Passrd);上述Users类的Lgin方法的代码中,首先进展业务逻辑检查,判断用户名是否为空,涉及数据库访问那么通过数据访问类完成,通过数据访问包的UsersDB类的hekLgin方法从数据库中检查是否存在符合相应登录信息的用户。前面已经提到,包括UsersDB类在内的数据访问层所有类都从一个基类DBn继承,该基类封装了所有数据库访问类公共的特性,其中包括定义了公共属性:数据连接字符串DBnnetinString。UsersDB类的hekLgin方法中使用DBnnetinString进展数据库的连接,并调用数据库中存储过程hekLgin查找用户登录信息是否正确。本文介绍了三层B/S构造系统的UL建模和基于ASP.NET进展实现的过程和方法,实现的三层构造不仅程序逻辑上构造明晰,而且由于容易发生需求变更的业务逻辑部分实现了别离,因此具有更强的可扩展性和可维护性。同时这种系统在部署时具有很强的灵敏性,可以将各个包分别编译成.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建设工程质量安全培训
- 大众餐饮培训课件
- 2025届吉林省白城市洮南十中高三第一次调研测试化学试卷含解析
- 供气单位合同样本
- 企业员工集资合同标准文本
- 不合格物业服务合同标准文本
- 供蒸汽合同样本
- 临汾租房合同样本
- 买旧设备合同标准文本
- 产品招商协议合同标准文本
- 个人汽车押车合同范本
- 第十二讲 建设社会主义生态文明PPT习概论2023优化版教学课件
- 吉塔行星模拟课程
- 献身国防事业志愿书,空军
- 广东省建筑施工安全管理资料统一用表2021年版(原文格式版)
- 【企业招聘管理研究国内外文献综述】
- 筒子形成及卷绕成型分析
- 五年级道德与法治下册作业设计优秀案例
- 社会工作师职业资格考试
- 风电工程建设标准强制性条文
- MT/T 240-1997煤矿降尘用喷嘴通用技术条件
评论
0/150
提交评论