Software Architecture Design Tutorial

Software Architecture Design Tutorial

i About the Tutorial Software Architecture typically refers to the bigger structures of a software system and it deals with how multiple software processes cooperate to carry out their tasks. Software Design refers to the smaller structures and it deals with the internal design of a single software process. By the end of this tutorial, the readers will develop a sound understanding of the concepts of software architecture and design concepts and will be in a position to choose and follow the right model for a given software project. Audience This tutorial is designed for all software professionals, architects, and senior system design engineers. Managers of architecture teams will also benefit from this tutorial. Prerequisites There are no exact prerequisites for this tutorial. Any software professional can go through this tutorial to get a bigger picture of how high quality software applications and products are designed. Copyright & Disclaimer © Copyright 2016 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of the contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness, or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] i Software Architecture and Design Table of Contents About the Tutorial .................................................................................................................................... i Audience .................................................................................................................................................. i Prerequisites ............................................................................................................................................ i Copyright & Disclaimer ............................................................................................................................. i Table of Contents .................................................................................................................................... ii 1. SOFTWARE ARCHITECTURE AND DESIGN ─ INTRODUCTION ................................................ 1 Software Architecture ............................................................................................................................. 1 Software Design ...................................................................................................................................... 2 Goals of Architecture .............................................................................................................................. 2 Role of Software Architect ...................................................................................................................... 3 Quality Attributes ................................................................................................................................... 4 Quality Scenarios .................................................................................................................................... 5 2. SOFTWARE ARCHITECTURE AND DESIGN ─ KEY PRINCIPLES ................................................ 7 Architectural Style ................................................................................................................................... 7 Common Architectural Design ................................................................................................................. 7 Types of Architecture .............................................................................................................................. 8 Architecture Design Process .................................................................................................................... 9 Key Architecture Principles ................................................................................................................... 10 Key Design Principles ............................................................................................................................ 11 3. SOFTWARE ARCHITECTURE AND DESIGN ─ ARCHITECTURE MODELS ................................ 13 UML ...................................................................................................................................................... 13 Architecture View Model ...................................................................................................................... 15 Architecture Description Languages (ADLs) ........................................................................................... 17 4. SOFTWARE ARCHITECTURE AND DESIGN ─ OBJECT-ORIENTED PARADIGM ....................... 19 ii Software Architecture and Design Introduction to Object-Oriented Paradigm ............................................................................................ 19 OO Analysis ........................................................................................................................................... 22 Object-Oriented Design ......................................................................................................................... 23 5. SOFTWARE ARCHITECTURE AND DESIGN ─ DATA FLOW ARCHITECTURE ........................... 25 Batch Sequential ................................................................................................................................... 25 Pipe and Filter Architecture ................................................................................................................... 26 Process Control Architecture ................................................................................................................. 28 6. SOFTWARE ARCHITECTURE AND DESIGN ─ DATA-CENTERED ARCHITECTURE ................... 30 Types of Components ............................................................................................................................ 30 Repository Architecture Style ................................................................................................................ 31 Blackboard Architecture Style ............................................................................................................... 32 7. SOFTWARE ARCHITECTURE AND DESIGN ─ HIERARCHICAL ARCHITECTURE....................... 35 Main-subroutine ................................................................................................................................... 35 Master-Slave ......................................................................................................................................... 36 Virtual Machine Architecture ................................................................................................................ 38 Layered Style ......................................................................................................................................... 39 8. SOFTWARE ARCHITECTURE AND DESIGN ─ INTERACTION-ORIENTED ARCHITECTURE ....... 41 Model-View-Controller (MVC) ............................................................................................................... 41 Presentation-Abstraction-Control (PAC) ................................................................................................ 44 9. SOFTWARE ARCHITECTURE AND DESIGN ─ DISTRIBUTED ARCHITECTURE ......................... 48 Client-Server Architecture ..................................................................................................................... 50 Multi-Tier Architecture (n-tier Architecture) ......................................................................................... 52 Broker Architectural Style ..................................................................................................................... 54 Service-Oriented Architecture (SOA) ..................................................................................................... 56 iii Software Architecture and Design 10. SOFTWARE ARCHITECTURE AND DESIGN ─ COMPONENT-BASED ARCHITECTURE ............. 59 What is a Component? .......................................................................................................................... 59 Principles of Component−Based Design ................................................................................................ 60 Component-Level Design Guidelines ..................................................................................................... 61 Conducting Component-Level Design .................................................................................................... 62 11. SOFTWARE ARCHITECTURE AND DESIGN ─ USER INTERFACE ............................................ 64 Graphical User Interface ........................................................................................................................ 64 Design of User Interface ........................................................................................................................ 65 User Interface Development Process ...................................................................................................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us