Introduction to Object Orientation
Software Engineering
Understanding the Nature, Types, Characteristics, and
Stakeholders
Software Engineering
Course Department of
Computer Science 2025
Made with
Genspark
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
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
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
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
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
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
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
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
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
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
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

More Related Content

PPTX
Software Engineering - UNIT1- Part1.pptx
PPT
Unit-1 in software engineering note ppt complete
PDF
Software Engineering Lecture for Computer Science.pdf
PPT
Chapter 01
PPTX
SE Lecture 1.pptxfkkkkkkkkkkkkkkkkkkfkfk
PPTX
INTRODUCITON TO SOFTWARE(1)_development _cycle.pptx
DOCX
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
PPTX
Software Engineering
Software Engineering - UNIT1- Part1.pptx
Unit-1 in software engineering note ppt complete
Software Engineering Lecture for Computer Science.pdf
Chapter 01
SE Lecture 1.pptxfkkkkkkkkkkkkkkkkkkfkfk
INTRODUCITON TO SOFTWARE(1)_development _cycle.pptx
Evolving role of Software,Legacy software,CASE tools,Process Models,CMMI
Software Engineering

Similar to Intro To object oriented software engineering. (20)

PDF
Software Engineering Introduction by Dr M Zhu
PPT
Chapter 01
PPT
software Ch01
PPT
Rekayasa Perangkat Lunak Pertemuan 1 RPL
PPTX
Java learn from basic part chapter_01 short notes to understand the java quic...
PPTX
The-Evolution-of-Software-From-Mainframes-to-the-Cloud .pptx
PDF
Software Engineering Notes 1 (1) (1).pdf
PDF
Ch01lect1 et
PPT
Chapter 01
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPT
Introduction to Software Engineering.ppt
PPTX
The Introduction to Software Engineering
PPT
1. Introduction to software engineering.ppt
PDF
Unit 1 introduction to software
PPT
SE Lecture 1.ppt
PPT
SE Lecture 1.ppt
PPT
software
PPTX
Software engineering
PPTX
Introduction to Software Engineering
Software Engineering Introduction by Dr M Zhu
Chapter 01
software Ch01
Rekayasa Perangkat Lunak Pertemuan 1 RPL
Java learn from basic part chapter_01 short notes to understand the java quic...
The-Evolution-of-Software-From-Mainframes-to-the-Cloud .pptx
Software Engineering Notes 1 (1) (1).pdf
Ch01lect1 et
Chapter 01
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Introduction to Software Engineering.ppt
The Introduction to Software Engineering
1. Introduction to software engineering.ppt
Unit 1 introduction to software
SE Lecture 1.ppt
SE Lecture 1.ppt
software
Software engineering
Introduction to Software Engineering
Ad

Recently uploaded (20)

PDF
737-MAX_SRG.pdf student reference guides
PPT
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PDF
Abrasive, erosive and cavitation wear.pdf
PDF
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
PPTX
Information Storage and Retrieval Techniques Unit III
PPTX
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PDF
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
PDF
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
PDF
Visual Aids for Exploratory Data Analysis.pdf
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PPTX
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
PDF
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
PPTX
Amdahl’s law is explained in the above power point presentations
PDF
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
PDF
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
PDF
Categorization of Factors Affecting Classification Algorithms Selection
PDF
August -2025_Top10 Read_Articles_ijait.pdf
PDF
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
737-MAX_SRG.pdf student reference guides
INTRODUCTION -Data Warehousing and Mining-M.Tech- VTU.ppt
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
Abrasive, erosive and cavitation wear.pdf
Improvement effect of pyrolyzed agro-food biochar on the properties of.pdf
Information Storage and Retrieval Techniques Unit III
6ME3A-Unit-II-Sensors and Actuators_Handouts.pptx
August 2025 - Top 10 Read Articles in Network Security & Its Applications
Influence of Green Infrastructure on Residents’ Endorsement of the New Ecolog...
SMART SIGNAL TIMING FOR URBAN INTERSECTIONS USING REAL-TIME VEHICLE DETECTI...
Visual Aids for Exploratory Data Analysis.pdf
Exploratory_Data_Analysis_Fundamentals.pdf
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
Human-AI Collaboration: Balancing Agentic AI and Autonomy in Hybrid Systems
Amdahl’s law is explained in the above power point presentations
BIO-INSPIRED ARCHITECTURE FOR PARSIMONIOUS CONVERSATIONAL INTELLIGENCE : THE ...
22EC502-MICROCONTROLLER AND INTERFACING-8051 MICROCONTROLLER.pdf
Categorization of Factors Affecting Classification Algorithms Selection
August -2025_Top10 Read_Articles_ijait.pdf
Level 2 – IBM Data and AI Fundamentals (1)_v1.1.PDF
Ad

Intro To object oriented software engineering.

  • 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