quiz 2 Flashcards

chapter 4 & 5 (54 cards)

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
what are the benefits and problems of mathematical specifications
benefits: expressive unambiguous easily transforms into code more scientific presentation problems: require expert knowledge to be designed and accessed
26
what are the generic activities common to all processes
requirements elicitation requirements analysis requirements validation requirements management
27
what is requirements elicitation and analysis
- requirements discovery - involves technical staff finding out about functional and nonfunctional requirements involve stakeholders
28
what are the difficulties in the elicitation and analysis (6)
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
what are the stages of elicitation and analysis process
- requirements discovery - classification and organization - prioritization and negotiation - requirements specification (documented and input into the next round of the spiral)
30
what are the types of interviews
closed interview (based on predetermined set of questions) open interview (where various issues are explored with stakeholders)
31
what are interviews good and not good for
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
what are 6 advice for interviewers
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
what should scenarios include
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
what is ethnography
a social scientist spends a considerable time observing and analysing how people actually work
35
what are the benifits and problems with ethnography
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
what is focused ethnography
short term field visits with intensive data collection & analysis
37
what are requirements validation techniques
requirement reviews comprehensibility traceability adaptability prototyping test case generation
38
what is system modeling
process of developing abstract models of a system with each model presenting a different view or perspective of that system
39
what are the different perspectives a system can be viewed in
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
41
how is the unified modeling language adopted nowadays
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
what are the context models used for
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
what is a process model and how is it better than the context model
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
what are interaction models
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
what is a use case and an actor and an association in the context of use case modeling
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
what are structural models
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
what are the 5 most common relationships in structural models
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
what is a weak relationship
exists when one class relies on another in some way
49
what is a c4 model
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
what is a deployment diagram
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
what are data driven models
they show teh sequence of actions involved in processing input dat and generating an associated output
52
what are event driven models and how are they best described
shows how the system responds to events and are best described using state machines
53
what are the pros and cons of model driven engineering (MDE)
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
what are the types of models in (MDE)
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