软件工程文件及图表对应(待完善)

一、需求分析图表说明

  1. 用例图:
    用例图(Use Case Diagram)是由软件需求分析到最终实现的第一步,它描述人们如何使用一个系统。用例视图显示谁是相关的用户、用户希望系统提供什么样的服务,以及用户需要为系统提供的服务,以便使系统的用户更容易理解这些元素的用途,也便于软件开发人员最终实现这些元素。
    用例图包含3个元素,分别是:参与者(Actor)、用例(Use Case)、用例间关系
    1)参与者是系统外部的一个实体,它以某种方式参与用例的执行过程。参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。参与着由参与用例时所担当的角色来表示。在UML中,参与者用名字写在下面的人形图标表示。
    2)用例是外部可见的系统功能单元,这些系统功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。用例的用途是,在不揭示系统内部构造的前提下定义连贯的行为。
    3)用例之间关系有4中:关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。

    • 关联关系:表示参与者与用例之间的通信,用箭头来表示。
    • 包含关系:一个用例可以简单地包含其它用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。在这种情况下,新用例不是初始用例的一个特殊例子,并且不能被初始用例所代替。包含关系表示为虚线箭头交<>字样,箭头指向被包含的用例。包含关系表示用例之间是“has a”关系。
    • 扩展关系:一个用例也可以被定义为基础用例的增量扩展,这被称作扩展关系,扩展关系是把新的行为插入到已有的用例中的方法。同一个基础用例的几个扩展用例可以在一起应用。基础用例的扩展增加了原有的语义,此时基础用例而不是扩展用例被作为例子使用。扩展关系表示为虚线箭头加<>字样,箭头指向被扩展展的用例。
    • 泛化关系:一个用例可以被特别列举为一个或多个用例,这被称为用例泛化。当父用例能够被使用时,任何子用例也可以被使用。在UML中用例泛化与其它泛化关系的表示法相同,用一个三角箭头从子用例指向父用例。
  2. 活动图:
    活动图(Activity Diagram)可以实现对系统动态行为的建模,主要是将用例细化,即用例内部的细节可以以活动图的方式描述。活动图描述活动的顺序,主要表活动之间的控制流,是内部处理驱动的流程,在本质上是一种流程图。

二、概要设计
1.程序流程图

  1. 类图
    类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性的信息。类图是面向对象建模的主要组成部分。它既用于应用程序的系统分类的一般概念建模,也用于详细建模,将模型转换成编程代码。类图也可用于数据建模。
    类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。
    类图(Class diagram)是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。
    类图组成:类、包、接口、关系
    1)类:类名(必须)、属性、方法、性质、内部类
    类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。
    属性和方法书写规范:修饰符 [描述信息] 属性、方法名称 [参数] [:返回类型|类型]
    属性和方法之前可附加的可见性修饰符:
    加号(+)表示public;减号(-)表示private;井号(#)表示protected;省略这些修饰符表示具有package(包)级别的可见性。
    如果属性或方法具有下划线,则说明它是静态的。
    描述信息使用 << 开头,使用 >> 结尾。
    类的性质是由一个属性、一个赋值方法和一个取值方法组成。书写方式和方法类似。
    2)包
    包是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,通常使用逻辑性的包,用于对模型进行组织;使用物理性的包,用于转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。
    3)接口
    接口是一系列操作的集合,它指定了一个类所提供的服务。它直接对应于Java中的一个接口类型。接口的表示有大概两种方式。
    4)关系:
    常见的关系有:继承(Inheritance),关联关系(Association),聚合关系(Aggregation),复合关系(Composition),依赖关系(Dependency),实现关系(Realization/Implementation)。
    其中,聚合关系(Aggregation),复合关系(Composition)属于关联关系(Association)。
    一般关系表现为继承或实现关系(is a),关联关系表现为变量(has a ),依赖关系表现为函数中的参数(use a)。
    一般化关系:表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。
    表示方法: 用一个空心箭头+实线,箭头指向父类。或空心箭头+虚线,如果父类是接口。

    关联关系:类与类之间的联接,它使一个类知道另一个类的属性和方法。
    表示方法:用 实线+箭头, 箭头指向被使用的类。

    聚合关系:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。
    表示方法:空心菱形+实线+箭头,箭头指向个体。

    合成关系:是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期,合成关系不能共享。
    表示方法:实心菱形+实线+箭头,

    依赖关系:是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B体现为局部变量,方法的参数、或静态方法的调用。
    表示方法:虚线+箭头 箭头指向被依赖的一方,也就是指向局部变量。

三、详细设计
1.IPO图:
2.时序图:通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作

备注:
统一建模语言(英语:Unified Modeling Language,缩写 UML)
在UML系统开发中有三个主要的模型:

  • 功能模型:从用户的角度展示系统的功能,包括用例图。
  • 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
  • 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。

参考:
需求分析之——用例图
面向对象需求分析——用例图和活动图

你可能感兴趣的:(软件工程文件及图表对应(待完善))