Object-Oriented Analysis and Design Course for Cloud Applications

We have launched a 47-part lecture series titled “Object-Oriented Analysis and Design for Cloud Applications” at the General Incorporated Association MaruLabo.

This page provides an overview of the course and links to each session.

Note: This course content is mainly written in Japanese. English translations are provided for reference.

Purpose

UML (Unified Modeling Language) was officially released by the OMG (Object Management Group) in 1997, followed by the emergence of the Unified Process (UP) in the early 2000s as the standard process for object-oriented analysis and design.

Nearly a quarter of a century has passed since then, and software development has evolved significantly by incorporating new technological trends such as agile development, cloud computing, DevOps, and functional programming.

UML/UP, which represents the pinnacle of object-oriented technologies, has a comprehensive and heavyweight specification that covers the entire object-oriented methodology. As a result, it has been losing visibility in environments where agile development is widely adopted.

Nevertheless, modern software development is undoubtedly grounded in object-oriented technologies, and it remains necessary to incorporate them effectively.

Originally, UML/UP was designed to define a profile by selecting only the models necessary for each project from a comprehensive specification, and to use this profile for modeling software systems.

From this perspective, the aim of this course is to define a modern object-oriented technology profile while ensuring a robust foundation based on traditional UML/UP.

The objectives of this course can be summarized in the following three points:

  1. Assess the current state of object-oriented analysis and design

  2. Introduce new technological elements and reconstruct modeling techniques

    • Cloud computing

    • DevOps

    • Functional programming

  3. Present practical modeling techniques tailored to each project

We aim to define profiles that can be realistically applied in actual development and present “practically usable object-oriented design methods.”

Course Structure

This course is structured into the following five sections:

  • Overview: Basics of UML/UP and the positioning of this course

  • Basic Models: Fundamental UML modeling techniques such as use case models, class diagrams, and statecharts

  • Disciplines: Explanation and organization of UP disciplines (business modeling, requirements, analysis, design, implementation, testing, etc.)

  • Application Architecture: Organizing software architecture for cloud-based applications and considering the application of UML

  • Case Study: Defining a profile and attempting practical modeling based on a realistically scaled application

Overview

Sessions 1 and 2 provide an overview of the course.

No. Title URL

1

Introduction

https://www.marulabo.net/docs/asami01/

2

Development Process

https://www.marulabo.net/docs/asami02/

This section introduces the fundamental concepts of UML and the Unified Process (UP), and raises key issues around how to reinterpret them in the context of modern cloud application development.

  • Historical background and significance of UML/UP

  • Criticism and reevaluation of heavyweight modeling techniques

  • Connection with modern technologies (cloud, DevOps, functional programming)

  • Objectives of this course and guidelines for its overall structure

This section serves as an introduction and is intended to support the foundational understanding for all 47 sessions of the course.

Basic Models

Sessions 3 through 9 explain object models used in object-oriented analysis and design.

No. Title URL

3

Basic Models

https://www.marulabo.net/docs/asami03/

4

Static Model (1)

https://www.marulabo.net/docs/asami04/

5

Static Model (2)

https://www.marulabo.net/docs/asami05/

6

Dynamic Model

https://www.marulabo.net/docs/asami06/

7

Collaboration Model

https://www.marulabo.net/docs/asami07/

8

Functional Model

https://www.marulabo.net/docs/asami08/

9

Physical Model

https://www.marulabo.net/docs/asami09/

This section explains the basic modeling techniques based on the three perspectives offered by UML: structure, behavior, and interaction.

  • Use case diagrams (clarifying functional requirements)

  • Class diagrams (foundation of structural modeling)

  • Object diagrams (representation of instance relationships)

  • Sequence and communication diagrams (depicting dynamic interactions)

  • Statechart and activity diagrams (visualizing behavior)

This section emphasizes how to express design intentions rather than just learning notation. The focus is on practical guidance—what diagram to use, at what level of detail, and at what stage in the development process.

In addition to covering all standard UML models, a functional model is also introduced.

Disciplines

Sessions 10 through 33 explain each discipline involved in executing object-oriented analysis and design development.

No. Title URL

10

Disciplines

https://www.marulabo.net/docs/asami10/

11

Business Modeling

https://www.marulabo.net/docs/asami11/

12

Requirements

https://www.marulabo.net/docs/asami12/

13

Requirements / Use Cases

https://www.marulabo.net/docs/asami13/

14

Requirements / Scenarios

https://www.marulabo.net/docs/asami14/

15

Analysis

https://www.marulabo.net/docs/asami15/

16

Analysis / Component Analysis

https://www.marulabo.net/docs/asami16/

17

Analysis / Event-Driven

https://www.marulabo.net/docs/asami17/

18

Design

https://www.marulabo.net/docs/asami18/

19

Design / Architecture

https://www.marulabo.net/docs/asami19/

20

Design / Component Design (1)

https://www.marulabo.net/docs/asami20/

21

Design / Component Design (2)

https://www.marulabo.net/docs/asami21/

22

Design / Component Design (3)

https://www.marulabo.net/docs/asami22/

23

Design / Domain Design (1)

https://www.marulabo.net/docs/asami23/

24

Design / Domain Design (2)

https://www.marulabo.net/docs/asami24/

25

Design / Domain Design (3)

https://www.marulabo.net/docs/asami25/

26

Design / Domain Design (4)

https://www.marulabo.net/docs/asami26/

27

Design / Domain Design (5)

https://www.marulabo.net/docs/asami27/

28

Design / Principles

https://www.marulabo.net/docs/asami28/

29

Design / UX/UI

https://www.marulabo.net/docs/asami29/

30

Implementation (1)

https://www.marulabo.net/docs/asami30/

31

Implementation (2)

https://www.marulabo.net/docs/asami31/

32

Implementation (3)

https://www.marulabo.net/docs/asami32/

33

Testing

https://www.marulabo.net/docs/asami33/

This section introduces the various disciplines in the Unified Process (UP) and clarifies how modeling fits into each.

  • Business modeling: Clarifying business domains and system boundaries

  • Requirements definition: Organizing use cases and actors

  • Analysis: Conceptual modeling and assignment of responsibilities

  • Design: Architectural layers and application of design patterns

  • Implementation & Testing: Connection to code and design support from a test-driven perspective

Rather than a rigid waterfall-style process, this section emphasizes the flexible application of processes suitable for iterative and evolutionary development.

Application Architecture

Sessions 34 through 39 cover the topic of application architecture.

No. Title URL

34

Application Architecture

https://www.marulabo.net/docs/asami34/

35

Cloud Native CBD

https://www.marulabo.net/docs/asami35/

36

Domain Subsystems

https://www.marulabo.net/docs/asami36/

37

Application Subsystems

https://www.marulabo.net/docs/asami37/

38

Presentation Subsystems

https://www.marulabo.net/docs/asami38/

39

Cloud Native Component Framework

https://www.marulabo.net/docs/asami39/

This section examines common architectural patterns in modern application development (particularly cloud-based), and proposes corresponding modeling strategies.

  • Relationship to architectural structures such as layered architecture, clean architecture, and DDD

  • Components in cloud-native environments (microservices, CI/CD, IaC, etc.)

  • Perspectives needed for integration with DevOps and SRE (operations, monitoring, resiliency, etc.)

  • Alignment with the functional paradigm (state management, immutability, separation of concerns)

Given that the “targets” of UML modeling have evolved, this section considers redesigning the appropriate levels and granularity of modeling.

Case Study

Sessions 40 through 47 present a case study, modeling a realistic application scenario.

No. Title URL

40

Case Study

https://www.marulabo.net/docs/asami40/

41

Business Model

https://www.marulabo.net/docs/asami41/

42

Requirements Model

https://www.marulabo.net/docs/asami42/

43

Requirements Model / BDD

https://www.marulabo.net/docs/asami43/

44

Analysis Model

https://www.marulabo.net/docs/asami44/

45

Design Model

https://www.marulabo.net/docs/asami45/

46

Implementation

https://www.marulabo.net/docs/asami46/

47

Testing

https://www.marulabo.net/docs/asami47/

Through building models for a hypothetical real-world system, this section examines how theoretical techniques can be practically applied.

  • Begins with requirements analysis of the target system and proceeds step-by-step through model construction

  • Profile definition: selecting only diagrams that suit the purpose, rather than using all models

  • Concrete examples of maintaining model consistency and managing scope

  • Clarifies the role of the design model as a bridge to implementation

This section explores what constitutes a "necessary and sufficient" model, and what remains when design techniques are streamlined—shedding light on both the feasibility and limits of reconstructing UML/UP.

Full Lecture List

This is the complete list of lectures.

No. Title URL

1

Introduction

https://www.marulabo.net/docs/asami01/

2

Development Process

https://www.marulabo.net/docs/asami02/

3

Basic Models

https://www.marulabo.net/docs/asami03/

4

Static Model (1)

https://www.marulabo.net/docs/asami04/

5

Static Model (2)

https://www.marulabo.net/docs/asami05/

6

Dynamic Model

https://www.marulabo.net/docs/asami06/

7

Collaboration Model

https://www.marulabo.net/docs/asami07/

8

Functional Model

https://www.marulabo.net/docs/asami08/

9

Physical Model

https://www.marulabo.net/docs/asami09/

10

Disciplines

https://www.marulabo.net/docs/asami10/

11

Business Modeling

https://www.marulabo.net/docs/asami11/

12

Requirements

https://www.marulabo.net/docs/asami12/

13

Requirements / Use Cases

https://www.marulabo.net/docs/asami13/

14

Requirements / Scenarios

https://www.marulabo.net/docs/asami14/

15

Analysis

https://www.marulabo.net/docs/asami15/

16

Analysis / Component Analysis

https://www.marulabo.net/docs/asami16/

17

Analysis / Event-Driven

https://www.marulabo.net/docs/asami17/

18

Design

https://www.marulabo.net/docs/asami18/

19

Design / Architecture

https://www.marulabo.net/docs/asami19/

20

Design / Component Design (1)

https://www.marulabo.net/docs/asami20/

21

Design / Component Design (2)

https://www.marulabo.net/docs/asami21/

22

Design / Component Design (3)

https://www.marulabo.net/docs/asami22/

23

Design / Domain Design (1)

https://www.marulabo.net/docs/asami23/

24

Design / Domain Design (2)

https://www.marulabo.net/docs/asami24/

25

Design / Domain Design (3)

https://www.marulabo.net/docs/asami25/

26

Design / Domain Design (4)

https://www.marulabo.net/docs/asami26/

27

Design / Domain Design (5)

https://www.marulabo.net/docs/asami27/

28

Design / Principles

https://www.marulabo.net/docs/asami28/

29

Design / UX/UI

https://www.marulabo.net/docs/asami29/

30

Implementation (1)

https://www.marulabo.net/docs/asami30/

31

Implementation (2)

https://www.marulabo.net/docs/asami31/

32

Implementation (3)

https://www.marulabo.net/docs/asami32/

33

Testing

https://www.marulabo.net/docs/asami33/

34

Application Architecture

https://www.marulabo.net/docs/asami34/

35

Cloud Native CBD

https://www.marulabo.net/docs/asami35/

36

Domain Subsystems

https://www.marulabo.net/docs/asami36/

37

Application Subsystems

https://www.marulabo.net/docs/asami37/

38

Presentation Subsystems

https://www.marulabo.net/docs/asami38/

39

Cloud Native Component Framework

https://www.marulabo.net/docs/asami39/

40

Case Study

https://www.marulabo.net/docs/asami40/

41

Business Model

https://www.marulabo.net/docs/asami41/

42

Requirements Model

https://www.marulabo.net/docs/asami42/

43

Requirements Model / BDD

https://www.marulabo.net/docs/asami43/

44

Analysis Model

https://www.marulabo.net/docs/asami44/

45

Design Model

https://www.marulabo.net/docs/asami45/

46

Implementation

https://www.marulabo.net/docs/asami46/

47

Testing

https://www.marulabo.net/docs/asami47/