quiz 2 Flashcards

chapter 4 & 5

1
Q

what is the definition of requirements and what function does it serve

A

range from a high level abstract statement of a service constraint to a detailed mathematical function

may be the bases for a contract bid of contract itself

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

what is the difference between a contract bid and a contract

A

if a company wishes to get a contract for a large software project, it must define its needs in a sufficiently abstract way that a solution is not pre-defined so that it is open to interpretation and multiple ways of achievement are provided

once a contract has been awarded the contractor must write a system definition for the client in more detail so that the client understands and can validate what the software will do

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

what are the two types of requirements and who is the reader of each

A

User requirements:
- simple summarized statements in natural language
- simple diagrams of the services/constraints of the system
(Client manager/system end user/ client engineers/ contract managers/system architects)
System requirements
- a structured document setting out detailed descriptions of the system’s functions and operational constraints (-client managers)

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

what are functional and non functional requirements

A

Functional requirements
- statement of services the system should provide
- how the system should react to particular inputs
- how the system should behave in particular situations

non-functional requirements
- constraints on the services or functions offered by the system (reliability, response time, storage, io device constraints, data representations etc)

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

what are the properties (5) that functional requirements must contain

A
  • Correctness: they should correctly describe the intended requirements
    -Completeness: they should include descriptions of all facilities required
  • minimality: they should avoid overlapping redundancies
  • consistency: they should be no conflicts or contradictions in the descriptions of the system facilities
  • unambiguity: they should be precisely stated without ambiguities
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

what are the types of non functional requirements

A

Product requirements: must behave in a particular way (execution speed, reliability etc.)

Organisational requirements: consequence of organisational policies and procedures like process standards and implementation requirements

external requirements: arise from factors which are external to the system and its development process

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

what is requirements cross checking

A

comparing requirements in pairs to identify potential conflicts. it helps prevent generating conflicting requirements

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

how can we make formulating a non functional requirement easier

A

by stating:

  • a goal: a general intention of the user
  • a verification statement: using some measure that can be objectively tested (like training time for users)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

what are the 6 non functional metrics for specifying requirements

A

Speed:
- processed txns/seconds
- screen refresh time
- user event response time

size:
- MBs
- # of ROM chips

Ease of use:
- training time

Dependability:
- mean time to failure
- rate of failure occurrence
probability of unavailability

Robustness:
- Time to restart after failure
- percentage of events causing failure
- probability of data corruption on failure

Portability:
- percentage of target dependent systems
- number of target systems

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

what is a requiements specification document, what should and shouldn’t it include?

A

is the official statement of what is required of the system developers

should include:
- a definition of user requirements
- a specification of the system requirements

should not include:
- how the software is should be done (only what should be done)

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

describe the requirements document in the context of XP and agile methods

A

in agile methods, it is considered a waste of time since the document is always outdated

in XP, they use incremental requirements and express them using stories

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

sate the users of a requirements document from the client and provider side

A

Client side:
- system customers:
. specify the requirements
. read/verify them to check that they meet their needs
. change/update requirements if necessary

  • Managers:
    . to plan bids for the system
    . to plan the system development process
  • system development engineers
    . to understand the nature and context of the system to be developed
    . to develop the system accordingly
  • system test engineers:
    . to develop validation tests for the system
  • system maintenance engineers:
    . to understand the system and the relationships between its parts
    . to update and extend the system based on emerging requirements
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

what is the structure of a requirements document

A

preface
introduction
glossary
user req. definition
system architecture
system req. specification
system models
system evolution
appendices
index

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

what are the different ways a requirements document can be written in

A

natural language
structured natural language
tabular specification
design description languages graphical notations
mathematical specification

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

what are the benefits and problems of natural language sentence

A

benefits:
- simple and straightforward approach
- easily accessible by non-expert readers

problems:
- lack of clarity
- requirements confusion (functional and non-functional tend to be mixed up)

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

describe the NLS

A
  • requirements are written using numbered sentences in natural language
    • formulate in terms of goal-verification when possible
    • use shall (mandatory) and should (desirable)
    • avoid computer jargon
    • include rationale and explanation of why it is necessary
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

describe the structured specifications

A

form based template:

. definition of the function or entity
. description of inputs and where they come from
. description of outputs and where they go to
. other information needed for the computation
. description of the actio to be taken
. pre and post conditions
side effects

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

what are the benefits and problems of structured specifications

A

benefits:
. faster and easier to produce
. faster access by expert readers

problems:
. freedom of requirements writer is limited
. this works well for some types of requirements but sometimes is too rigid for writing business requirements

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

describe the tabular specification

A

used to supplement natural language (structured and unstructured)

useful when defining a number of possible alternative courses of action

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

describe the design description languages

A

using programming like language but with more abstract features

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

what are the benefits and problems with design description language

A

benefits:
. higher levels of expressiveness
could be used as a building block for design and implementation later

problems:
. quite cumbersome for system engineers defining requirements
. cumbersome for non-expert clients in accessing the requirements

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

describe the graphical notations

A

graphical models, supplemented by text annotations are usually used to define the functional requirements for the system

23
Q

what are the benefits and problems of graphical notaions

A

benefits:
higher level of expressiveness
easier to produce and access

problems:
could require expert knowledge to be designed and accessed later

24
Q

describe the mathematical specifications

A

notations based on mathematical concepts: such as finite state machines (L, S, s0, lambda, F) where:

  • L is the input alphabet
  • S is a finite, non-empty set of states
  • s0 is an initial state, an element of S
  • lambda is the state-transition function (SxL -> S)
  • F is the set of final states, a possibly empty subset of S
25
Q

what are the benefits and problems of mathematical specifications

A

benefits:
expressive
unambiguous
easily transforms into code
more scientific presentation

problems:
require expert knowledge to be designed and accessed

26
Q

what are the generic activities common to all processes

A

requirements elicitation
requirements analysis
requirements validation
requirements management

27
Q

what is requirements elicitation and analysis

A
  • requirements discovery
  • involves technical staff finding out about functional and nonfunctional requirements
    involve stakeholders
28
Q

what are the difficulties in the elicitation and analysis (6)

A

stakeholders don’t know what they really want

stakeholders express requirements in their own terms

different stakeholders may have conflicting requirements

organisational and political factors may influence the system requriements

the requirements change during the analysis process

new stakeholders may emerge and the business environment may change

29
Q

what are the stages of elicitation and analysis process

A
  • requirements discovery
  • classification and organization
  • prioritization and negotiation
  • requirements specification (documented and input into the next round of the spiral)
30
Q

what are the types of interviews

A

closed interview (based on predetermined set of questions)

open interview (where various issues are explored with stakeholders)

31
Q

what are interviews good and not good for

A

good for getting an overall understanding of what stakeholders do and how they might interact with the system

not good for understanding the domain requirements

32
Q

what are 6 advice for interviewers

A

be open minded

avoid preconceived ideas

listen to stakeholders

prompt the interviewee to get discussion going

user a requirements proposal

working together on a prototype system

33
Q

what should scenarios include

A

a description of the starting situation

a description of the normal flow of events

a description of what can go wrong

information about other concurrent activities

a description of the state when the scenario finishes

34
Q

what is ethnography

A

a social scientist spends a considerable time observing and analysing how people actually work

35
Q

what are the benifits and problems with ethnography

A

benefits:
- effective in identifying business requirements
- combining ethnography with prototyping

problems
- not always appropriate for identifying organizational and domain requirements
- it studies existing practices which may have some historical basis

36
Q

what is focused ethnography

A

short term field visits with intensive data collection & analysis

37
Q

what are requirements validation techniques

A

requirement reviews
comprehensibility
traceability
adaptability
prototyping
test case generation

38
Q

what is system modeling

A

process of developing abstract models of a system with each model presenting a different view or perspective of that system

39
Q

what are the different perspectives a system can be viewed in

A

external perspective: where you model the context or environment of the system

interaction perspective: where you model the interactions between a system and its environment, or between the components of a system

structura perspective: where you model the organization of a system or the structure of the data that is processed by the system

behavioral perspective: where you model the dynamic behavior of the system

40
Q
A
41
Q

how is the unified modeling language adopted nowadays

A

activity diagrams: which show the activities involved in a process or in data processing

user case diagrams: which show the interactions between a system and its environment

sequence diagrams: which show interactions between actors and the system and between system components

class diagrams: which show the object classes in the system and the associations between these classes

state diagrams: which show how the system reacts to internal and external events

42
Q

what are the context models used for

A

used to illustrate the operational context of a system. it uses system boundaries which establish what is outside the system and what is inside it

43
Q

what is a process model and how is it better than the context model

A

context models simply show other systems in the environment while process models reveal how the system being developed is used in broader business processes (how it interacts with the environment)

44
Q

what are interaction models

A

interactions in a system can occur at different levels;

User interaction : how users interact with the system
system-to-system interaction: highlights communication problems that may arise
component interactions: understand if a proposed system structure is likely to deliver the required system performance and dependability

45
Q

what is a use case and an actor and an association in the context of use case modeling

A

use case: a single unit of meaningful work

actor:a person, organization or an external system that interacts with this system

association: between actors and use cases whenever an actor is involved with an interaction described by a use cas

46
Q

what are structural models

A

they display the organization of a system in terms of the components that make up that system and their relationships and they may be:

static models: which show the structure of the system design

dynamic models: show the organization of the system when it is executing

47
Q

what are the 5 most common relationships in structural models

A

dependency: a uses b

association: a related to b

aggregation: a part of b

composition: a made of b

inheritence: a is a b

48
Q

what is a weak relationship

A

exists when one class relies on another in some way

49
Q

what is a c4 model

A

provides a means to efficiently communicate their software architecture at different levels of detail. is an abstraction first approach to diagramming and has the following levels:

level 1: a system context diagram provides a starting point showing how the software sytem in scope fits into the world around it

level 2: container diagrams zooms into the software system in scope, showing high level technical building blocks (not docker container)

level 3: a component diagram zooms into an individual container showing the components inside it

level 4: a code diagram can be used to zoom into an individual component showing how that component is implmented=

50
Q

what is a deployment diagram

A

allows to illustrate how software systems and containers in the static model are mapped to infrastructure. it represents a physical infra., virtualized infra, containerized infra, execution environment etc.

51
Q

what are data driven models

A

they show teh sequence of actions involved in processing input dat and generating an associated output

52
Q

what are event driven models and how are they best described

A

shows how the system responds to events and are best described using state machines

53
Q

what are the pros and cons of model driven engineering (MDE)

A

pros:
- allows systems to be considered at higher levels of abstraction
- generating code automatically

cons:
- models for abstraction are not necessarily right for implementation
- savings from generating code may be outweighed by teh cost of revising and fine tuning the generated code

54
Q

what are the types of models in (MDE)

A

Computation Independent Model (CIM) : model the important domain
abstractions used in a system
* Platform independent model (PIM): model the operation of the system without
reference to its implementation, describing the static system structure and how it
responds to external and internal events
* Platform specific models (PSM): These are transformations of the platform-
independent model with a separate PSM for each application platform. In principle,
there may be layers of PSM, with each layer adding some platform-specific detail