What is the focus of a procedural program?
Method/functions calling each other
Procedural programming emphasizes the use of procedures or routines to operate on data.
In the 1950s and 1960s, what was the primary focus of software systems?
Algorithms
The focus was on efficiency and solving small problems using loops, conditionals, and functions.
What was the focus of software systems in the 1970s and 1980s?
Data-oriented models
This approach emphasized decomposition based on data organization and flow.
In the 1990s and 2000s, what was the primary focus of software systems?
Objects
Object-oriented models emphasized decomposition based on objects/classes and their relationships.
What does Object-Oriented Programming (OOP) aim to handle?
Complexity by decomposition
OOP breaks problems into smaller, manageable parts and designs objects that contain data and related behaviors.
What is a model in software development?
An abstraction of reality
Models can be precise or ignore irrelevant aspects while retaining relevant concepts.
What are classes in object-oriented programming?
Blueprint or instructions on how to create an object
For example, class Human{ } defines how to create a Human object.
What is an object in programming?
An instance of a class created in your software application
For example, hmn = new Human creates an instance of the Human class.
What is a constructor in object-oriented programming?
Creates an object with initial attributes
Similar to __init__ in Python.
What are methods in the context of objects?
Implement behaviors relevant to the purpose of the system
Some methods describe real-world behaviors, while others describe system behaviors.
What are the categories of objects in object-oriented programming?
Each category serves a different purpose in modeling and managing data.
What do entity objects model?
Real things
Examples include people, buildings, and equipment.
What are container objects used for?
Data structure to store entities
Examples include a forest, a classroom, or a Stack.
What do interface objects handle?
Communication with the outside world
Examples include handling interactions with users or external systems like files and printers.
What is the role of control objects?
Organize computations (main program)
They manage the flow of the program and coordinate between other objects.
What are accessors in object-oriented programming?
Accesses or calculates a value based on the data stored in the object
They are also known as getters.
What are mutators in object-oriented programming?
Changes the state of the object
They do not return anything and are also known as setters.
What is the first step in the software development process?
Requirements
This involves figuring out what the software needs to do and documenting it.
What is the second step in the software development process?
Design
This step involves devising a plan to meet the requirements.
What is the third step in the software development process?
Implementation
This step involves writing the code according to the design plan.
What is the fourth step in the software development process?
System Testing & Verification
This step shows that the system meets the requirements.
What is the final step in the software development process?
Maintenance
This includes installing, delivering, updating, and upgrading the software.
What do classes correspond to in programming?
Types
Classes define the fields and operations for objects of the same type.
What does design in object-oriented programming begin with?
Modelling, not coding
Design extracts classes, objects, and relationships from the requirements.