Designing Microservices with Use Cases and UML

Date of Award

2023

Degree Name

M.C.S. (Master of Computer Science)

Department

Department of Computer Science

Advisor/Chair

Raghava Gowda

Abstract

In recent years microservices architecture (MSA) has been widely adopted as an alternative to the traditional monolithic architecture in most of the commercial applications because of the need for the extensibility of a wide variety of services and deployability. Monolithic software architectures include Data-Centered Architectures, Data-Flow Architectures, Call and Return Architectures, Object-Oriented Architectures, and Layered Architectures. The monolithic approach included where all the logic and data requirements are bundled together. In recent years large scale software applications by Amazon, Netflix, Uber, and other organizations have felt a need to partition the functionalities into independently deployable units which are called microservices. In this thesis we also explore using the essential concepts of coupling, cohesion, and top-down decomposition that are used for monolithic architectures to microservices also. One of the major requirements for an independently deployable microservice is embedding data components in that microservice unit. We identify use cases with data components for any task and define them using use case descriptions, input/output designs, activity diagram, entity descriptions for the inputs/outputs and a system sequence diagram. The system sequence diagram triggers the logical aspects of the system with the domain classes and data access and view classes. The completeness of the various classes is examined using Class Responsibility Collaboration (CRC) cards informally or through detailed sequence diagrams. Resulting refined design class diagrams are packaged into monolithic or microservices architecture. We illustrate and implement the microservice architecture for a Farm Produce Procurement and Sales System.

Keywords

Microservices, Monolithic, Use case, UML, Service-oriented architecture, Entity-Relationship Diagram

Rights Statement

Copyright © 2023, Author

Share

COinS