为什么要进行软件建模,高达建模用什么软件

软件建模软件建模,就是为要开发的软件建立模型,模型是对客观存在的抽象。对于要解决复杂的业务问题,软件系统也会变得庞大复杂,通过软件建模,我们可以能够把握事物的本质规律和主

本文最后更新时间:  2023-03-08 12:52:41

软件建模

软件建模,就是为要开发的软件建立模型,模型是对客观存在的抽象。对于要解决复杂的业务问题,软件系统也会变得庞大复杂,通过软件建模,我们可以能够把握事物的本质规律和主要特征,抽象出软件系统的主要特征和组成部分,梳理这些关键组成部分的关系,在软件开发过程中依照模型的约束开发,系统整体的格局和关系就会可控,同时,正确的建立和使用模型,避免开发过程中在各种细节中迷失。

(拓展:大多数的软件都是用来解决现实问题的,软件开发的本质就是在计算机的虚拟空间中根据现实需求创建一个新世界。现实世界纷繁复杂,庞大的软件系统也需要很多人合作,开发出众多的模块和代码。我们常说的数学建模,就是用数学公式作为模型,抽象表达事物的本质规律)

UML建模

UML,即统一语言,是目前常用的建模工具,下面介绍一下常见的模型图。

类图

描述类的特性以及类之间的静态关系。一个类包含三个部分:类名、属性和方法,静态关系有6种:关联、依赖、组合、聚合、继承、泛化。

类图主要是在详细设计阶段完成,开发工程师只需要按照类图实现代码即可。当然,在需求分析阶段,也可以将关键的领域对象用类图画出来,但是此时我们主要关注的是领域对象的识别及其关系,因此只需要画出类的名字和关系即可。

序列图

描述参与者之间的动态调用关系。序列图表示对象之间的交互,这个对象可以是类对象,也可以是组件、系统等。

在软件设计的不同阶段,都可以使用序列图描述不同参与者之间的交互。

组件图

组件是比类粒度更大的设计元素,一个组件会包含很多类。组件图通常用来描述物理上的组件,比如jar包、DDL等。在实践中,组件图更多用来进行模块的设计。

由于组件的粒度比较粗,通常用来描述和模块之间的关系,因此组件图一般用在概要设计阶段。

部署图

部署图是描述软件系统的最终部署情况,比如需要部署多少服务器,关键组件都部署在哪些服务器上。

部署图是比较宏观的,主要用在概要设计阶段。

用例图

描述系统的功能需求,反映用户和软件系统的交互。

用例图主要用在需求分析阶段。

状态图

展示单个对象生命周期的状态变迁。

状态图可以在需求分析阶段画,用来描述状态变迁的逻辑关系;也需要在详细设计阶段完成,此时,状态要用枚举值表示,以指导具体的开发。

活动图

描述过程逻辑和业务流程。(在UML中使用活动图代替流程图)活动图可以根据活动的范围,将活动根据领域、系统和角色等划分到不同的泳道中,使流程边界更加清晰。

活动图可以在需求分析阶段画,用来描述业务流程,也可以在概要设计阶段描述子系统和组件的交互,也可以在详细设计阶段描述一个类方法内部的计算流程。

总结

需求分析阶段,主要用用例图描述系统的功能;对于关键的业务流程,可以通过活动图描述;对于跨多个系统的业务流程,可以通过序列图描述;可以通过简化的类图进行领域模型的抽象,并描述对象之间的关系;可以通过状态图描述对象的复杂状态变化;

概要设计阶段,可以通过部署图描述系统的最终的物理蓝图;通过组件图以及组件时序图设计软件主要模块及其关系;可以通过组件活动图描述组件之间的流程逻辑;

详细设计阶段,主要输出类图、类的序列图以及核心流程的活动图,指导最终代码开发;

温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。