0% found this document useful (0 votes)
4 views

Software Engg Class 1

Roger S. Pressman is a recognized expert in software engineering, emphasizing its importance in building complex systems efficiently and with high quality. Software serves as both a product and a means to deliver information, requiring a structured engineering process to manage its development and maintenance. The document outlines the characteristics of software, the differences from hardware, and the challenges faced by software engineers across various application domains.

Uploaded by

shrigandha
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)
4 views

Software Engg Class 1

Roger S. Pressman is a recognized expert in software engineering, emphasizing its importance in building complex systems efficiently and with high quality. Software serves as both a product and a means to deliver information, requiring a structured engineering process to manage its development and maintenance. The document outlines the characteristics of software, the differences from hardware, and the challenges faced by software engineers across various application domains.

Uploaded by

shrigandha
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/ 22

Roger S.

Pressman is an
internationally recognized authority
in software process improvement
and software engineering
technologies.
For almost four decades,he has
worked as a software engineer, a
manager, a professor, an author, and
a consultant, focusing on software
engineering issues.
What is it? Computer software is the
product that software professionals build
and then support over the long term.
It encompasses programs that execute
within a computer.
Software engineering encompasses a
process, a
collection of methods (practice) and an
array
of tools that allow professionals to build
highquality computer software
Who does it?
Software engineers build and
support software.

Why is it important?
Software engineering is important
because it enables us to build
complex systems in a timely
manner and with high quality.
What are the steps?
You build computer software
like you build any successful
product, by applying an agile,
adaptable process that leads
to a high-quality result that
meets the needs of the people
who will use the product
What is the work product?
From the point of view of a
software engineer, the work
product is the set of
programs, content (data),
and other work products
that are computer software.
Software And Software Engineering
Today, software takes on a dual role.
It is a product, and at the same time, the vehicle for
delivering a product.
As a product, it the computes with computer hardware or
more broadly, by a network of computers that are accessible
by local hardware.
computer, software is an information transformer—producing,
managing, acquiring, modifying, displaying, or transmitting
information.
As the vehicle used to deliver 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)
As the vehicle used to deliver 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)
Software delivers the most important
product of our time—information.
It transforms personal data (e.g., an
individual’s financial transactions) so
that the data can be more useful in a
local context;
It manages business information to
enhance competitiveness;
it provides a gateway to worldwide
information networks
some questions that are asked when
modern computer-based systems are
built:
• Why does it take so long to get
software finished?
• Why are development costs so high?
• Why can’t we find all errors before we
give the software to our customers?
• Why do we spend so much time and
effort maintaining existing programs?
ning Software
ware is: (1) instructions (computer
rams) that when executed provide
ed features, function, and performance;
ata structures that enable the programs
dequately manipulate information, and
escriptive information in both hard copy

al forms that describes the operation


use of the programs.
S/w characteristics different than
Hardware
1. Software is developed or engineered; it is not
manufactured in the classical sense.
2. In both activities, high quality is achieved through good
design, but the manufacturing phase for hardware can
introduce quality problems that do not exist for
software.
3. Both activities are dependent on people,but the
relationship between people applied and work
accomplished is entirely different
4. Both activities require the construction of a “product,”
but the approaches are different.
5. Software costs are concentrated in engineering.
This means that software projects cannot be managed as
2. Software doesn’t “wear out.”
Failure Curve For Hardware
Figure shows failure rate as a function of time for
hardware.
The relationship, often called the “bathtub curve,”
indicates that hardware exhibits relatively high
failure rates early in its life
defects are corrected and the failure rate drops to a
steady-state level (hopefully, quite low) for some
period of time.
As time passes, the failure rate rises again as
hardware components suffer from the cumulative
effects of dust, vibration, abuse, temperature
extremes, and many other environmental maladies.
Stated simply, the hardware begins to wear out.
the failure rate curve for software should
take the form of the “idealized curve” shown
in Figure 1.2.
Undiscovered defects will cause high failure
rates early in the life of a program.
However, these are corrected and the curve
flattens as shown.
The idealized curve is a gross
oversimplification of actual failure models for
software.
However, the implication is clear—software
3. Although the industry is moving toward
component-based construction, most software
continues to be custom built.
The reusable components have been created so
that the engineer can concentrate on the truly
innovative elements of a design, that is, the parts
of the design that represent something new.
In the hardware world, component reuse is a
natural part of the engineering process.
In the software world, it is something that has
only
begun to be achieved on a broad scale.
A software component should be designed and
implemented so that it can be reused in many
different programs.
Modern reusable components encapsulate both data
and the processing that is applied to the data,
That make software engineer to create new
applications from reusable parts.
3 For example, today’s interactive user interfaces
are built with reusable components that enable the
creation of graphics windows, pull-down menus, and
a wide variety of interaction mechanisms.
The data structures and processing detail required to
build the interface are contained within a library of
reusable components for interface construction .
Software Application Domains
seven broad categories of computer software present continuing
challenges for software engineers:
System software—a collection of programs written to service other
programs.
Some system software (e.g., compilers, editors, and file management
utilities) processes complex, but determinate,for information
structures.
Other systems applications (e.g., operating system components,
drivers, networking software, telecommunications processors)
process largely indeterminate data.
the systems software area is characterized by heavy interaction with
computer hardware; heavy usage by multiple users; concurrent
operation that requires scheduling, resource sharing, and
sophisticated process management; complex data structures; and
multiple external interfaces.
Application software—stand-alone programs
that solve a specific business need.
Applications in this area process business
or technical data in a way that facilitates
business operations or
management/technical decision making.
application software is also used to control
business functions in real time (e.g., point-
of-sale transaction processing, real-time
manufacturing process control).
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.
modern applications moving away from
conventional numerical algorithms.
Computer-aided design, system simulation, and
other interactive applications have begun to take
on real-time and even system software
characteristics.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy