Are we still need of UML?

In the ever-evolving field of software development, methodologies and tools constantly adapt to meet the needs of developers and businesses. One such tool that has been around for decades is the Unified Modeling Language (UML). Introduced in the mid-90s, UML quickly became a standard for visualizing and designing software systems. But in 2024, with the advent of new technologies and agile methodologies, one might wonder: do we still need UML? The Era of UML UML was designed to provide a standardized way to visualize the design of a system. It offered a suite of diagrams, each serving a specific purpose—class diagrams for static structure, sequence diagrams for dynamic behavior, use case diagrams for requirements gathering, and more. This visual representation helped developers and stakeholders communicate more effectively, ensuring that everyone had a clear understanding of the system's architecture and design.   The Agile Shift Without UML The rise of agile methodologies brought about significant changes in how software is developed. Agile emphasizes iterative development, collaboration, and adaptability, which led some to question the relevance of detailed upfront design and documentation. In agile environments, the focus shifted towards working software over comprehensive documentation, which seemingly left UML in a challenging position.   Modern Use Case for UML Despite the shift towards agile practices, UML still holds value in several contexts: Complex Systems: For large and complex systems, UML provides a clear way to visualize interactions and dependencies. It can help teams understand the broader architecture and identify potential issues early in the design phase. Communication Tool: UML remains a powerful tool for bridging the communication gap between technical and non-technical stakeholders. Diagrams can simplify complex concepts and facilitate discussions around system design and functionality. Legacy Systems: Many existing systems were designed using UML, and maintaining or extending these systems often requires understanding the original diagrams. UML can thus be indispensable for legacy system support and migration projects. Educational Purposes: UML is still widely taught in computer science and software engineering programs. It provides a foundation for understanding software design principles and modeling techniques. UML in DevOps Era While UML continues to be useful, the usage UML is simpler than before. We just need to use several common UML diagrams such as: Use Case Diagram. What user can do to the system Activity diagram. How system work to facilitate the user  Deployment diagram. How system will be implemented or deployed Component diagram. What is the composition of the system Database diagram. what the data structure that stored in the system that's all the rest of the diagram will used optionally and will be combined with collaborative platform like Teams. 

Object Oriented Analysis and Design Overview

On this video, you will learn how to convert your software requirements into a software model / design. This video will tell you what steps that you need to model your software. We will discuss about Implement OOAD in formal manner by using UML Implement OOAD in Agile process by using user story Connecting the model into an architecture  After following this video, you can continue to build your codes by following architecture patterns. See you in the next video.  //

Object Oriented Analysis and Design with Visual Studio

Today, i created a video about object oriented and analysis design overview. This document will discuss how to do software development by following OOAD approach. After watching this video, you will understand how to Create use case Create domain model Create class diagram  Create codes based on your class diagram Enjoy! medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Process Flow on Business Requirement

What is Process Flow In this session we want to show you how to capture business requirement especially the process flow. In the requirement mark-up language (RML), process flow discusses a business process that will be executed by people. Process flow show the activities to be performed. There are two types of process flow the first process flow is done by the people the second one is done by the system. The first process flow captures the original business process, while the second process flow captures the computer-based / software process flow. Represent Process Flow in a Diagram There are several diagrams that can be used to capture process flow: Business Process Model & Notation (BPMN) - http://www.bpmn.org/ Flowchart Diagram - https://en.wikipedia.org/wiki/Flowchart Activity Diagram - https://en.wikipedia.org/wiki/Activity_diagram Mind map - https://en.wikipedia.org/wiki/Mind_map What tools You can find a lot software. i recommend several software such as Mindjet Mind manager Microsoft Visio Draw.io Lucid chart X Mind So many medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299"; Some tips on Process Flow Sketch your process flow using a hand. This will help you understand the business process. Identify the actor for the process flow. Considering using swim lane for the process flow Is the process having multiple level? If yes, try to create several level diagrams from big picture (level 1), detailed picture (level 2), and more detail level (level 3) Running review with the customer to make sure the process is on shared vision     medianet_width = "600"; medianet_height = "250"; medianet_crid = "858385152"; medianet_versionId = "3111299";

Agile Modeling 101–Building Use Case Diagram

This Indonesian video will guide you the first step to capture system and actor requirement. This tutorial uses Visual Studio Modeling project as a part of ALM features in Visual Studio started from 2010 version. Here are some conclusions from this video Actor and Action are the main part of use case diagram Keep the diagram simple, eliminating the technical aspect such as extend or include, except you use this use case for technical communication between technical team only Kite level best for business use case, while sea level use case good for deep dive with the system requirement It will be great to split up use case diagram for one actor (the video join the entire users for simplicity purpose only) Use case will be explained further in Activity Diagram Enjoy this video,

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.

Xbox

Month List

Visitor