Midterm Flashcards

1
Q

What is Modeling and Why Model

A

A model is an abstraction of the system aimed at simplifying the reasoning about that system. Modeling is a way to reduce complexity and deal with a system that is too complex or expensive to reproduce live

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

Define System

A

Organized set of communicating parts

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

Define a use case diagram

A

Focus on the behavior of the system from an outside point of view
Results in the formation of Actors within the system
Use Cases Capture Responsibilities

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

Describe a class Diagram

A

Describe the system in terms of objects/classes/attributes

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

Describe a view in terms of modeling

A

subset of a model that allows you to view a complicated part more easily

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

Sequence Diagram

A

Represent the interaction that take place between those objects

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

Actors

A

External Entities that interact with the system use case is from an actors point of view

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

Describe the iterative Process

A
  • Each iteration delivers a unit of functionality
  • Encourages early, frequent testing
  • Large projects may involve architecture and modeling • Each iteration involves a number of the practices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe Risk Management

A
  • One of the primary activities of Software Engineering • Risk is often unavoidable but manageable
  • Validate concepts and approaches early
  • Risk areas
  • Performance
  • Security
  • Scalability • Testability • Usability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe a Domain Model

A
  • Describes the concepts in the domain

* Captures relationships • No design concepts

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

Describe the 4+1 view

A
Logical View
Developmental View
Physical View
Process View
Scenarios
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Software Development Activities (TAIROS)

A
  • Requirements Elicitation • Analysis
  • System Design
  • Object Design
  • Implementation • Testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

SE Management Activities

A
  • Communication
  • Rationale management
  • Configuration management • Project management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

CS361

Non-Functional Requirements

A
  • Address qualities of the system
  • Impacts architectural decisions
  • Architectural decisions impact qualities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Role of Architecture

A
  • Assignment of subsystems • Development teams
  • Processes and processors
  • Address non-functional requirements • Reliability
  • Performance • Scalability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Layering Architecture

A
  • Create abstractions to represent services
  • Downward dependencies
  • Multiple clients
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Partitioning Architecture

A

Peers are created to reduce complexity

• May be dependent on similar lower layers

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

Design Results in

A

Design Goals
Software Architecture
Boundary Use cases

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

What is Software Engineering?

A
  • Design and development of software products
  • Production of programs that meet specifications • Demonstrably accurate
  • Management of the software process
  • Produced on time & within budget
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Black Box Testing

A
  • Focus is on expected behavior of the object
  • No knowledge of internal behavior
  • Measure results
21
Q

White Box Testing

A
  • Focus on internal operation
  • Unit and Integration level testing
  • Regression tests
22
Q

Scaffolding for testing

A
  • Creates environment for testing

* Ex: JUnit • Reusable

23
Q

Determine Inputs to Test

A
  • Corners and boundaries
  • Examine requirements and models for limits • Consider domains (and ranges)
  • Inflexions
  • Conditional behavior
  • Equivalence classes
  • Pick input data that covers all classes • Probe for different modes of failure
24
Q

Boundary Value Analysis

A
  • Edge conditions for both domain and range
  • Analyze for min / max input and output values • Create combinations
  • Extreme input count
  • EX: number of records read
  • EX: scan buffer • EX: input events
25
Q

Stress Testing

A
  • Push system beyond limits • Data limits
  • Performance limits
  • Frequency
26
Q

Acceptance Testing

A
  • Test cases run by client
  • Requirements based
  • Involve all the Actors in system
  • Tie to use cases
  • Should be written with requirements
27
Q

Regression Testing

A

Selective re-testing of components likely affected by change
• Lower level tests for critical areas
• Key mechanisms tested in regressions with smoke test

28
Q

Black Box Testing

A
  • Focus is on the expected behavior of the object
  • No knowledge of internal behavior
  • Scaffolding required
  • Mock actors
  • Determine appropriate cases • Test data (parameters)
  • Measure results
29
Q

What 6 fields are included in a use case diagram

A

Name, Participants, Actors, Entity, Entry Conditions, Flow of Events, Exit Conditions, Quality Requirements

30
Q

Class diagram

Explains a systems in terms of what?

A

Objects and Classes

31
Q

What do Actors represent

A

Actors represent entities that interact with the system

32
Q

What Questions can you ask to identify Actors

A

Which groups are supports by the system
Which groups Execute the System functions
Which group perform secondary functions
With what external hardware will the system interact

33
Q

What is a scenario

A

functionality available to the actors that will later be formalized into use cases

34
Q

How do use cases and scenarios relate to each other

A

A use case specifies all possible scenarios

35
Q

Describe a nonfunctional requirements

A

reliability performance supportability legal packaging

36
Q

What does analysis focus on

A

using use cases and nonfunctional requirements to produce a model of the system called the analysis model.

37
Q

What are the 3 parts of the analysis model

A

dynamic model
analysis object model
functional model

38
Q

What diagrams make up the Dynamic Model

A

Sequence Diagrams

39
Q

What makes up the analysis object Model

A

class object diagrams

40
Q

What makes up the functional Model

A

use cases/scenarios

41
Q

Iteration plan

A

How are we going to distribute features amoung iterations

allows us to order and prioritize our risk

42
Q

Test plans

A

What features am I intending to test

what assets and resources do I need

43
Q

Test cases

A

specific tests that I am going to cary out that validate that I am testing a certain behavior

44
Q

Boundary value analysis

A

What are the maximum and mins
inflection points
ex. Withdrawal test big values test zero values, exactly the amount in the account
Determing test data classes What happens when you want 25 dollars but it only has 20s

45
Q

How to calculate the cyclomatic number

A

(Edges - Nodes) +2

46
Q

Definition of a pattern

A

A pattern is a solution to a problem in a context
I have a generic solution that can be applied in different envrionemts
but the actual solution is dependent upon the context

47
Q

Coverage testing

A

Monopoly Example
Figuring out what values of the parameters are going to help us force failure here
What is going to make this thing fail
Mistakes -> faults -> failures -> errors

48
Q

Object Diagram

A

identify specific obejcts and show how they interact with each other
If I have 3 or 4 workers how are they related

49
Q

Momento Pattern

A

notion of a momento allows us to caputre the state of an object so we can send it somewhere else
Send a string form over the internet reconstitue it and put it back togehter as an object