functional reqiurements Flashcards

1
Q

Functional Requirements

A

External system behavior, characterized by stimulus-response (input-output) pairs
Often in the form of “The system must do [xy]”
* Specify product features of a system

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

Levels and Concepts of Behavioral Modeling

A
  1. Analysis of Business Processes
  2. Structured specification of Use Cases and Scenarios
  3. Step-by-step refinement to system specification using
    Function Hierarchies
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Business Process Model

A

Analysis of Business Processes
* Tasks and causal dependencies
* Roles and responsibilities
* Involved business objects

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

Usage Model

A

Structured specification of Use
Cases and Scenarios
* Derivation of tasks to be realized
in interaction with the system
* Identification of Use Cases
* Coordination and modeling of
interaction scenarios

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

Function Hierarchy

A

Specification using Function Hierarchies
* Identification of system functions
based on scenarios
* Refinement of the functions and
identifications of interactions
* Specification of the interfaces

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

What is a Use Case, scenario?

A

A use case bundles all possible scenarios that can occur when an
actor tries to achieve a certain technical goal with the help of the
system under consideration.

Definition Scenario:
An ordered set of interactions between partners, usually between a
system and a set of external actors [Glinz06]

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

use case vs scenarion

A
  • A use case is a set of scenarios
  • A scenario is an ordered set (sequence) of interactions (functional requirements)
  • Use cases can be described with the Use Case Template of Cockburn
  • The interactions in a scenario can be unfolded into smaller and smaller
    interactions (e.g., “buy a coke” and “put coin into machine”)
  • Some scenarios end with success, some end with failure
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Use Cases vs. Scenarios vs. Functional Requirements

A

Use Case:
Set of all scenarios
Scenario:
A concrete interaction
process
Functional Requirement:
A (system)-response to a
stimulus (take with a grain of
salt!)

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

Use cases core components

A

Core Components
Context of use (remember design thinking: “user journey”
extends this idea) * Primary actors and their goals * Precondition: Assumptions about system environment
and the initial situation
* Postcondition: Utilization goal and target situation * Scenarios: Work steps and required Interaction between
actors (users, neighboring systems) and system
→ Control Flow
→ Scenarios (instances per use case)

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

What is a Business Process? Concepts

A

A business process is a sequence of work steps for the fulfillment of
a goal.

Concepts (simplified)
* Function/Aim (Purpose/Intention - Why?)
* Process steps (tasks/activities) and causal dependencies/sequence
(interaction sequence - what? when? how? )
* Business objects (with what?)
* Distribution of tasks to involved roles (by whom? )
* organizational units, system users
* Systems, processes, HW/SW components of the system
environment

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

Use Cases: From Business Processes to Functions

A

Capture and Model Business Processes
1. Identification of tasks and steps (building structures)
→ Surveys
2. Specification of partial steps, causal order and actors
→ Surveys, observations, analysis of target models
3. Identification of business objects

Analyze Processes and Identify Functions
1. Identification of use case candidates
→ tasks be performed by the system, which by external systems, which remain manual?
2. Definition of which sub-steps are to be performed by the user and which sub-steps
are to be realized by the system
3. Derivation of interaction scenarios
→ Going through different scenarios, often interactively with modification of the processes
based on new findings → Basis for function hierarchies

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

Meaning of the Usage Model

A

Meaning of the Usage Model
* Application domain analysis: processes between external actors (users,
neighboring systems) and the system in context; business processes to be
supported
* Essential basis for voting on
* External system behavior (especially unclear/”critical” system behavior)
scenarios and their treatment)
− Identification of functions

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

What is a Function Hierarchy?

A

Decomposition/structuring of functions and sub-functions as well as (intentional/unintentional)
dependencies (feature interaction) to analyze their required behavior definition according to
different principles, such as
* Tasks - subtasks
* Causal/temporal order
* Communication Relations
* Distribution to system components

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

Importance of Function Hierarchies

A
  • Overview of functions for analyzing system behavior
  • Functions are
    1. identified on the basis of use cases,
    2. analyzed/tuned by means of Use Cases and
    3. structured in hierarchies
    → Essential basis for design of the (internal) system behavior
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Use of the Function Hierarchies

A
  • Creation of syntactic interfaces: Specification of the amount of
    inputs and outputs at system interfaces, which serve the
    realization of the function
  • Specification of the behavior (models)
  • Definition of a logical component architecture
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

From Scenarios to Functions: Basic Idea

A
  1. Identify system functions based on the use cases / scenarios
    (context of use with assumptions, preliminary and post conditions,
    triggers, …)
  2. Refine and structure system functions using a hierarchy
  3. Identify dependencies between the functions
  4. Define external interfaces
    (Dialogs, Data, …)
17
Q

What is a User Story?

A

A user story describes functionality that will be valuable to either a user or purchaser of a system
or software. User stories are composed of three aspects: [Cohn04]
* A written description of the story used for planning as a reminder
* Conversations about the story that serve to flesh out the details of the story
* Tests that convey and document details and that can be used to determine when a story is
complete

18
Q

Writing good User Stories

A

A good User Story is:
* Independent: No dependencies between stories as they lead to planning problems
* Negotiable: User Stories are no requirements, but description of functionality to be negotiated
* Valuable: User Stories should be valuable to users or customers
* Estimable: Developers should be able to estimate the size of a story
* Small: Long stories are difficult to understand and should be split up in a series of smaller stories
* Testable: Stories must be written so as to be testable. Passing all tests proves deployment

19
Q

System Models

A

Definition System Model:
A system model is a meta model which defines an abstract syntax. This abstract syntax is usually
specified in a modeling tool.
A system model describes certain model views of a system, which determine the structure or the
behavior of this system and their relations among each other.

20
Q

Difference between System Models and Models of a System

A

System Model (“meta model”):
Which constructs are necessary to
describe models. Conceptual model
using different views on a system.

Model of a System (“artifact model”):
Ideally built on system models like
content models. Structuring of models
in structure models.

21
Q

Projective vs. Synthetic

A

Projective (“god model”):
Holds all models for all views. God
models gets projected into
requested views

Synthetic (“coupling of models”):
Different views or view types
implemented with specific tools are
pairwise coupled.

22
Q

Critical Aspects when using Models

A
  • Effort/Benefit when using models (e.g., detailed scenarios for “trivial” issues;
    synchronization!)
  • Complexity of models and choice of notation
  • Analysis and documentation of scenarios is crucial:
    → Scenarios form a communication bridge between
    − Stakeholders (for analysis/coordination)
    − Architects (draft)
    − Testers (specification of test cases