• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/44

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

44 Cards in this Set

  • Front
  • Back

What defines the nature of design

What constraints can be placed upon the user requirements

Real world problems


Choice of prog lang or execution environment


Reuse existing software


Skill and experience of design team

How does design play a pivotal role

Clarify and refine requirements


Early detection and elimination

What are the major challenges of design

No unique solution


No unique measure of success


Requires problem space exploration


Requirement volatility


Abstraction which requires skill

What is requirement volatility

It refers to the changes that can take place in given user requirements

What are design process models

How the design activities are organised

What are design methods

Representation


Strategy


Heuristics

What does representation of design method mean

The means by which design solutions are made explicit

What is strategy in design methods

A high level plan is to how to produce the design

What is heuristics in design methods

Creative part eg exploiting requirement priorities, domain knowledge, past experiences

Levels of design

Architectural design


Subsystem design


Interface design


Component design


Data structure design


Algorithm design

What is architectural design

Deciding in subsystem and their relationship

What are subsystem designs

An abstract specification for each subsystem

What is interface design

The interface for each subsystem

What is component design

Decomposition of subsystems into components

What is data structure design

Data structuring decisions

What is algorithm design

Algorithmic decisions

What is cohesion

A measure of how well the parts of a component fit together


I.e. how functionally related the parts are

Why is strong cohesion good

Promotes understanding and reasoning and provides dividends with respect to maintenance and reuse

How does inheritance affect cohesion

Cohesion provides a measure and to how self contained an object class is


Inheritance reduces cohesion

What is coupling

Measure of how strongly components are interconnected

What are types of tight coupling

Common - to share data


Control - exchange control information

How to get loose coupling

No shared data or restricting access


Promotes separation of concerns

What does oop support in coupling

Loose

How does inheritance affect coupling

It increases it

What is dependability

Correctness - does the system behaved as specified


Reliability - mean time between failures


Availablity - likelihood of a system operating correctly at a moment

How is reliability measured

Mean time between failures

What is maintainability in design quality

It's important to understand design well for this


Cohesion coupling impact it


Traceability between design representations as well as between requirements design and code

What is object oriented design

Software around a collection of objects


Object organised into a class hierarchy

What is a function oriented design

Software is structured around centralised system state


System state is shared between a collection of functions

What are the life cycle refinement steps

Requirements / specification


Architecture


Sub systems


Code spec

What is usability in furps

Human factors


Help


Documentarion

What is reliability in furps

Frequency of failure


Recoverability


Predictability

What is performance in furps

Response time


Throughput


Accuracy


Resource limitation


Availability

What is supportability in furps

Adaptability


Maintainability


Internationalization


Configurability

How are requirements specification and implementation related to one another

Back (Definition)

What is verification

Checking is the product is constructed correctly

What is validation

Checking if the product is actually what the customer wants

What is requirements engineering

Establishing a precise definition of what is required

How are requirements specification and implementation related to one another

Back (Definition)

Give an example of a phenomena

Entities eg sensors alarms


Events eg sensor triggered


States eg sensor.state

Name one method of categorizing requirements

FURPS


Functional and non functional

What does FURPS stand for

Functional


Usability


Reliability


Performance


Supportability

What is functional in furps

Features capabilities and security


Services the system should provide


How the systems should react to particular inputs or in a particular context