---
title: "UML Complex Application Design - José DA COSTA"
description: "Model complex application designs using UML diagrams including class diagrams, sequence diagrams, use case diagrams, component diagrams, and deployment diagrams."
locale: "en"
canonical: "https://portfolio.josedacosta.info/en/skills/uml-application-design"
source: "https://portfolio.josedacosta.info/en/skills/uml-application-design.md"
html_source: "https://portfolio.josedacosta.info/en/skills/uml-application-design"
author: "José DA COSTA"
type: "skill"
slug: "uml-application-design"
generated_at: "2026-04-23T15:44:11.448Z"
---

# UML Complex Application Design

**Technical competency** - master-software-engineering (Master) - Proficient

## Competency description

Model complex application designs using UML diagrams including class diagrams, sequence diagrams, use case diagrams, component diagrams, and deployment diagrams.

## Personal Confidence

**Proficient** - 3/5

Scale: 1. Foundational · 2. Developing · 3. Proficient · 4. Advanced · 5. Expert

This reflects my personal confidence in applying this competency in real-world professional situations, based on hands-on experience, continuous learning, and practical outcomes.

## Details

- Domain: Hard skill (technical)
- Source: master-software-engineering (Master)
- Confidence level: 3/5 (Proficient)
- Category: architecture

## Progression across journey

This skill was developed across 2 different journey items.

- **2009** - [Software Engineer · PHP Zend Framework Developer](https://portfolio.josedacosta.info/en/journey/european-sourcing-engineer.md) (experience) - Confidence: 2/5
- **2023** - [master-software-engineering](https://portfolio.josedacosta.info/en/journey/master-software-engineering.md) (education) - Confidence: 3/5

## Related curriculum topics

- **Effectively Initiating an IS Project** (Block 1 - Client Relationship Management in Software Engineering): Application view - functional coverage
- **UX and Wireframing** (Block 1 - Client Relationship Management in Software Engineering): Design thinking at the service of marketing strategy, User Experience and UX Design, Interaction design, Responsive design, Design systems, Atomic design, Mobile-first design, Visual design basics, Forms and input design
- **Design Thinking** (Block 1 - Client Relationship Management in Software Engineering): Discovery and history of Design Thinking, History and evolution of Design Thinking, The 5 phases of Design Thinking (overview), Design Thinking in the business world, Design Thinking phase 1: Empathize, Design Thinking phase 2: Define, Design Thinking phase 3: Ideate, Design Thinking phase 4: Prototype, Design Thinking phase 5: Test, Design Thinking and Agile/Scrum, Design Thinking and Lean Startup, Design Thinking and UX Design, Design Thinking in software engineering, Design Thinking for complex problems, Design Thinking and innovation, Measuring impact and ROI of Design Thinking, Design Thinking tools and software
- **Advanced Agile Methods / Scrum** (Block 2 - Software Engineering Project Management): Design Sprint
- **JavaScript: Introduction and Object-Oriented Programming** (Block 3 - Software Development): Bakery Application / Analysis, Bakery Application / Coding, Bakery Application / The pastry chefs, Bakery Application / Solution
- **JavaScript: Event-Driven and Asynchronous Programming** (Block 3 - Software Development): Weather Application (Part 1), Weather Application (Part 2), Weather Application (Part 3), Weather Application (Part 4)
- **Front-End Development Fundamentals with Angular** (Block 3 - Software Development): Editing our application
- **Advanced Git - GitHub and GitLab** (Block 3 - Software Development): Designating commit ranges
- **Application Deployment** (Block 3 - Software Development): Deployment in the application lifecycle, Semantic versioning of an application, Continuous integration of an application, Continuous deployment of an application, Application monitoring
- **Kubernetes for Container Orchestration** (Block 3 - Software Development): Deploying an application with Helm, Deploying an application with Helm: demonstration
- **Mastering the Kotlin Language** (Block 3 - Software Development): Complex objects (advanced chapter)
- **Developing Android Mobile Applications in Kotlin** (Block 3 - Software Development): Internationalizing your application, Mastering your application's theme
- **Building a REST API with Spring Boot** (Block 3 - Software Development): Explore the file structure and start the application
- **Design Patterns in Java** (Block 4 - Advanced Software Architecture Design): Introduction: GoF Design Patterns, the legend, Description of Creational Design Patterns, Description of the Singleton Design Pattern, Description of the Factory Method Design Pattern, Description of the Abstract Factory Design Pattern, Description of Builder and Prototype Design Patterns, Description of Structural Design Patterns, Description of the Proxy Design Pattern, Description of the Composite Design Pattern, Description of the Adapter Design Pattern, Description of the Facade Design Pattern, Description of the Decorator Design Pattern, Description of Flyweight and Bridge Design Patterns, Description of Behavioral Design Patterns, Description of the Observer Design Pattern, Description of the Strategy Design Pattern, Description of the Iterator Design Pattern, Description of the Interpreter Design Pattern, Description of the Chain of Responsibility Design Pattern, Description of Template Method and Mediator Design Patterns, Description of Visitor and Memento Design Patterns, Description of Command and State Design Patterns, Other Design Patterns: Composite Specification Example, Implementation of the Composite Specification Design Pattern
- **Web Application Security** (Block 4 - Advanced Software Architecture Design): Introduction to web application security, Authentication and authorization in web applications, Recommendation A04-2021: Insecure Design
- **Advanced Algorithms** (Block 4 - Advanced Software Architecture Design): Searching, a complex task?, Sorting complexity
- **NoSQL** (Block 4 - Advanced Software Architecture Design): Neo4j, complex graph: demonstration
- **Application Test Plans** (Block 4 - Advanced Software Architecture Design): Practical application of TDD
- **Business English** (Block 5 - English Language Proficiency Preparation): How to handle complex or ambiguous topics
- **Advanced Business English** (Block 5 - English Language Proficiency Preparation): Handling Complex Sales Cycles and Objections

## Broader curriculum context

Other modules from the same training program that provide complementary context:

- **Functional Analysis of an IS Project** (Block 1 - Client Relationship Management in Software Engineering): Introduction - Definition, Types of functional analyses, The functional specifications document, Steps of functional analysis, Needs analysis
- **IT Contract Law** (Block 1 - Client Relationship Management in Software Engineering): Notions of obligations, Introduction to IT contracts, The content of the IT contract, Obligations of IT service providers, The client's obligations
- **Cross-Functional Management** (Block 1 - Client Relationship Management in Software Engineering): The fundamentals of management, From vertical to transversal management, Why cross-functional management?, The different forms of cross-functional management, Resistance to cross-functional management
- **Leading and Managing a Team** (Block 1 - Client Relationship Management in Software Engineering): Management fundamentals, Manager onboarding, Recruitment, Employee onboarding, The four management styles
- **Executing and Managing a Software Engineering Project** (Block 2 - Software Engineering Project Management): What is project management for?, Differences between projects and operations, Discovering the project context, Defining the project scope, Establishing the project charter
- **Leadership and Management** (Block 2 - Software Engineering Project Management): What is management?, Key missions of a manager, What is leadership?, Different leadership styles, Start by knowing yourself (better)
- **Project Communication** (Block 2 - Software Engineering Project Management): What is a project?, Defining communication, Different types of communication, At which project stages to communicate, Why communicate in a project
- **Developing Web Applications with TypeScript** (Block 3 - Software Development): Introduction to TypeScript, Installing and configuring TypeScript, Fundamental types, Tuple types, Object and Array types
- **Advanced Front-End Development with Angular** (Block 3 - Software Development): Introduction, Setting up the base project, Routes, Navigation, Passing parameters to routes
- **Mastering Java SE** (Block 3 - Software Development): Presentation and history of the Java ecosystem, Presentation and installation of JDK 17, Presentation and installation of Eclipse 2022-12, First class: the HelloWorld class, Primitive types, objects, and arrays
- **Developing in Java with Spring and Hibernate** (Block 3 - Software Development): Introduction to Jakarta EE and Spring, Introduction to Jakarta Persistence and Hibernate, Spring projects, Presentation of the Reviews project, Spring layered models and the concept of stereotypes
- **Mastering Docker and DevOps** (Block 3 - Software Development): What is DevOps?, Introduction to Docker, Installing Docker, Managing Docker images, Launching and managing containers
- **SOLID Principles in Java** (Block 4 - Advanced Software Architecture Design): The code quality challenge, SOLID principles, a response to maintainable code challenges, S: Single Responsibility Principle Introduction, Violating the Single Responsibility Principle, Respecting the Single Responsibility Principle
- **Software Architecture** (Block 4 - Advanced Software Architecture Design): The necessity of software architecture, Overview of software architectures, Introduction to monolithic architecture, Monolithic architecture use cases, Implementing monolithic architecture in Java
- **Complex Application Design with UML** (Block 4 - Advanced Software Architecture Design): Introduction to structural modeling with UML, Class diagram (classes and inheritance), Class diagram with Visual Paradigm, Translating the class diagram to code (classes and inheritance), Class diagram (relationships and multiplicity)
- **Functional Programming in Scala** (Block 4 - Advanced Software Architecture Design): Introduction to functional programming, Rules and laws on functions, Introduction to Scala, Installing IntelliJ IDEA / Using SBT, An overview of Scala
- **Distributed Architecture and Big Data** (Block 4 - Advanced Software Architecture Design): Introduction to Big Data, Distributed architecture, Business implications of Big Data and distributed architecture, Database management systems, NoSQL
- **Data Structures** (Block 4 - Advanced Software Architecture Design): The right data structure, What does a graph contain?, Directed and undirected graphs, Weighted graphs, Graph data structure
- **Introduction to Machine Learning** (Block 4 - Advanced Software Architecture Design): Machine Learning in full expansion, Discover Machine Learning concepts, Understand supervised learning, Visualize the lifecycle of a Machine Learning project, Set up your work environment
- **Intermediate Business English** (Block 5 - English Language Proficiency Preparation): Professional English Communication in Sales, Professional English Communication in Sales, Communication via Phone and Email, Managing Misunderstandings and Expressing Disagreement in English Conversations, Differences between French and Anglo-Saxon Cultures
- **English: TOEIC Preparation** (Block 5 - English Language Proficiency Preparation): Introduction to TOEIC®, Types of TOEIC®, Focus on the TOEIC®: Listening and Reading, The new TOEIC®, How to prepare
- **Human Resources English** (Block 6 - Preparatory and Reinforcement Modules): Introducing yourself and your position, HR professions in the workplace, Understanding and using professional communication codes (hierarchy, distance, formal-informal), Collecting needs and adapting a job description for international recruitment, Writing a clear and attractive job posting in English

## Other technical competencies from the same diploma

- [Software Architecture Patterns](https://portfolio.josedacosta.info/en/skills/software-architecture-patterns.md) - Design scalable software systems using architectural patterns such as layered architecture, hexagonal architecture, microservices, event-driven archit
- [SOLID Principles & Clean Code](https://portfolio.josedacosta.info/en/skills/solid-principles-clean-code.md) - Apply SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) and clean code practices
- [Design Patterns (Gang of Four)](https://portfolio.josedacosta.info/en/skills/design-patterns-gof.md) - Implement Gang of Four design patterns (Creational, Structural, Behavioral) to solve recurring design problems and build flexible, reusable object-ori
- [Testing Strategy & Software Quality](https://portfolio.josedacosta.info/en/skills/testing-strategy-quality.md) - Define and execute comprehensive testing strategies including unit testing, integration testing, end-to-end testing, TDD/BDD practices, and software q
- [Web Application Security (OWASP)](https://portfolio.josedacosta.info/en/skills/web-application-security-owasp.md) - Secure web applications by applying OWASP Top 10 guidelines, implementing authentication/authorization, preventing injection attacks, XSS, CSRF, and c
- [JavaScript Programming (OOP, Event-Driven, Async)](https://portfolio.josedacosta.info/en/skills/javascript-programming.md) - Master JavaScript programming paradigms including object-oriented programming, event-driven architecture, asynchronous patterns (Promises, async/await
- [TypeScript Development](https://portfolio.josedacosta.info/en/skills/typescript-development.md) - Develop type-safe applications with TypeScript, leveraging advanced type systems, generics, decorators, interfaces, and integration with modern framew
- [Java SE Programming](https://portfolio.josedacosta.info/en/skills/java-se-programming.md) - Program robust applications in Java SE, mastering core concepts such as collections, generics, streams, multithreading, I/O, and the JVM ecosystem.
- [Java Spring & Hibernate](https://portfolio.josedacosta.info/en/skills/java-spring-hibernate.md) - Develop enterprise applications using Spring Framework (Boot, MVC, Security, Data) and Hibernate ORM for database persistence, transaction management,
- [REST API Design & Implementation](https://portfolio.josedacosta.info/en/skills/rest-api-design.md) - Design and implement RESTful APIs following best practices including resource modeling, HTTP methods, status codes, authentication, versioning, docume

## Acquired during: Master Expert in Software Engineering

Master Expert in Software Engineering at ESIEA (2023-2026), RNCP Level 7. Covers the full software lifecycle: architecture, development, DevOps, project management, and team leadership.

[See full journey entry](https://portfolio.josedacosta.info/en/journey/master-software-engineering.md)

Full interactive page with navigation: https://portfolio.josedacosta.info/en/skills/uml-application-design
