Lection 3 Flashcards
(15 cards)
What is a software architecture tactic?
A reusable design decision that helps achieve a specific quality attribute like performance, modifiability, or availability.
Why are tactics important in software architecture?
They guide design to meet quality attributes, improve communication, reduce risk, and encourage reusable solutions.
What are the six parts of a quality attribute scenario?
Stimulus Source, Stimulus, Artifact, Environment, Response, Response Measure.
How can high availability be achieved?
Through tactics like redundancy, failover mechanisms, load balancing, health monitoring, and automatic recovery.
What is an example of a performance tactic?
Caching, load balancing, or parallelism/concurrency.
What are the three main aspects of security in software architecture?
Confidentiality, Integrity, Availability.
What are authentication and authorization in security?
Authentication verifies identity; authorization determines access rights.
What affects modifiability in software systems?
Good modularity, clear interfaces, readable/documented code, and minimized change impact.
What improves testability of a system?
Avoiding hard-coded dependencies, avoiding instance variables, logging…
How is usability defined in software systems?
Ease of learning, efficiency, minimizing errors, user adaptation, and satisfaction.
What are system qualities that tactics target?
Availability, Performance, Security, Modifiability, Testability, Usability, Sustainability.
alltså alla QAs? mid fråga
What is the difference between a tactic and a pattern?
Tactics are low-level decisions for quality attributes; patterns are higher-level architecture solutions.
Name three usability tactics.
Intuitive UI design, user feedback mechanisms, and accessibility compliance.
How is scalability achieved in software systems?
Via horizontal scaling, vertical scaling, and elasticity.
Give examples of security tactics.
Authentication, encryption, firewalls, and intrusion detection systems.