Software Architecture (Week 4) - NINU DASMARIÑAS 1900

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/36

flashcard set

Earn XP

Description and Tags

A comprehensive set of Q&A flashcards covering key concepts from the Week 4 Software Architecture notes.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

37 Terms

1
New cards

What is software architecture?

The high-level structures of a software system and the discipline of creating such structures, including decisions about the organization of the system, its components and their relationships, and the design principles guiding its behavior.

2
New cards

What are the factors of software architecture design?

A plan or specification for construction of the system; quality attributes; IT environment; human dynamics; and business strategy.

3
New cards

Name some quality attributes of software architecture.

Correctness, reliability, adequacy, learnability, maintainability, readability, testability, efficiency, and portability.

4
New cards

What is IT Environment?

An integrated collection of technology components that serves the needs of users and the owner of the system.

5
New cards

What is Human Dynamic in software architecture?

A team-oriented activity involving engineers, developers, business analysts, domain experts, data/infrastructure architects, project managers, and other stakeholders.

6
New cards

What does Business Strategy mean in this context?

The actions and decisions a company takes to reach business goals and stay competitive.

7
New cards

What is the purpose of Software Design?

To provide a design plan that describes the elements of a system, how they fit and work together to fulfill the system's requirements.

8
New cards

What are the objectives of having a design plan?

To negotiate system requirements, set expectations with customers, marketing, and management; act as a blueprint during development; guide implementation tasks.

9
New cards

What are the Goals of Architecture?

Expose the structure of the system but hide its implementation details; realize all use-cases and scenarios; address stakeholder requirements; handle functional and quality requirements; reduce ownership and improve market position; improve quality and functionality; improve external confidence.

10
New cards

Name a limitation of software architecture regarding representation.

Lack of tools and standardized ways to represent architecture.

11
New cards

Name a limitation related to analysis.

Lack of analysis methods to predict whether architecture will meet requirements in the final implementation.

12
New cards

Name a limitation related to awareness and communication.

Lack of awareness of the importance of architectural design; lack of understanding of the software architect's role; poor communication among stakeholders.

13
New cards

Name a limitation related to the design process.

Lack of understanding of the design process, design experience, and evaluation of design.

14
New cards

What is the Role of a Software Architect?

A Software Architect provides a solution that the technical team can create for the entire application.

15
New cards

What are the four areas of expertise for a Software Architect?

Design Expertise; Domain Expertise; Technology Expertise; Methodological Expertise.

16
New cards

What does Design Expertise include?

Expertise in software design, including diverse methods such as object-oriented design and event-driven design.

17
New cards

What does Domain Expertise include?

Expert on the system being developed and plan for software evolution.

18
New cards

What does Technology Expertise include?

Expert on available technologies that help in the implementation of the system.

19
New cards

What does Methodological Expertise include?

Expert in software development methodologies that may be adopted during the SDLC.

20
New cards

Name three Design Qualities.

Conceptual Integrity; Maintainability; Reusability.

21
New cards

What are Run-time Qualities?

Interoperability; Manageability; Reliability; Scalability; Security; Performance; Availability.

22
New cards

What are System Qualities?

Supportability; Testability; Usability.

23
New cards

What does Correctness mean in Architecture Quality?

Accountability for satisfying all the requirements of the system.

24
New cards

What does Portability mean in Architecture Quality?

Ability of the system to run under different computing environments.

25
New cards

What does Integrality mean in Architecture Quality?

Ability of separately developed components to work correctly together.

26
New cards

What does Modifiability mean in Architecture Quality?

Ease with which each software system can accommodate changes to its software.

27
New cards

What is Architectural Style?

A set of principles shaping an application; an abstract framework for a family of systems; provides a lexicon of components and connectors and guidance for partitioning and reuse.

28
New cards

Name common architectural design categories.

Communication (Message bus); Service-Oriented Architecture (SOA); Deployment (Client/server); 3-tier or N-tier.

29
New cards

Name architectural design categories including Domain Driven Design, Structure, Component Based, Layered, Object Oriented.

Domain Driven Design; Structure; Component Based; Layered; Object Oriented.

30
New cards

What are the four types of architecture?

Business architecture; Application (software) architecture; Information architecture; IT architecture.

31
New cards

What is Business architecture?

Defines the business strategy, governance, organization, and key business processes within an enterprise and focuses on business-process design.

32
New cards

What is Application (software) architecture?

Serves as the blueprint for individual application systems, their interactions, and their relationships to business processes.

33
New cards

What is Information architecture?

Defines the logical and physical data assets and data management resources.

34
New cards

What is IT architecture?

Defines the hardware and software building blocks that make up the overall information system of the organization.

35
New cards

What are the steps in the Architecture Design Process?

Understand the problem; Identify design elements and their relationships (DSM); Evaluate the architecture design; Transform the architecture design.

36
New cards

What are Key Architecture Principles?

Build to Change Instead of Building to Last; Reduce Risk and Model to Analyze; Use Models and Visualizations as a Communication and Collaboration Tool; Use an Incremental and Iterative Approach.

37
New cards

What are Key Design Principles?

Separation of Concerns; Single Responsibility Principle; Principle of Least Knowledge; Minimize Large Design Upfront; Do not Repeat the Functionality; Prefer Composition over Inheritance; Identify Components and Group them in Logical Layers; Define the Communication Protocol between Layers; Define Data Formats for a Layer; System Service Components should be Abstract; Design Exceptions and Exception Handling Mechanism; Naming Conventions.