Midterm Flashcards

1
Q

What is SWE?

A

An engineering discipline concerned with all aspects of SW production

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

What is the difference between SWE and CS?

A

CS focuses on theory and fundamentals; SWE is concerned with the practicalities of developing and delivering useful SW

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

What are the fundamental SWE activities?

A

specification, development, validation, and evolution

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

What are the key challenges facing SWE?

A

coping with increasing diversity, demands for reduced delivery times, and developing trustworthy software

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

What are the costs of SWE?

A

Roughly 60% developmental and 40% testing; for custom SW, evolution costs often exceed development

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

What are the types of SW products?

A

generic & customized products

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

What are the attributes of good SW?

A

maintainability, dependability and security, efficiency, and acceptability

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

What types of SW applications are there?

A

stand-alone, interactive transaction-based, embedded control systems, batch processing systems, entertainment (media) systems, systems for model and simulation, data collection systems, systems of systems

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

What are the eight principles of the ACM/IEEE Code of Ethics?

A

public, client & employer, product, judgement, management, profession, colleagues, and self

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

What are the biggest reasons that SW fails?

A

COME BACK

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

What is the difference between plan-driven and agile processes?

A

In plan-driven, activities are planned for progress to be measured against. In agile, there is incremental planning. In practice, the process is a mix of both.

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

What are the types of SW process models?

A

The Waterfall Method, Incremental Development, and Integration & Configuration

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

What is the Waterfall method and what is it good for?

A

a plan-driven process with distinct phases that you cannot go back to; best for large system engineering projects with stable requirements

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

What is incremental development?

A

A process where specification, development, and validation are interleaved (could be plan-driven or agile)

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

What are the pros and cons of incremental development?

A

there’s a reduced cost of accommodating changing customer reqs, its easier to get customer feedback, and quicker delivery/deployment of usable SW for the customer; the process isn’t visible and system structure tends to degrade with incremental changes

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

What is integration & configuration?

A

Making SW from already existing components for reduced costs & risks and faster delivery/deployment, but requirements compromises may not meet real needs of users and there’s loss of control over evolution or reused components

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

How do you reduce the cost of rework?

A

Anticipate (activities allows for change to happen like prototyping) and Tolerance (allow for change at a low cost)

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

How do you cope with change?

A

System prototyping and Incremental delivery?

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

What are the approaches to SW improvement?

A

Maturity approach (improving process and project management by using better SWE practices) and Agile approach (iterative changes)

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

What are the levels in the SEI Maturity Model?

A

Initial, Repeatable, Defined, Managed, Optimizing

21
Q

What are the activities in process improvement?

A

Measurement, Analysis, Change

22
Q

What are the process metrics for measurement?

A

time taken to complete tasks, resources needed to complete tasks, or number of occurrences of an event (like defects)

23
Q

What are the values of agile?

A

Individuals and Interactions over process and tools, Working Software over comprehensive documentation, Customer Collaboration over contract negotiation, Responding to Change over following a plan

24
Q

What are the parts of Scrum?

A

Development team, product backlog, scrum meeting, scrum master, sprint (usually 2-4 weeks), velocity

25
Q

What is the difference between scaling up and scaling out?

A

up is using agile methods for developing large SWS that can’t be developed by a small team; out is introducing agile methods across a large organization with many years of SWD experience

26
Q

What do agile methods work best for?

A

new SWD rather than SW; its difficult for large systems

27
Q

What are agile maintenance problems?

A

lack of product documentation, keeping customers involved with the process, and maintaining the continuity of the development team

28
Q

What is requirements engineering?

A

the iterative process of establishing what the customer needs from the SW and what the constraints are (includes elicitation, specification, and validation)

29
Q

What is RE validation?

A

checking for validity, consistency, completeness, realism, and verifiability; methods include requirement reviews prototyping, and test-case generation

30
Q

What is RE elicitation?

A

iterative spiral of discovery, classification & organization, prioritization & negotiation, documentation/specification

31
Q

What are the techniques for elicitation?

A

interview, ethnography, and stories & scenarios (use cases)

32
Q

What is the difference between open and closed interviews?

A

open means various issues are explored and closed means there’s a predetermined list of questions (most interviews are a mix of both)

33
Q

what is the difference between functional and non-functional requirements?

A

functional is statements of the service that the system must provide descriptions of how some computations must be carried out; non-functional constrain the system being developed and the dev process.

34
Q

What are the components of functional requirements?

A

user requirements (definitions) and developer requirements (specification)

35
Q

What metrics are used for non-functional requirements?

A

Speed, size, ease of use, reliability, robustness, portability

36
Q

What is requirements management?

A

managing and controlling changes to the system requirements created by business, organizational, and technical changes

37
Q

What is ethnography?

A

where social scientists spend time observing and analyzing how people work to develop requirements

38
Q

What should use cases include?

A

descriptions of the starting situation, the normal flow of events, what can go wrong, info on the other concurrent activities, and a description of what happens when the scenario finishes

39
Q

What do context models show?

A

how a system that is being modeled is positioned in an environment with other systems and process

40
Q

What do use case and sequence diagrams show?

A

interactions between users and systems in the system being designed

41
Q

What is the difference between use case and sequence diagrams?

A

use case diagrams describe interactions between a system and external actors while sequence diagrams add more info by showing interactions between system objects

42
Q

What do structural models show?

A

the organization and architecture of a system (like class diagrams showing the static structure of classes in a system and their associations)

43
Q

What do behavioral models show?

A

the dynamic behavior of an executing system (from the perspective of the data process by the system or the events that stimulate responses from it)

44
Q

What do activity diagrams show?

A

the processing of data where each activity represents one process step

45
Q

What do state diagrams show?

A

a system’s behavior in response to internal or external events

46
Q

What are the system perspectives?

A

External (Context, Process/Activity), Interaction (Use-Case, Sequence), Structural (Class Generalization, Aggregation), Behavioral (Data-driven, Event-driven, State)

47
Q

What is model-driven engineering?

A

A SWD approach where models are the principle outputs of the dev process instead of programs (which are generated automatically from the models)

48
Q

What are the pros and cons of model-driven engineering?

A

this allows for higher levels of abstraction and cheaper adaption of systems to new platforms, but models may not be right for implementations and resources may have to go towards developing translators for new platforms