Software and Systems Architecture in Action
eBook - ePub

Software and Systems Architecture in Action

  1. 232 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Software and Systems Architecture in Action

About this book

Modern-day projects require software and systems engineers to work together in realizing architectures of large and complex software-intensive systems. To date, the two have used their own tools and methods to deal with similar issues when it comes to the requirements, design, testing, maintenance, and evolution of these architectures.Software and

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Software and Systems Architecture in Action by Raghvinder S. Sangwan in PDF and/or ePUB format, as well as other popular books in Business & Project Management. We have over one million books available in our catalogue for you to explore.

Information

Chapter 1

Architecture and Its Significance

1.1 Introduction

A system is a set of elements so connected or related that they perform a unique function that cannot be performed by the elements alone. The picture of a modern aircraft in Figure 1.1. illustrates this point. The aircraft has many constituent parts, but none of these parts by itself is capable of flight. Only when put together in a particular way do they enable an aircraft to fly.
Figure 1.1.
Image of Which part of the airplane flies
Which part of the airplane flies?
We can examine other kinds of systems and make similar observations. A corporation is a social system that produces goods and services that individuals working for the corporation cannot produce individually. An individual is an animate system in which no single part of the body by itself can produce life. A clock is a mechanistic system; its individual parts together serve the purpose of showing time. An airline reservation system is an information system that as a whole manages flight reservations for passengers.
An architecture of a system is fundamentally concerned with how a system is organized into its constituent elements and how these elements relate to each other to achieve a given purpose (Bass et al., 2003). Given this perspective, every system has an architecture, but a suitable architecture is one that enables a system to achieve the purpose for which it was created. For instance, we can put together the wings, fuselage, engines, and the landing gear of an airplane, but this would do no good until they are put together in a way that makes the aircraft fly. Systems are not limited to just the hardware, however, and can also include people, software, facilities, policies, and documents. All of these elements may be required to produce the desired system outcome; for instance, a successful flight of a commercial airliner from its place of origin to its destination is as much a result of the aircraft and its crew as it is of the ground crew and air traffic control.
Architecture is fundamentally concerned with the organization of a system into its constituent elements and their interrelationships to achieve a given purpose.

1.2 Rising Complexity

The complexity of modern-day systems continues to rise. These systems need to be created quicker, and new features need to be introduced faster. There is an increasing need to customize them for niche markets, and new requirements continue to surface so that systems must evolve to serve emerging market needs.
Much of this required complexity has made it necessary to incorporate a significant amount of software in many products. For instance, it is not atypical for a premium-class automobile today to contain close to 100 million lines of code. The same is true for chemical and nuclear power plants. As Figure 1.2 shows, avionics software in modern fighter aircraft has steadily increased and today controls 80% of what a pilot does (Reifer, 2001).
Figure 1.2
Graph of Proportion of software in modern-day fighter aircraft
Proportion of software in modern-day fighter aircraft.
The complexity is not necessarily related to the size of a system, but it is related to the interrelationships among the elements that make up such a system. Figure 1.3 shows a dependency graph of a system for viewing chemical structures. The elements of the system are represented as nodes, and their dependencies are shown as edges. As one can see, the number of elements and the dependencies among them is rather large. In its current form, it would be rather challenging not only to understand these dependencies but also to maintain and evolve this system over time. An architecture brings to bear organizing principles that can help manage this complexity, making a system not only intellectually gra...

Table of contents

  1. Preface
  2. About the Author
  3. Chapter 1 - Architecture and Its Significance
  4. Chapter 2 - Stakeholders and Their Business Goals
  5. Chapter 3 - Establishing Broad Functional Understanding
  6. Chapter 4 - Getting Ready for Designing the Architecture
  7. Chapter 5 - Creating the Architecture
  8. Chapter 6 -
  9. Chapter 7 - Architecture and Detailed Design
  10. Chapter 8 - Role of Architecture in Managing Structural Complexity