1. Introduction to Object Orientation
Software Engineering
Understanding the Nature, Types, Characteristics, and
Stakeholders
Software Engineering
Course Department of
Computer Science 2025
Made with
Genspark
2. Outline of This Presentation
1 Introduction to Object-Oriented Programming
Concepts
2 The Nature of
Software
3 Types of
Software
4 Characteristics of
Software
5 Stakeholders in Software
Engineering
Learning
Journey
This presentation will guide you through
fundamental
concepts of object-oriented software
engineering.
Programming
Concepts
Made with
Genspark
Software
Types
Stakeholder
s
3. 1
Section 1: Object-Oriented Programming
Concepts
Explore the key concepts and principles that define the object-oriented
approach in software development.
Classes &
Objects
Made with
Genspark
Inheritanc
e
Encapsulatio
n
Polymorphis
m
4. Core Principles of Object-Oriented Programming
(OOP)
Classes & Objects
Classes are blueprints that define properties and behaviors. Objects are
instances of classes that represent real-world entities.
Encapsulation
Wrapping data and methods together as a single unit, hiding internal states and
requiring interaction only through public methods.
Inheritance
Ability of a class to derive properties and characteristics from another class,
enabling code reuse and establishing relationships.
Polymorphism
Ability of different classes to be treated as instances of the same class
through a common interface, allowing one interface to be used for a general
class of actions.
Abstraction
Hiding complex implementation details and showing only necessary features
of an object, reducing complexity and increasing efficiency.
Dynamic Binding & Message Passing
Code associated with a procedure call is determined at runtime, and
objects communicate by sending and receiving information to each
other.
Real-World Example:
Car
Class: Car
(Blueprint)
Made with
Genspark
Objects: Toyota Camry, Honda
Civic
Encapsulation: Engine details
hidden
Inheritance: ElectricCar inherits from
Car
Polymorphism: All cars can "drive" but in different
ways
Code
Reuse
Data
Security
Modularit
y
Scalabilit
y
5. Benefits and Applications of
OOP
Key
Benefits
Reusability: Code can be reused through inheritance, reducing
redundancy and development time
Scalability: Programs can be easily expanded and scaled as requirements
grow
Modularity: Encapsulation enables objects to be self-contained,
making collaborative development easier
Security: Data hiding through encapsulation protects sensitive
information
Maintainability: Independent components are easier to update
without affecting the entire system
Flexibility: Polymorphism allows a single function to adapt to the
class it is placed in
Where OOP
Excels
Enterprise Applications
Large business systems with complex
workflows
Mobile Applications
iOS, Android apps with rich user
interfaces
Game Development
Entity-based games with many interactive
objects
Simulations
Scientific and financial modeling
systems
OOP is especially valuable for large, complex systems
that require ongoing maintenance and collaborative
development
Made with
Genspark
6. 2
Section 2: The Nature of
Software
Understand what makes software unique: its definition, essential properties,
and how it compares to other engineering artifacts.
Complexit
y
Made with
Genspark
Changeabilit
y
Invisibilit
y
Uniquenes
s
7. Defining Software & Its Fundamental Properties
What is
Software?
Software is a collection of computer programs, procedures, rules, and
data that perform specific tasks or functions. Unlike hardware, software is
intangible and created through programming.
Fred Brooks' Four Key
Properties:
Complexity
Software entities are more complex for their size than perhaps any other
human construct because no two parts are alike. Software has numerous
unique interacting parts.
Conformity
Software must conform to exacting specifications in its interfaces to other
systems, with no tolerance for approximation. Unlike physical components,
interfaces must match exactly.
Changeability
Software is the most malleable element in a system and is frequently
changed. However
, changing one part often results in undesired side
effects in other parts.
Invisibility
Software has no physical properties and cannot be directly sensed. Engineers
must use different representations at various abstraction levels to visualize it.
Additional
Properties
Engineered, Not
Manufactured
Software is developed through engineering processes rather
than manufactured in the classical sense.
Does Not Wear
Out
Unlike hardware, software doesn't physically deteriorate over
time, though it may become obsolete or require updates.
Uniquenes
s
Each software project is unique in its development,
requirements, and implementation challenges.
Made with
Genspark
8. 3
Section 3: Types of
Software
Differentiate between system software and application software, as well as
general, business, and custom types.
System
Software
Application
Software
Business
Software
Custom
Software
Made with
Genspark
9. System Software vs. Application Software
System
Software
Software that controls and manages hardware and provides platform for running
applications
Operating Systems Device Drivers Firmware Compilers
Utilities
Application
Software
Software designed to perform specific tasks for users and runs on top of system
software
Word Processors Spreadsheets Web Browsers Graphics
Software
Database Software
Key Differences
System software runs in the background, while application software
operates in the foreground
System software is essential for computer function; application software is optional
System software interfaces with hardware; application software interfaces with
users
System software is usually written in low-level languages; application software in
high-level languages
Software Layer
Architecture
Hardwar
e
System
Software
OS, Drivers,
Utilities
ApplicatUiosneSr oftware
Word Processors, Browsers,
etc.
Aspect
Purpose
System Software
Manage hardware
Application Software
Solve user tasks
Installation Pre-installed User installs
Dependency Independent Depends on system
User Interaction Minimal Extensive
Made with
Genspark
10. Categories and Examples of Application
Software
Spreadsheets
(Excel)
General Applications
Word Processing (MS Word) Web Browsers (Chrome)
Presentation Software (PowerPoint) Graphics
(Photoshop)
Multimedia Players
(VLC)
Business
Applications
CRM (Salesforce) ERP (SAP)
Project Management
(Asana)
Business Process Management Database (Oracle) Resource
Management
Custom Developed Applications
Tailor-made for specific organization Bespoke software
solutions Domain-specific applications
Application Software by
Shareability
Freeware
Free to use (Adobe
PDF, Firefox)
Shareware
Trial period (WinZip,
Adobe Acrobat)
Open Source
Modifiable code
(Linux, Apache)
Closed Source
Proprietary
(Windows, macOS)
Application software can be categorized based on purpose,
domain, and availability model. These categories help users
identify and select software that meets specific needs.
Made with
Genspark
11. 4
Section 4: Software Characteristics and
Stakeholders
Examine essential quality attributes of software and the individuals involved in
software engineering projects.
Characteristic
s
Made with
Genspark
Stakeholder
s
Qualit
y
Relationship
s
12. Software Characteristics & Stakeholders
Key Characteristics of
Software
Made with
Genspark
Functionality: Ability to perform intended functions
correctly
Reliability: Software performs consistently under
specified conditions
Efficiency: Optimal use of system resources (memory,
CPU)
Usability: Ease of use, learnability, and user
satisfaction
Maintainability: Ease of modification and
updates
Portability: Ability to operate in different
environments
Stakeholders in Software
Engineering
Internal
Stakeholders:
Project Manager: Monitors and manages project
activities
Development Team: Designs, codes, and tests
software
Organization: Provides resources and sets
goals
External
Stakeholders:
Customers: Define requirements and use the final
product
Suppliers: Provide essential services and
equipment
Government/Regulators: Set compliance
standards