3.1 What does IDE stand for?v
Integrated Development Environment
3.2 How do IDEs help us while developing?
They give us acces to autocomplete and show syntax errors beforehand, debugging
3.3 How does object oriented design help in development (name three benefits)?
Easier to maintain due to separation of concerns, Easier to break down (divide and conquer), Better describable through design (object and system design), better to discuss
3.4 Name and describe the major activities of the object oriented paradigm.
Encapsulation: Group functionality in to meaningful bundles
Inheritance: Reusability of functionality
Polymorphism: Modification of reused functionality
Abstraction: Definition of abstract base that can be fleshed out by specific functions
3.5 What does encapsulation enable (two factors)?
enables bundling and information hiding
3.6 What is an object?
Objects are instances of classes,
3.7 What is the keyword in java for enabling encapsulation?
class (access specifier class class_name )
3.8 Suppose you have two classes: Console and TV. Console has the attributes name and output connection. The TV has the attributes name and connectedTo in which it stores the in- formation of which devices are connected to it. Draw a class diagram depicting the Console and TV within the business domain.
3.8 What is the purpose of inheritance?
Enables reuse of data structures and functionality
3.9 What is the keyword in java enabling inheritance?
extends
3.10 Suppose you have the consoles PS5 and Xbox Series X. Both can receive game disks and play games, but the game controllers are very different, the XBox controller has an Xbox button layout while the PS5 controller has adaptive buttons. Draw a class diagram depicting this scenario and use inheritance where appropriate (business domain).
3.11 What is polymorphism in the context of object orientation (two bullets)?
In Java, polymorphism refers to the ability of a class to provide different implementations of a method.
3.12 What is the difference between overloading and overriding?
Overriding: when the method signature is the same in the superclass and the child class. You overwrite the inherited functionality in the sub class.
Overloading: when two or more methods in the same class have the same name but different parameters. You call them by using different input params.
3.13 What is the purpose of abstraction in the context of object orientation?
implement common features (structure, members and methods), Pre-define (to be implemented) required features
3.14 What keyword(s) enable abstraction in java?
abstract
3.15 What is the major difference and major commonality between abstraction and inher- itance?
commonality: reuse
difference: when a class inherites from another Class, it can use its existing properties and methods "
3.16 Define Debugging in one sentence.
A technique to find, analyse and fix defects.
3.17 What is a Debugger (one sentence)?
A program that supports finding defects.
3.18 Define user interface design in one sentence.
UI Design is the process of designing the frontend of an application
3.19 Define the term boundary object in the context of user interfaces in one sentence.
Represent the objects the user can interact between the user and a system
3.20 Name five typical boundary objects in user interfaces.
Labels, Buttons, Tables, Lists, Views, Layouts, etc.
3.21 Your company (retailer serving goods around the world) is starting a new digitalization project. Your colleague is heading the architecture team for the core system while you are leading the frontend teams. Your user base is heterogenous:
- customer support experts (expect easy task management)
- financing experts and customer support (expect clear financing details)
- product managers who take care of available products (expect easy product management)
- users who are shopping for goods (expect a satisfying shopping experience)
3.21.1 What are your high level options (at least two) for catering to the expectations of your user base?
3.21.2 How would you go about finding out what your users really want?
3.21.3 Draw a high level diagram of your system landscape.
1. Befragen, pro Usergruppe 1 eigenes UI
2. Interviews, A/B Tests
3. 1 Frontend, 1 Backend, Finance, Produktmaschine, Lager
Last changed2 years ago