CSCI 4050 Quiz 2: Key Concepts in Requirements Engineering and UML Diagrams

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/33

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.

34 Terms

1
New cards

What is Requirements Engineering

- what services are required

- Identify constraints on these services

- ensure software will meet the user expectations and ending-up with a high quality software

2
New cards

What are the steps in the Requirements Engineering proccess

Feasibility Study and Report --> Elicitation, Analysis, System Models -->Requirements Specification --> Requirements Validation

3
New cards

Elicitation

"work with the customer on gathering requirements"

4
New cards

What are the different techniques to elicit requirements

- interviews

- questionnaires (list of pre-selected questions)

- task analysis (observing in environment)

- user stories (short description of features)

- scenarios (describe use of system as a series of interactions between end user and system)

- use cases (abstractions describe a class of scenarios)

5
New cards

Analysis

"process the gathered information to understand it, classify in various categories and relate the customer needs to possible software requirements"

6
New cards

System Models

output of elicitation and analysis; plan driven approach

7
New cards

Specification

structure the customer input and derived requirements as written documents (user requirements) and diagrams (system requirements)

8
New cards

Validation

"The process of testing the requirements to ensure that they conform with customer needs, accurate, complete,..."

9
New cards

What are the requirements for validation

- correctness (represent the client's view)

- completeness (all possible scenarios/user stories)

- consistency (no contradicting requirements)

- clarity (interpreted in one way)

- realism (implementable and deliverable)

- traceability (behavior can be traced as a set of functional requirements)

- verifiability (written so they can be tested)

10
New cards

The Requirements Engineering Process is an _______________ process that continues thought requirements development; No single standard approach to requirements development

iterative

11
New cards

How do we write requirements?

depends on the development model

- traditional approach (waterfall) - shall, should langauge

- SCRUM - user stories

- RUP - use cases

- mix

12
New cards

What is a requirement?

a statement of one of the following:

- what a system must do

- a known limitation or constraint on resources or design

- how well the system must do what it does

13
New cards

What is a functional requirement?

what a system must do

describe the interaction between the system and its environment independent from the implementation

14
New cards

What is a non functional requirement?

a known limitation or constraint on resources or design and how well the system must do what it does (quality of the sysyem)

aspects not directly related to functional behavior

15
New cards

What are constraints

imposed by the client or the environment (any language, algorithm or regulations)

"pseudo requirements"

16
New cards

Types of non functional requirements (quality requirements)

- usability

-reliability (robustness, safety, security)

- performance (response time, throughput)

- supportability (adaptability, maintainability, modifiability)

17
New cards

Types of non functional requirements (constraints/pseudo requirements)

- implementation

- interface

- operation

- packaging

- legal (licensing, certification, regulations)

18
New cards

Usability definition

must be measurable, the ease of which actors can use a system to perform a function

19
New cards

Robustness definition

ability of a system to maintain function (even if there is wrong input or changes in the enviornment)

loss of data/recovered data

20
New cards

Availability definition

ratio of the expected uptime against aggregate of the expected up and down time

21
New cards

Performance definition

response time, throughput

22
New cards

Efficiency definition

minimal use of resources (memory, processor, disk, network...)

23
New cards

Reliability definition

how precise the computations are

24
New cards

Portability definition

does it work for several platforms

25
New cards

Modifiability definition

addition of new functionalities

26
New cards

Reusability definition

of components, code, design and even requirements in other systems

27
New cards

Maintainability definition

changes to functionalities, repairs

28
New cards

Readability definition

of code, documents

29
New cards

Testability definition

ease of testing and error reporting

30
New cards

Understandability definition

of design, architecture, code

31
New cards

Integrability definition

ability to integrate components

32
New cards

UML Use Case Diagram

Used during requirements elicitation and analysis to represent external behavior

33
New cards

Actor definition

represents a role that is a type if user of the system

34
New cards

Use case definition

represents a class of functionality provided by the system