Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Books specifically on Software Architecture and not Software Design [closed]

Can you please suggest some books on Software Architecture, which should talk about how to design software at module level and how those modules will interact. There are numerous books which talks about design patterns which are mostly low level details. I know low level details are also important, but I want list of good design architecture book.

Please also suggest some books which talks about case studies of software architecture.

like image 205
Invincible Avatar asked Apr 10 '11 04:04

Invincible


People also ask

Does software architecture and software design are same?

Software architecture is primarily concerned with what the components and relationships are, and software design focuses on how the components interact. Software architecture and design are two separate parts of one process that depend on each other for success.

What are the 3 types of architectural design models in software engineering?

Software Architectural ModelsStatic type of architectural structural model represents the major system components. Dynamic type of architectural process model represents the process structure of the system. Distribution type of architectural model represents how the component is distributed across various computers.

Is every software has software architecture?

Every software system has an architecture, but not every software architecture is defined. While there is structure to most software systems, sometimes that structure has been explicitly thought about and sometimes it isn't.

What is design in software design and architecture?

Software architecture exposes the structure of a system while hiding the implementation details. Architecture also focuses on how the elements and components within a system interact with one other. Software design delves deeper into the implementation details of the system.


1 Answers

Where can you get knowledge about software architecture? One place is your experience building systems. Another is conversations with other developers or reading their code. Yet another place is books. I am the author of a book on software architecture (Just Enough Software Architecture) but let me instead point you to some classics:

  • Software Architecture in Practice (Bass, Clements, Kazman). This book from the Software Engineering Institute (SEI) describes how architects should think about problems. It describes the importance of quality attributes (performance, security, modifiability, etc.) and how to make tradeoffs between them, since you cannot maximize all of them.
  • Documenting Software Architectures (lots of SEI/CMU authors). The title of this book is a bit scary, because many people are trying to avoid writing shelfware documents. But the wonderful thing about the book is that it describes the standard architectural styles / patterns, notations for describing structure and behavior, and a conceptual model of understanding architectures. All these are valuable even if you only ever sketch on a whiteboard.
  • Software Systems Architecture (Rosanski and Woods). Goes into detail about how to think about a system from multiple perspectives (views). What I like particularly is that it gives checklists for ensuring that a particular concern (say security) has been handled.
  • Essential Software Architecture (Gorton). Small, straightforward book on IT architecture. Covers the different kinds of things you'll see (databases, event busses, app servers, etc.)

That's just a short list and just because I didn't list something doesn't mean it's a bad book. If you are looking something free to read immediately, I have three chapters of my book available for download on my website.

like image 126
George Fairbanks Avatar answered Nov 04 '22 05:11

George Fairbanks