- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程静态设计
图书管理系统——第8次课;图书管理系统的静态结构设计(体系结构与模式)。
;工作任务:图书管理系统的静态结构设计;面向对象设计(OOD)
设计原则
MVC设计模式
DAO模式
类图建模技术——系统类图;静态结构设计
类设计
包设计
接口设计
动态结构设计(行为和交互建模)
对象如何进行交互的;还记得“春晓”吧?;“开-闭”原则
里氏代换原则
合成复用原则
接口隔离原则
依赖倒转原则
迪米特法则 ;;先看一下图书管理系统的登陆;;将用户名和密码的验证,放在登录界面的“进入系统”按钮中进行。;问题1:扩展性差。目前这个系统只有一个图书馆工作人员使用,因此用户名和密码都是admin,这样验证可行,但是如果以后维护期间,需要增加工作人员或者增加学生、教师等使用角色,系统的扩展性就受到了限制。
问题2:重用性不好。并且不同的角色需要写入不同的验证过程,不能重用。
问题3:界面人员还要考虑算法和逻辑。使界面变得不单一。
如何解决?;新增加一个类UserLoginProcess,该类中有一个方法public boolean login_check(String uname,String upsw),此方法用来进行验证,如果验证通过则返回true给登录界面,否则返回false。
;;1.良好的封装,将界面和验证逻辑分开,系统结构更清晰。界面人员不用管验证的细节,只需要判断返回值是true还是false即可作出相应的显示操作。
2. UserLoginProcess类还可以提供其他验证操作,包括链接数据库的操作,为系统扩展性提供了接口。
3. UserLoginProcess类中的验证过程可以被重用,即使你再增加若干个不同角色的登录界面,一样可以使用这个类的方法来进行验证,重用性提高。;MVC是Model,View,Controller的缩写。
MVC是Application开发的设计模式,也就是大家所知道的Model2.在MVC的设计模式中,它包括三类对象:
(1)模型(Model)对象:是应用程序的主体部分。(2)视图(View)对象:是应用程序中负责生成用户界面的部分。
(3)控制器(Control)对象:是根据用户的输入,
控制用户界面数据显示及更新Model对象状态的部分。即要求在Application开发中你把商业逻辑,界面显示,数据分离。 ;MVC结构图;图书馆系统的MVC结构;MVC让图书馆系统的结构变得清晰起来。但与此同时,我们发现,在图书管理系统的用例中, 有很多都是需要通过访问数据库来进行实现的。如果用户不使用原有的数据库了,使用新的数据库时,程序代码要改动的地方就太多了。怎么办?有没有什么好的设计模式可以让数据库访问变的可重用,可维护,可扩展呢?;知识要点4:DAO设计模式;DAO模式;DAO模式;1. 封装Data Source(数据源)
例如:Connection conn = DriverMananger.getConnection()就可以把Driver,URL,username,passpword这一些放在DAO中。如果在维护中,需要更改数据库的类型,例如把MSSQL换成Oracle的话,只需要更改DAO里面的getConnection()里面的Driver,URL即可。
2. 封装对数据库的操作(例如最基本的增、删、改、查操作)
例如:要插入一个新的用户,那么在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了。具体的操作是在DAO中实现的。
在业务逻辑程序中调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户,而不需要知道是如何实现的。 ;包设计
;com.lms.ui包中存放界面类;;com.lms.dao包中存放数据访问包;com.lms.dao.base包
;com.lms.dao.datasource包
;此类映射图书表;此类映射借阅信息表;此类映射学生表;此类映射借阅视图;com.lms.dao.factory包
;类的设计相对比较复杂,对大家的要求是要能看懂设计图,理解设计原则。
在进行编码时,能够按照所给的类图实现编码。
;;6.3.1 包的名字;6.3.2 包拥有的元素;6.3.3 包的可见性 ;6.3.4 引入与输出 ;6.3.5 包中的泛化关系;当为较复杂的系统建模时,使用包是非常有效的建模方法。包将建模元素按语义分组,从而使得复杂的系统模型能够被构造、表达、理解和管理。
建立包图的具体做法如下。
(1)分析系统模型元素(通常是对象类),把概念上或语义上相近的模型元素纳入一个包。
(2)对于每一个包,标出其模型元素的可视性(公共、保护或私用)。
(3)确定包与包之间的依赖关系,特别是输入依赖
您可能关注的文档
- 跨越式试验项目研究报告(参考何老师).ppt
- 足球机器人培训之.ppt
- 跨部门沟通与协作(讲师版).ppt
- 路由器线路备份方案.ppt
- 路由器原理及案例.ppt
- 路由器的安装与基本配置.ppt
- 路爱玲地球公转的地理意义.ppt
- 足球协会社团文化PK赛.ppt
- 身份证阅读器问题解决方法.ppt
- 踏实严谨拼搏青春——1200十期定岗述职报告.pptx
- 每日经济新闻:未成年人游戏防沉迷现状调研报告(2024).pdf
- BC04中部空气系统1安装高铁培训教材.ppt
- 05SDX007 建筑电气实践教学及见习工程师图.pdf
- AI论文资料包文件18 Efficient Scale-Invariant Generator with Column-Row Entangled Pixel Synthesis.pdf
- 领英:2024年中企汽车出海热门区域:业务拓展人才趋势洞察报告.pdf
- 飞未:2024年上半年面部护肤新品消费趋势洞察.pdf
- 58安居客房产研究院-2023年7月重点10城租赁市场监测报告-16页-WN8.pdf
- 疫情之下的春节出行和节后返工研究-极光-202004.pdf
- 辽宁数字档案馆安全风险细则.doc
- 小石潭记课件.ppt
文档评论(0)