西门子Polarion和ESD支持软件工程敏捷开发
陈方瑜, 亚太ALM资深顾问
Realize innovation.
Restricted © Siemens AG 2018
© Siemens AG 2018
议题
1. 嵌入式软件开发现状
2. 软件开发的敏捷交付
3. 西门子软件开发平台Polarion
© Siemens AG 2018
YYYY-MM-DD
Page 3 Siemens PLM Software
面临的问题
“如何协同团队的工作,遇到问题如何去追溯和定位?”
“面对不断变更的需求,如何能够确定变更影响的广度和深度,并对软件开发路线做出正确及时的修正?”
“如何缩减研发成本? ”
“如何有效地复用已有的设计?”
“如何提高开发效率?”
“如何保证代码的功能可靠性与安全性?”
“如何确定后续技术的改进方向?”
© Siemens AG 2018
架构师产品
目前典型的场景
在独立的系统中管理需求
Problems with isolated requirements and domain silos
• 难以理解完整的产品定义
• 过时的信息
• 缺乏协作、协调和计划
• 没有跨域可追溯性或依赖关系
• 工件的版本不一致
• 无法跨区域配置数据和变体
• 缺乏跨域变更影响评估
?
?
工程师系统 机械
工程师 电气
工程师 测试/质量
工程师
Word Excel
工程师软件
DOORS
孤立的需求和独立领域的问题
?
? ? ? ? ? ? ? ? ?
© Siemens AG 2018
YYYY-MM-DD
Page 5 Siemens PLM Software
理想的功能需求与软件实现的过程(趋势)
Sensor Processing
Control
Actuator Processing
User Interface
需求分析 软件架构 代码开发(IDE)
需求与架构关联
需求与代码关联 架构与代码关联
同一集成开发环境
© Siemens AG 2018
议题
1. 嵌入式软件开发现状
2. 软件开发的敏捷交付
3. 西门子软件开发平台Polarion
© Siemens AG 2018
YYYY-MM-DD
Page 7 Siemens PLM Software
西门子战略驱动软件交付业务转型
现状 未来 (2020 horizon)
• 考虑单一产品的系统工程问题,单一产品的功能 网络
• 描述性系统分解和结构模型
• 基于人为决策,基于文档的产品安全,可靠性 分析
• 嵌入式软件架构的有限扩展性
• 维护阶段的诊断和软件升级,软件兼容性和依赖 性的可视化程度低
• 预定义的系统行为
• 设计、开发、制造的烟囱式管理
• 交互产品的系统工程。用户、产品、基础设施设备和环 境事件的功能网络
• 仿真系统模型行为,预测大量复杂场景的的处理
• 自动化程度增加,产品必须满足制造、维护、风险评估、
测试和维修的高标准
• 多个传感器,多个功能的复杂架构,同时提供冗余
• 从测试、运营现场到上游研发的闭环反馈,远程监控、
诊断、维修和升级
• 自适应和预测性系统行为
• DEVOPS和敏捷的产业化实践
© Siemens AG 2018 需求
系统仿真
特征
多领域系统建模&设计 Multi-Domain System
Modeling & Design
功能
西门子解决方案的与众不同
数字化转变:跨领域系统驱动设计
010100 010001 001011
多领域仿真 Multi-Domain Simulation
Convergent modeling
多物理 虚拟仿真客户述求 Customer
Needs
验证 确认 Verification Validation
数字化制造 Digital Manufacturing
性能智慧化优化 Performance
intelligence
持续集成,验证和确认
端到端的追溯 —更改和配置编排
© Siemens AG 2018
YYYY-MM-DD
Page 9 Siemens PLM Software
愿景-西门子工业软件提供软件工程价值链
集成软件价值链
Integrated SOFTWARE Value Chain
敏捷系统工程
Agile Systems Engineering
追溯自动化 AUTOMATE Traceability
集成服务数据 Integrate
“in-service” Data
集成制造 Integrate Manufacturing
DEV OPS
for Embedded Systems
可视化和仿真 Virtualization and
Simulation
生命周期管理 持续交付
Lifecycle Management Continuous Delivery
持续验证&确认 Continuous verification & validation
持续集成反馈 Continuous integrated feedback
In the Loop 精益敏捷
L E AN A G I L E
集成供应商 Integrate Suppliers
芯片到产品 Chip to product
闭环
© Siemens AG 2018
硬件&软件Hardware & Software 共仿真 co-simulation
独一无二的集成软件工程价值链
为分布式软件优化EE系统
Optimized EE Systems for distributed Software
产品层次设计权衡 多系统集成
Product level trade-offs &
multi-systems integration
安全、可靠软件开发
Secure, Reliable & Safe Software Development
软件建模Software modeling &
行为性能工程behavior engineering
控制&算法开发 Controls &
Algorithm Development EE建模&架构
E/E Modeling &
Architecture
重用 Reuse
UTILIZE UTILIZE REALIZE
REALIZE 追溯
Traceability
T EA MCEN T ER
CONCEPTUALIZE CONCEPTUALIZE
协同
Collaboration
Polari on A LM
编排端到端的软件开发 Orchestrate end-to-end Software development
闭环验证&确认 Closed-loop Verification
& Validation 从芯片到产品
From Chip to Product
© Siemens AG 2018
YYYY-MM-DD
Page 11 Siemens PLM Software
嵌入式系统研发流程
LMS™ ESD
系统需求
系统设计
PCB布线投板焊接
软件模块代码编写 零部件加工制造
系统集成 产品发布
AADL 导入
数据字典 物理单位
定义模块 定义接口
定义功能
状态机
与需求关联 定义代码分析项
定义模块单元测 试 模块接口约束
架构模型细化
C代码编写
C代码导入
执行模块单元测 试
编码规范验证 测试结果自动
与需求验证 从需求触发单元
测试
Simulink 模型导入
软件实现 与单元测试
软件架构工程师
软件工程师、算法工程师
测试工程师
软件集成 与集成测试
软件功能分支管
理 从需求触发
集成测试
集成测试结果 与需求验证 与被控对象模型
闭环验证
系统架构创建 创建系统架构
ESD
Simulink 架构导入
需求导入 Polarion
需求创建 ESD
AUTOSAR接口
SysML导入
系统工程师 项目经理
基于需求和约束 完成
软件开发全过程
Tc System Modeler
Polarion
© Siemens AG 2018
模型驱动的嵌入式软件研发流程
模型驱动的嵌入式软件研发流程主要体现在:
设计阶段:
开发阶段:
测试与验证阶段:
l 软件编写之前必须首先进行系统架构 设计和确认
l 所有的功能架构都必须有与之相对应 的测试计划
l 架构设计中的功能模块必须与需求点 一一对应
l 图形化的编程方式 l 复用已有的代码设计
l 支持算法模型的导入与集成 l 算法开发的同时,实现模块测试
用例的开发
l 编码规范的校验
l 针对不同功能模块的测试用例管 理
l 单元测试/集成测试 l 测试用例自动执行
l 测试结果与需求点一一对应进行
验证
© Siemens AG 2018
YYYY-MM-DD
Page 13 Siemens PLM Software
相对传统IDE的新增功能
多种代码编写 方式:C代码、
真值表、状态 机、图形编程、
代数公式…
C代码 导入功能
Simulink 模型导入
测试用例开发 与执行 编码规范验证
与仿真模型的 闭环验证
与ALM工具集成 实现需求、代 码、测试多向
关联 传统IDE
l 代码编辑 l 编译链接 l 断点调试
© Siemens AG 2018
1.系统架构设计阶段
ü
通过与ALM工具的集成实现需 求项与测试用例的双向追溯。通过在POLARION中制定需求 条目,可直接关联到ESD中开 发的测试用例
ü
同时在ESD中的仿真测试结果 可直接导入POARION中进行 与需求性能指标的验证。通过关联检查确认软件所有需求点都能被功能模块覆盖
ESD
Polarion
© Siemens AG 2018
YYYY-MM-DD
Page 15 Siemens PLM Software
代码编写
2.软件实现阶段
导入选项:
l 无需任何改动导入已有C文件 l 导入已有的模块配置管理H文件
l C文件导入过程中自动进行编码规范检查 将复用代码导入工程的优势在于:
l 消除功能定义配置选项中相冲突的代码 错误
l 使代码开发中的功能加载项更加直观,
便于后期维护和修改。
导入功能:
• 导入Simulink与Stateflow模型
• 导入模型初始化数据 优势:
• 将Simulink与Stateflow开发的控制策略与 C代码无缝集成
• 缩短控制策略与软件集成的时间,提供开 发效率
• 提高软件质量 C代码
决策表 数学表达式 有限状态机
提供标准的库模块
IDE强制进行代码检查 软件
模块
检查 规则
语法检查
Warning OK
l 实时检查输入的语法错误 l 实时检查编码规则冲突
(MISRA)
l 实时检查变量物理单位在赋 值过程中的一致性
代码复用 代码与模型集成
在架构模型定义的功能模块中 填充实际软件算法
通过软件工具将需要 复用的C代码导入工程
导入Simulink/Stateflow模型 与算法代码进行集成
© Siemens AG 2018
3.测试与验证阶段
ü
在ESD中的仿真测试结果可直 接导入POARION中进行与需 求性能指标的验证。ü
ESD中的测试结果自动上传到 Polarion中进行统一管理。ü
Polarion为测试未通过项自动 创建问题回归任务通过关联检查确认软件所有BUG都经过迭代完成回归
Polarion
ESD
© Siemens AG 2018
YYYY-MM-DD
Page 17 Siemens PLM Software
研发流程总结
项目经理 1
建立需求和对应测试用例
软件架构师 2
定义软件架构,定义接口约束,
功能配置,测试计划等
3
项目经理
修改完善软件架构
4 4
软件工程师
控制工程师
代码开发 复用
向ESD中导入 Simulink控制策略
5 模型工程师
5 6
7
算法和测试用例集 成编译连接 监控项目所有
任务的执行进 度
问题回归
测试未通过项 自动创建回归
任务
8
9
软件工程师
测试工程师
核对功能需求,对变更 进行调整
测试用例自动执行 测试结果验证
软件架构模块细化 填充
软件架构合理性分析,软 件与需求一致性分析
软件架构师
-
91
© Siemens AG 2018
议题
1. 嵌入式软件开发现状 2. 软件开发的敏捷交付
3. 西门子软件开发平台Polarion
© Siemens AG 2018
YYYY-MM-DD
Page 19 Siemens PLM Software
西门子Polarion ALM
ü 公司成立于2004, 总部在德国斯图加特,2015年被西门子 收购
ü 2005年发布了第一款100%基于 网页的 统一的 全生命周期 管理平台Application Lifecycle Management (ALM) ü 10年来一直致力于灵活的协同合作,完整的可跟踪性,实时协
作和直观的用户界面
ü 10年来公司稳步增长,客户满意度不断提高
财富 1000
250+ 2.5+M 用 户
200+ 扩展
注册的 社区会 员
15K
软件
需求管理 构建&发布 管理
协同合作&
可跟踪性 工作流程
敏捷/混合 项目管理 变更&配置
管理
重用&分支 管理
测试&质量 管理
问题&风险 管理
计划&资源 管理 审计&度量
管理
© Siemens AG 2018
Polarion ALM客户集
广泛的、忠 诚的客户基础
© Siemens AG 2018
YYYY-MM-DD
Page 21 Siemens PLM Software
有标准模板的认证工具
唯一一个同时得到IEC 61508/ISO 26262认证的工具 模板: CMMI, FAA, FDA, IEC, ISO, SPICE 等等
“ 我们对Polarion的ISO 26262的工具资格感到兴奋,它帮助我们节省了大量 在自己的认证过程中消耗的时间和金钱。”
– Maria Eugenia Zuniga
Quantum Technologies
© Siemens AG 2018
Polarion ALM – 三大支柱
协同合作
可追溯性
重用
© Siemens AG 2018
YYYY-MM-DD
Page 23 Siemens PLM Software
ALM 三大支柱
安全的协同合作
.
通过细粒度的权限控制和健壮的可配 置自动化工作流来轻松和安全地协同
合作并共享资产
安全的协同合作
© Siemens AG 2018
ALM 三大支柱
确保可追溯性
.
使用Polarion,您可以确保在开发过程中每一步的信 息的完整性
每一步都只是点击一下 — 从修改的代码行开始到高 级的变更请求
确保可追溯性
© Siemens AG 2018
YYYY-MM-DD
Page 25 Siemens PLM Software
ALM 三大支柱
有效地重用
.
60%-80%的需求、代码和测试都是在项目之 间共享的。
重用、分支和合并您的数据,以支持项目或 产品线进行有效的串行开发或并行开发
有效地重用
© Siemens AG 2018
ALM
测试与质量保证
问题与缺陷管理 更改与配置
审计指标报告 资源管理
构建和版本管理 软件变体管理
软件需求管理
选择采用 ALM 来获得以下优势…
生命周期可跟踪性
更改影响分析
配置与版本控制
可查证并安全可靠
可实现重用
© Siemens AG 2018
YYYY-MM-DD
Page 27 Siemens PLM Software
测试与质量保证
问题与缺陷管理
更改与配置
审计指标报告 资源管理
构建和版本管理 软件变体管理
软件需求管理
ALM
eQube
LMS
Simulink LMS
Magic Draw
PLM Tc MATLAB
Perforce Git
Eclipse
Klocwork Vector
LDRA
SPARQL
ISO、
SPICE w3C