Subject |
follow |
abbreviate as |
requires |
accomplish |
make |
have advantage |
ensure that |
is part of |
done in conjunction with |
is a synonym of |
is a subtopic of |
involve |
perform after |
require |
reduce |
understand by |
improve |
helps |
has definition |
see as |
play |
see also |
algorithm design | | | | | | | | | | | 9.1 - The Process of Design | | | considerable experience | | | | | The design of computational mechanisms | | | design^2 |
architecture design | | | | | | | | | | software architecture^2 | 9.4 - Software Architecture | | | considerable experience | | | | | | | | design^2 |
bottom-up design | | | | | | normally useful so that reusable components can be created; these can then be used in several places in the overall system | | | | | 9.1 - The Process of Design | | | considerable experience | | | | | An approach to design in which you start by designing the low-level details such as the utilities, and then decide how these will be put together to create successively higher-level components, and ultimately the entire system | | | design^2 |
class design | | | | | | | | | | | 9.1 - The Process of Design | | | considerable experience | | | | | The design of the various features of classes such as associations, attributes, interactions and states | | | design^2 |
database design | | | | | | | | | | | 9.1 - The Process of Design | | | considerable experience | | | | | The design of how data is persistently stored so that it may be accessed by many programs and users, over an indefinite period of time | | | design^2 |
defensive design | | | | | | | | | | | 9.2 - Principles Leading to Good Design | | | considerable experience | | | | | Design with awareness that other components cannot be trusted | | | design^2 |
design by contract | | | | | | | | | | | 9.2 - Principles Leading to Good Design | | | considerable experience | | | | | An approach to design in which each method has a contract with its callers regarding preconditions, postconditions and invariants | | | design^2 |
detailed design | | | | | | | | design | | | 1.7 - Activities Common to Software Projects | deciding on data structures, classes, algorithms and procedures to be used | | considerable experience | | | | | The design of the internals of individual subsystems | | | design^2 |
object oriented design | object oriented analysis | OOD | an understanding of how objects are physically represented using a particular programming language | | | | | | | | 2.2 - Classes and Objects | | | the skill of organizing classes into inheritance hierarchies | | | | | | | | design^2 |
protocol design | | | | | | | | | | | 9.1 - The Process of Design | | | considerable experience | | | | | The design of communications protocols | | | design^2 |
software architecture^2 | | | | | | | | | | architecture design | 9.4 - Software Architecture | the development of a variety of high level views of the system | | considerable experience | | | | | The process of designing the global organization of a software system, including dividing software into subsystems, deciding how these will interact, and determining their interfaces | | a central role in software engineering | software architecture^3 |
top-down design | | | | | | gives the system being designed a good structure | | | | | 9.1 - The Process of Design | | | considerable experience | | | | | An approach to design in which one starts with the high-level architecture of the system, then elaborates the design of subsystems until finally designing the low-level details such as the structure of individual classes | | | design^2 |
user centred design | | UCD | | if developers follow certain guidelines including: | the system more attractive so users may be more willing to buy and use it | | unnecessary features and functions are not added to the software | | | | 7.1 - User Centred Design | | | developers to understand users | training and support costs | | the system's efficiency of use | developers prioritize their work so that the most important features reach the users sooner | An approach to software engineering using techniques that focus on users and their needs | | | design^2 |
user interface design | | | | | | | | design | other software engineering activities | | 7.4 - The Basics of User Interface Design | deciding in detail how the user is to interact with the system | domain analysis and problem definition | considerable experience | | all software engineers | | | The design of the user interface of a software system | separate from software engineering | | design^2 |