摘要:软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛软考学院为您准备了第六章学习笔记,希望对您的学习有所帮助。
软考系统架构设计师属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。系统架构设计师考试作为一项高级资格考试,有一定的考试难度,那么该如何备考才能顺利通过考试呢?面对系统架构设计师教程无从下手的同学,希赛软考网为您准备了第六章学习笔记,希望对您的学习有所帮助。
6.1 UML建模与架构文档化
方法种类的膨胀,极大地妨碍了用户的使用和交流。
UML通过统一的表示法,使不同知识背景的领域希赛网、系统分析、开发人员、用户可以方便地交流。
6.1.1 UML体系结构演变
UML是用元模型描述的,元模型是4层元模型体系结构模式中的一层,其他层次分别是元-元模型、模型层、用户对象曾。其中元模型层由元-元模型层导出。
元模型的体系结构模式可以用来定义复杂模型所要求的精确定义,这种复杂模型通常需要被可靠地保存、共享、操作以及在工具之间进行交换。它的特点如下:
1、在每一层都递归地定义语义结构。
2、可用来定义重量级和轻量级扩展机制。
3、在体系结构上将其他体系结构的标准统一起来。
UML元模型又被分解为三个逻辑子包:基础包、行为元素包、模型管理包。
6.2 UML基础
UML通过图形化的表示机制从多个侧面对系统的分析和设计模型进行刻画。
10种视图,四类:
1、用例图
2、静态图,包括类图、对象图、包图。
类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。
对象图描述在某种状态下或某一时间段,系统中活跃的对象及其关系。
包由子包、类组成。
3、行为图,包括交互图、状态图、活动图,他们从不同的侧面刻画系统的动态行为。
交互图分为顺序图、合作图。顺序图强调对象之间消息发送的时序。合作图更强调对象间的动态协作关系。
状态图描述对象的动态行为。
活动图描述操作序列,这些操作序列可以并发、同步,包含控制流、信息流。
4、实现图,包括构件图、部署图。描述组成和分布情况。
部署图节点表示实际的计算机和设备,边表示节点之间的物理连接,也可以显示连接的类型及节点之间的依赖性。
6.2.1用例和用例图
用例图也翻译为用况、用按等,在UML中,用例用一个椭圆表示,往往用动宾结构或主谓结构命名。
可选的动作序列和会出现异常的动作序列。
用例是代表系统中各种相关人员之间就系统的行为所达成的契约。
需求阶段用例是分析人员与客户沟通的工具项目规模估算的依据;
设计阶段用例是系统功能设计的主要输入;
实现阶段用例是检测类型为正确性的文档。
本质上,用力分析是一种功能分解的技术。
1、参与者角色,参与者实际上并不是系统的一部分。
2、用例间的关系,泛化、包含、扩展等。
包含是比较特殊的依赖关系。
扩展,基本用例必须声明若干“扩展点”,而这些扩展用例只能在这些扩展点上增加新的行为和含义。
3、用例图
建模人员可以在途中给某些图符加上填充色,在语义上,使用填充颜色和不使用填充颜色的模型是一样的。
6.2.2交互图
描述对象之间对象与参与者之间动态协作关系协作过程中行为次序。
通常描述用例的行为,显示该用例中所涉及的对象对象之间的消息传递。
顺序图、协作图之间可以互相转化,一个用例需要多个顺序图或协作图。
交互图可以帮助分析人员对照检查每个用例中所描述的用户需求,提醒分析人员去补充遗漏的类或方法。
水平方向为对象维,一般主要参与者放在最左边,次要参与者放在最右边。
垂直方向为时间维。
6.2.3类图和对象图
一般而言,类的名字是名词。
类之间的关系有关联、聚集、组合、泛化、依赖等。
1、关联,链是关联的实例,关联表示类与类之间的关系,链表示对象与对象之间的关系。
关联用实线表示,角色还具有多重性。
关联类描述关联的属性、操作、以及其他信息。
关联类通过一条虚线与关联连接。
自返关联又称递归关联,同一个类的两个对象间的关系。两个关联端,每个关联端的角色不同。
2、聚集和组合
聚集是一种特殊形式的关联,类之间整体与部分的关系。
组合整体与部分具有同样的生存期,是一种特殊形式的聚集。
3、泛化关系,一般和特殊元素之间的关系,就是平常所说的继承关系。
6.2.4状态图和活动图
1、状态图
描述对象生存期间的动态行为,所经历的状态序列,引起状态转移的事件、动作。
是UML动态行为建模的5个图之一,用状态机对一个对象的生命周期建模,状态图用于显示状态机,重点在于状态之间的控制流。
除了初态和终态,还有Idle和Running两个状态,keyPress、finished、shutDown是事件。
2、活动图
是UML动态行为建模的5个图之一,描述系统的工作流程和并发行为。状态图的特殊形式,一个活动结束后将立即进入下一个活动。
基本概念:活动、泳道、分支、分叉、汇合、对象流。
1.活动,注意区分动作状态和活动状态,
动作状态是原子的,没有内部转移,没有内部活动,所占用的时间可以忽略,目的是执行进入动作,然后转向另一个状态。
活动状态是可分解的,工作完成需要一定的时间。
2.泳道,是活动图中区域划分,每个泳道代表一个责任区,知道和类并不是一一对应的关系。
3.分支,同一个触发事件,可以根据不同的警戒条件转向不同的活动,每个可能的转移是一个分支。
4.分叉和汇合,如果要表示系统或对象中的并发行为,使用分叉fork和汇合join,汇合正好与分叉相反。
5.对象流,活动图中可以出现对象,对象可用作为活动的输入输出。活动图中的对象流表示活动和对象之间的关系。
6.2.5构件图
构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。
构件图显示一组构件以及它们之间的相互关系,包括编译、连接、执行时构建之间的依赖关系。
构件就是一个实际文件,以下几种类型:
1、部署构建
2、工作产品构件
3、执行构件
构件图可以对以下几个方面建模:
1、对源代码文件之间的相互关系建模。
2、对可执行文件之间的相互关系建模。
6.2.6部署图
部署图也称配置图、实施图,显示系统中计算节点的拓扑结构、通信路径、节点上运行的软构件等。
一个系统模型只有一个部署图,常用语帮助理解分布式系统。
部署图由体系结构设计师、网络工程师、系统工程师等描述。
6.3基于UML的软件开发过程
6.3.1开发过程概述
UML是独立于软件开发过程的,能够在几乎任何一种软件开发过程中使用。迭代的渐进式软件开发过程包含四个阶段:初启、细化、构件、部署。
1、初启
项目的发起人确定项目的主要目标和范围,初步的可行性分析和经济效益分析。
2、细化
细化阶段的开始标志着项目的正式确立。
1.初步的需求分析,比较重要、比较有风险的用例。
2.初步的高层设计,用例、用例图、类、类图将依据包的划分方法分属于不同包。
3.部分的详细设计,根据软件元素的重要性和风险程度确立优先细化原则,不能将风险的识别和解决延迟到细化阶段后。
4.部分的原型构造。
3、构建
构造阶段,每次迭代中实现一部分用例,用户可以及早参与对已实现用例的实际评价。
原则:
1.用户认为业务价值较大的用例应优先安排。
2.开发人员评估后认为开发风险较高的用例优先安排。
迭代计划中,要确定迭代次数、每次迭代所需时间以及每次迭代中应完成的用例。
希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库(软考历年真题)、软考培训教材和软考视频教程,多样的培训方式包括在线辅导、面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。
软考备考资料免费领取
去领取