深入.net平台软件系统分层开发_第1页
深入.net平台软件系统分层开发_第2页
深入.net平台软件系统分层开发_第3页
深入.net平台软件系统分层开发_第4页
深入.net平台软件系统分层开发_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

项目案例:酒店管理系统第十章训练的技能点搭建三层架构系统实体类的使用在中使用存储过程.NET中Excel的导入导出DataGridView数据的筛选异常处理任务描述系统概述实现酒店房间入住登记和退房实现酒店房间基础信息维护房间类型房间维护实现房间状态查看系统角色管理员演示示例:酒店管理系统问题分析1:整体开发思路

系统开发步骤明确需求设计数据库设计技术框架三层架构编码实现测试问题分析2:业务需求3-1房间入住登记功能提供顾客信息:姓名和身份证号

客人要选择合适的房间

入住要登记时间,交付押金系统记录信息问题分析2:业务需求3-2基础信息维护功能房间房间编号房间类型……房间类型退房功能入住信息查询记录房款将订房状态改为结账状态

问题分析2:业务需求3-3房间状态查看功能直观的查看酒店的所有房间信息房间名称(编号)房间类型描述入住状态(入住或空置)床位……问题分析3:数据库设计需要的数据库表房间类型名称、价格/天房间房号、房间类型、房间状态(入住/空置)、描述、床位个数、入住客人数量入住登记客人姓名、身份证号、房号、入住日期、押金、房款房间状态入住状态

问题分析4:技术框架设计技术框架中需要考虑的问题如何分层,每层的职责采用哪些技术如何报错(处理异常)命名规范难点分析1:理解业务从登记房间到退房是一个什么样的流程?入住的订金如何确定?退房时需要支付的房款如何计算?房间类型、房间和入住信息需要删除么?难点分析2:使用三层架构开发分层编码,牢记步骤步步为营:Codealittle,debugalittle熟能生巧善于总结并分享经验记录常见错误互相分享开发计划创建数据库[25分钟]用例1:搭建系统框架和主窗体[25分钟]用例2:创建实体类[30分钟]用例3:房间类型维护的数据访问层[35分钟]用例4:房间类型维护的业务逻辑层[15分钟]用例5:查询和删除房间类型[30分钟]用例6:修改和添加房间类型[30分钟]用例7:实现入住登记窗体[30分钟]用例8:实现入住登记数据提交[20分钟]……搭建数据库建库建表建约束添加数据搭建数据库完成时间:25分钟用例1:搭建系统框架和主窗体3-1需求说明搭建系统框架:创建分层项目建立项目之间的依赖搭建主窗体:创建主窗体菜单完成时间:25分钟用例1:搭建系统框架和主窗体3-2功能测试检查点项目为三层架构包含实体层项目各项目间的依赖关系主菜单正确显示菜单项互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:系统框架和主窗体用例1:搭建系统框架和主窗体3-3用例2:创建实体类3-1需求说明创建实体类难点提示数据表和实体类一一对应完成时间:30分钟用例2:创建实体类3-2功能测试检查点实体类的构造函数实体类的字段和属性定义实体类之间的关系互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:实体类项目用例2:创建实体类3-3共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解用例3:房间类型的数据访问层3-1需求说明实现房间类型维护的数据访问层代码获取全部的房间类型根据房间类型关键字查询房间类型根据房间类型ID删除房间类型添加和修改房间类型难点提示使用泛型集合保存多条房间类型数据完成时间:35分钟用例3:房间类型的数据访问层3-2功能测试检查点正确实现各个数据访问层方法互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:数据访问层代码用例3:房间类型的数据访问层3-3List<RoomType>roomTypeList=newList<RoomType>();stringsqlStr="SELECT*FROMRoomType";SqlDataReaderreader=SqlHelper.GetDataReader(sqlStr,CommandType.Text,null);while(reader.Read()){RoomTypermType=newRoomType();rmType.TypeID=Convert.ToInt32(reader["TypeID"]);//…roomTypeList.Add(rmType);}用例4:房间类型的业务逻辑层3-1需求说明实现房间类型维护的业务逻辑层代码获取全部的房间类型根据房间类型关键字查询房间类型根据房间类型ID删除房间类型添加或修改房间类型完成时间:15分钟用例4:房间类型的业务逻辑层3-2功能测试检查点正确实现各个业务逻辑层方法调用数据访问层方法正确互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:业务逻辑层代码用例4:房间类型的业务逻辑层3-3publicstaticIList<RoomType>GetAllRoomTypeList(){returnRoomTypeService.GetAllRoomTypeList();}publicstaticintDeleteRoomTypeByID(introomID){returnRoomTypeService.DeleteRoomTypeByID(roomID);}//…共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解用例5:查询和删除房间类型3-1需求说明查询和删除房间类型创建房间类型管理窗体按类型名称查询功能删除房间类型功能完成时间:30分钟用例5:查询和删除房间类型3-2功能测试检查点窗体界面整齐和美观按类型名称搜索到对应的房间类型不输入类型名称,搜索到所有房间类型选择一条房间类型,可以删除互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:查询和删除房间类型用例5:查询和删除房间类型3-3stringqueryCondition=this.txtTypeName.Text;IList<RoomType>rmTypes=null;if(string.IsNullOrEmpty(queryCondition)){rmTypes=RoomTypeManager.GetAllRoomTypeList();}else{rmTypes=RoomTypeManager.GetRoomTypeListByType(queryCondition);}this.dgvRoomType.DataSource=rmTypes;用例6:修改和添加房间类型3-1需求说明修改和添加房间类型实现房间类型编辑界面修改房间类型功能添加房间类型功能完成时间:30分钟用例6:修改和添加房间类型3-2功能测试检查点窗体界面整齐和美观正确修改房间类型正确添加房间类型互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:修改和添加房间类型用例6:修改和添加房间类型3-3this.Check();//输入验证RoomTypermType=newRoomType();rmType.TypeName=this.txtroomType.Text.Trim();rmType.TypePrice=decimal.Parse(this.txtroomPrice.Text.Trim());if(this.operationState=="Add"){RoomTypeManager.AddRoomType(rmType);}else{rmType.TypeID=Convert.ToInt32(this.dgvRoomType.CurrentRow.Cells["ID"].Value);RoomTypeManager.UpdateRoomType(rmType);}this.BindRoomTypes();//重新绑定GridView共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解用例7:实现入住登记窗体3-1需求说明入住登记窗体可录入身份证号、姓名、押金、房间和入住时间入住时间可使用日历输入下拉方式选择空闲房间难点提示根据床位数和入住人数判断是有空余床位完成时间:30分钟用例7:实现入住登记窗体3-2功能测试检查点窗体界面整齐和美观输入控件正确空闲房间显示正确互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示用例7:实现入住登记窗体3-3publicstaticIList<Room>GetLeisureRoom(){List<Room>Rooms=newList<Room>();stringsqlStr=@"SELECTRoomID,Convert(varchar(2),RoomID)

+'号房(床位:'+Convert(varchar(2),(BedNum-GuestNum))"+"+')'"+"asdescriptionFROMRoomWHEREBedNum>GuestNum";SqlDataReaderdr=SqlHelper.GetDataReader(

sqlStr,

CommandType.Text,null);//...}用例8:实现入住登记数据提交3-1需求说明提交入住登记数据完成时间:20分钟用例8:实现入住登记数据提交3-2功能测试检查点正确提交数据有数据验证提交数据成功有提示互相测试完成的程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测通过,才认为用例开发完成单元测试参考代码或结果演示演示示例:入住登记窗体用例8:实现入住登记数据提交3-3this.CheckInput();

//验证输入GuestRecordgr=newGuestRecord();gr.GuestName=this.txtGuestName.Text.Trim();//...try{introwcount=GuestRecordManager.InsertGuest(gr);//…}catch(Exceptionex){MessageBox.Show("添加失败!"+ex.Message);}共性问题集中讲解常见调试问题及解决办法代码规范问题共性问题集中讲解集成测试完成时间:15分钟系统集成后,重新测试系统所有程序功能测试出的缺陷记录在“常见问题列表中”修正缺陷后返测,并更新“常

温馨提示

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

评论

0/150

提交评论