我阅读本书的第四章是需求规格说明,它阐明了体系结构在系统开发中的至关重要性,展现了UML的各个方面。书中还介绍了PCBMER体系结构。PCBMER表示-控制器-bean-中介者-实体-资源体系结构框架。在UML建模中得到了遵守。这本书中是对UML介绍最详细的一本书,通过阅读这一章,更加清楚了UML建模在软件需求分析中的重要性,比起学习UML的时候理解更加深刻了。
第五章完成了对需求分析以及从分析过渡到系统设计的讨论,仔细考察了对象技术对大型系统开发的支持。构造型是UML主要的扩展技术。在完成扩展任务时,它们需要约束和标签的辅助。扩展机制允许在UML预定义特性之外建模。UML的扩展机制——尤其是构造型——被频繁地使用。UML提供了许多附加的建模概念来提高类模型的表达能力,包括导出属性、导出关联和限定关联。关于类建模最困惑的方面是在关联类和具体化类之间做出选择。泛化与继承的概念在系统建模中是一把双刃剑。一方面,它支持软件复用,提高了表达能力、可理解性和系统模型的抽象。另一方面,如果使用不当的话,它又具有破坏自身所有这些优点的可能性。聚合与委托概念是一种重要的对泛化和继承的建模替代品。委托和原型系统具有支持层次体系结构这一优势。整体构件抽象对复杂系统应该如何构造的方式提供了令人感兴趣的观点。顺序图是人们更愿意采用的一种交互建模的可视化工具,给深层次的技术相关的建模任务提供了很好的支持。
通过本章的学习,使我们清楚设计是关于系统实现。本章讲述了设计的两个主要方面——系统的体系结构设计和系统中程序的详细设计。典型的IS应用系统基于客户机/服务器体系结构原则。现代软件系统非常复杂。建模方案尽量简化和降低这种内在的复杂性非常重要。处理软件复杂性的最重要机制是系统体系结构的分层组织。按照PCBMER或类似的框架,将类合理地组织到层中,这是最重要的体系结构目标。分层的体系结构能使我们将软件的结构复杂性增长从指数降低到多项式。体系结构建模对于强制执行软件的体系结构原则非常关键。
体系结构建模包括将软件元素分配给包、构件和结点。这些概念之间具有复杂的依赖和交互——很大程度上是由于它们与逻辑、物理程序和数据结构相交叉。
复用是主要的设计考虑,它对体系结构和详细设计都有影响。可以在工具包复用、框架复用和模式复用之间进行选择。这种选择不是互斥的——建议采用混合复用策略。