软件系统的分层开发.pptx

上传人:b****2 文档编号:2662291 上传时间:2022-11-06 格式:PPTX 页数:41 大小:2.35MB
下载 相关 举报
软件系统的分层开发.pptx_第1页
第1页 / 共41页
软件系统的分层开发.pptx_第2页
第2页 / 共41页
软件系统的分层开发.pptx_第3页
第3页 / 共41页
软件系统的分层开发.pptx_第4页
第4页 / 共41页
软件系统的分层开发.pptx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

软件系统的分层开发.pptx

《软件系统的分层开发.pptx》由会员分享,可在线阅读,更多相关《软件系统的分层开发.pptx(41页珍藏版)》请在冰豆网上搜索。

软件系统的分层开发.pptx

软件系统的分层开发软件系统的分层开发第一章第一章课程地位课程地位2/41每阶段已包括:

项目实战、每阶段已包括:

项目实战、COTCOT课程课程总课时:

总课时:

958958本课目标本课目标学完本门课程后,你能够学完本门课程后,你能够使用三层架构开发应用系统使用三层架构开发应用系统使用实体类在各层间传递数据使用实体类在各层间传递数据3/41课程结构图课程结构图4/41课程项目展示课程项目展示学生信息管理系统学生信息管理系统酒店管理系统酒店管理系统教员演示课程项目教员演示课程项目5/41相关课程回顾相关课程回顾WinForms程序运行后是否生成可执行文件?

程序运行后是否生成可执行文件?

C#语言中的异常处理语句是什么?

语言中的异常处理语句是什么?

在在ADO.NET中如何填充中如何填充DataSet数据集?

数据集?

提问提问提问提问6/41预习检查预习检查为什么使用分层架构?

为什么使用分层架构?

程序集包含哪两种文件?

程序集包含哪两种文件?

导致异常的原因有哪些?

导致异常的原因有哪些?

异常处理语句中出现多个异常处理语句中出现多个catch块,如何排列?

块,如何排列?

提问提问提问提问7/41本章任务本章任务使用分层的方式实现简单查询使用分层的方式实现简单查询搭建基本的分层架构搭建基本的分层架构实现基本分层系统的功能实现基本分层系统的功能8/41本章目标本章目标理解分层开发的思想理解分层开发的思想掌握搭建分层架构的方法掌握搭建分层架构的方法.NET异常处理机制及多路异常捕获异常处理机制及多路异常捕获9/41“混沌混沌”的代码的代码S1的学生信息管理系统的学生信息管理系统显示学生信息功能显示学生信息功能界面操作代码界面操作代码获取数据代码获取数据代码其它代码其它代码窗体类窗体类几个人共同开发几个人共同开发同一同一个件个件,效率低,效率低改用控制台显示改用控制台显示几乎重新编写几乎重新编写重用重用获取获取数据数据功能功能在窗体内,不好重用在窗体内,不好重用演示示例演示示例1:

混沌的代码混沌的代码问题问题问题问题10/41从混沌到清晰:

分层从混沌到清晰:

分层清晰的结构清晰的结构协同开发协同开发重用重用移植移植获取数据代码获取数据代码界面操作代码界面操作代码不同职责分开不同职责分开管理管理演示示例演示示例2:

分层后的:

分层后的MySchool11/41生活中的生活中的“分层分层”服务员只管接待客人服务员只管接待客人厨师只管烹炒客人要的美食厨师只管烹炒客人要的美食他们各负其责共同协作为客人提供美食他们各负其责共同协作为客人提供美食顾客饭店饭店12/41软件开发的软件开发的“分层分层”HR系统系统外包外包A国国数据数据访问层访问层B国国UI设计设计C国国持久化层持久化层D国国业务处理层业务处理层13/41分层架构分层架构功能模块按照职责不同统一管理功能模块按照职责不同统一管理操作界面显示数据操作界面显示数据表示层(表示层(UI)操作数据库操作数据库数据访问层(数据访问层(DAL)根据职责不同起的名字根据职责不同起的名字相同职责可进行分层,根据职责不同起名字并不是绝对的相同职责可进行分层,根据职责不同起名字并不是绝对的14/41解决解决方案方案Windows项目项目类库类库项目项目控制台控制台项目项目解决方案与项目解决方案与项目解决方案中可有多个项目,解决方案中可有多个项目,项目项目对应到对应到层层右键设置启动右键设置启动项目项目15/41类库项目与程序集类库项目与程序集VisualStudio可创建自定义的类库可创建自定义的类库类库项目可编译为类库项目可编译为dll(程序集)(程序集)程序集是程序集是.NET应用程序的主要构造块应用程序的主要构造块包含编写的功能模块、功能所涉及的资源等包含编写的功能模块、功能所涉及的资源等类库程序集:

类库程序集:

dll可执行程序集:

可执行程序集:

exe类库项目有默认程序集名称和命名空间名称类库项目有默认程序集名称和命名空间名称16/41层之间的关系层之间的关系项目对应到层,层间的功能如何调用?

项目对应到层,层间的功能如何调用?

通过添加项目引用实现层间的调用关系通过添加项目引用实现层间的调用关系方方式式一一引用引用dll引用类库项目引用类库项目问题问题问题问题方方式式二二17/41搭建分层结构搭建分层结构关键步骤关键步骤创建应用程序项目创建应用程序项目UI(表示层)(表示层)创建类库项目创建类库项目DAL(数据访问(数据访问层)层)添加两层之间的依赖关系添加两层之间的依赖关系分别实现各层的代码分别实现各层的代码操作演示:

分层结构的搭建操作演示:

分层结构的搭建123418/41常见错误常见错误类库的修改不能及时反映到调用类库项目未重新编译引用错误常见错误单独编译类库项目重新添加引用问题分析解决方法19/41学员操作学员操作显示学生信息显示学生信息需求说明需求说明使用分层架构实现显示学生信息功能使用分层架构实现显示学生信息功能要求显示学生的学号、姓名、性别、出生年月要求显示学生的学号、姓名、性别、出生年月练习练习练习练习完成时间:

完成时间:

20分钟分钟20/41共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧共性问题集中讲解共性问题集中讲解共性问题集中讲解共性问题集中讲解21/41分层优势初体验分层优势初体验找两个实现了功能的同学的找两个实现了功能的同学的UI层和数据访问层层和数据访问层,整合整合完成功能完成功能职责分开职责分开无损替换无损替换降低依赖降低依赖复用容易复用容易分层优势分层优势操作演示:

整合两名学员的项目操作演示:

整合两名学员的项目问题问题问题问题22/41学员操作学员操作显示年级信息显示年级信息需求说明需求说明在学生查询窗体,添加下拉列表在学生查询窗体,添加下拉列表下拉列表绑定年级信息下拉列表绑定年级信息练习练习练习练习完成时间完成时间:

30分钟分钟23/41共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧共性问题集中讲解共性问题集中讲解共性问题集中讲解共性问题集中讲解24/41学员操作学员操作实现登录实现登录2-1训练要点训练要点搭建分层架构的搭建分层架构的Windows程序程序实现项目间的引用关系实现项目间的引用关系需求说明需求说明实现管理员登录功能实现管理员登录功能登录成功后显示系统主界面登录成功后显示系统主界面用户名和密码非空验证用户名和密码非空验证指导指导指导指导25/41讲解需求说明讲解需求说明学员操作学员操作实现登录实现登录2-2实现思路实现思路在数据访问层项目中添加在数据访问层项目中添加AdminService类类实现登录方法实现登录方法访问数据库判断用户名访问数据库判断用户名+密码组合是否正确密码组合是否正确在表示层添加登录窗体、主窗体在表示层添加登录窗体、主窗体调用数据访问层方法,并实现登录验证调用数据访问层方法,并实现登录验证登录验证通过后打开主窗体登录验证通过后打开主窗体完成时间完成时间:

35分钟分钟指导指导指导指导26/41共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧共性问题集中讲解共性问题集中讲解共性问题集中讲解共性问题集中讲解27/41账户账户姓名金额金额300123张三张三300124王五王五47,000311320李四李四为什么需要异常处理为什么需要异常处理Trade()Sendquery();/./.020,000数据库数据库系统系统将命令发送将命令发送到到数据库中数据库中拒绝交易拒绝交易余额余额20000-25000系统故障系统故障为保障系统出现故障时能够自动处理,需要为保障系统出现故障时能够自动处理,需要使用使用异常处理异常处理网上银行:

张三转账网上银行:

张三转账25000到李四的账户上到李四的账户上问题问题问题问题28/41异常处理异常处理代码错误代码错误公共语言运公共语言运行库遇到意外行库遇到意外资源资源不可用不可用异常异常程序程序执执行行异常处理异常处理恢复恢复程序程序29/41程序执行过程程序执行过程程序在执行过程中可能出现因多种原因引发的异常程序在执行过程中可能出现因多种原因引发的异常Exception类型类型2-1公共语言运行库引发的异常公共语言运行库引发的异常派生自派生自SystemException类类常见的异常类型包括:

常见的异常类型包括:

SQLExceptionArgumentNullExceptionFileNotFoundExceptionIOExceptionApplicationExceptionException类是所有异常的基类类是所有异常的基类30/41属性名称属性名称说说明明Source此属性表示导致异常发生的应用程序或对象此属性表示导致异常发生的应用程序或对象的名称的名称Message提供引起异常的详细信息提供引起异常的详细信息StackTrace此属性提供在堆栈上所调用方法的详细信息,此属性提供在堆栈上所调用方法的详细信息,并首先显示最近调用的方法并首先显示最近调用的方法InnerException对内部异常的引用,如果此异常基于前一个对内部异常的引用,如果此异常基于前一个异常,则内部异常指最初发生的异常异常,则内部异常指最初发生的异常Exception类型类型2-231/41回顾:

异常处理结构回顾:

异常处理结构常见的异常处理结构常见的异常处理结构try/catch(异常对象异常对象)/异常处理异常处理try/finally/对象清理的代码对象清理的代码try/catch(异常对象异常对象)/异常处理异常处理finally/对象清理的代码对象清理的代码32/41定位异常类型定位异常类型在在C#中如何准确中如何准确的的确定确定异常的类型?

异常的类型?

try/引发引发IO异常异常/引发数据库操作异常引发数据库操作异常/引发其它异常引发其它异常catch(Exceptionex)/异常处理异常处理try/引发引发IO异常异常/引发数据库操作异常引发数据库操作异常/引发其它异常引发其它异常catch(IOExceptionex)/处理处理IO异常异常catch(SqlExceptionex)/处理处理SQL异常异常catch(Exceptionex)/处理处理其它其它异常异常多路捕获多路捕获问题问题问题问题33/41多路捕获异常处理多路捕获异常处理多路捕获异常处理多路捕获异常处理的的代码代码结构结构try/可能引发可能引发异常的代码异常的代码catch(异常类型异常类型1ex)/处理处理异常类型异常类型1catch(异常类型异常类型Nex)/处理处理异常类型异常类型Ncatch(Exceptionex)/处理处理其它其它异常异常注意:

子类异常在前,注意:

子类异常在前,基类异常在后基类异常在后演示示例演示示例3:

多路捕获异常处理:

多路捕获异常处理语法语法语法语法34/41抛出异常抛出异常使用使用throw抛抛出异常出异常/方式一方式一try/可能引发异常的代码可能引发异常的代码catch(SqlExceptionex)throwex;catch(Exceptionex)throwex;/方式二方式二try/可能引发异常的代码可能引发异常的代码catch(SqlExceptionex)throw;catch(Exceptionex)throw;演示示例:

使用演示示例:

使用throw重新抛出异常重新抛出异常结论:

使用方式二可以更精确的定位异常发生的位置结论:

使用方式二可以更精确的定位异常发生的位置35/41学员操作学员操作登录功能的异常处理登录功能的异常处理2-1训练要点训练要点使用使用throw语句抛出异常语句抛出异常异常的多路捕获异常的多路捕获需求说明需求说明实现登录功能数据访问层和表实现登录功能数据访问层和表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1