一种基于 UML 的嵌入式系统可视化开发方法

2023-10-25 06:32

本文主要是介绍一种基于 UML 的嵌入式系统可视化开发方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 引言

  随着信息产业和微电子技术的发展,嵌入式系统的功能日渐强大,结构也愈加复杂,传统的嵌入式开发方法已不能满足开发要求,人们开始尝试用一些形式化的开发方法进行开发。一种适合于嵌入式系统的形式化开发方法,不仅能缩短嵌入式系统开发的周期,还能减少开发成本,提高系统质量。 本文结合统一建模语言UML,提出一种嵌入式系统可视化开发方法,并将其实际运用到了嵌入式远程温度监控系统的开发过程中,验证了该方法的可行性和有效性。

  2 基于UML 的嵌入式系统可视化开发方法

  2.1  统一建模语言UML

  UML(Unified Modeling Language) 是一种定义良好、易于表达、功能强大且普遍适用的面向对象和基于构件的系统建模语言。它扩展了现有方法的应用范围,不仅可建立软件系统的模型,还可建立非软件系统的模型,可广泛用于描述系统软件、嵌入式系统、企业机构或业务过程等。 UML由图、视图、模型元素、通用机制和扩展机制等几个部分组成 [2] 。其中图是UML建模的关键,根据图在系统开发过程中不同阶段的应用,可以分为用例图、静态图、行为图、交互图、实现图等五类,这些图为系统的开发提供了多种图形表达形式,应用于建模的不同阶段。

  2.2  将UML 语言应用于嵌入式系统开发的优势

  随着嵌入式系统的日趋复杂化,较多的系统都需要由一个团队共同完成,因此,团队成员之间的相互合作,软硬件之间的协同开发,乃至开发人员和客户之间的交流都需要有一个统一的标准作为基础。UML正是这样一种标准的系统建模语言。它详细描述系统的内容和工作方法,先进行系统建模后再编写代码,在开始阶段就保证了系统结构的合理性。UML系统模型包含许多不同框图,使项目小组可以从不同角度了解整个系统。另外,UML可以用统一的形式表现软件和硬件,支持循环迭代并可多次修改软硬件方案直到满足要求,可实现软硬件协同设计。 特别的,UML是一种语言,不是方法,它独立于开发过程 [3] ,所以我们可以结合UML语言提出一套针对嵌入式系统的开发过程,从而为嵌入式系统的开发提供一条新的途径。

  2.3  基于UML 的嵌入式系统可视化开发方法

  文中提出的基于UML的嵌入式系统开发方法支持需求、分析、设计、实现、测试的循环迭代,使用面向对象思想,通过细化分析和设计阶段的步骤,使得整个过程更有条理、充实,更适合于多任务的嵌入式系统开发。方法的需求、分析、设计过程被细化后分别包括了以下几个步骤:

  · 需求阶段明确了系统所要实现的功能以及所要达到的性能,是整个系统开发的目标。

  功能性需求:明确系统应该提供什么功能。

  非功能性需求:明确系统的特定特性或者约束。

  · 分析阶段主要是精化和结构化需求,清楚地描述系统内部,是设计阶段的基础。分为两个步骤:

  系统架构分析:运用面向对象技术描述系统的静态结构。

  系统行为分析:从动态的角度描述系统的对象间相互作用的特性。

  · 设计阶段是在对系统各方面有了解的基础上来确定特定的解决方案。分为两个步骤:

  分层结构设计:确定了具体实现时软件和硬件的最佳分界。

  详细设计:在软件方面是深入到了系统低层信息,如操作的属性、类的流程等;硬件方面则是到了设计具体电路板的阶段。

  本方法利用面向对象的概念将系统分成了相互关联却又较独立的模块,一方面方便了系统开发时的迭代过程以及系统的后期维护,设计人员可以根据不同的新的需要对各个步骤中相应部分进行调整来实现改进,这样就可以大量减少重复分析或设计的过程;另一方面,对象概念可以和嵌入式系统中的任务概念很好的映射起来。任务可看成是由一个或多个对象协作而成的,在分析、设计过程中确立对象的同时也就确定了系统的多个任务,为嵌入式系统的多任务特性提供了很好的支持。

  本文后续部分将以嵌入式远程温度监控系统为例,简单阐述和验证此方法。

  3 系统需求

  3.1 功能性需求

  功能性需求是系统功能的陈述。在UML中是应用用例图来描述系统功能的。如图1所示,系统大致由下述几个角色和用例组成:

  三个角色:数字式测温仪,Internet远端用户,本地用户。

  五个用例:当前温度信息显示、更改最高警戒温度、更改最低警戒温度、修改测温仪工作状态以及登陆服务器(身份验证)。

  以上的各个用例只是对系统功能的大致划分,主要目的是为后面的系统分析作基础。

  3.2 非功能性需求

  非功能性需求是系统的特定特性。本系统的非功能性需求是:

  温度测量范围要求0-400℃,显示精度 为0.2℃。

  在工业现场,远程监控系统对数字式测温仪实现无线监控。

  远程监控系统为Internet远端用户提供统一开放的平台,

  远程监控系统每秒自动更新提供给用户的温度信息。

  远程监控系统也为本地用户提供友好的人机交互界面。

  可以看出,这些非功能性需求为确定系统的结构和系统选用的技术等进行了约束。

  4 系统分析

  在系统分析阶段,通过细化和结构化系统需求,可将系统需求转换成系统中的结构、类、对象和关系等实体元素,并从静态和动态两个角度来清楚描述这些实体元素。

  4.1  系统结构分析

  系统结构分析是对系统元素静态的描述,它在系统需求的基础上确定系统的总体架构及内部对象。

  首先用部署图来描述系统的物理架构,如图2所示,其中带有阴影的为处理器,未带有阴影的是外部设备;系统采用了目前远程监控系统中比较流行的浏览器/服务器模式(B/S)。这样系统的4个功能用例都将主要由嵌入式Web服务器实现。此外,根据非功能性需求中的无线监控约束,在工控现场,运用了蓝牙技术。

  图 2 部署图

  然后用类图来描述系统静态的对象结构及其相互关系。从用例图(图1)中我们可分解出一些类,并将这些类之间的结构描述出来。比如从远端用户的“登录服务器”用例就可分解出嵌入式Web服务器中的网卡、TCP/IP、HTTP类,本地用户的“登录服务器”用例则可分解出嵌入式Web服务器中的键盘、显示器和本地监控等类。依次略推在嵌入式Web服务器中共定义了网卡、TCP/IP、HTTP、蓝牙模块、键盘、显示屏、本地监控、数据处理等类。

  每个类可以设置属性和操作,但我们在这个步骤中并没有定义,而仅仅是对嵌入式Web服务器的 对象结构作静态描述,类的属性和操作的定义将随着完整的类图在后文中出现。

  4.2 系统行为分析

  系统行为分析就是从多个角度来描述所研究系统的动态部分。我们可用状态图描述系统的状态行为,然后根据系统内部所具有的行为来定义和精化类的操作,另外也可用顺序图和协作图从不同的角度来显示动态的信息流。

  这里采用嵌入式Web服务器的状态图来简单说明(如图3所示)。根据嵌入式系统的特点,在此处,状态图不但包括嵌套层次结构状态的概念,还可用并发的概念来表示那些可以和其他状态同时处于活动状态的独立状态,图中用虚线表示。

  图 3 嵌入式Web服务器状态图

  5 系统设计

  设计阶段是在对系统各方面都有充分了解的基础上确定特定的解决方案。

  5.1 层次结构设计

  我们在系统的分析阶段,一直使用统一的标识来描述系统,但系统具体实现时还是需要将软、硬件分开实现,所以我们要在系统设计阶段对软硬件层次进行划分。若这次的划分最终不能满足要求,也可以通过迭代在以后的循环中尝试多种方案,直到满足要求。

  在系统结构分析中用类图所作的统一描述涵盖了软件层和硬件层共同组成的系统结构,所有软件层和硬件层都是由类图中提取而来的,但类图中既可由软件实现又可由硬件提供的一部分内容则要根据性能、价格、规格大小等因素来加以选择。如本系统中TCP/IP协议栈的实现,就即可通过软件编程,也可选择购买提供TCP/IP协议栈的网卡芯片,相比较而言,自带TCP/IP协议栈的网卡芯片提供的性能更高、更稳定,但成本也较高,但本系统对网络实现并没有特别高的要求,所以从成本上考虑,还是选择了软件实现TCP/IP协议栈。这样,TCP/IP协议栈也就将在软件层中描述而不在硬件层中出现。

 

  这里用部署图描述的系统硬件层(如图4),它将类图中的数据处理对象,即软件层中的操作系统所具有的任务映射到了处理器的各个线程,并且还设置了每个线程的优先级。而蓝牙模块所带的操作:蓝牙底层协议,表示蓝牙底层协议是由蓝牙模块硬件实现的。系统的软件层也可以通过组件图来描述。

  5.2 详细设计

  详细设计是一次循环中需求、分析、设计的最后一步,指定了细节问题,明确了单个对象的范围、内数据结构和算法的实现等。

  先前已对类的属性和操作作了定义,而在详细设计中,为了编写代码,必须对每个类中定义的操作的各个属性(包括它的类型和初始值等)填补完整。因为此时的类图是为软件编程准备的,所以应根据体系结构设计过程中组件图的内容重新进行整理,保留并细化由软件实现的所有类。完整的类图如图5所示。

  依照这些类的行为流程图,在编程阶段就可以容易的实现代码,并且由于有了统一的设计决策, 即使是由不同的编程人员编写,最后的代码体现出的思路都是大同小异的,也方便非开发人员了解 和维护系统。

  6 结束语

  通过对UML语言的分析,文中提出了一种基于UML的嵌入式系统可视化开发方法,并实际应用到嵌入式远程温度监控系统的开发过程中。此方法面向对象,步骤清晰流畅,并全部由UML的统一标准符号加以描述,有效的提高了系统的开发效率,也有利于系统以后的维护和升级。

这篇关于一种基于 UML 的嵌入式系统可视化开发方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280679

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景