数字世界的全球技能和能力框架

软件设计 SWDN

构建和设计软件以满足特定要求,确保遵循既定的标准和原则。

指导说明

活动可能包括但不限于:

  • 设计和构建软件应用程序、组件、接口和相关特性(包括安全性)
  • 从一开始就针对可扩展性、性能、弹性、安全和隐私进行设计,并与云计算、分布式系统和数据保护保持一致
  • 应用设计概念、模式、建模技术和架构风格(如微服务、无服务器和领域驱动设计)来开发软件设计和架构,作为软件构建和验证的基础
  • 评估替代解决方案与折中方案,推动设计决策的制定
  • 考虑功能性和非功能性需求,例如目标环境、性能、安全性、可扩展性以及与现有系统的集成
  • 根据工作环境采用和调整软件设计模型、工具和技术,包括云原生架构、边缘计算、信息物理系统以及敏捷和迭代设计实践等现代实践
  • 开发原型/模拟,促进明智决策的制定。

与代码级别的编程和设计不同,此技能侧重于更高级别的设计,解决架构和系统范围的考量因素。

了解此技能的责任级别

在未定义较低级别的情况下...
  • 没有定义具体的任务和职责,因为该技能需要比这些级别的通常预期的更高的自主性、影响力和决策复杂性。您可以使用本质语句来了解与这些级别相关的一般职责。
如果未定义更高的级别...
  • 职责和问责制没有定义,因为这些更高层次涉及战略领导和更广泛的组织影响力,超出了这一特定技能的范围。请参阅本质陈述。

发展技能并展示与该技能相关的责任

定义的级别显示了技能和责任的增量进展。

在未定义较低级别的情况下...

您可以通过以下方式发展您的知识并支持在该领域负有责任的其他人:

  • 学习与此技能相关的关键概念和原则及其对您的角色的影响
  • 执行相关技能(请参阅相关的 SFIA 技能)
  • 支持他人执行更高级别的任务和活动
如果未定义更高的级别...
  • 你可以通过发展更适合更高层次组织领导的相关技能来取得进步。

显示/隐藏额外的描述和级别。

该技能的责任级别

2 3 4 5 6

软件设计: 级别 2

级别 2 — 协助: 该级别的本质:为他人提供帮助,在日常监督下工作,利用自己的判断力解决常规问题。通过培训和在职经验积极学习。

为简单的软件应用程序或组件创建和记录详细设计。应用约定的建模技术、标准、模式和工具。协助设计大型软件系统的组件,确保符合总体设计要求,包括安全性。审查自己的工作。

软件设计: 级别 3

级别 3 — 应用: 该级别的本质:使用标准方法和程序执行各种任务,有时是复杂和非常规任务。在一般指导下工作,行使自主权,在截止日期内管理自己的工作。在工作场所积极主动地提高技能和影响力。

承担中等复杂度软件应用程序或组件的完整设计。应用约定的标准、指南、模式和工具。作为团队的一员,协助设计大型软件系统的组件。指定用户和/或系统接口。创建多个设计视图来解决不同利益相关者的担忧,并处理功能性和非功能性需求,同时考虑所有相关因素,包括安全性。协助评估选项和折中选项。酌情与他人合作审查工作。

软件设计: 级别 4

级别 4 — 帮助: 该级别的本质:执行各种复杂的活动,支持和指导他人,在适当时委派任务,在一般指导下自主工作,并为实现团队目标贡献专业知识。

设计和构建复杂的软件应用程序、组件和模块。根据约定的软件设计标准、指南、模式和方法,使用适当的建模技术。生成并传达多个设计视图,以解决利益相关者的担忧,并满足包括安全性在内的功能性和非功能性要求。识别、评估和推荐设计备选方案和折中方案。对提议的软件行为进行建模、模拟或原型化,以获得利益相关者的批准并促进有效的软件构建。根据规范审查、验证和改进自己的设计,并领导对他人设计的审查。

软件设计: 级别 5

级别 5 — 确保,建议: 该级别的本质:在其专业内提供权威性指导,并在广泛的指导下开展工作。负责交付从分析、执行到评估的重要工作成果。

指定、设计和构建大型或复杂软件应用、组件和模块。采用和调整软件设计方法、工具和技术。对主要设计方案进行影响分析,提出建议,评估和管理相关风险。指定原型/模拟以实现明智的决策。评估软件设计,以确保遵守标准并确定纠正措施。确保软件的设计平衡了功能、质量、安全性和系统管理等多方面需求。促进组织软件设计、架构策略与标准的开发。

软件设计: 级别 6

级别 6 — 主动,影响: 该级别的本质:对组织有重大影响,做出高层决策,制定政策,展现领导力,促进组织协作,并在关键领域接受问责。

领导软件设计和架构方法、工具和技术的选择和开发。定义和维护架构原则、模式和框架,以指导整个组织的软件设计和开发。确保遵守技术策略和系统架构(包括安全性)。