MODULE 1
Object-Oriented Program Logic and Design
Chapter 1
Introduction to Computer Programming
1. Introduction to Computer Programming I
Basic Components of a Computer System
• Hardware
• Software
• Peoplewar
e
1. Introduction to Computer Programming I
Basic Components of a Computer System
• Hardware
– Is the tangible physical device(s) that forms part of
the computer
– It is composed of electronic and mechanical parts:
• CPU (Central Processing Unit)
• Memory
• Storage devices (hard disks, disk drives, DVD drives)
• Input-Output devices (keyboards, monitor, printer,
mouse, speaker, etc.)
1. Introduction to Computer Programming I
Basic Components of a Computer System
• Software
– Intangible part of the computer system
– Are the programs, processes and data that reside
in the computer’s memory or hard drive and
contain instructions that the computer will
execute
– Example: operating systems, language
processors,
application software, systems software
1. Introduction to Computer Programming I
Basic Components of a Computer System
• Peopleware
– Persons who use, maintain, administer or simply interact
with the computer
– Example:
• Users of a office productivity tools, application software or
business software
• Software Developers (programmers, analysts, testers)
• Professionals (businessmen, architects, engineers, scientists,
medical practitioners)
• Network administrators
• Hardware maintenance technicians
1. Introduction to Computer Programming I
Classification of Software
• Two general classifications of software
– Applications Software
• Programs designed to perform specific tasks. It is designed and
developed by systems developers or software vendors to meet
specific needs or solve specific problems
– Systems Software
• Programs designed to manage the internal working environment
of the computer for effective operation
• Includes operating systems, language processors, networking
software
1. Introduction to Computer Programming I
Software Engineering
• The discipline of developing and maintaining
efficient and reliable software that satisfy the
requirements that customers or users have set
• The process of development of software is
called the Systems Development Life Cycle
1. Introduction to Computer Programming I
The Systems Development Life Cycle (SDLC)
1. Introduction to Computer Programming I
What is programming?
• The process of writing software in a specific
programming language to meet systems
requirements specifications
• Involves program coding, or writing
instructions in accordance with the rules of a
chosen programming language
1. Introduction to Computer Programming I
Programming Methodologies and Approaches
• Structured or Procedural
– Breaks down a complex problem into modules or
procedures (decomposition)
– Uses top-down and/or bottom-up approach
• Object-oriented
– Objects are defined to accomplish a task
– Objects are things, people, entities that are naturally part
of the program. O-O makes software
representations of these entities
1. Introduction to Computer Programming I
Student Registration System
Description
•The Student Registration System is a system that screens and
enrolls students for admission to a particular course.
•Objectives of the System:
The system should be able to:
– Accept and screen
student applications
– Assesses his/her
qualifications
– If qualified, accept the
student’s payment and
1. Introduction to Computer Programming I
enroll the
Student Registration System
System Design
• Using a Structured Approach – Top-Down Methodology
1. Introduction to Computer Programming I
Student Registration System
• Using Object-oriented methodology, the following objects
were identified:
1. Introduction to Computer Programming I
Goals of Programming
• Reliability
• Modifiability
• Maintainability
1. Introduction to Computer Programming I
Goals of Programming
• Reliability
– Correctness
• A program is reliable if it performs the specified functions properly
and has no unwanted side effects
– Robustness
• A program is robust if it will continue to function in the presence
of environmental changes (such as hardware failure) and demands
(such as bad data) that were not foreseen.
• Error-resistant
1. Introduction to Computer Programming I
Goals of Programming
• Modifiability
– Adherence to functional decomposition results in
an organized and logical solution to a problem
– Logical units can be independently modified,
tested, debugged
– Logical units can be reused by other programs.
Reusability is an important element of O-O
programming
1. Introduction to Computer Programming I
Goals of Programming
• Maintainability
– As requirements change, there is a need to change certain
parts of a program
– Programs must be easy to read and can be understood by
other programmers who might inherit the program
– Maintainability determines how long the software or
program will be used
– The easier it is to maintain, the longer it will be used
1. Introduction to Computer Programming I
Program Development Process
1. Introduction to Computer Programming I