I am currently pursuing Masters from BITS Pilani. In the second semester exam, I had a subject named – ‘Software Architectures’. For a ‘serious’ software developer, this is an awesome subject to study and get masters on!
I am going to share some of the vital topics from this subject which will definitely help you in creating / understanding software architectures and it’s process easily!
Begining with, there are various ways of developing an architecture. It depends upon the organization’s way of approaching a solution, problem and architect’s way of handling the problems. We will see different architecture pattern types after going through Architecture Business Cyclle ( ABC ).
Architecture Business Cycle:
Software architecture is a result of technical, business, and social influences. Its existence, in turn, influences these technical, business, and social environments. This cycle of influences from the environment to the architecture and back to the environment is called the Architecture Business Cycle.
This cycle provides the details of stakholders of the System, overall architect’s experience, requirements quality attributes and their influence on the environment.
Below are ‘some’ of the architecture technique ( styles ):
1) Pipes and Filters
Examples of this architecture are: Unix Shell Programs and Compilers
1) No data sharing
2) Do not know upstream / downstream filters
3) Correctness does not depend on order of incremental processing
1) Often reduces to batch processing system
2) Difficult to support interactive applications
2) MVC ( Model View Controller )
Model – refers to data model
View – refers to external views or presentation of data.
Controller – refers to module relating reactions of view or presentation to changes in data.
1) Location Transparency
2) Changeability / Extensibility of components
3) Portability (of client and server)
4) Portability (of brokers) & Interoperability (among brokers)
1) Overheads – Performance Loss
2) Lower fault tolerance
3) Developmental issues (Testing / Debugging)
@MsWizKid signing off,