没有合适的资源?快使用搜索试试~ 我知道了~
首页实战案例:UML驱动的Java图书馆应用设计
"本文探讨了如何使用统一建模语言(UML)设计Java应用程序,以图书馆借阅和预定系统为例。这个实际应用场景有助于展示UML在解决复杂问题中的实用性。在文章中,作者首先介绍了需求分析阶段,通常由系统用户或其代表制定文本形式的需求规格说明书,详细列出了图书馆系统的主要功能,如图书借阅、管理员职责、预定流程等。 在分析模型部分,用例图和领域分析被用来描述应用程序的功能和业务逻辑。这一步骤旨在捕捉并明确所有系统需求,以便开发者和利益相关者之间达成共识。在这个阶段,重点不在于编写代码,而是理解用户需求和系统设计的初步框架。 接着,文章进入了设计模型阶段,即详细设计阶段,这里描述了技术解决方案的细节,比如可能使用的数据结构、类和对象关系,以及如何通过Java编程语言实现这些功能。设计模型还可能涉及到接口、组件和系统架构的设计。 为了方便读者验证和学习,作者提供了包含完整分析和设计模型的Java代码,以及以Rational Rose可识别的格式在网上公开。值得注意的是,作者强调这是个可行的解决方案,可能存在其他可能的解决方案,每个项目都没有绝对的最佳方案,关键在于通过不断实践和努力提升技能。 在系统开发过程中,第一版可能并不包含所有高级功能,例如图书到达通知和借书过期检查,这些可以在后续版本中逐步添加。整个过程强调了分析与设计的迭代性和灵活性,以及团队合作的重要性,特别是开发者与需求分析师之间的密切沟通。 总结起来,本文提供了一个实用的UML在Java应用程序设计中的应用示例,展示了从需求分析到设计实施的完整流程,以及其中的关键技术和方法论。"
资源详情
资源推荐
图3:Lend item场景的顺序图。场景是从头到尾实现一个用例的一次特定的过程。场景总是始于角色,而角色是属于系统外部
的。场景描绘了从所有角色的观点出发,完成一次系统动作的完整过程。UML在用顺序图来图示场景。本用例图显示了在借
阅者没有预定图书的情况下的Lend用例。横在图的顶部的是参与交互的对象。自上而下表示时间的流逝。首先,图书管理员
尝试去查找标题。标有“Lending Window”的是用户界面,在分析阶段作为一个粗略的对象。横在顺序图中的每一个箭头都是一
次方法的调用,箭头的首端是调用的对象,箭头的末端是被调用的对象。
3.设计(Design)
设计阶段对分析模型进行扩展并将模型进一步细化,并考虑技术细节和限制条件。设计的目的是指定一个可行的解决方案,以
便能很容易地转变成为编程代码。
设计可以分成两个阶段:
体系结构设计阶段(Architecture Design)。这是一个从较高层次的进行的设计,用来定义包(子系统),描述包之间的依赖
性及通信机制。很自然,目的是要设计一个清晰简单的体系结构,有很少的依赖性,而且尽可能避免双向依赖。详细设计阶段
(Detailed Design)。在此阶段,所有的类都详尽地进行描述,给编写代码的程序员一个清晰的规范说明。UML中的动态模
型用来说明类的对象如何在特定的情况下做出相应的表现。
3.1体系结构设计
一个良好的体系结构设计是一个可扩展的和可改变的系统的基础。包可能关注特定的功能领域或关注特定的技术领域。把应用
程序逻辑(域类)和技术逻辑分开是至关重要的,这样不管哪一部分的改变都不会影响其他的部分。
本案例的包或叫子系统如下:
User-Interface Package包。该包中的类基于Java AWT包,java AWT是一个用来书写用户界面应用程序的Java的标准库。该
包和Business-objects Package包协作。Business-objects Package包包含那些实际存储数据的类。UI包调用Business 对象的
操作,对他们进行取出或插入数据操作。
Business-object Package。该包包括域类,这些域类(如borrowerinformation,title,item,loan等)来自于分析模型。设计
阶段完整地定义了这些类的操作,并增加了一些其他细节来支持持续存储。Business-object包与Database Package进行协
作。所有的Business-object类必须继承Database Package中的persistent类。
Database Package。Database Package向Business-object包中的类提供服务,以便他们能够持续地存储。在当前版本
中,persistent类将把它的子类的对象存储到文件系统的文件中。
Utility Package。Utility Package包含了一些服务,用来被系统中其他包调用。当前,ObjId类是该包中的唯一的类。用来被整
个系统包括User-Interface,Business-Object和Database package使用。
这些包的内部设计如图4所示.
剩余15页未读,继续阅读
weixin_38680340
- 粉丝: 4
- 资源: 979
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功