UML和模式应用3-案例研究

1.前言

案例研究所包含的内容:

  • UI元素
  • 核心应用逻辑层
  • 数据库访问
  • 与外部软硬构件的协作

本章关于OOA/D主要介绍核心应用逻辑层

2. 重点探讨核心应用逻辑层的OOA/D的原因

图 OOA/D层举例及重点关注层

  • 其它层对技术平台具有较大依赖性;
  • 核心应用逻辑层的OO设计对各种技术来说是类似的;
  • 应用逻辑层语境中学习到的基本OO设计技巧适用于所有其它层或构件
  • 其它层的设计方法和模式呈现出快速变化的趋势

3. 案例研究策略

  • 迭代开发

使用迭代策略,第一次迭代用于OOA/D核心功能,后续迭代迭代用于扩展这些功能

  • 迭代学习

迭代和循序渐进的方式介绍分析和设计、UML表示法和模式,第一次介绍核心的分析设计主题和表示法,第二次迭代展开介绍新理念、UML表示法和模式

4. 案例

4.1 案例一 POS系统

  • POS系统具有的特性

包括计算机、条码扫描仪等硬件,还包括系统运转的软件

为不同服务的应用程序提供接口

具有一定的容错性

提供灵活性和定制能力

  • 开发策略

使用迭代开发策略,依次完成需求、面向对象分析和设计

4.2 案例二 Monopoly游戏系统

为证明相同的OOA/D实践可以应用于完全不同的问题

时间: 2024-08-04 18:20:54

UML和模式应用3-案例研究的相关文章

UML和模式应用-1面向对象的分析与设计

1.本书的主要内容 UML和面向对象的思想 对应用了UML和模式的面向对象分析与设计(OOA/D)的介绍 重点阐述对象设计,也会讲述在OOA/D中如何使用UML OOD的原则和模式 职责驱动设计 模式,问题解决方案公式 案例研究 贯穿全书的案例研究 用例 讲述需求分析 迭代开发 迭代开发使用统一过程(UP)的敏捷方法作为示例迭代过程来讲述迭代开发 TODO

UML和模式应用:面向对象的分析与设计

1.1.什么是分析和设计 分析(analysis):强调的是对问题和需求的调查研究,而不是解决方案,即应该如何使用系统,系统应该具有哪些功能. 设计(design):强调的是满足需求的概念上的解决方案(在软件和硬件方面),而不是其实现.最终,分析可以实现,而实现则表达了真实和完整的设计. 分析和设计一词最好加以限制,如面向对象的设计.数据库设计. 有益的分析和设计可以概括为:做正确的事(分析)和正确地做事(设计). 1.2.什么是面向对象的分析和设计 在面向对象分析(OOA)过程中,强调的是在问

优化字符串的使用:案例研究

优化字符串的使用:案例研究 C++的std::string类模板是C++标准库中使用最广泛的特性之一.只要操作字符串的代码会被频繁地执行,那么就有优化的用武之地. 为什么字符串很麻烦 字符串在概念上很简单,但是想要实现高效的字符串却非常微妙.由于std::string中特性的特定组合的交互方式,使得实现高效的字符串几乎不可能. 字符串的某些行为会增加使用它们的开销,这一点与实现方式无关.字符串是动态分配的,它们在表达式中的行为与值相似,而且实现它们需要大量的复制操作. 字符串是动态分配的 字符串

C#简单工厂模式(文件案例)

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 读文件案例 { class Program { static void Main(string[] args) { Console.WriteLine("请输入文件名"); string fileName

JavaEE Tutorials (30) - Duke综合案例研究示例

30.1Duke综合应用的设计和架构456 30.1.1events工程458 30.1.2entities工程459 30.1.3dukes—payment工程461 30.1.4dukes—resources工程461 30.1.5Duke商店工程461 30.1.6Duke货运工程46530.2构建和部署Duke综合案例研究应用467 30.2.1使用NetBeans IDE构建和部署Duke综合应用467 30.2.2使用Maven构建和部署Duke综合应用46730.3运行Duke综合

机器学习入门系列02,Regression 回归:案例研究

为什么要先进行案例研究? 没有比较好的数学基础,直接接触深度学习会非常抽象,所以这里我们先通过一个预测 Pokemon Go 的 Combat Power (CP) 值的案例,打开深度学习的大门. Regression (回归) 应用举例(预测Pokemon Go 进化后的战斗力) 比如估计一只神奇宝贝进化后的 CP 值(战斗力). 下面是一只妙蛙种子,可以进化为妙蛙草,现在的CP值是14,我们想估计进化后的CP值是多少:进化需要糖果,好处就是如果它进化后CP值不满意,那就不用浪费糖果来进化它了

JavaEE Tutorials (28) - Duke书店案例研究示例

28.1Duke书店的设计和架构43828.2Duke书店接口439 28.2.1Book Java持久化API实体439 28.2.2Duke书店中使用的企业bean440 28.2.3Duke书店中使用的Facelets页面和托管bean440 28.2.4Duke书店中使用的定制组件和其他定制对象441 28.2.5Duke书店中使用的属性文件442 28.2.6Duke书店中使用的部署描述文件44328.3运行Duke书店案例研究应用443 28.3.1使用NetBeans IDE构建和

JavaEE Tutorials (29) - Duke辅导案例研究示例

29.1Duke辅导应用的设计和架构44529.2主界面447 29.2.1主界面中使用的Java持久化API实体447 29.2.2主界面中使用的企业bean448 29.2.3主界面中使用的WebSocket端点448 29.2.4主界面中使用的Facelets文件448 29.2.5主界面中使用的辅助类449 29.2.6属性文件449 29.2.7Duke辅导应用中使用的部署描述文件45029.3管理界面450 29.3.1管理界面中使用的企业bean450 29.3.2管理界面中使用的

槽填充中模式优化方法的研究

槽填充中模式优化方法的研究(硕士毕业论文) 沈晓卫 针对槽填充任务的实现方法 主要可以分为三种: 第一种是把槽填充任务转换为关系抽取任务,用传统的信息抽取方法来实现槽填充任务,按照具体实现方法的不同,信息抽取方法又可以分为模式匹配的方法和基于分类器的方法 第二种是以问答系统(Question  Answering,QA)为基础,通过把槽填充任务中定义的每一个槽解析为一个等价问题集合的方式来完成槽填充任务. 最后一种是基于规则的方法,即直接依靠人工的方法为每一个槽构建对应的模式库或规则库,然后以这