后端技术面试38讲——软件设计的方法论(笔记)

软件建模

软件建模,就是为要开发的软件建造模型。模型是对客观存在的抽象,常说的数学建模,就是用数学公式作为模型,抽象表达事务的本质规律。还有一些东西也是模型,比如地图、各种图纸、机械装置的图纸、电子电路的图纸、建筑设计的图纸,也是对物理实体的建模。而软件,也可以通过各种图进行建模。

通过建模,我们可以把握事物的本质规律和主要特征,正确建造模型和使用模型,以防在各种细节中迷失方向。软件系统庞大复杂,通过软件建模,我们可以抽象软件系统的主要特征和组成部分,梳理这些关键组成部分的关系,在软件开发过程中依照模型的约束开发,系统整体的格局和关系就会可控,相关人员从始至终都能清晰了解软件的蓝图和当前的进展,不同的开发工程师会很清晰自己开发的模块和其他同事工作内容的关系与依赖,并按照这些模型开发代码。

软件开发中客观存在

(1)要解决的领域问题,对这些客观领域问题的抽象就是各种功能及其关系、各种模型对象及其关系、各种业务处理流程;
(2)最终开发出来的软件系统,这个软件系统也是客观存在的,软件由哪些主要类组成,这些类如何组织构成一个个的组件,这些类和组件之间的依赖关系如何,运行期如何调用,需要部署多少台服务器,服务器之间如何通信等。

所有这两个方面客观存在的抽象,就是我们的软件模型,一方面我们要对领域问题和软件系统进行分析、设计、抽象,另一方面,我们根据抽象出来的模型开发,实现出最终的软件系统。

4 + 1 视图模型

在这里插入图片描述

  1. 逻辑视图: 描述软件的功能逻辑,由哪些模块组成,模块中包含那些,其依赖关系如何。
  2. 开发视图: 包括系统架构层面的层次划分,的管理,依赖的系统与第三方的程序包。开发视图某些方面和逻辑视图有一定重复性,不同视角看到的可能是同一个东西,开发视图中一个程序包,可能正好对应逻辑视图中的一个功能模块。
  3. 过程视图: 描述程序运行期的进程、线程、对象实例,以及与此相关的并发、同步、通信等问题。
  4. 物理视图: 描述软件如何安装并部署到物理的服务上,以及不同的服务器之间如何关联、通信。
  5. 场景视图: 针对具体的用例场景,将上述 4 个视图关联起来,一方面从业务角度描述,功能流程如何完成,一方面从软件角度描述,相关组成部分如何互相依赖、调用。

UML建模

UML,即统一建模语言,所谓统一,指的是在软件建模工具和方法上业界达成共识,用UML 统一软件建模工具;所谓建模,就是用 UML 对领域业务问题和软件系统进行设计抽象,一个工具完成软件开发过程中的两个客观存在的建模;所谓语言,一方面满足设计阶段和各个相关方沟通的目的;一方面可以用来思考,即使软件开发过程不需要跟其他人沟通,或者还没到沟通的时候,依然可以使用 UML 建模画图,帮助自己进行设计思考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA自学笔记——设计与验证JMB FPGA(可编程逻辑门阵列)是一种可编程的硬件平台,可以实现各种数字电路的设计与验证。本文将简要介绍使用FPGA自学设计与验证JMB(低功耗、高效能、集成度高的多媒体芯片)的过程。 首先,我们需要了解JMB的功能和特性。JMB是一种面向多媒体应用的芯片,具备低功耗、高效能和高集成度的优势。我们需要详细研究JMB的硬件架构和内部模块,包括处理器核、存储器模块、图像和音频处理模块等。 接下来,我们可以使用FPGA开发板来设计和验证JMB。首先,我们需要熟悉FPGA设计工具,例如Vivado或Quartus等。这些工具提供了图形化界面和硬件描述语言(HDL)等设计方法。我们可以使用HDL编写JMB的功能模块,并将其综合为FPGA可执行的位流文件。 在设计完成后,我们需要验证JMB的功能和性能。我们可以使用仿真工具(例如ModelSim或ISE Simulator)来模拟JMB在不同情况下的行为。通过设计测试程序并运行仿真,我们可以验证JMB的各个模块是否正确地工作,是否满足设计要求。 在验证完成后,我们可以将位流文件下载到FPGA开发板进行智能芯片的物理实现和测试。通过与外部设备的连接以及相关测试程序的运行,我们可以验证JMB在实际硬件的功能和性能。 总结起来,学习FPGA设计与验证JMB,我们需要熟悉JMB的硬件架构和内部模块,并使用FPGA开发工具进行设计与验证。通过仿真和物理实现测试,我们可以验证JMB的功能和性能。这些过程需要理论知识和实践经验的结合,希望这些笔记能够给你提供一些参考和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值