In the following lines I will provide some definitions , however I need to express that there is no globally accepted definition in the world of architecture. Different organisations and individuals tend to have their own definition. In any case this should give you an idea of the concepts.
- Enterprise Architecture : describes the business structures and the processes that connect them. This maybe supported by computer systems. It is about flow of information and activities that concerns different groups to achieve a business goal.
- Systems Architecture : describes elements and interactions of a system including hardware and software pieces. A system's architect deals with elements of the system and their contribution towards the systems's goal.
Enterprise and Systems Architecture provide a context (requirements and constraints) for software architecture.
What is Software Architecture?
"The software architecture of a program or computing system is the structure or structures of the system, which comprise the software elements, the externally visible properties of those elements, and the relationships among them." Bass, L.;Clements, P. & Kazman, R. Software Architecture in PracticeThere are a few facts embedded in this definition:
- Software Architecture is an abstraction of a system. Defines elements and how they relate to each other. Hides the details of elements internals.
- "externally visible properties" refers to those assumptions that one element can make about another element: services it provides, performance, handle faults,.. .
- Systems can and do have many structures. Relationship among those structures can be runtime or non-runtime.
- Every system has an architecture. though it may or may not do what you want if you don't explicitly develop one.
- Box-and-line drawings alone are not architectures: they are just a starting point.
Update: It's worth mentioning that the border for these three roles is fuzzy. meaning that
No comments:
Post a Comment