Software Architecture Flashcards

1
Q

What is software architecture?

A

The design decisions that give shape and structure to our software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Why is software architecture important?

A

Reduces the amount of resources required and improves productivity and performance

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

How is the quality of design measured?

A

By the amount of effort it takes to meet the clients goal.

The less effort the better the design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the three main programming paradigms

A

Structural, Object Orientated and Functional

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are the two most important values for stakeholders? and which is more important?

A

Function and Structure. Structure is more important because even if software functions well, but has poor structure, it will eventually become impossible to update and maintain at which point the software will cease to function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is structural programming?

A

Structural programming is programming that makes extensive use of control structures, such as: sequences, decisions (selectors), iteration and recursion.

It also uses functional decomposition to model real world probelms

Functional decomposition consists out of three parts

  1. Top down analysis: breaking the overall task into
    subtasks
  2. Modular programming: Turning sub-tasks into
    independend modules each with its own function
  3. Structured Code: Using controll sturctures to define
    the individual function
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Object Orientated Analysis and Design?

A

An approach to problem solving that models real world problems by representing them as objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

what is functional programming?

A

treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.. unlike OOP that focuses on creating objects, functions focuses on the use of functions especially “pure functions”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are components?

A

Components are the units of deployment. They are the smallest entity that can be deployed as part of a system.

Components can be linked together into a single executable. Or they can be aggregated together into a single archive, such as a .war file. Or they can be independently deployed as separate dynamically loaded plugins, such as.jar or .dll or .exe files. Regardless of how they are eventually deployed, well-designed components always retain the ability to be independently deployable and, therefore, independently developable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly