0% found this document useful (0 votes)
13 views35 pages

Com Sc6 - Lecture 1

The document provides an overview of software engineering, defining software and its characteristics, and emphasizing the importance of a systematic approach to software development. It outlines the roles of software engineers, the significance of software in various aspects of life, and the layered technology involved in software engineering, including processes, methods, and tools. Additionally, it categorizes software applications into different types such as system software, real-time software, business software, and more.

Uploaded by

ursier20
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views35 pages

Com Sc6 - Lecture 1

The document provides an overview of software engineering, defining software and its characteristics, and emphasizing the importance of a systematic approach to software development. It outlines the roles of software engineers, the significance of software in various aspects of life, and the layered technology involved in software engineering, including processes, methods, and tools. Additionally, it categorizes software applications into different types such as system software, real-time software, business software, and more.

Uploaded by

ursier20
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 35

SOFTWARE ENGINEERING 1

(COMSC-6)

EMMA GRETA M. CASTRO


Course Instructor
INTRODUCTION
TO
SOFTWARE
What is a Software?
Software Definition:
According to IEEE(Institute of
Electrical and Electronics
Engineers ) “software is a collection
of computer programs, procedures,
rules and associated documentation
and data pertaining to the operation
of a computer system.”
What are the characteristics of
software ?

 Software is developed, it is not


manufactured in the classical sense
Software doesn’t “wear out”.
Most software is custom-built, rather
than being assembled from existing
components
“Software Engineering

- is the application of a
systematic, disciplined, quantifiable
approach to the development,
operation, and maintenance of
software.”
“Software Engineering

The role of software engineering is


to capture the customer’s business
needs and specify the “blueprints”
for the system so that programmers
can implement it.
“Software Engineering

is an act of applying a
collection of techniques,
methodologies and tools that help
with the production of a high
quality software system, with a
given budget, before a given
deadline, while change occurs.”
Computer software
is the product that software
professionals build and then support
over the long term. It encompasses
programs that execute within a
computer of any size and architecture,
content that is presented as the
computer programs execute, and
documents in both hard copy and
virtual forms that encompass all forms
of electronic media.
Who does it?

Software Engineers build and


support it, and virtually everyone
in the industrialized world uses it
either directly or indirectly.
Why it is important?

It affects nearly every aspect of our


lives and has become pervasive in our
commerce, our culture, and our
everyday activities.
What are the steps?

You build computer software like you


build any successful product, by
applying an agile, adaptable process
that leads to high -quality result that
meets the needs of the people who
will use the product. You apply a
software engineering approach.
What is the work product?

From the point of view of a software


engineer, the work product are the
programs, content(data), and
documents that are computer software.
But from the user’s view point the work
product is the resultant information
that somehow makes the user’s world
better.
As software importance has grown, the
software community has continually
attempted to develop technologies that
will make it easier, faster, and less
expensive to build and maintain high-
quality computer programs.
There must be a framework for those
who build computer software.

The framework encompasses a process


, a set of methods, and an array of
tools that we call Software
Engineering.
The Evolving Role of Software
Software takes on a dual role. It is a Product
and a Vehicle for delivering a product.

 As a product, it delivers the computing potential


embodied by computer hardware or, more broadly,
a network of computers that are accessible by local
hardware. Whether it resides within a cellular phone
or operates inside a mainframe computer, software
is an information transformer—producing,
managing, acquiring, modifying, displaying, or
transmitting information that can be as simple as a
single bit or as complex as a multimedia
presentation.
 As a Vehicle-For delivering the product,
software acts as the basis for the control
of the computer(operating systems),the
communication of
information(networks), and the creation
and control of other programs(software
tools and environments).
When you work to build a product or system,
it is important to go through a series of
predictable steps.
A roadmap that helps you create a timely,
high quality result. The road map that you
follow is called a Software Process.

A framework for the tasks that are required


to build high-quality software.
 An approach that is taken as software is
engineered.
Any engineering approach must rest
on an organizational commitment to
quality. Total quality management and
similar philosophies foster a continuous
process improvement culture and it is
this culture that ultimately leads to the
development of increasingly more
effective approaches to software
engineering.
Software Engineering
a Layered Technology
A quality
focus

Process

Methods

Tools
 Quality Focus-The bedrock that supports software
engineering.
 Process -The foundation for software engineering.

-It is the glue that holds the technology layers together and
enables rational and timely development of computer software.
-A framework that must be established for effective
delivery of software engineering technology.

Software process forms the basis for management control of


software projects and establishes the context in which technical
methods are applied, work products are produced, milestones
are established, quality is ensured, and change is properly
managed.
Methods-Provide the technical “ how to’s” for building
software. It encompass a broad array of tasks that
include communication, requirement analysis, design
modeling, program construction, testing, and support.
Software engineering methods rely on a set of
basic principles that govern each area of the technology
and include modeling activities and other descriptive
techniques.
 Tools-Provide automated or semi automated support
for the process and the methods.
When tools are integrated so that information
created by one tool can be used by another, a system
for the support of software development, called
Computer-aided software engineering is established.
ESSAY TEST

Direction: In essay form answer the following


question. Write in ½ crosswise

Why every aspect of layered technology is


important in Software Engineering? Explain.
SOFTWARE APPLICATION
Software Application
Categories :
1.System Software
System Software is a collection of
programs written to service other
programs. Some System Software
(Compiler, editor) processes complex but
defined, information structure. Other
System Software (Operating system
components, drivers) process large
undefined data. In both the cases, the
system software is characterized by
heavy interaction with computer
hardware: heavy usage by multiple users,
concurrent process scheduling, resource
2. Real-Time software
Software that monitor/analyzes/controls real-
world events as they occur is called real-time
software. Real-time software includes a data
gathering component that collects and
formats information from an external
environment, an analysis component that
transforms information as required by the
application, a control component that
responds to the external environment, and a
monitoring component that coordinates all
other components so that real-time response
can be maintained.
3. Business Software
Business information processing is
the largest single software application
area. Applications in this area (payroll,
inventory) restructure existing data in a
way that facilitates business operations or
management decision making.
4. Engineering and Scientific Software
Engineering and Scientific software has been
characterized by “number crunching”
algorithms. System simulation, computer-aided
design and other interactive applications are
some of the examples.
5. Embedded Software
Embedded software resides in read-only memory
and is used to control products and systems for
consumer and industrial markets. Embedded
software can perform limited functions (keypad
control for a microwave oven) or provide
significant function and control capability (digital
functions in an automobile such as fuel control,
dashboard displays, braking systems).
6. Personal Computer Software
The personal computer software market has
grown rapidly over the past decade. Word
processing, spreadsheets, computer graphics,
multimedia, database management, personal
and business financial applications are some of
the applications.
7. Artificial Intelligence Software
Artificial Intelligence software makes use of non
numerical algorithm to solve complex problem
that are not liable to computation or
straightforward analysis. An active area is
Expert systems, also known as knowledge-
based 14 systems. Other application areas
include pattern recognition, game playing and
recently artificial neural network has evolved.
References:

1. Software Engineering: a practitioner ’s approach: Roger S. Pressman

2. Software Engineering Concepts :Richard Farley


Queries?
ASSIGNMENT:

What are the five generic framework


activities in software engineering
approach? Define each.

You might also like