Architecture of UML
A model is a way to represent a system. To envision a system, we will build several models. Architecture is the collection of several views. The stakeholders (end-users, analysts, developers, system integrators, testers, technical writers, and project managers) of a project will be involved in different views.
Architecture is all about how a system is built at its highest level. It is necessary to think large from multiple angles with high quality, productivity, and design in mind. The software team is engaged in many practical matters, such as:
- The overall structure of the development team.
- The business needs.
- Development cycle.
- The observation of the structure itself.
Software architecture describes the parts included in the system, each function has parts, and the relationship between these parts.
It is important to have well-formed software architecture, mainly for an extensive software system. The software architect will consider a lot of factors to design the architecture:
- Where will the system run?
- What will the system be used for?
- Who will be using the system?
- What quality matters to them?
Having a straight-forward design of a system as an initial point gives a strong basis for developers to follow.
With a luminous architecture, it is easier to know where the primary responsibilities are consisting within the system and where to compose changes to add novel requirements or commonly fixing the bankruptcy. A software architect will know how well things are related to each other and what needs to be enforced efficiently. Software architecture provides high productivity to the software team, and this can be an essential aspect for them. The software development becomes more attractive as it represents a detailed structure in place to correspondent work, implement individual features or ground discussion on probable issues.
In extension, the architecture will help out to attain affection in the software with a well-designed framework using principles like the departure of concerns; the system becomes more comfortable to sustain, restate, and readjust. The software architecture is advantageous to many persons, such as the end-user, the client, the software developer, and the project manager. Each one will have a distinct mindset to view the system and will get a different plan for a project. It also serves as an assemblage of several views. A beautiful gathering of these views is listed below:
- Use case view
- Design view
- Implementation view
- Process view
- Deployment view
Use case view
Use case views are advantageous to display the various requirements of the system. The use case view contains the use case diagram. Also, it describes the functionality of the system as anticipated by external actors very well. It will be very easy to seizure the static aspects of the use case view in the use case diagram. Use case view is mainly developed by analysts and domain experts. Dynamic elements of this view are defined in statechart diagrams, interactive diagrams, and activity diagrams.
Static structure and dynamic behavior view is used for showing the designation of the functionality inside the system. It also shows the terminology of the problem space and solution space. Static aspects of this view are recognized in class and object diagrams in UML. Dynamic points of this view are abducted in statechart diagrams, interaction diagrams, and activity diagrams.
The Implementation view means for the organization of the nucleus components and files. It principally addresses the contour management of the system’s release. Static facets of this view are conquered in component diagram. Dynamic aspects of this view can be expressed in the statechart diagram, interaction diagram, and activity diagram.
The process view displays the adequacy of the system. It consolidates the processes and threads that can cause the concurrency of the system and synchronization mechanisms. The system’s scalability, performance, throughput can be addressed through this view. Static and dynamic aspects are represented similarly as the design view, but more concerned about the active classes that express these processes and threads.
This view demonstrates the deployment of the system in terms of environmental architecture. It encompasses the nodes that cause the system’s hardware topology over the system’s executes. Principally, it describes the installation, delivery, and distribution of the components that design the physical system.