You are on page 1of 2

Polytechnic University of the Philippines

College of Computer and Information Sciences

SOFTWARE ENGINEERING
DAY 1 – INTRODUCTION TO SOFTWARE

SOFTWARE - is a part of a computer system that consists of data or computer instructions, in contrast to the physical
hardware from which the system is built. In computer science and software engineering, computer software is
all information processed by computer systems, programs and data. Computer software includes computer
programs, libraries and related non-executable data, such as online documentation or digital media.

HISTORY OF SOFTWARE

ADA LOVELACE (19TH CENTURY) – wrote an outline (algorithm) for what would have been the first piece of
software. However, neither the Analytical Engine nor any software for it were ever created.
ALAN TURING – proposed the first theory about software in his 1935 essay “Computable Numbers with an
Application to the Entscheidungsproblem (decision problem).”
This eventually led to the creation of the twin academic fields of computer science and software engineering,
which both study software and its creation. Computer science is more theoretical (Turing's essay is an example
of computer science), whereas software engineering focuses on more practical concerns.
However, prior to 1946, software as we now understand it—programs stored in the memory of stored-program
digital computers—did not yet exist. The first electronic computing devices were instead rewired in order to
"reprogram" them.

TYPES OF SOFTWARE
1. APPLICATION SOFTWARE – a software that uses the computer system to perform special functions or
provide entertainment functions beyond the basic operation of the computer itself.
2. SYSTEM SOFTWARE – a software that directly operates the computer hardware, to provide basic
functionality needed by users and other software, and to provide a platform for running application
software. System software includes:
a. Operating System - are essential collections of software that manage resources and provides
common services for other software that runs "on top" of them. Supervisory programs, boot
loaders, shells and window systems are core parts of operating systems. In practice, an operating
system comes bundled with additional software (including application software) so that a user can
potentially do some work with a computer that only has one operating system.
b. Device Drivers - which operate or control a particular type of device that is attached to a computer.
Each device needs at least one corresponding device driver; because a computer typically has at
minimum at least one input device and at least one output device, a computer typically needs more
than one device driver.
c. Utilities - which are computer programs designed to assist users in the maintenance and care of their
computers.
3. MALICIOUS SOFTWARE OR MALWARE - which is software that is developed to harm and disrupt
computers. As such, malware is undesirable. Malware is closely associated with computer-related crimes,
though some malicious programs may have been designed as practical jokes.
4. ENGINEERING/SCIENTIFIC SOFTWARE - has been characterized by “number crunching” algorithms.
Applications range from astronomy to volcanology, from automotive stress analysis to space shuttle orbital
dynamics, and from molecular biology to automated manufacturing.

5. EMBEDDED SOFTWARE – resides within a product or system and is used to implement and control features
and functions for the end user and for the system itself. Embedded software can perform limited and esoteric
functions (e.g., key pad control for microwave oven) or provide significant function and control capability (e.g.,
digital functions in an automobile such as fuel control, dashboard displays, and braking systems).
6. PRODUCT-LINE SOFTWARE – designed to provide a specific capability for use by many different customers.
Product-line software can focus on a limited and esoteric marketplace (e.g., inventory control products) or
address mass consumer markets (e.g., word processing, spreadsheets, computer graphics, multimedia,
entertainment, database management, and personal and business financial applications).

7. WEB APPLICATIONS - called “WebApps,” this network-centric software category spans a wide array of
applications. In their simplest form, WebApps can be little more than a set of linked hypertext files that present
information using text and limited graphics. However, as Web 2.0 emerges, WebApps are evolving into
sophisticated computing environments that not only provide stand-alone features, computing functions, and
content to the end user, but also are integrated with corporate databases and business applications.

8. ARTIFICIAL INTELLIGENCE SOFTWARE - makes use of nonnumerical algorithms to solve complex


problems that are not amenable to computation or straightforward analysis. Applications within this area
include robotics, expert systems, pattern recognition (image and voice), artificial neural networks, theorem
proving, and game playing.

You might also like