Layered architecture n Before discussing layered architecture we
Layered architecture n Before discussing layered architecture, we give some definitions below: q q Software workproduct: a product or sub-product produced in a software engineering phase. For example, a subsystem of a design document can be regarded as a software workproduct Asset: high-quality software workproductsthat can be reused Manish Kumar, MSRIT Software Architecture 1
Layered architecture n Some definitions (cont. ) q q Component: an element of a development model (i. e. , software) that is loosely coupled and promised to be reusable. Under this definition, all software workproducts are potentially components or sources of components. Component system: a set of related components that accomplish some function larger than that accomplished by a single component. In other words, a component system is a larger component composed of components or component systems. Component systems thus facilitate large-scale reuse. Manish Kumar, MSRIT Software Architecture 2
Layered architecture n Some definitions (cont. ) q Facade: an aspect of a component system a reuser needs to know when he/she reuses the component system. A facade exports only those a reuser needed and encapsulates other details of a component system. (Take facade in mind, it is the primary concept in the text book). Manish Kumar, MSRIT Software Architecture 3
Layered architecture n The sense behind the layered architecture: q q n Application systems can be built from component systems Component systems may in turn be built from components in lower layers The sense above results in a layered system defined by a layered architecture (see the figure in the next slide) Manish Kumar, MSRIT Software Architecture 4
Manish Kumar, MSRIT Software Architecture 5
Middleware System software Manish Kumar, MSRIT Software Architecture 6
Layered architecture n Definition: a layered architecture is a software architecture that organizes software in layers. Each layer is built on top of another more general layer. A layer can loosely be defined as a set of (sub)systems with the same degree of generality. Upper layers are more application specific and lower are more general Manish Kumar, MSRIT Software Architecture 7
Layered architecture n The number in a layered architecture may be varied from situation to situation. For example, the business -specific layer (see the figure in the slide before the previous slide) can be composed of more than one layer Manish Kumar, MSRIT Software Architecture 8
Layered architecture n n The topmost layer (application systems layer) contains application systems offering coherent set of use cases to end users. Some application systems may possess more than one version (or variant) The business-specific layer contains a number of component systems specific to the type of business (i. e. , specific to a problem domain). Such component systems include use case and object components. This layer is the focus of my presentation. Manish Kumar, MSRIT Software Architecture 9
Layered architecture n The middleware layer offers components systems providing utility classes and platform-independent services such as distributed object computing in heterogeneous environments. Examples in this layer are GUI builders, DBMS interfaces, CORBA broker, and so on. This layer is the focus of your presentation Manish Kumar, MSRIT Software Architecture 10
Layered architecture n The system software layer contains the software for the computing and networking infrastructure, such as OS, interfaces to specific hardware (i. e. , drivers), sockets, and so on. Some components in this layer are hardware (or platform) dependent Manish Kumar, MSRIT Software Architecture 11
Any Question ? ? ? Manish Kumar, MSRIT Software Architecture 12
Thank you !!! Manish Kumar, MSRIT Software Architecture 13
- Slides: 13