lesson 2 Flashcards
(87 cards)
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 Architecture
provides a design plan that describes the elements of a system, how
they fit, and work together to fulfill the requirements of the system.
Software design
It comes before the detailed design, coding, integration, and testing and after the
domain analysis, requirements analysis, and risk analysis.
Software design
Components of software architecture (5)
- Design
- Business Strategy
- Quality Attributes
- IT Environment
- Human Dynamics
provides a solution that the technical team can create
and design for the entire application.
Software Architect
A software architect should have expertise in the following areas
• Design Expertise
• Domain Expertise
• Technology Expertise
• Methodological Expertise
is a measure of excellence or the state of being free
from deficiencies or defects.
Quality
are the system properties that are separate
from the functionality of the system.
Quality attributes
Reflect the structure of a system and organization, directly related to
architecture, design, and source code.
Static Quality Attributes
Reflect the behavior of the system during its execution. They are directly
related to the system’s architecture, design, source code, configuration,
deployment parameters, environment, and platform.
Dynamic Quality Attributes
specify how to prevent a fault from becoming a failure.
Quality scenarios
Parts of Quality Scenarios (6)
• Source
• Stimulus
• Environment
• Artifact
• Response
• Response measure
Defines the consistency and
coherence of the overall design. This
includes the way components or
modules are designed.
Category:
Design Qualities
Quality Attribute: Conceptual Integrity
Ability of the system to undergo
changes with a degree of ease.
Category: Design Qualities
Quality Attribute: Maintainability
Defines the capability for
components and subsystems to be
suitable for use in other applications.
Category: Design Qualities
Quality Attribute: Reusability
Ability of a system or different systems to operate
successfully by communicating and exchanging
information with other external systems written and run by
external parties.
Category: Run-time Qualities
Quality Attribute: Interoperability
Defines how easy it is for system administrators to manage
the application.
Category: Run-time Qualities
Quality Attribute: Manageability
Ability of a system to remain operational over time.
Category: Run-time Qualities
Quality Attribute: Reliability
Ability of a system to either handle the load increase
without impacting the performance of the system or the
ability to be readily enlarged.
Category: Run-time Qualities
Quality Attribute: Scalability
Capability of a system to prevent malicious or accidental
actions outside of the designed usages.
Category: Run-time Qualities
Quality Attribute: Security
Indication of the responsiveness of a system to execute
any action within a given time interval.
Category: Run-time Qualities
Quality Attribute: Performance
Defines the proportion of time that the system is
functional and working. It can be measured as a
percentage of the total system downtime over a
predefined period.
Category: Run-time Qualities
Quality Attribute: Availability
Ability of the system to provide
information helpful for identifying and
resolving issues when it fails to work
correctly.
Category: System Qualities
Quality Attribute: Supportability
Measure of how easy it is to create test
criteria for the system and its
components.
Category: System Qualities
Quality Attribute: Testability