CS 411 Midterm

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

1/74

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

75 Terms

1
New cards

What are the phases of the Waterfall Model?

requirements → design → implementation → testing → maintenance

2
New cards

When should you use the Waterfall model?

  • requirements are well defined and set

  • enhancing an existing system

  • large-scale projects

3
New cards

What are challenges with the Waterfall model?

  • Inflexible

  • Late testing

  • Delayed work products

4
New cards

What are the types of prototyping?

Throwaway/rapid and evolutionary

5
New cards

What are the advantages of prototyping?

  • user involvement

  • identifies issues early

  • flexible

6
New cards

What are the disadvantages of prototyping?

  • time-consuming

  • incomplete functionality

  • potential miscommunication

7
New cards

When should you use prototyping?

When the requirements are fuzzy

8
New cards

What is a sprint? How long is it typically?

A time-boxed iteration during which a potentially shippable product increment is made

2-4 weeks

9
New cards

Who are the members of a SCRUM team

Product Owner

Scrum Master

Dev Team

10
New cards

What does a product owner do

Defines features/functionalities

Ensures team delivers value to customer

11
New cards

What does a scrum master do

Facilitate scrum process

Act as servant-leader for team

12
New cards

What does a development team consist of

developers, software testers, software architects

13
New cards

What happens during sprint planning?

Dev team works with product owner + stakeholder to develop product backlog (rank items by importance, determine what can be delivered in sprint)

14
New cards

What is a product backlog

Prioritized list of all product requirements/features

15
New cards

What is a sprint backlog

subset of product backlog to be completed in current sprint

16
New cards

What happens during a daily standup

track progress, make plans for next 24 hours, declare sprint backlog items complete

17
New cards

Who decides whether to terminate a sprint or extend the sprint?

product owner

18
New cards

What is an increment

the union of all backlog items completed in previous sprints and all backlog items to be completed in current sprint

19
New cards

What are the 3 types of requirements representation

Informal, semi-formal, formal

20
New cards

What is the most common type of requirements representation

Informal

21
New cards

What does a requirements document include

A definition and specific requirements

22
New cards

What are the considerations for a requirement (7)

singular, feasible, unambiguous, complete, consistent, verifiable, traceable

23
New cards

What are the considerations for a set of requirements

complete, consistent, bounded, affordable

24
New cards

How many steps should you aim for in a use case

3-9

25
New cards

What does a use case diagram look like

knowt flashcard image
26
New cards

What is card sorting and what is it used for

Stakeholders complete set of cards including key info about functionality - Requirements engineer organizes cards

Used to develop CRC class(name, capabilities (high level features), responsibilities (what function/data it implements), collaborators (other classes it works w)) to determine program classes in code

27
New cards

What is designer as apprentice

When the designer becomes the apprentice by assisting/performing user’s tasks under their supervision

28
New cards

What is domain analysis

  • Assess landscape of related and competing applications

  • Identify essential + missing functionality, reusable components

29
New cards

What is ethnographic observation

Long periods of observation of human activity where you gather direct/indirect evidence

30
New cards

Describe goal based approaches

Start from mission statement, provide lower level goals → branched into specific high-level reqs → generate lower-level ones

31
New cards

What are the different types of interviews

Unstructured, structured, semi-structured

32
New cards

When is introspection useful

When the requirement engineer’s domain knowledge exceeds the customer’s

33
New cards

When are questionnaires used

In early stages to quickly define scope boundaries

34
New cards

When are questionnaires most useful

When domain is well understood by stakeholders and RE

35
New cards

What are workshops

gatherings of stakeholders to address requirements issues

36
New cards

What does a domain model look like

_

37
New cards

What is a generalization and how is it represented

Organizes concepts with a commonality

Represented by hollow arrow

38
New cards

What does aggregation represent? What symbol is it represented with

Represents a whole-part relationship

Hollow diamond

39
New cards

What are the different types of actors

primary, supporting, off-stage

40
New cards

What does a SSD look like

_

41
New cards

What does a operations contract consist of

Name (function), responsibilities, type, exceptions, pre-conditions, post-conditions

42
New cards

Information Expert

Who should be responsible for a behavior?

43
New cards

Creator

who should create a new object?

44
New cards

Controller

Who handles a system event (use case input)?

45
New cards

What does low coupling do

reduce dependency between classes

46
New cards

What does high cohesion do

Keeps classes focused and manageable

47
New cards

What is the law of demeter

method should only talk to its immediate collaborators

48
New cards

What are examples of GRASP tensions

Controller vs High Cohesion

Polymorphism vs Indirection

49
New cards

What does a class diagram look like 

_

50
New cards

What does a class diagram include

attributes, method names, type information (for attributes), navigability (arrows), multiplicity

51
New cards

What is push in Git between

local → remote repo

52
New cards

What is pull in Git between

working directory ← remote repo

53
New cards

What are the advantages of a distributed version control system

  • Performing actions is extremely fast

  • Committing new changes can be done locally

  • A group of changes can be pushed all at once

  • Everything but pushing/pulling can be done without internet

54
New cards

What are the OO Design steps

Use cases -> SSD -> Domain Model -> Operation Contract -> Interaction Diagram -> Class Diagram

55
New cards

What is included in a test case template

title, author, priority, requirement, pre-condition, steps to execute, estimated duration, expected output

56
New cards

What are state-less vs state-oriented systems

State-less: outcome depends solely on current input

State-oriented: outcome depends on state of system and current input

57
New cards

What are the different testing levels

Unit testing, integration testing, system testing, acceptance testing

58
New cards

Characteristics of testing

security, robustness, performance, usability, reliability

59
New cards

What are the two kinds of statements in control flow testing

assignment and conditional

60
New cards

What are the different types of black box testing

Boundary value testing, equivalence class partitioning, decision table, all-pairs

61
New cards

What are the two white box testing techniques

control flow testing and data flow testing

62
New cards

What is Git

a decentralized version control system

63
New cards

What does a test case include

title, use case, technique, pre-condition, input, steps to execute, expected results

64
New cards

What are the two kinds of basic program statements in control flow testing

Assignment statements and conditional statements

65
New cards

What are the different types of nodes in control flow testing

Start node, decision node, procedure node, terminal node

66
New cards

What are the two kinds of paths in control flow graph

Executable path and infeasible path

67
New cards

What does a quadruple consist of (control flow graph)

E: set of edges

N: set of nodes

s: start node

t: terminal node

68
New cards

What are the different types of coverage (in order least to most thorough)

Statement coverage → branch coverage → simple path coverage → all path coverage

69
New cards

How to calculate cyclomatic complexity

Count # of linearly independent paths

V(G) = E - N + 2P

#of decision points (if, while, for) + 1

70
New cards

How much code coverage should you aim for

70-80%

71
New cards

What are the different types of system tests

Basic, functionality, robustness, inter-operability, performance, scalability, stress, load and stability, reliability, regression, documentation, regulatory

72
New cards

How to calculate Defect Removal Efficiency

DRE = (# defects found in testing) / (# defects found in testing + # defects not found)

73
New cards

What are the three types of data flow anomaly

dd, ur, du

74
New cards

What are some examples of exploratory testing

Landmark, FedEx, Anti Social, Obsessive Compulsive, After-Hours, TOGOF, Museum, All-Nighter, Rained-out, Guidebook, Supporting Actor, Supermodel

75
New cards

What are the two levels of data flow testing

Static: identify data flow anomaly

Dynamic: actual program execution (control flow testing)

Explore top flashcards