什么是软件建模
软件建模:就是为要开发的软件建造模型。模型是对客观存在的抽象,抽象表达事务的本质规律。
什么是软件建模
我们常说的数学建模就是用数学公式作为模型,地图是对地理空间的建模。各种图纸,如机械装置图纸,电子电路图纸,建筑设计图纸,也是对物理实体的建模。
通过建模,可以把握事物的本质规律和主要特征。正确建造模型和使用模型,可以防止在各种细节中迷失方向。
在软件开发中,有两个客观存在:一个是我们要解决的领域问题。比如,电商网站解决如何做生意,卖家如何管理商品、管理订单、管理用户;买家如何挑选商品,如何下单,如何支付等。
另一个,最终开发出来的软件系统也是客观存在的。这一客观存在主要涉及软件由哪些主要类组成,这些类如何构成一个个组件,这些类和组件之间的依赖关系如何,如何调用等。
这两个客观存在的抽象就是我们的 软件模型,一方面我们要对领域问题和软件系统进行分析,设计,抽象;另一方向,我们要根据抽象出来的模型开发,实现最终的软件系统。
专门划分出对领域问题和软件系统进行分析,设计和抽象的这个过程,就这是软件建模和设计。
【领域问题】 – 分析,抽象–> 【模型】 <–设计,抽象,开发,实现–> 【软件系统】
4 + 1视图模型
4 + 1 模型不是一种软件建模工具和方法,而是一种 软件建模方法的方法,即建模方法论。
4 + 1 模型认为,一个完整的软件设计模型应该包括五个部分。
- 逻辑视图:描述软件的功能逻辑,比如由哪些模块组成,模块包含哪些类,依赖关系如何等。
- 开发视图:描述程序运行其的进程,线程,对象实例,以及与此相关的并发,同步,通信等问题。
- 物理视图:描述软件如果安装并部署到物理服务器上,以及不同服务器之间如何通信。
- 场景视图:针对具体的用例场景,将上述四个视图关联起来。
这五种视图模型指导我们应该从哪些方面去对我们的业务和软件建模。而具体如何建模,如何画模型,则可以使用各种建模工具完成。