Software Design Lesson 2-4 Flashcards

(92 cards)

1
Q

contains a description of what the system will do without
describing how it will do it.

A

Requirements

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

Without _______
– Developers do not know what to build
– Customers do not know what to expect
– What to validate

A

well-written document

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

Crucial Process Steps of requirement engineering

A
  • Problem Statement
  • Requirements Elicitation
  • Requirements Analysis
  • Requirements Documentation
  • Requirements Review
  • SRS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

the disciplined application of
proven principles, methods, tools, and notations to describe a
proposed system’s intended behavior and its associated
constraints.

A

Requirement Engineering

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

It may act as a contract between developer and customer.

A

SRS

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

Types of Requirements

A
  • Known Requirements
  • Unknown Requirements
  • Undreamed Requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Anyone who should have some direct or indirect
influence on the system requirements.

A

Stakeholder

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

It describes what the software has to
do. They are often called product features.

A

Functional requirements

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

These are mostly quality requirements. That stipulates how well the software does,
what it has to do.

A

Non-Functional requirements

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

These are written for the users and include a functional and non-functional requirement

A

User requirements

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

Derived from User requirements

A

System Requirement

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

The user system requirements are the parts of what document?

A

software requirement and specification (SRS) document

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

TYPES OF INTERFACES

A
  • Procedural interfaces (also called Application Programming Interfaces (APIs)).
  • Data structures
  • Representation of data.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

“evaluation or analysis of the potential impact of a
proposed project or program.”

A

Purpose of feasibility study

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

They introduced Use Case approach for elicitation & modeling

A

Ivar Jacobson & others

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

It is a structured outline or template for the description of user requirements modeled in a structured language like English.

A

Use Cases

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

These are unstructured descriptions of user requirements.

A

Use case Scenarios

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

It lies outside the system model, but interacts with it in some way

A

An actor or external agent

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

He is the one having a goal requiring the assistance of the system.

A

Primary Actor

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

He is the one from which System needs assistance.

A

Secondary Actor

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

It describes the sequence of interactions between actors and the system necessary to deliver the services that satisfies the goal.

A

Use Case

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

Use Case captures who (_____) does what (______) with the system, for what purpose (_____), without dealing with system internals.

A
  1. actor
  2. interaction
  3. goal
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

conditions that need to be satisfied for the use
case to perform

A

Pre conditions

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

Define the different states in which we expect the system to be in, after the use case executes.

A

Post Conditions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
List the primary events that will occur when this use case is executed.
Basic Flow
26
Any Subsidiary events that can occur in the use case should be separately listed.
Alternative Flows
27
Requirements Analysis Steps
- Draw the context Diagram - Develop prototype (optional) - Model the Requirements - Finalize the Requirements
28
It show the flow of data through the system.
Data Flow Diagrams
29
A source of system inputs or sink of system outputs
Source or sink
30
A repository of data, the arrowhead indicate net input and net outputs to store
Data Store
31
It called fundamental system model or context model represents entire software element as a single bubble with input and output data indicating by incoming & outgoing arrows.
Level 0 DFD
32
These are simply repositories to store information about all data items defined in DFD.
Data Dictionaries
33
x= a+b
x consists of data element a & b
34
x={a/b}
x consists of either a or b
35
x=(a)
x consists of an optional data element a
36
x= y{a}
x consists of y or more occurrences
37
x={a}z
x consists of z or fewer occurrences of a
38
x=y{a}z
x consists of between y & z occurrences of a{
39
It is a detailed logical representation of data for an organization and uses three main constructs.
Entity-Relationship Diagrams
40
basic modeling notation contains three main constructs
- data entities - relationships - attributes
41
the description of all entities to which a common definition and common relationships and attributes apply
Entity Type
42
These are represented by diamond notation in a ER diagram.
Relationships
43
Degree of relationships
- Unary - Binary - Ternary
44
an attribute or combination of attributes that uniquely identifies each instance of an entity type.
candidate key
45
What is SRD?
Structured requirements definition
46
Characteristics of a good SRS
✓ Correct ✓ Unambiguous ✓ Complete ✓ Consistent ✓ Ranked for important and/or stability ✓ Verifiable ✓ Modifiable ✓ Traceable
47
An SRS is correct if and only if every
every requirement stated therein is one that the software shall meet.
48
An SRS is unambiguous if and only if
every requirement stated therein has only one interpretation.
49
An SRS is complete if and only if
it includes the following elements (i) All significant requirements, whether related to functionality, performance, design constraints, attributes or external interfaces. (ii) Responses to both valid & invalid inputs. (iii)Full Label and references to all figures, tables and diagrams in the SRS and definition of all terms and units of measure.
50
An SRS is consistent if and only if
no subset of individual requirements described in it conflict.
51
An SRS is verifiable, if and only if
every requirement stated therein is verifiable.
52
An SRS is modifiable, if and only if,
its structure and style are such that any changes to the requirements can be made easily, completely, and consistently while retaining structure and style.
53
An SRS is traceable, if
the origin of each of the requirements is clear and if it facilitates the referencing of each requirement in future development or enhancementdocumentation.
54
Process of understanding and controlling changes to system requirements.
Prototyping
55
They are core requirements & are related to main activity of the organization
Enduring requirements
56
likely to change during the software development lifer cycle or after delivery of the product
Volatile requirements
57
- Product is constructed without specifications or any attempt at design - Adhoc approach and not well defined - Simple two phase model
Build & Fix Model
58
Suitable for small programming exercises of 100 or 200 lines
Build & Fix Model
59
This model is easy to understand and reinforces the notion of “define before design” and “design before code”.
Waterfall Model
60
The model expects complete & accurate requirements early in the process, which is unrealistic
Waterfall Model
61
After every cycle a useable product is given to the customer.
Incremental Process Models
62
This model has the same phases as the waterfall model, but with fewer restrictions. Generally the phases occur in the same order as in the waterfall model, but they may be conducted in several cycles. Useable product is released at the end of the each cycle, with each release providing additional functionality.
Iterative Enhancement Model
63
- Developed by IBM in 1980 - User participation is essential - Build a rapid prototype - Give it to user for evaluation & obtain feedback - Prototype is refined
The Rapid Application Development (RAD) Model
64
This model differs from iterative enhancement model in the sense that this does not require a useable product at the end of each cycle. In evolutionary development, requirements are implemented by category rather than by priority.
Evolutionary Process Models
65
This model is useful for projects using new technology that is not well understood. This is also used for complex projects where all functionality must be delivered at one time, but the requirements are unstable or not well understood at the beginning.
Evolutionary Process Models
66
* Linear model * “Rapid”
Prototyping Model
67
Barry Boehm recognized this and tired to incorporate the “project risk” factor into a life cycle model
Spiral Model
68
The radial dimension of the model represents the cumulative costs. Each path around the spiral is indicative of increased costs.
Spiral Model
69
each phase is completed with a review by the people concerned with the project (designers and programmers)
Spiral Model
70
* Developed by I.Jacobson, G.Booch and J.Rumbaugh. * Software engineering process with the goal of producing good quality maintainable software within specified time and budget.
The Unified Process
71
The Unified Process Model was developed through a series of fixed length mini projects called what?
iterations
72
defines scope of the project.
Inception
73
the objectives are translated in design & architecture documents.
Construction
74
involves many activities like delivering, training, supporting, and maintaining the product.
Transition
75
2 TYPES OF DATA DICTIONARY
1. Yourdon 2. Warnier-Orr
76
a group of smaller structures and elements
Data structures
77
used to represent the data structure.
algebraic notation
78
defined with descriptive information, length and type of data information, validation criteria, and default values
Data elements
79
This is an optional entry that allows the analyst to build automated data dictionary entries
Element ID
80
A graphic picture of a logical system from the viewpoint of its data
DATA FLOW DIAGRAM
81
a group of interrelated procedures used for a business function, with an identifiable boundary, working together for some purpose
System
82
separation of a whole into its component parts
Analysis
83
to create, fashion, execute, or construct according to plan
Design
84
show how the current system flows
PHYSICAL DATA FLOW DIAGRAMS
85
show the data flow, structure, and requirements of a new system
LOGICAL DATA FLOW DIAGRAMS
86
2 TYPES OF DATA FLOW DIAGRAM
- DeMarco & Yourdon - Gane & Sarson
87
Either a) receive info from system, b) trigger system into motion, or c) provide new information to system
Entity
88
are the activities (manual and automated) that transform the inputs, transport data from process to process, stores the data, and produce the outputs of a system.
Process
89
is the resting place of the data in a system.
Data Store
90
processes transform the data in data store
store, add, delete, update
91
Is the data in motion. Data can move from the outside (source) into a process.
Data Flow
92
7 steps in CREATING DFD
1. Create a preliminary Context Diagram 2. Identify Use Cases, i.e. the ways in which users most commonly use the system 3. Create DFD fragments for each use case 4. Create a Level 0 diagram from fragments 5. Decompose to Level 1,2,… 6. Go to step 1 and revise as necessary 7. Validate DFDs with users.