02 - Functional Requirements Flashcards

1
Q

What is the role of use-case modeling

A

Capture the system behavior from the users point of view

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

How does the use-case modeling relates to the domain modeling

A

The use-case modeling in developed incrementally in cooperation with the domain model

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

How does the use-case modeling helps the software development process

A

Capturing data and functional requirements

Planning iterations of development

Validating the system

It captures all the required functionalities

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

What are actors in use-case modeling

A

An actor represents something outside the system that interacts directly with it

Can be a person or another system

Provides input to or receives output from the system

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

True or false

We can not derive use cases from actors

A

False

Actors are usually the source for discovering use cases

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

How do we identify actors in use case modeling?

A

We ask the following questions

  • who or what uses the system?
  • what roles do they play in the interaction?
  • who gets and provides information to the system?
  • what other systems interact with this system?
  • who installs, starts and shuts dow, or maintains the system?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

True or false

Input/output devices are never actors

A

True

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

What is a use case in the use-case modeling?

A

It is a specific way of using the system by performing some part of its functionality

It describes the interaction that takes place between an actor and the system and what the system must do. Considered from the actors viewpoint

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

What constitutes a use case in use-case modeling

A

A complete sequence of events/actions

It is always initiated by an actor

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

What is a scenario in use-case modeling

A

It is a concrete, focused, informal description of a single use of the system from the view point of a single actor

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

What are the viewpoints of use-case modeling?

A

Top-down: start with use cases and refine either scenarios

Bottom-up: start with scenarios and abstract to use cases

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

How do we identify use cases and scenarios?

A

By asking the following questions:

  • what are the tasks that an actor wants the system to perform?
  • what information does an actor access (create, store, change, remove or read) in the system?
  • which external changes does an actor need to inform the system about?
  • which events does an actor need to be informed about by the system?
  • how will the system be supported and maintained?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a good use case?

A

A use case typically represents a major piece of functionality that is complete from beginning to end

It must deliver something of value to the actor

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

What is a precondition in use-case modeling

A

Is a statement about the state the system and/or the actor(s) must be in for the use case to be performed

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

When the is a precondition needed?

A

A precondition is only needed if a use case cannot be performed unless certain conditions are true

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

What is a post condition in use-case modeling

A

It is a statement about the state the system is in at the conclusion of a use case

17
Q

When is a post condition needed?

A

A post condition is only needed if the system state when the use case ends is important to an actor of the use case

A post condition is needed when the completion of the use case leaves the system in a particular state that may need to be a precondition for another use case

18
Q

What is the flow of events in use-case modeling

A

Is a precise, but easy to read, description of the sequence of actions needed to accomplish a use case

What the system and the actor should do to perform the use case

19
Q

What are the paths represented in the flow of events

A

The basic flow, which represents the most common path

And alternative flows, which represents optional, variants or exceptional behaviors

20
Q

What is an extension point in use-case modeling

A

Is a named place in the flow of events where additional behavior can be inserted

They are primarily used for defining alternative flows

21
Q

What are the kinds of extensions in use-case modeling

A

A single location

A set of discrete locations

A region

22
Q

What are alternative flows in use-case modeling

A

They describe optional, variant or exceptional behavior

They allow infrequently used functionality to be added incrementally to the basic flow

23
Q

What are the types of alternative flow?

A

Specific alternative flow, which starts in a specific named point in another flow of events

Bounded alternative flow, which can occur between two extension points of the use case

General alternative flow, which can start at any given point within a use case

24
Q

What is a sunflow in use-case modeling

A

Is a segment of behavior within a flow of events that has a clear purpose and is atomic

A subflow is not a separated use case, but a integral part of the use case

25
Q

How much detail is enough in use-case modeling?

A

A use case is technique for mitigating risk, specially that someone might misunderstand what the system is required to do to produce value for its users

Therefore the use cases must contain enougth detail so that all stakeholders are satisfied that the system is defined in sufficient detail to allow the right system to be built

26
Q

How do we evaluate if the use cases are too small?

A

Asking the questions:

  • is each of these things independently valuable?
  • would you ever do just one without the others?
27
Q

What is the role of requirements capture in the software development process?

A
  • Requirements capture plays a crucial role in understanding and documenting the needs and constraints of the software system to be developed. It helps in specifying the behavior of the final software system and guides the project planning process.
28
Q

What are the major activities involved in requirements capture?

A
  • The major activities in requirements capture include understanding the application domain, identifying user needs, determining potential risks, capturing system requirements using domain models and use-case models, and ensuring the correctness and completeness of the captured requirements.
29
Q

What are the types of requirements?

A

There are two types of requirements: user requirements and system requirements. User requirements are written for clients and specified in natural language with diagrams, while system requirements provide a detailed description of system functionalities, surfaces, and operational constraints

30
Q

Why is it important to document requirements?

A

Documentation of requirements is important because our memory can be unreliable, and documentation helps reduce errors and ensure all details are captured. Incomplete requirements or lack of user involvement can lead to project failure. Documentation also serves as a reference for project planning and implementation.

31
Q

What are the challenges in requirements capture?

A

One challenge is that clients may not have a clear understanding of their requirements, and it is the software engineer’s role to clarify and transform vague requirements into precise ones. Another challenge is the collaboration of stakeholders from different backgrounds, requiring the bridging of knowledge gaps between them.

32
Q

What is the purpose of system requirements specification (SRS)?

A

The SRS documents the system requirements and serves as an official statement of what is required. It includes a definition of user requirements and specification of system requirements using different models. The SRS helps guide the development process and serves as a contract between the client and the developer.

33
Q

How can UML be used in requirements capture?

A

UML (Unified Modeling Language) can be used to model system data and functional requirements. Class diagrams can be used to capture data requirements, while use-case diagrams can be used to capture functional requirements. UML provides a standardized notation for representing requirements in a visual and structured manner

34
Q

What is the importance of validating system requirements?

A

Validating system requirements ensures that the captured requirements are correct and complete. It helps identify any inconsistencies, ambiguities, or missing requirements early in the project, reducing the risk of errors and costly fixes later on.