(a) Investigate the Unified Modeling Language (UML) on the Internet. Briefly describe the functionality of UML. List down the issues and deficiencies of the diagrams used in the latest UML version and describe how these issues and deficiencies could be overcome.
Answer:
The UML architecture is based on the meta object facility, which defines the foundation for creating modelling language. They are precise enough to generate the entire application. A fully executable UML can be deployed to multiple platforms using different technologies and can be used with all processes throughout the software development cycle.
UML is designed to enable users to develop an expressive, ready to use visual modelling language. In addition, it supports high level development concepts such as frameworks, patterns and collaborations.
UML includes a collection of elements such as:
Programming Language Statements
Actors: specify a role played by a user or any other system interacting with the subject.
Activities: These are tasks, which must take place in order to fulfil an operation contract. They are represented in activity diagrams.
Business Process: includes a collection of tasks producing a specific service for customers and is visualized with a flowchart as a sequence of activities.
Logical and Reusable Software Components
The issues and deficiencies of the diagrams used in the latest UML version and describe how these issues and deficiencies could be overcome.
Deficiency 1. A UML use case model cannot specify interaction requirements where the system shall initiate an interaction between the system and an external actor.
Deficiency 2. UML cannot model a rich system context.
Deficiency 3. UML can neither express structure between use cases nor a structural hierarchy of use cases in an easy and straightforward way.
Deficiency 4. UML provides no adequate means for dealing with use case interaction.
Deficiency 5. A UML use case model cannot express state-dependent