Introduction In software engineering, organizing and structuring a system effectively is crucial for maintaining scalability,