All Cards Flashcards
(234 cards)
What is software
Collection of computer programs and related data telling a computer what to do and how to do it
What is engineering
The way something has been designed and built
What is software engineering
Methods and tools to design, build and maintain the instructions for telling a computer what to do
What is the 7-step software development process
Analysis, design, implementation, building, testing, deployment and maintenance
What is object-oriented programming
Method of implementation in which programs are organised as cooperative collections of objects
What is object-oriented analysis
Method of analysis that examines requirements from the perspective of the classes and objects
What is abstraction
Generalisations that define certain key characteristics and behaviour
What is a class
A class represents a key concept within the system; it holds data and behaviour
What is an object
A different instance of a class
What is encapsulation
Exposing what a class can do but not how. Allows you to hide specific information and control access to the internal state of the object
Why encapsulate code
To hide implementation, reduce dependencies, debug easier, make the code more manageable
What are getters/setters
THey are used to provide controlled access to internal data fields
What is the relationship between subclass and superclass
Subclass can hold all the data and perform all actions of the superclass
What is polymorphism
Allows us to request the same action from objects yet allow for it to be executed in different ways depending on the object
What is an abstract class
High level “blueprints” for objects, they are conceptual
What is an interface
A purely abstract class that defines only behaviour
What is UML
Unified Modelling Language, a formal graphical language comprising a set of diagrams for describing software systems
How to represent a class in UML
A box split into 3 sections: class name, attributes (variables), functions
How to denote visibility of an attribute or method
+ for public, - for private
How to show association in UML
Solid line, target end links to the class, name of association on time, numeracy of association on bottom
What is composition in UML and how to show it
One class cannot exist without the other. A filled diamond head is linked to the higher value class that can exist without the other
What is aggregation in UML and how to show it
One class contains objects in another class but doesn’t have control over the lifecycle of the objects. An empty diamond head.
How to model abstract methods and classes in UML
Italics or “abstract” in brackets
What is an interface in UML and how to show it
Defines the same behaviour to different classes. Shown with dotted arrow with arrow head on interface. Interface block with “«interface»” above it