Module 1:
Object-Oriented Program Logic Design
Chapter 1:
Introduction to Computer Programming
Basic Components of a Computer System
Hardware
Software
Peopleware
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.)
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
Peopleware
Persons who use, maintain, administer or simply interact with the computer
Example:
Users of an 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
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
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
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
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
Student Registration System
The Student Registration System is a system that screens and enrolls students for admission
to a particular course.
Objectives of the System are as follows. The System should be able to:
Accept and screen student applications
Assesses his/her qualifications
If qualified, accept the student’s payment and enroll the
student in the course.
System Design
Using a Structured Approach – Top-Down Methodology
Using Object-Oriented methodology, the followings were identified:
Goals of Programming
Reliability
Modifiability
Maintainability
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
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
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
Program Development Process