Master Flashcards

1
Q

What are the 4 fundamental activities of software engineering

A

Specification
Development (design/implementation)
Validation
Evolution

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

What are the 2 categories of activities for software engineering

A

Process
Umbrella

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

What is heterogeneity

A

Distributed systems across networks with different devices

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

What is an average cost for software development

A

60% development
40% maintenance

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

What are the 5 framework activities for the generic process model

A

communication
planning
modeling
construction
deployment

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

what are the 5 umbrella activities for the generic process model

A

project tracking and control
risk management
quality assurance
configuration management
technical reviews

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

what are the 3 software process descriptions

A

products
roles
pre and post conditions

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

what is a variant of the waterfall model

A

the v-model

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

what are the 3 advantages of the waterfall model

A

plan-driven makes all activites of the process fully defined
high quality software due to detailed specs and docs
simple to implement

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

what are the 2 common evolutionary process models

A

prototyping
spiral model

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

what are the 2 disadvantages of prototyping

A

stakeholders get greedy and demand for an unmaintainble prototype as the final product

engineers forget compromises they made to get a prototype working and they become integral

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

What does the spiral model use prototypes for

A

risk reduction

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

what are the 3 activities of the requirements engineering process and what do each of them produce

A

elicitation and analysis -> system descriptions
specification -> user and system requirements
validation -> requirements document

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

what are the 4 design activities

A

architecture
database
interface
component selection

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

what is the standard processes for programming

A

there isnt one

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

what is another way of saying customer testing

A

acceptance testing

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

what are the 5 principles of agile development

A

customer involvement
incremental delivery
people not process
embrace change
maintain simplicity

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

what is the main goal of agile project management

A

make sure software is delivered on time and within the budget

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

what are the 3 phases of scrum

A

outline, planning, architecture
sprint cycles
complete user manuals and assess

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

what is the sprint review and retrospective focused on

A

product, process

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

what is the sweet spot of requirements volitility for agile devlopment

A

30-50% per month

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

what are the 3 non-functional requirements classifications

A

product
organizational
external

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

what is another word for discovery

A

elicitation

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

what are the 4 stages of elicitation

A

discovery
classification and organization
prioritization and negotiation
specification

25
Q

what are the 4 perspectives of system modeling

A

external/context
interaction
structural
behavioral

26
Q

what model deals with the external factors and boundaries

A

context

27
Q

what 2 diagrams are good for interaction modeling

A

use cases
sequence

28
Q

when do you create structural modals

A

when you are discussing/designing the system architecture

29
Q

what is a simplified node in a state machine called which has more details by expanding it

A

superstate

30
Q

what is good about model driven engineering (MDE)

A

abstraction is raised and development is more automated so that engineers need not be concerned with programming details (maybe this is for me rn)

31
Q

what are the 3 model driven architecture models, in order

A

computation independent
platform independent
platform specific

32
Q

what are the 4 views of software architecture

A

logical
physical
development
process

33
Q

what are the 5 architectural patterns

A

Model-View-Controller (MVC)
Layered
Repository
Client-Server
Pipe and Filter

34
Q

how much complexity of the solution to a problem is increased when the complexity of the problem increases

A

100% increase to the solution for 25% increase in the problem

35
Q

what makes for a good module

A

high cohesion
low coupling

36
Q

what is module cohesion

A

interaction within (good)

37
Q

what is module coupling

A

interaction between modules (bad)

38
Q

what are the 3 control structures

A

sequence
selection
iteration

39
Q

what are the 5 design patterns

A

divide and conquer
information hiding
abstraction and encapsulation
high cohesion
low coupling

40
Q

what is the key to successful program structuring

A

maximizing module independence

41
Q

what are the 8 levels of cohesion, worst to best

A

coincidental (unrelated)
logical (actions similar)
temporal (unique sequences)
procedural (common sequences)
communication (sequences for 1 data)
sequential (1 sequence for 1 data)
functional (1 action)
informational (singular actions for 1 data)

42
Q

what are the 6 levels of coupling, worst to best

A

content (direct)
common (random global)
external (structured global)
control (message)
stamp (some)
data

43
Q

what are the 4 levels of reuse

A

abstraction
object
component
system

44
Q

what are the 3 types of open source licenses

A

General Public License (GPL)
Lesser General Public License (LGPL)
Berkley Standard Distribution (BSD)

45
Q

whats the difference between verification and validation

A

verification: are we building the product right
validation: are we building the right product

46
Q

what is the aim of V&V

A

establish confidence that the system is “fit for purpose”

47
Q

what cant inspections do

A

check for non-functional characteristics like performance

48
Q

what is black box testing also called

A

functional testing

49
Q

what is openness for distributed systems

A

interoperability due to using standards, agility/adaptability

50
Q

what is scaling up vs out

A

up: performance
out: more systems

51
Q

what are the 2 types of interaction in distributed systems

A

procedural (wait)
message-based

52
Q

what is the difference between SaaS and SOA

A

SaaS holds data and transactions are large
Software Oriented Architecture are microservices

53
Q

what does REST stand for

A

Representational State Transfer

54
Q

what are the 4 steps of risk management

A

identification
analysis (probability & impact)
planning
monitoring

55
Q

what are the 4 people management factors

A

consistency (favoritism)
respect (skills)
inclusion (listen)
honesty (transparent)

56
Q

what are the 3 personality types

A

task-oriented (doing)
interaction-oriented (people)
self-oriented (achieving)

57
Q

what are the 4 configuration management activities

A

version management
system building
change management
release management

58
Q

what is the x-line hierarchy in versioning starting from the biggest

A

mainline
baseline
codeline

59
Q

what are the 2 types of version control systems

A

centralized
distributed (git)