software architectecture - a foundation of good software
DESCRIPTION
This presentation highlights the importance of good software architecture for custom software development by software companies. http://www.ifour-consultancy.comTRANSCRIPT
![Page 1: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/1.jpg)
iFour Consultancy
Software Architecture- An Understanding
![Page 2: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/2.jpg)
The Software Architecture
“The software architecture of a program or computing system is the structure or structures of the system, which comprise software components [and connectors], the externally visible properties of those components [and connectors] and the relationships among them.”
Software company in India
![Page 3: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/3.jpg)
The Role of the Software Architecture
The main uses of a software architecture are:Assessment and evaluationConfiguration management Dynamic software architecture
Software company in India
![Page 4: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/4.jpg)
Assessment and Evaluation
Stakeholder-based assessmentIs concerned with determining whether the trade-offs between
requirements in the software architecture match the actual stakeholder priorities of these requirements.
Software company in India
![Page 5: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/5.jpg)
Assessment Continued
Quality-attribute oriented assessmentAims at providing a quantitative prediction of one quality attribute (e.g.
maintainability, performance, reliability or security)
Software company in India
![Page 6: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/6.jpg)
Configuration Management
The software architecture is frequently used as a means to manage the configuration of the product.
Software company in India
![Page 7: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/7.jpg)
Dynamic Software Architectures
The software architecture should reorganize itself in response to the dynamic change of the systems quality requirements.
Maintained even during run-time.
Software company in India
![Page 8: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/8.jpg)
Designing Software Architectures
Architecture Design Process Architectural Styles
Software company in India
![Page 9: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/9.jpg)
Architecture Design Process
Can be seen as a function that:Takes a requirement specification as input.Generates an architectural design as output.Is not an automated process, and requires great effort and creativity
from the involved software architects.
Is comprised of three steps:Functionality-based design.Assessment of the quality attributes.Architecture Transformation.
Software company in India
![Page 10: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/10.jpg)
Functionality-based Design
The design process starts with functionality-based design and consists of four steps:Defining the boundaries and context of the system.Identification of archetypes. Decomposition of the system into its main components. The first validation of the architecture by describing a number of system
instances.
Software company in India
![Page 11: Software architectecture - a foundation of good software](https://reader036.vdocuments.net/reader036/viewer/2022062513/556ae4cbd8b42a86218b47e9/html5/thumbnails/11.jpg)
Architecture Transformation
Is concerned with selecting design solutions to improve the quality attributes while preserving the domain functionality. The design is again evaluated and the same process is repeated if
necessary. The transformations (i.e. quality attribute optimizing solutions)
generally improve one or some quality attributes while they affect others negatively.
Software company in India