Created by nina.evangelou
about 11 years ago
|
||
Question | Answer |
recursive association | An association where the links connect objects belonging to the same class. |
access modifier | One of the keywords public, protected and private, specifying the extent to which class members are accessible from outside the class. In the absence of one of these keywords the default package access applies. |
application programming interface (API) | In M256 this term refers to the predefined Java packages. More generally, the services offered by a component may be referred to as the component’s API. |
behaviour (of an object) | An object’s set of responsibilities |
class member | An element of a class definition, such as an instance variable, method or constructor. |
cohesion | A measure of how strongly related and focused the responsibilities of a component are. High cohesion is considered desirable. |
component | On this course, unless indicated to the contrary, taken to mean an object oriented software component. |
component-based approach | An approach to software development based on the philosophy of reusing existing components, and of structuring the software into interacting components which may be reused. |
component-based software | Software created using a component-based approach. |
composition | Reusing a class through an instance of the class being part of the state of an object of a new class. |
coordinating object | The core system object through which the user interface accesses the services of the core system. |
coupling | A measure of the extent to which a component is dependent on other components. Low coupling is considered desirable. |
copy constructor | A constructor that returns a copy of its argument, i.e. a different object of the same class with the same state. |
data hiding | Protecting an object’s implementation details by restricting access to them |
decompiler | A tool that takes compiled Java files and derives the source code |
defensive copy (of an object) | A distinct object with the same state as the original |
design for reuse | Producing components as part of developing new software, or specifically as marketable commodities. |
design with reuse | Using existing components in creating a new piece of software |
efficiency | A measure of how well a system carries out its tasks |
encapsulation | The packaging together in an object of data and the operations that can be applied to that data. |
engineering components | The tangible artefacts designed and constructed by engineers. |
getter method | A method enabling clients to discover the value of an instance variable. |
immutable object | An object whose state cannot be changed. |
implementation details (of a class) | How the class is coded, including the code for its methods and constructors, and the declaration of its instance variables. |
incremental prototyping | Successively modifying and augmenting a prototype until it meets all the requirements. |
incremental software development | An approach to software development where the requirements of the software are partitioned and partitions developed separately. |
integrity (of a package) | The consistency of the states of the objects in the package with any invariants on the objects. |
integrity (of an object) | The validity of an object’s state, that is, the consistency of the values of its instance variables with any invariants on the object. |
JAR file | A form of zip file used to distribute compiled Java code, documentation and other information required for software to be used. |
maintainability | The extent to which software is easily maintained. |
multiple releases (of software) | Prototypes handed over to the client at various stages of the software’s development. |
mutable object | An object whose state can be changed. |
object-oriented software component | One or more classes grouped together in some way to form a piece of software that has a well-defined purpose and that can be combined with other pieces of software to construct a larger system. |
package | A Java mechanism for grouping classes together to form an object-oriented software component. |
polymorphism | The capability for objects of different classes to respond to the same message in a manner appropriate for each object. |
portability | A measure of how easily a system can run on different platforms. |
post-condition | What is achieved by invoking a method, if its pre-conditions are satisfied. |
pre-condition | A restriction on the circumstances under which a method may be invoked. |
privacy leak | A situation where it may be possible for a client to access and improperly manipulate the state of an object. |
protocol (of a class) | The specifications of the methods defined in a class, together with the specifications of inherited methods, which define the corresponding messages that its objects will respond to. |
protocol (of a component) | The combined protocols of the component’s classes, defining how clients can interact with the component. |
responsibility (of a component) | The services that the component offers. |
responsibility (of an object) | The tasks, or services, carried out by the object on receipt of appropriate messages. |
reusability | A measure of the extent to which existing artefacts have been used during the development of the software in question, and the extent to which the software itself offers artefacts for reuse. |
setter method | A method enabling clients to change the value of an instance variable in a controlled way. |
software component | A piece of software with a well-defined purpose that can be combined with other pieces of software to construct a larger system. On this course, unless the context indicates otherwise, the term is taken to mean object-oriented software component |
specification (of a method) | A description of the purpose and usage of a method, including its pre-conditions and post-conditions. |
specification (of an engineering component) | A description of the engineering component’s interface, requirements and services. |
specification (of an object-oriented software component) | A description of how to interact with the component, and of its requirements and services. |
testability | A measure of how easily a system can be tested. |
unnamed package | The default Java package for a user-defined class |
Want to create your own Flashcards for free with GoConqr? Learn more.