软件体系结构2

软件体系结构2

软件体系结构概述

软件体系结构包括构件(Component)、连接件(Connector)和约束(Constraint)或配置(Configuration)三大要素。

 

软件需求与架构

需求是指明必须实现什么规格说明。它描述了系统的行为、特性或属性,是在开发过程中对系统的约束。

与客户打交道的主要目的是:一是获取需求,而是签订合同

 

 

软件需求流程

 

需求的分类:业务需求,用户需求,系统需求,功能需求,非功能需求,设计约束

质量属性:

开发期质量:可扩展性,可复用性,可维护性等;

运行期质量:正确性,健壮性,性能,可靠性,容错性,易用性,安全性,可移植性,兼容性。

 

 

需求工程结构图

 

开发者对待需求工程的态度可分"被动型"、"主动型"和"领先型"三种。

 

获取需求


需求从哪里来:人,物,系统

获取需求的方法:面谈,问卷,会议…

面谈问题基本上可以分为两种类型:开放式问题和封闭式问题

面谈结构:金子塔型,漏斗型,菱形

 

用例描述了用户系统之间的交互

用例模型描述全部的系统功能性行为

 

 

 

 

二维需求矩阵

约束需求:业务环境因素+使用环境因素+构建环境因素+技术环境因素

 

 

 

ER图中包含三个图形符号:实体,属性,联系

 

需求分析的主要成果:软件需求规格说明书(Software Requirement Specification, SRS)

 

需求确认包含两个重要工作:"需求评审"和"需求承若"

 

需求跟踪的目的是建立与维护"需求-设计-编程-测试"之间的一致性。

需求跟踪有两种方式:正向跟踪和逆向跟踪

正向跟踪和逆向跟踪和称为双向跟踪。

 

跟踪举证

源跟踪举证(需求与需求来源)

功能跟踪矩阵(需求与功能)

依赖跟踪矩阵(一个需求与另一个需求)

 

 

 

 

 

 

 

UML

UML模型元素

模型元素包括事物以及事物与事物之间的联系

每一个模型元素都有一个与之相对应得图形元素

通用机制

额外的注释,修饰和语意等

包括规格说明,修饰,公共分类和扩展机制四种

 

UML统一建模语言

用例建模(Use Case Modeling)是使用用例的方法来描述系统的功能需求的过程。

 

用例建模主要包括以下两部分内容:

用例图

用例描述文档

执行者:系统之外,透过系统边界与系统进行有意义交互任何事物

引入执行者的目的:帮助确定系统边界。

 

用例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。一个用例定义一组用例实例

 

 

对象状态的描述:状态图

工作流程的描述:活动图

交互次序的描述:顺序图

 

 

状态图用初始状态(Initial State)表示对象创建时的状态,每一个状态图一般只有一个初始状态,用实心的圆点表示。

每一个状态图可能有多个终止状态(Final State),用一个实心圆外加一个圆圈表示。

状态图中可有多个状态框,每个状态框中有两格:上格放置状态名称,下格说明处于该状态时,系统或对象要进行的活动(Action)

从一个状态到另一个状态之间的连线称为转移(Transition)。状态之间的过渡事件(Event)对应对象的动作或活动(Action)。事件有可能在特定的条件下发生,在UML中这样的条件称为守护条件(Guard Condition),发生的事件可通过对象的动作(Action)进行处理。状态之间的转移可带有标注,由三部分组成(每一部分都可省略),其语法为:事件名 [条件] / 动作名

 

活动图是一种描述工作流的方式,它用来描述采取何种动作、做什么(对象状态改变)、何时发生(动作序列)以及在何处发生(泳道)。

活动图作用:描述业务流程描述用例路径描述方法执行流程(程序流程图)

活动图由起始活动(Start Activity)、终止活动(End Activity)、活动(Activity)、转移(Transition)或流(Flow)、决策(Decision)、守护条件(Condition)、同步条(Synchronization)和泳道(Swimlane)等组成。

 

 

 

顺序图的消息:调用消息返回消息自身消息、发送消息、创建消息、销毁消息、同步消息、异步消息

交互片段

alt:多条路径,条件为真时执行。

opt:任选,仅当条件为真时执行。

par:并行,每一片段都并发执行。

loop:循环,片段可多次执行。

critical:临界区,只能有一个线程对它立即执行。

 

 

 

组件图又称为构件图(Component Diagram) 。组件图中通常包括组件、接口,以及各种关系。组件图显示组件以及它们之间的依赖关系,它可以用来显示程序代码如何分解成模块或组件。一般来说,组件就是一个实际文件,可以有以下几种类型:

源代码组件:一个源代码文件或者与一个包对应的若干个源代码文件。

二进制组件:一个目标码文件,一个静态的或者动态的库文件。

可执行组件:在一台处理器上可运行的一个可执行的程序单位,即所谓可执行程序。

 

 

 

组合结构图将每一个类放在一个整体中,从类的内部结构来审视一个类。

组合结构图主要组成元素

部件(Part):表示被描述事物所拥有的内部成分。

连接件(Connector):表示部件之间的关系。

端口(Port):表示部件和外部环境的交互点

 

 

虽然通信图和顺序图均显示了交互,但它们强调了不同的方面。顺序图清晰地显示了时间次序,但没有显式指明对象间关系。通信图清晰地显示了对象间关系,但时间次序必须从顺序号来获得。

顺序图常用于用例场景描述,通信图更适合显示过程设计细节。采用哪种图,一般可以根据这种原则:当对象及其连接有利于理解交互时,选择通信图;当只需了解交互的次序时,选择顺序图。

通信图由以下基本元素组成:执行者(Actor)、对象(Object)、连接(Link,也称为链)、消息(Message)和守护条件(Condition)。

 

 

交互概览图是交互图与活动图的混合物

 

 

posted on 2019-09-14 13:35  kexinxin  阅读(1303)  评论(0编辑  收藏  举报

导航