Good book on software architecture

    A serious book on software architecture.

    It helps to understand what architecture itself is, contains useful information about typical architectural solutions, and considers from an architectural point of view some projects and technologies (for example, J2EE). The book is designed for medium and high level programmers.

    The book is difficult to read, but contains many interesting ideas.

    For example, the authors distinguish the following quality attributes of any software:

    - readiness (the ability to work without shutdowns for a long time);
    - modifiability (ease of making changes);
    - performance;
    - security (protection against hacking);
    - controllability (ease of testing);
    - practicality

    and they argue that achieving maximum parameters for all qualities is impossible or too expensive and offer a method of analyzing needs and achieving the required levels of qualities in each project.

    The book contains very interesting typical scenarios (tactics) for achieving software quality. For example, in terms of “readiness” quality, three groups of tactics can be distinguished:

    1. fault detection;
    2. recovery after malfunctions;
    3. Prevention of malfunctions.

    The first group contains the following tactics: Ping / echo packets, Heartbeat, exceptions.

    It is curious, but the "practicality of software" in the book is quite formalized and is determined by the following aspects of quality:
    - study of the capabilities of the system;
    - effective use of the system;
    - minimizing the consequences of errors;
    - adaptation of the system to the needs of the user;
    - trust and satisfaction of the user.

    In fact, the authors offer very well thought out and tested sets of universal solutions (software or hardware-software) or ideas.

    I just liked the quotes from the book:

    "Any architecture suggests dividing all possible changes into three categories: local, non-local and architectural."

    “Architecture must perform the same tasks in the same ways.”

    Also popular now: