版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、项目案例:宠物商店第十一章训练的技能点训练的技能点面向对象程序设计的思想面向对象程序设计的思想使用类图设计系统使用类图设计系统使用使用Java集合存储和传输数据集合存储和传输数据Java异常处理异常处理使用使用JDBC操作数据库操作数据库使用使用SQL Server存储存储数据数据DAO层的应用层的应用2/39任务描述任务描述系统概述系统概述在宠物商店里,宠物主人可以出卖、购买宠物在宠物商店里,宠物主人可以出卖、购买宠物每一笔买入、卖出的业务,店家都会记录在账每一笔买入、卖出的业务,店家都会记录在账商店可以根据需求自己培育宠物品种商店可以根据需求自己培育宠物品种系统角色系统角色宠物、主人、宠物
2、商店、账目宠物、主人、宠物商店、账目提交结果提交结果创建数据库表的脚本文件、系统类图、程序代码创建数据库表的脚本文件、系统类图、程序代码演示案例:宠物商店演示案例:宠物商店3/39问题分析问题分析1:整体开发思路:整体开发思路系统开发步骤系统开发步骤明确需求明确需求设计数据库设计数据库设计技术框架设计技术框架Java技术技术数据访问层数据访问层编码顺序编码顺序测试测试系统启动系统启动登录功能登录功能宠物主人宠物主人操作操作宠物商店宠物商店操作操作12344/39问题分析问题分析2:界面交互设计:界面交互设计界面交互设计的原则界面交互设计的原则统一性原则统一性原则界面风格统一界面风格统一 用相同
3、方式展现相同类型的数据,如:日期类型用相同方式展现相同类型的数据,如:日期类型交互风格统一交互风格统一 用相同方式完成相同类型的操作,如:录入日期用相同方式完成相同类型的操作,如:录入日期美观性原则美观性原则界面美观大方界面美观大方易用性原则易用性原则操作方式自然、易理解操作方式自然、易理解5/39难点分析难点分析1:设计数据库表结构设计数据库表结构 根据业务确定表的名称根据业务确定表的名称根据根据业务确定表的具体字段业务确定表的具体字段如何区分一个宠物是否被卖出如何区分一个宠物是否被卖出如何区分一个宠物是库存还是新培育的如何区分一个宠物是库存还是新培育的如何定义一个宠物的所属商店如何定义一个
4、宠物的所属商店如何确定一个宠物是属于哪个主人的如何确定一个宠物是属于哪个主人的注意注意主键和外键的设计,建立表之间关联关主键和外键的设计,建立表之间关联关系系6/39难点分析难点分析2:使用类图设计系统使用类图设计系统采用采用DAO模式设计和开发本项目案例模式设计和开发本项目案例 设计设计步骤步骤第一步:根据数据库表创建实体类第一步:根据数据库表创建实体类第二步:创建第二步:创建DAO接口和实现类接口和实现类第三步:创建业务接口和实现类第三步:创建业务接口和实现类第四步:优化业务接口设计第四步:优化业务接口设计第五步:根据分析结果,给出伪代码,完成设计第五步:根据分析结果,给出伪代码,完成设计
5、7/39项目准备:设计并创建数据库表项目准备:设计并创建数据库表2-1数据库表数据库表宠物表宠物表pet宠物主人表宠物主人表petowner 宠物商店表宠物商店表petstore 账目表账目表account具体具体字段根据业务进行字段根据业务进行确定确定注意注意主键和外键的设计,建立表之间关联关主键和外键的设计,建立表之间关联关系系8/39字段名字段名字段类型字段类型长度长度备注备注IDint宠物宠物idNAMEnchar50宠物名宠物名TYPENAMEnchar20宠物类型宠物类型HEALTHint是否健康是否健康LOVEint爱心指数爱心指数BIRTHDAYdate出生日期出生日期OWNE
6、R_IDint宠物主人宠物主人idSTORE_IDint宠物所属宠物所属商店商店id项目准备:设计并创建数据库表项目准备:设计并创建数据库表2-2字段名字段名字段类型字段类型长度长度备注备注IDint宠物主人宠物主人idNAMEnchar10宠物主人名宠物主人名PASSWORDnchar10宠物主人密宠物主人密码码MONEYint宠物主人元宠物主人元宝宝字段名字段名字段类型字段类型长度长度备注备注IDint宠物商店宠物商店idNAMEnchar20宠物商店名字宠物商店名字PASSWORDnchar20宠物商店密码宠物商店密码BALANCEint宠物商店结余宠物商店结余字段名字段名字段类型字段类
7、型长度长度备注备注IDint账单账单idDEAL_TYPEint交易类型,交易类型,1:商店卖给宠物主人:商店卖给宠物主人 2:宠物主人卖给商店:宠物主人卖给商店 PET_IDint宠物宠物idSELLER_IDint买家买家idBUYER_IDint卖家卖家idPRICEint交易价格交易价格DEAL_TIMEdate交易时间交易时间宠物表宠物表宠物主人表宠物主人表宠物商店表宠物商店表账目表账目表9/39项目准备:项目准备:完成接口设计完成接口设计5-1第一步:根据数据库表创建实体类第一步:根据数据库表创建实体类实体类一般和数据库表对应,实体类的属性对应实体类一般和数据库表对应,实体类的属性
8、对应于表的字段于表的字段为四个数据库表分别创建实体类,实现数据库数为四个数据库表分别创建实体类,实现数据库数据在各个层次的传输据在各个层次的传输四个实体类的名称可以定义为四个实体类的名称可以定义为Pet、PetOwner、PetStore、Account10/39项目准备:项目准备:完成接口设计完成接口设计5-2第二步:创建第二步:创建DAO接口和实现类接口和实现类采用面向接口编程的思想设计数据访问层,定义采用面向接口编程的思想设计数据访问层,定义DAO接口和实现类接口和实现类为四个数据库表分别创建为四个数据库表分别创建DAO接口和实现类接口和实现类为了重用建立和关闭数据库的代码,创建为了重用
9、建立和关闭数据库的代码,创建BaseDao作为四个实现类的父类作为四个实现类的父类11/39项目准备:项目准备:完成接口设计完成接口设计5-3第三步:创建业务接口和实现类第三步:创建业务接口和实现类从业务角度考虑,主要是宠物主人和宠物商店业从业务角度考虑,主要是宠物主人和宠物商店业务务创建宠物主人和宠物商店业务接口及实现类创建宠物主人和宠物商店业务接口及实现类在业务实现类中调用在业务实现类中调用DAO接口实现相应业务接口实现相应业务12/39项目准备:项目准备:完成接口设计完成接口设计5-4第四步:优化业务接口设计第四步:优化业务接口设计按照按照“单一职能原则单一职能原则” 对业务接口定义进行
10、优化对业务接口定义进行优化抽取出抽取出Buyable、Sellable、Breedable、Accountable等接口等接口PetOwnerService、PetStoreService接口根据自接口根据自身功能继承其中的一个或多个接口身功能继承其中的一个或多个接口13/39项目准备:项目准备:完成接口设计完成接口设计5-5第五步:根据分析结果给出伪代码,完成设计第五步:根据分析结果给出伪代码,完成设计给出实体类伪代码给出实体类伪代码给出给出DAO接口和实现类伪代码接口和实现类伪代码给出业务接口和实现类伪代码给出业务接口和实现类伪代码14/39开发计划开发计划 35分钟分钟用例用例1:系统启
11、动:系统启动 15分钟分钟用例用例2:宠物主人登录:宠物主人登录 35分钟分钟用例用例3:宠物主人购买库:宠物主人购买库存宠物存宠物 15分钟分钟用例用例4:宠物主人购买新:宠物主人购买新培育宠物培育宠物 30分钟分钟用例用例5:宠物主人卖出宠:宠物主人卖出宠物给商店物给商店 15/39用例用例1:系统启动:系统启动3-1需求说明需求说明在系统启动时,显示所有的宠物信息、宠物主人在系统启动时,显示所有的宠物信息、宠物主人信息、宠物商店信息信息、宠物商店信息系统启动后,提示选择登录模式系统启动后,提示选择登录模式 指导指导讲解需求说明讲解需求说明16/39用例用例1:系统启动:系统启动3-2DA
12、O代码代码PetDao:getAllPet() 查询所有宠物信息查询所有宠物信息PetOwnerDao:getAllOwner() 查询所有宠物主人信息查询所有宠物主人信息PetStoreDao:getAllStore() 查询所有宠物商店信息查询所有宠物商店信息测试类测试类startPetShop():获取相关信息并输出:获取相关信息并输出,提示选择登录模式提示选择登录模式 main():调用:调用startPetShop(),启动程序,启动程序使用使用JDBC访问访问SQL Server数据库数据库获取相关信息并遍历输出获取相关信息并遍历输出完成时间完成时间:35分钟分钟提示提示分析分析1
13、7/39共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧18/39用例用例1:系统启动:系统启动3-3正确显示所有宠物信息正确显示所有宠物信息正确显示所有主人和商店信息正确显示所有主人和商店信息提示选择登录模式提示选择登录模式要求要求互相验证完成的程序功能互相验证完成的程序功能小组长检查本组完成情况小组长检查本组完成情况功能测试功能测试演示案例:系统启动演示案例:系统启动19/39用例用例2:宠物主人登录:宠物主人登录3-1需求说明需求说明输入用户名和密码,判断登录是否成功输入用户名和密码,判断登录是否成功如果成功,输出主人基本信息并
14、提示选择相应操如果成功,输出主人基本信息并提示选择相应操作作如果登录失败,提示确认用户名和密码后重新输如果登录失败,提示确认用户名和密码后重新输入入指导指导讲解需求说明讲解需求说明20/39用例用例2:宠物主人登录:宠物主人登录3-2DAO代码代码PetOwnerDao:selectOwner() 根据查询条件查根据查询条件查询宠物主人信息询宠物主人信息Service代码代码PetOwnerService:login() 宠物主人登录宠物主人登录测试类测试类ownerLogin() :宠物主人登录宠物主人登录startPetShop():如果选择主人登录,调用:如果选择主人登录,调用owner
15、Login() main():调用:调用startPetShop(),启动程序,启动程序完成时间完成时间:15分钟分钟分析分析21/39共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧22/39用例用例2:宠物主人登录:宠物主人登录3-3宠物主人登录成功宠物主人登录成功宠物主人登录失败宠物主人登录失败要求要求互相验证完成的程序功能互相验证完成的程序功能小组长检查本组完成情况小组长检查本组完成情况功能测试功能测试演示案例:宠物主人登录演示案例:宠物主人登录23/39用例用例3:宠物主人购买库存宠物:宠物主人购买库存宠物3-1 需求说明需
16、求说明主人成功登录后,可选择购买库存宠物主人成功登录后,可选择购买库存宠物显示所有库存宠物列表供主人选择显示所有库存宠物列表供主人选择输入宠物编号完成购买输入宠物编号完成购买购买成功将显示提示信息购买成功将显示提示信息 指导指导讲解需求说明讲解需求说明24/39用例用例3:宠物主人购买库存宠物:宠物主人购买库存宠物3-2DAO代码代码Service代码代码查询所有库存宠物查询所有库存宠物根据主人选择实现购买根据主人选择实现购买测试类测试类ownerBuy():宠物主人购买宠物:宠物主人购买宠物ownerLogin() :如果如果主人购买宠物,调用主人购买宠物,调用ownerBuy()根据主人选
17、择实现购买根据主人选择实现购买更新宠物信息:指定更新宠物信息:指定ownerid更新宠物主人信息:减少元宝数更新宠物主人信息:减少元宝数更新宠物商店信息:增加元宝数更新宠物商店信息:增加元宝数更新账目信息:添加新账目更新账目信息:添加新账目完成时间完成时间:35分钟分钟分析分析提示提示25/39共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧26/39用例用例3:宠物主人购买库存宠物:宠物主人购买库存宠物3-3显示所有库存宠物显示所有库存宠物根据主人选择实现购买根据主人选择实现购买要求要求互相验证完成的程序功能互相验证完成的程序功能小
18、组长检查本组完成情况小组长检查本组完成情况功能测试功能测试演示案例:宠物主人购买库存宠物演示案例:宠物主人购买库存宠物27/39用例用例4:宠物主人购买新培育:宠物主人购买新培育宠物宠物3-1 需求说明需求说明主人成功登录后,可选择购买新培育宠物主人成功登录后,可选择购买新培育宠物显示所有新培育宠物列表供主人选择显示所有新培育宠物列表供主人选择输入宠物编号完成购买输入宠物编号完成购买购买成功将显示提示信息购买成功将显示提示信息指导指导讲解需求说明讲解需求说明28/39用例用例4:宠物主人购买新培育:宠物主人购买新培育宠物宠物3-2 实现实现步骤与购买库存宠物相同步骤与购买库存宠物相同购买库存宠
19、物和新培育宠物属于两种不同的购买库存宠物和新培育宠物属于两种不同的业务,在业务接口和实现类中应该定义不同业务,在业务接口和实现类中应该定义不同的方法的方法重用数据访问层代码重用数据访问层代码完成时间完成时间:15分钟分钟分析分析29/39共性问题集中讲解共性问题集中讲解常见问题及解决办法常见问题及解决办法代码规范问题代码规范问题调试技巧调试技巧30/39用例用例4:宠物主人购买新培育宠物:宠物主人购买新培育宠物3-3显示所有新培育宠物显示所有新培育宠物根据主人选择实现购买根据主人选择实现购买要求要求互相验证完成的程序功能互相验证完成的程序功能小组长检查本组完成情况小组长检查本组完成情况功能测试功能测试演示案例:宠物主人购买新培育宠物演示案例:宠物主人购买新培育宠物31/39用例用例5:宠物主人卖出宠物给商店:宠物主人卖出宠物给商店3-1DAO代码代码Service代码代码获得指定获得指定ID的宠物主人的所有宠物信息的宠物主人的所有宠物信息宠物主人向宠物商店卖出自己宠物宠物主人向宠物商店卖出自己宠物测试类测试类ownerSell():宠物主人卖出宠物:宠物主人卖出宠物ownerLogin() :如果如果主人卖出宠物,调用主人卖出宠物,调用ownerSell()根据根据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合规审计与监督方案
- 2025年一刻钟菜站社区团购配送区域优化方案
- 碳减排技术引进项目分析方案
- 2025年人工智能投资资金来源策略分析方案
- 科技人工智能应用方案
- GB/T 43257.8-2026放射性物品运输容器安全试验方法第8部分:泄漏试验
- 线上活动策划方案餐饮(3篇)
- 桌面景观营销方案范文(3篇)
- 宝马售后保险营销方案(3篇)
- 公寓装修的营销方案(3篇)
- 2025年贵州省高考化学试卷真题(含答案及解析)
- 民生商品价格调控概览
- 2026年供电检修工长面试题集
- GB/T 46791-2025应急预案情景构建方法
- 剪刀式登高车专项施工方案
- 《辽宁省中药材标准》
- T-CRHA 079-2024 复用医疗器械预处理操作规程
- 小学语文汉字结构专项训练指导
- 高中高三物理放射性元素的衰变讲义
- 急产的处置课件
- 特种设备节能培训
评论
0/150
提交评论