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 |