1. (a) Investigate the Unified Modeling Language (UML) on the Internet. Briefly describe the development of the latest UML diagrams. Explain how UML differs from the older ways of writing programs in the past. List down the advantages and disadvantages of using UML.
(b) As defined by the Object Management Group (OMG), Model Driven Architecture (MDA) is a way to organize and manage enterprise architectures supported by automated tools and services for both defining the models and facilitating transformations between different model types. Discuss the basic principles of MDA and how it could be used to develop systems. Explain how it helps in ensuring the success of MDA as an emerging set of standards and technologies focused on a particular style of software development that emphasizes the advantages of modeling at various levels of abstraction and, most important, the integration and flow of information through these models.