Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

An Introduction to Software Architecture


Published on

An Introduction to Software Architecture
What’s Software Architecture?
Architectural Design Process?
Why Software Architecture?
Architecture types ? Levels ???

Published in: Education, News & Politics
  • Be the first to comment

  • Be the first to like this

An Introduction to Software Architecture

  1. 1. An Introduction to Software Architecture Rahim lotfi university of Isfahan
  2. 2. university of Isfahan 2 Agenda  What’s Software Architecture?  Architectural Design Process?  Why Software Architecture?  Architecture types ? Levels ???
  3. 3. university of Isfahan 3 What’s Software Architecture? • Architectural Design – process for identifying the subsystems that make up a system – defines framework for sub-system control and communication – Behavior as specified in collaborations among those elements
  4. 4. university of Isfahan 4 Architectural Design Process? • System structuring – system decomposed into several subsystems – subsystem communication is established • Control modeling – model of control relationships among system components is established • Modular decomposition – identified subsystems decomposed into modules
  5. 5. university of Isfahan 5 Why Software Architecture?
  6. 6. university of Isfahan 6 Why Software Architecture? • Scale • Process • Cost • Schedule • Skills and development teams • Materials and technologies • Stakeholders • Risks
  7. 7. university of Isfahan 7 Architecture types Client/Server Architectures client send-request server receive-request -Client-server architecture (client/server) is a network architecture in which each computer or process on the network is either a client or a server -Client computers provide an interface to allow a computer user to request services of the server and to display the results the server returns
  8. 8. university of Isfahan 8 Architecture types • Components of Client/Server Architectures System simple_cs = { Component client = {Port send-request} Component server = {Port receive-request} Connector rpc = {Roles {caller, callee}} Attachments : {client.send-request to rpc.caller; server.receive-request to rpc.callee} }
  9. 9. university of Isfahan 9 Architecture types • three-layer Architecture • Layer indicates logical separation of components, such as having distinct namespaces and classes for the Database Access Layer, Business Logic Layer and User Interface Layer.
  10. 10. university of Isfahan 10 Architecture types • peer to peer Architecture
  11. 11. university of Isfahan 11 Architecture types • MVC Architecture
  12. 12. university of Isfahan 12 Architecture types • pipe and filters Architecture Pipe and Filters is architectural pattern in which an event triggers a series of processing steps on a component, transforming it uniquely on each step. Each step is a called a filter component and the entire sequence of called the pipeline
  13. 13. university of Isfahan 13 Architecture types • publish-subscribe Architecture • In software architecture, publish–subscribe is a messaging pattern where senders of messages, called publishers, do not program the messages to be sent directly to specific receivers, called subscribers.
  14. 14. university of Isfahan 14 Question
  15. 15. university of Isfahan 15 thank for your attention