What is Conceptual Architectural Views?
Architectural views are abstractions, or simplifications, of the entire design, in which important characteristics are made more visible by leaving details aside. (Eclipse, n.d.)
They are divided into four main sub-categories as illustrated below when using the 4+1 modelling system:
Each of the above segments paints a different perspective view on the architecture of a complex system, allowing for a simplified look into the inner workings and how everything works together.
What is the Development View?
The Development View illustrates the breakdown of software into the various components that a developer or team of developers would create. It is the view of the system from the programmer?s perspective.
How is the Development View documented and what type of Architectural methods are undertaken to represent the models?
The Development View primarily uses the Component Unified Modeling Language (UML) diagram to show the structural relationships between the components of a system (Bell, 2004).
The UML Package diagram assists in illustrating the Development View by showing dependencies between the numerous packages that each come together to make up a model.
A component is defined as any individual element or entity that is required to execute a fundamental function in the system.
- Shows a high level view of the entire system before undertaking development.
- Allows everybody involved (all stakeholders) to see the entire system and what is involved.
- Simple to make detailed changes to an entire architectural system.
- At a high level, it can be difficult to foresee all the components that may be necessary.
- Ambiguity with incorrectly analysed component entities.
- Potential to hide technically challenging tasks behind grouped components.
Examples from my own personal experience
From my own personal experience, it is very important to lay out and correctly plan – with a high level of detail – all the components that will make up a complex software system before undertaking the actual development. Failing to do so can result in an unplanned product that can easily exceed budgetary as well as checkpoint timed completions. It is crucial for all members of the development team to understand how all the individual components of a system fit together in order for them to write clear and concise code that is both modular as well as focuses on the individual requirement for the scope of the given task(s).