0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件建模原则包括哪些内容

汽车电子工程知识体系 来源:汽车电子工程知识体系 2023-08-29 10:07 次阅读

软件建模正在成为一种普遍的技术来帮助软件工程师理解,

21baa43a-4600-11ee-a2ef-92fbcf53809c.png

图9.1。软件工程模型和方法知识领域主题的分解

工程师,并与适当的利益攸关方沟通软件的各个方面。利益攸关方是指那些对软件有明确或隐含兴趣的人(例如,用户、买方、供应商、架构师、认证机构、评估者、开发人员、软件工程师,也许还有其他人)。

虽然在文献和实践中有许多建模语言、表示法、技术和工具,但是有一些统一的通用概念以某种形式应用于它们。以下各节提供这些一般概念的背景知识。

1.1建模原则

建模为软件工程师提供了一种有组织的和系统的方法,用于表示正在研究的软件的重要方面,促进关于软件或要素的决策,并将这些重要的决策传达给利益攸关方团体中的其他人。指导此类建模活动的一般原则有三个:

对基本要素进行建模:好的模型通常不会在所有可能的条件下代表软件的每个方面或特性。建模通常只涉及开发那些需要特定答案的软件方面或特性,抽象掉任何不重要的信息。这种方法使模型保持可管理和有用。

提供透视图:建模使用一组定义好的规则来表达每个视图中的模型,从而提供正在研究的软件的视图。视图驱动方法为模型提供了维度(例如,结构视图、行为视图、时间视图、组织视图,以及其他相关视图)。将信息组织到视图中,使用适当的符号、词汇表、方法和工具,将软件建模工作集中在与视图相关的特定关注点上。

实现有效的沟通:建模使用软件的应用领域词汇、建模语言和语义表达(换句话说,环境中的意思)。当严格和系统地使用时,此建模将产生一种报告方法,它将促进软件信息与项目利益攸关方的有效交流。

模型是软件组件的抽象或简化。使用抽象的一个结果是没有单一的抽象完全描述一个软件组件。相反,软件的模型被表示为抽象的集合,当这些抽象集合在一起时,它们只描述选中的方面、透视图或视图——只描述那些需要做出明智的决定并首先对创建模型的原因作出响应的方面、透视图或视图。这种简化导致了一组关于放置模型的环境的假设,这些假设也应该被捕获到模型中。然后,在复用模型时,可以首先验证这些假设,以建立被复用模型在其新用途和环境中的相关性。

1.2模型的属性和表达

模型的属性是一个特定模型的显著特征,用于在所选择的建模符号和所使用的工具中描述其完整性、一致性和正确性。模型的属性包括:

完整性:所有需求在模型中被实现和验证的程度。

一致性:模型不包含冲突的需求、断言、约束、功能或组件描述的程度。

正确性:模型满足其需求和设计规范以及无缺陷的程度。

模型被构建来代表真实世界的对象和它们的行为,以回答关于软件如何被期望运行的具体问题。询问模型——通过探索、模拟或回顾——可能会暴露模型和模型所引用的软件中的不确定区域。这些关于需求、设计和/或实现的不确定性或未回答的问题可以得到适当的处理。

模型的主要表达式要素是实体。实体可以表示具体工件(例如,处理器传感器机器人)或抽象工件(例如,软件模块或通信协议)。模型实体使用关系(换句话说,目标实体上的行或文本操作符)连接到其他实体。模型实体的表达可以使用文本或图形化的建模语言来完成;这两种建模语言类型都通过特定的语言构建连接模型实体。实体的意义可以由它的形状、文本属性或两者同时表示。一般来说,文本信息遵循特定于语言的句法结构。与使用这些实体和关系的环境、结构或行为建模相关的精确含义依赖于所使用的建模语言、应用于建模工作的设计严密性、被构建的特定视图,以及可能附加特定符号要素的实体。可能需要模型的多个视图来捕获软件所需的语义。

当使用自动化支持的模型时,可能会检查模型的完整性和一致性。除了显式工具支持之外,这些检查的有用性在很大程度上取决于应用于建模工作的语义和语法的严格程度。正确性通常通过模拟和/或评审来检查。

1.3语法、语义和语用学

模型可能具有惊人的欺骗性。模型是一种缺少信息的抽象,这一事实可能会导致人们产生一种错误的感觉,认为从单个模型就可以完全理解软件。一个完整的模型(“完整”相对于建模工作而言)可以是多个子模型和任何特殊功能模型的联合。在这个子模型集合中,对单个模型的检查和决策可能会有问题。

理解建模构建的精确含义也很困难。建模语言是由语法和语义规则定义的。对于文本语言,语法是使用定义有效语言结构(例如,巴克斯-纳尔形式(BNF))的符号语法来定义的。对于图形化语言,语法是使用称为元模型的图形化模型定义的。与BNF一样,元模型定义了图形化建模语言的有效语法结构;元模型定义了如何组合这些构建来生成有效的模型。建模语言的语义指定附加到模型中捕获的实体和关系的意义。例如,由一条线连接的两个盒子组成的简单图表可以有多种解释。知道盒子被放置和连接的图表是一个对象图或活动图可以帮助解释这个模型。

作为一个实际问题,通常有一个好的理解一个特定的软件模型的语义建模语言选择,如何建模语言是用来表达模型中实体和关系,建模者的经验基础和建模的环境中进行表示。即使在不完整的信息存在的情况下,也可以通过抽象来传达意义;语用学解释了如何在模型及其环境中体现意义,并有效地与其他软件工程师沟通。

然而,仍然有一些实例需要注意建模和语义。例如,必须检查从另一个模型或库导入的任何模型部件,以确定在新建模环境中存在冲突的语义假设;这可能并不明显。应该检查模型是否有文档化的假设。虽然建模语法可能是相同的,但是模型在新环境中可能意味着完全不同的东西,这是一个不同的环境。另外,考虑到随着软件的成熟和变更,可能会引入语义不和谐,从而导致错误。随着时间的推移,随着工具的更新和可能的新需求,许多软件工程师都在工作于一个模型部分,模型的一部分有机会表示与原始作者的意图和初始模型环境不同的东西。

1.4前置条件、后置条件和不变量

建模功能或方法时,软件工程师通常从一组关于软件在功能或方法执行之前、期间和之后的状态的假设开始。这些假设对于函数或方法的正确操作是至关重要的,并且被分组,作为一组先决条件、后置条件和不变量进行讨论。

先决条件:在执行函数或方法之前必须满足的一组条件。如果这些先决条件在函数或方法执行之前不保持,该函数或方法可能会产生错误的结果。

后置条件:在函数或方法成功执行后保证为真的一组条件。通常,后置条件表示软件的状态如何改变,传递给函数或方法的参数如何改变,数据值如何改变,或返回值如何受到影响。

不变量:操作环境中的一组条件,在函数或方法执行之前和之后保持不变(换句话说,不变)。这些不变量对软件和函数或方法的正确操作是相关和必要的。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1567

    浏览量

    68468
  • 软件
    +关注

    关注

    69

    文章

    4838

    浏览量

    87222
  • 建模
    +关注

    关注

    1

    文章

    301

    浏览量

    60750
  • 模型
    +关注

    关注

    1

    文章

    3184

    浏览量

    48763

原文标题:软件建模

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    [原创]GOCAD 2009 完整版功能强大的三维地质建模软件

    GOCAD 2009 完整版功能强大的三维地质建模软件GOCAD(Geological Object Computer Aided Design)软件是一款功能强大的三维地质建模
    发表于 10-30 16:54

    优化建模与LINGO、LINGO软件

    优化建模与LINGO软件源程序
    发表于 05-04 21:06

    Saber软件功率MOSFET自建模与仿真验证

    利用功率MOSFET手册,利用Saber软件里的自建模工具对功率MOSFET进行建模,并仿真验证其性能。淘宝上搜索“功率MOSFET建模”,则可看到课程链接。
    发表于 04-12 20:43

    3D建模软件中如何进行装配设计?

    的装配,浩辰3D建模软件都能够极速高效完成。今天小编将针对浩辰3D建模软件的装配设计中关键步骤,如新建装配、插入零部件、配合零部件、阵列和镜像、装配体修改等
    发表于 03-12 14:48

    3D软件中实体建模与曲面建模有什么区别?

    实体建模和曲面建模是3D设计中较为常用的两种三维建模方式,那么这两者在实际的绘图操作中有什么区别呢?又该如何区分使用这两种三维建模方式呢?下面就让小编以浩辰3D
    发表于 06-05 15:25

    软件建模仿真资料推荐

    1 建模软件需求的重要性(在什么层建什么样的模型)经常听到有人面试问我一些模棱liangke2 系统建模离不开对底层...
    发表于 07-02 07:43

    嵌入式系统的硬件和软件包括哪些内容

    嵌入式系统由硬件和软件组成.是能够独立进行运作的器件。其软件内容包括软件运行环境及其操作系统。硬件内容
    发表于 10-27 09:11

    软件过程建模方法研究

    软件过程建模方法研究:通过软件开发实践,人们逐步地认识到软件产品的质量在很大程度上依赖于产品开发时所使用的过程.软件过程
    发表于 10-31 09:00 14次下载

    基于UML建模软件测试系统设计

    随着现代软件开发中UML建模T具的广泛应用,如何对基于UML建模的开发模型进行测试,成为提高软件开发质量的关键。而当前针对软件测试的方案中
    发表于 11-16 11:45 9次下载
    基于UML<b class='flag-5'>建模</b>的<b class='flag-5'>软件</b>测试系统设计

    关于软件开发编程规范及原则

    软件开发编程规范及原则
    的头像 发表于 03-20 14:16 3128次阅读
    关于<b class='flag-5'>软件</b>开发编程规范及<b class='flag-5'>原则</b>

    医疗器械软件注册技术审查指导原则

    本指导原则是对医疗器械软件的一般性要求,制造商应根据医疗器械软件的特性提交注册申报资料,判断指导原则中的具体内容是否适用,不适用
    发表于 05-24 17:15 3次下载

    Device Studio结构建模5.7-5.8内容

    上一期的教程给大家介绍了Device Studio支持的文件类型及结构建模5.4-5.6的内容,本期继续介绍Device Studio结构建模5.7-5.8的内容
    的头像 发表于 07-12 14:43 1989次阅读

    是德科技器件建模2023软件套件包括哪些

    显著提升半导体器件建模工程师的团队效率,提高整个设计和开发工作流程的自动化程度。
    的头像 发表于 08-31 10:22 962次阅读

    gis空间分析包括哪些内容

    GIS(地理信息系统)空间分析是指通过使用GIS软件和方法,对地理空间数据进行处理、分析、建模和展示的过程。它结合了地理学、数学、计算机科学和统计学的原理和方法,在解决地理问题和支持决策过程中
    的头像 发表于 02-25 13:50 1703次阅读

    3D建模的重要内容和应用

    3D建模是一种技术,通过计算机软件创建虚拟三维模型,模拟现实世界中的物体或场景。这项技术广泛应用于建筑设计、电影制作、游戏开发、工程仿真等领域。下面古河云科技将介绍一些与3D建模相关的重要内容
    的头像 发表于 06-21 14:48 584次阅读