试题详情
- 简答题使用面向对象设计方法进行高层设计,以建立系统的体系结构。这样的结构有哪几种主要的组成部分?每一部分所承担的职责是什么?
-
一个典型的高层设计是在Smalltalk中使用的MVC软件体系结构,即模型/视图/控制器(Model/View/Controller)。在这个结构中,模型是软件中的应用论域的各种对象,它们的操作独立于用户界面;视图则管理用户界面的输出;而控制器处理软件的输入。输入事件给出要发送给模型的消息。一旦模型改变了它的状态,就立即通过关联机制通知视图,让视图刷新显示。这个关联机制定义了在模型与各个视图之间的关系,它允许模型的运行独立于与它相关联的视图。类似地,控制器在输入事件发生时将对视图及模型进行控制与调度。
另一个典型的高层设计是Coad与Yourdon提出的OOD模型。这个模型也有5层结构,又被划分成了4个组成部分:问题论域、用户界面、任务管理和数据管理。
问题论域部分的职责是:组合所有的论域中定义的类,为应用设计适当的类层次,为适应语言要求简化继承层次,细化设计以改善性能,开发与数据管理部分的接口,做细化时加入低层对象,评审设计并审查对分析模型所做的增补。
人机交互部分的职责是:定义用户类型,开发任务场景,设计用户命令层次,建立原型以细化与用户交互,设计相关的类和类层次,适当时集成GUI类。
任务管理部分的职责是:标识任务的类型(如事件驱动,时钟驱动),建立优先级,标识协调者,为每个任务设计适当的类。
数据管理部分的职责是:设计数据结构和布局,设计管理数据结构所需的服务,标识可以协助实现数据管理的工具,设计适当的类和类层次。 关注下方微信公众号,在线模考后查看
热门试题
- 从下列叙述中选出5条符合程序设计风格指
- 请给出构件的一般性定义,然后给出传统的软
- 简述敏捷过程的适用范围。
- 实体―关系图用于()建模,它最初用于()
- 是否存在一种情况:复杂问题需要较少的工作
- 简述微软过程的适用范围。
- 将非结构化的程序转换为结构化程序的过程中
- 功能模型用来说明值是如何计算的,表明值之
- 从下列关于模块化程序设计的叙述中选出5
- 为什么说软件工程是一门综合性的交叉学科?
- 软件的完整性是度量一个系统抗拒对它的()
- 有助于培养良好的编程风格并且第一个体现了
- 软件设计是要把描述软件“做什么”的()转
- 试说明ISO为什么要建议停止使用程序流程
- 数据词典的作用是什么?它有哪些基本词条?
- 软件工程是一类求解软件的工程。它涉及计算
- 试说明Jackson方法是一种怎么样的程
- UNIX操作系统是()研制的,它是用程序
- 风险估计从两个方面估价风险。一是估计一个
- 交互设计不包括()