You are on page 1of 4

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

You might also like