Software Engineering (2160701)

BE | Semester-6   Summer-2018 | 04/28/2018

Q4) (b)

What is software architecture? Explain any two architectural styles of software.

  • Large systems are decomposed into subsystems
  • Sub-systems provide related services
  • Initial design process includes
  • Identifying sub-systems
  • Establishing a framework for sub-system control and communication

Architectural Styles

Data-centered architecture style

  • A data store (Ex., a file or database) resides at the center of this architecture and is accessed frequently by other components.
  • Client software accesses a central repository.
  • In some cases the data repository is passive.
  • That is, client software accesses the data independent of any changes to the data or the actions of other client software.

Data-flow architectures

  • This architecture is applied when input data are to be transformed.
  • A set of components (called filters) connected by pipes that transmit data from one component to the next.
  • Each filter works independently of those components upstream and downstream, is designed to expect data input of a certain form, and produces data output (to the next filter) of a specified form.