Coad和Yourdon面向对象的设计过程

Coad与Yourdon在设计阶段继续采用面向对象分析阶段中提到的五个层次(对象和类、结构、属性、服务和主题),这有助于从分析到设计的过渡。按照Coad与Yourdon面向对象设计方法,在设计阶段中利用这五个层次,建立系统的四个组成部分:问题论域、用户界面、任务管理和数据管理。

问题论域部分的设计

问题论域部分包括我们所面对的应用问题直接相关的所有类和对象,这一工作实际上在面向对象的分析阶段已经开始,这时需要对它进行进一步的细化。

在面向对象的分析阶段,得到了与应用有关的概念模型,在面向对象的设计阶段,我们对分析得到的结果进行改进和增补。主要根据需求的变化,对面向对象的分析阶段产生的模型中的类和对象、结构、属性、操作进行组合和分解,根据面向对象的设计原则,增加必要的类、属性和关系。

问题论域部分的设计包括:

(1).复用设计

(2).把问题论域相关的灰关联起来。

(3).加入一般化的类以建立类间协议。

(4).调整继承支持级别。

(5).改进性能;

(6).加入较低层的构件。

用户界面部分的设计

通常在面向对象的分析阶段给出了所需的属性和操作,在面向对象的设计阶段必须根据需求把交互的细节加入到用户界面的设计中,包括有效的人机交互所必须的实际显示和输入。

用户界面部分的设计主要由以下几个方面组成:

(1).用户分类;

(2).描述人及其任务的脚本;

(3).设计命令层;

(4).设计详细的交互;

(5).继续扩展用户界面原型;

(6).设计人机交互类(HIC);

(7).根据图形用户界面进行设计。

任务管理部分的设计

所谓任务,是进程的别称,是执行一系列活动的一段程序。当系统中有许多并发行为时,需要依照各个行为的协调和通信关系,划分各种作为。以达到简化并发行为的设计和编码的目的。

任务管理主要包括任务的选择和调整,它的工作包括:

(1).识别事件驱动任务;

(2).识别时钟驱动任务;

(3).识别优先任务和关键任务;

(4).识别任务之间的协调者;

(5).对各个任务进行评审,保证它能够满足选择任务的过程标准;

(6).定义各个任务,说明它是什么任务、任务之间如何协调工作、如何通信。

数据管理部分的设计

数据管理部分提供了在数据管理系统中存储和检索对象的基本结构,包括对永久性数据的访问和管理。

数据管理的方法主要有三种:文件管理、关系数据库管理以及面向对象的数据库管理。

数据管理部分的设计包括:

(1).数据存放设计。数据存放设计选择数据存放的方式:文件存放、关系数据库表格存放,或者是面向对象的数据库存放。

(2).设计相应的操作。为每个需要存储的对象和类增加用于存储管理的属性和操作,在类和对象的定义中加以描述。

时间: 2025-01-01 19:15:59

Coad和Yourdon面向对象的设计过程的相关文章

Coad和Yourdon面向对象的分析过程

Coad和Yourdon的方法是建立在信息模型化技术.面向对象的程序设计和知识库系统的基础之上的,方法分为面向对象的分析(OOA)和面向对象的设计(OOD).我们在这里先讨论Coad和Yourdon面向对象的分析,在下一节中再讨论面向对象的设计. Coad和Yourdon认为面向对象的分析主要应该考虑:一个与特定应用有关的对象,对象与对象在结构和相互作用上的关系.在面向对象的分析中,需要建立分析模型来描述系统的功能. OOA的任务 面向对象的分析需要完成两个任务: ●形式的说明所面对的应用问题,

面向对象的设计

从面向对象的分析到面向对象的设计是一个逐步扩充模型的过程.面向对象的分析时以实际问题为中心,可以不包括任何与特定计算机有关的问题,主要考虑"做什么"的问题:面向对象的设计则是面向计算机的实地开发活动,考虑"怎么做"的问题. 9.4.1 面向对象的高层设计和底层设计 9.4.2 Coad和Yourdon面向对象的设计过程

面向对象的软件分析设计过程备忘

面向对象的软件分析设计过程备忘 一.业务分析与需求收集 1.重点梳理主业务流程,逐步完善分支流程.整理和发现业务流程中的涉众以及他们的业务目标和系统目标,显式目标以及隐式目标: 2.整理涉众们在系统中所承担的角色以及各自的职责: 3.在流程的运转过程中,发现和查找业务实体.他们之间的关系以及关键实体的生命周期(由谁在什么场景下创建.中间状态的变化以致最后的消亡): 4.在流程的运转过程中,有哪些业务规则以及各种隐式的规则: 5.不断的提问和验证流程的正确性和完整性(即使是边界以外的流程也不要放过

《面向对象的思考过程(原书第4版)》一2.2 使用抽象思维设计接口

本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第2章,第2.2节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问"华章计算机"公众号查看. 2.2 使用抽象思维设计接口 面向对象编程的主要优势之一是可以重用类.通常可以重用的类比具体的类的接口更加抽象.具体的接口可以是非常明确的,而抽象接口则更通用.简单来说,高层次的抽象接口比高度具体的接口更有用,大部分情况下如此,当然并非适用于所有情况.完全可以编写一个非常有用

PHP中的面向对象和面向过程

对象|过程 简介"真正的天才具有正确评价不确定的,有风险的和矛盾的信息的能力.--邱吉尔" 使用许多编程语言时,你通常只能使用面向对象或面向过程二者之一的编程方式.而在PHP中,你可以自由选择或混用.目前绝大多数PHP程序员使用面向过程的方式,因为解析WEB页面本身就非常"过程化"(从一个标签到另一个标签).在HTML中嵌入过程处理代码是很直接自然的作法,所以PHP程序员通常使用这种方式. 如果你是刚接触PHP,用面向过程的风格来书写代码很可能是你唯一的选择.但是如

面向对象的设计与实现的一些基础但重要的概念

对象|概念|设计      在面向对象的设计和实现里,我们必须花时间和精力搞清楚这些概念:抽象,封装,继承和多态,以 及面向对象的设计原则,否则就不会真正理解面向对象的灵魂,也不会感受到面向对象设计思想给我们 带来的好处.   在学习几年oo和几次实践后,我决心对这些最基本的东西进行一次总结.并以这几个问题作为分析的 实例.   1.接口与类的区别     2.为什么要优先考虑合成聚合复用   3.多态会给我们带来那些方便   4.几个设计原则的关系是什么   5.设计模式有用吗?它是什么?怎样

Anders Hejlsberg 谈C#设计过程

过程|设计 一 1.C#设计过程 ? Bruce Eckel:我听说C#是一个工程师小组在一个屋子里设计出来的? Anders Hejlsberg:是的.4年来,我们一直呆在这个屋子里.现在,每周一.三.五,我们仍然在这里会面. Bruce Eckel:我很想了解一些关于C#设计过程的情况.我直接或间接参与过几种语言的设计工作,如Python.在Python设计过程中,Guido van Rossum被我们戏称为"仁慈的独裁者". Anders Hejlsberg:哦,Guido va

应用OOP的设计过程演化(三)

在上一篇文章里(应用OOP的设计过程演化(二))完善了整个系统的体系结构,以及完成了各个具体的 功能角色的功能,这也只能算是完成了一个结构而已,要真正做到完善还差得很远.比如在计算租金这个 算法上,使用switch语句,判断图书的类型来决定该书的折扣,之前我为了演示在switch语句中固定了折 扣的算法策略,如下代码示意代码: 1/**//// <summary> 2/// 计算租金 3/// </summary> 4/// <returns></returns&

面向对象的设计思想

博主之间是做 Linux  C++ 软件开发的,深刻地领悟到了面向对象的设计思想.但新的工作岗位是做嵌入式开发的,用的是C语言,突然有一点不太习惯. C语言是一种面向过程的语言,它本身不像C++具备面向对象的功能,但是这不等于说C就不能写出面向对象的软件. 博主看过许多比较出名的开源软件,如:dbus, avahi, cunit,虽然它们都是用C语言来实现的,但它们都融入了面向对象的设计思想,到处都是面对象的影子. dbus 中的 DBusString 对象就类似于 C++中的 std::str