Exam Flashcards

1
Q

What is the mission of Software Engineering?

A

Planning the construction and maintenance of large-scale and long-living software systems with predictable and adequate quality and cost.

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

Which are the challenges in Software Engineering?

A
  • Interconnection of systems
  • Integration of systems
  • Continuous change
  • Collaborative development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Which are the 4 inhibitors to scalability of the speed/quality of SW delivery?

A
  • Processes
  • Roles
  • SW Structure
  • Technologies
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Software Architecture?

A
  • Abstraction
  • Conceptual model
  • Blueprint
  • Represent the set of significant design decisions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Software Architecture by Len Bass?

A

“… the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.”

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

What is architecturally-significant?

A

Whatever is:

  • Costly to change
  • Risky
  • New
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Which are the 4 classes of architectural drivers?

A
  • Business goals
  • Quality attributes (Runtime/Devtime)
  • Functional requirements
  • Constraints
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Which is the difference between runtime and devtime quality attributes?

A

RT: system in operation
DT: team in operation

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

How to measure the achievement of a quality attribute?

A

Scenarios

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

Which are the 8 fields of a architectural scenario template?

A
  • ID / Scenario title
  • Status
  • Quality attribute
  • Stakeholders
  • Environment
  • Stimulus
  • Team/System Response
  • Response measure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Which are the 2 main purposes of architectural scenarios?

A
  • Compensate missing requirements

- Aggregate large amount of repeating requirements

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

For what are architectural scenarios used for?

A
  • Communicate with stakeholders
  • Input to architecture definition process
  • Evaluating the architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Which are the 6 steps for deriving architectural scenarios?

A
  1. Brainstorm scenarios from functional requirements, stakeholders and experience. Formulate questions.
  2. Classify scenarios: Runtime or Devtime
  3. Define the environment
  4. Define response and response measure
  5. Validate with each stakeholder
  6. Prioritize
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Which are the 4 main characteristics of Agile Development?

A
  • Individual and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Which are the 2 advantages of Agile?

A
  • Produce fast results

- Often leads to high quality products

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

Which are the 4 disadvantages of Agile?

A
  • Hardly scales to large-scale projects
  • Leading to systems hard to maintain
  • Does not lead to uniform solutions
  • Relies on refactoring
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is the role of the architect and which skills are required?

A
  • Mediator and communication between business level and technology level
  • Engineering skills, organizational skills, interpersonal skills, communication skills.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is the difference between parallel computing and distributed computing?

A

Parallel: shared memory, same physical location
Distributed: communicate via the network, physically separated

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

Which are the 2 commonalities between parallel computing and distributed computing?

A
  • Synchronization of resource access and modification

- Subdivision of computational problems

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

What is a distributed system?

A

A system that:

  • communicate
  • coordinate
  • by message passing
  • over the network
  • that appear to the user as a single system
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Which are the 11 quality attributes motivating distribution?

A

MARTISSO PSP:

  • Maintainability
  • Availability
  • Reliability
  • Testability
  • Integrity
  • Safety
  • Security
  • Openness
  • Performance
  • Scalability
  • Portabilitynote
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Which are the 6 challenges of distributed systems?

A
  • Complexity
  • Security
  • Maintainability
  • Determinism, Predictability
  • Decomposing of problems
  • Data and semantic dependencies (synchronization)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

What is a component?

A
  • Logical unit of composition (abstraction)
  • Self-contained functional unit
  • Deployed independently
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

What is an interface?

A

Boundary across two independent components that interact and communicate.

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

Which are the 2 types of interfaces?

A
  • Provided

- Required

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

Which are the 3 types of interface ownership?

A
  • Standard
  • Component ownership
  • Framework style
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

What are connectors used for?

A
  • enable communication
  • enhance communication
  • ease communication
  • provide transparency
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Which are the 4 connector responsibilities?

A
  • Transport
  • Transformation, Adaptation
  • Security
  • Transactions
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Which are the 4 ways that connectors can be classified?

A
  • Tight vs. loose coupling
  • Direct link vs. intermediary
  • Interface vs. payload semantic
  • Static vs. dynamic binding
30
Q

Which are the 4 models of interaction?

A
  • Request-Reply
  • Callback
  • Anonymous Request-Reply
  • Event-based
31
Q

What is the advantage of event-based interactions?

A

“Consumers” and “Producers” do not have to know each other. A notification service exists.

32
Q

What are the definitions of event, notification and messages?

A

Event: observable happening of interest
Notification: data describing the event
Message: data container that conveys a notification

33
Q

Which are the 4 types of group message communication?

A
  • One-to-many
  • Broadcast
  • Multicast
  • Subscription/Notification
34
Q

How are interfaces defined?

A

Signature of methods.

35
Q

What is dependability and which 5 quality attributes compose it?

A

The ability to deliver a service that can justifiably be trusted.

  • Availability
  • Reliability
  • Maintainability
  • Safety
  • Integrity
36
Q

Which 3 quality attributes compose security?

A
  • Availability
  • Integrity
  • Confidentiality
37
Q

From where comes the prioritization of quality attributes?

A

From the client. SW engineer and requirement engineer must take this information from him.

38
Q

How are quality attributes achieved?

A

Combination of architecture level choices and design & implementation choices.

39
Q

What is used to achieve quality attributes?

A

Architectural patterns.

40
Q

Which are the 3 main types of runtime patterns?

A
  • Detection
  • Recovery
  • Prevention
41
Q

Which are 2 main types of devtime patterns?

A
  • Localization (of changes) patterns

- Prevention (of ripple effects) patterns

42
Q

Which are the 3 types of safety tactics?

A
  • Failure avoidance
  • Failure detection
  • Failure containment
43
Q

What is the difference between fault, error and failure?

A

Fault: the cause of an error
Error: deviation from correct service state
Failure: event that occurs when the delivered service deviates from correct service.

44
Q

Which are 2 redundancy tactics?

A
  • Homogeneous

- Triple modular redundancy (voter)

45
Q

Which are 2 error detection tactics?

A
  • Monitor-actuator

- Watchdog

46
Q

Which are 2 resource related tactics?

A
  • Simultaneous locking (all-or-none)

- Ordering locking (list of locked resources)

47
Q

What is an architectural style?

A

Named collection of architectural design decisions that are applicable in a given context.

Definition of component types and connector types that you find in the architecture you want to describe alongside with constraints on how to compose these components types and connector types.

48
Q

Which are the 3 layers to distribute functionality?

A
  • Presentation
  • Application Logic
  • Data Management
49
Q

Which are the 3 types of Client-Server architectural style?

A
  • Thin Client: heavy processing on server and network
  • Fat Client: more complex
  • Rich Client: web browser with extensions
50
Q

Which are the elements of the 3-Tier Architecture style?

A
  • Client
  • Application Server
  • Database Server
51
Q

What is the difference between layers and tier?

A

Layer: logical

Tier physical

52
Q

What is the main advantage of P2P Architecture style?

A

Take advantage of computational power and storage of a large number of dynamically networked computers.

53
Q

Which are the 2 types of P2P Architecture?

A
  • Decentralized

- Semi-centralized (discovery server)

54
Q

Which are the 3 main parts of SOA?

A
  • Service registry
  • Service requester
  • Service provider
55
Q

Which are the architectural elements of an SOA?

A
SOA-Based System:
Service: Contract, Interface, Implementation
Platform
Service Directory
Application
Connector
56
Q

What is the difference between Service and Component?

A
  • Services are more loose coupled
  • Services include SLA
  • Services are easier to deploy (independent of infrastructure)
  • Services are exposed to the internet
  • Services do not have owners, everybody can use
  • Services are designed to be published
57
Q

What does a service specification describes?

A
  • Externally visible properties of a system (functional requirements and non-functional requirements)
58
Q

Which are the 2 parts of a service specification?

A
  • Interface: functional requirements

- Contract: non-functional requirements, constraints, usage of service

59
Q

What is SLA?

A

Service Level Agreement is a contract between provider and consumer of a service with relation to quality of service (non-functional properties).

60
Q

Which are the 2 types of service composition?

A
  • Orchestration (central coordination, services don´t know)

- Choreography (no central coordination, services know)

61
Q

Which are the 2 types of Service Directory?

A
  • Service repository (lifecycle, manage implementations, used at devtime)
  • Service registry (interface syntax, QoS, classification, lookup for services).
62
Q

What is an Architectural Views?

A

Representation of the whole system from the perspective of a related set of concerns.

63
Q

Which are the 3 benefits of Architectural Views?

A
  • Separation of concerns
  • Reduction of complexity
  • Conceptual method for supporting decomposition of software systems
64
Q

Which are the 2 horizontal dimensions and 5 vertical dimensions of architecture decomposition framework?

A

Horizontal: Runtime, Devtime
Vertical: Data, Functions, Deployment, Activities, Technologies

65
Q

Which are the 4 architectural view models?

A
  • SEI
  • 4+1
  • Siemens 4
  • arc42
66
Q

Which are the 3 goals of software design?

A
  • Decomposition of the problem and smaller pieces
  • Control of the complexity
  • Prediction of effort, quality, impacts
67
Q

What is the goal of decomposition?

A

Reduce coupling of elements.

68
Q

What is the goal of composition?

A

Increase semantic cohesion between elements.

69
Q

Which are the 5 steps of designing a distributed system?

A
  1. Examine input.
  2. Decompose the system into components
  3. Identify active objects and passive objects
  4. Define message communication interfaces
  5. Deployment
70
Q

Which are the 4 benefits of architecture evaluation?

A
  • Improvements
  • Risk mitigation
  • Communication
  • Sustainability
71
Q

What is the mission of architecture evaluation?

A

Determine how:

  • well-known the stake holders concerns are
  • well-suitable the architecture is
  • well-documented the architecture is
  • well-realized the architecture is
72
Q

Which are the 4 steps of RATE?

A
  • Concerns elicitation check
  • Solution adequacy assessment
  • Documentation assessment
  • Compliance/Distance assessment