written 8.5 years ago by | • modified 8.5 years ago |
Mumbai University > Computer engineering > Sem 7 > Software Architecture..
Marks: 10 M
Year: Dec 13, Dec 14
written 8.5 years ago by | • modified 8.5 years ago |
Mumbai University > Computer engineering > Sem 7 > Software Architecture..
Marks: 10 M
Year: Dec 13, Dec 14
written 8.5 years ago by |
Software systems architecture is the set of principal design decisions made about the system. In another way, software architecture is the blueprint for a software system’s construction and evolution. The notion of design decision is central to software architecture and to all of the concepts based on it.It is a model that describes the structure of a software system in terms of computational components, the relationship among components, and the constraints for assembling those components.
Although architecture-centric maintenance and evolution is useful for adjusting software structure and behavior at higher abstractions, this approach lacks the potential for systematic change reuse. So it is required that the architectures that are found particularly useful for families of systems be codified into architectural patterns, architectural style and reusable, parameterized reference architectures.
An architectural pattern is a named collection of architectural design decisions that are applicable to a recurring design problem parameterized to account for different software development contexts in which that problem appears. An architectural style is a named collection of architectural design decisions that
Reference architecture is the set of principal design decisions that are simultaneously applicable to multiple related systems, typically within an application domain, with explicitly defined points of variation.
All these domains provide reuse for the software architecture. The area of application frameworks also helps in achieving architectural reuse. Another area called the domain-specific software architecture (DSSA). This system focuses on software support for an application. Typically, it provides one or more domain- specific notations for characterizing a specific use of the architecture, together with tools for using these notations to generate a specific system implementation.
Service Oriented Architecture (SOA) is a business-centric architectural approach representing business processes as technical software services. In this context, architecture-centric maintenance and evolution can be exploited to adapt service process structure and behavior at higher levels of abstraction. The emergence of change patterns or evolution styles promotes the build-once use-often philosophy in component-based architectural evolution, but often falls short of addressing frequent, demand-driven process-centric change in SOAs. We focus on exploiting recurrent evolution patterns that are specified once and instantiated multiple times thus providing a generic, reusable solution to re-current SOA evolution problems.
All these areas help in reusing the architecture, thus saving time and deployment cost of building software systems.