Introduction to UML
- The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other non-software systems
- The UML represents a collection of best engineering practices which are proven to be successful in the large and complex system modeling
- The UML plays a vital role in 'Object Oriented Software Development' and 'Software Development Process'
- The UML express the design of software projects by mostly making use of the graphical notations
- UML helps project teams to
- ⃝Communicate
- ⃝Explore potential designs
- ⃝Validate the architectural design of the software
Goals of UML
The goals to be accomplished by UML are:
- Provide a ready-to-use and expressive visual modeling language to the Provide extensibility and specialization mechanisms to extend the core concepts
- Be unaffected by particular programming languages and development processes
- Provide a formal basis for understanding the modeling language
- Encourage the growth of the 00 tools market
- Support higher-level development concepts like collaborations, frameworks, patterns and components
- Integrate best practices
UML System
- The UML allows a software engineer to express an analysis model using the modeling notation which is under the governance of a set of syntactic, semantic and pragmatic rules
- UML system is represented by 5 different views which describe the system from a perspective that is distinctive and different
- Each view is defined by a set of diagram
- Design of a system consists of classes, interfaces and collaboration. UML provides class diagram, object diagram to support this.
- Implementation defines the components assembled together to make a complete physical system. UML component diagram is used to support implementation perspective.
- Deployment represents the physical nodes of the system that forms the hardware. UML deployment diagram is used to support this perspective.
- Process defines the flow of the system. So the same elements as used in Design are also used to support this perspective.
- A Use case represents the functionality of the system. So the other perspectives are connected with use case