0% found this document useful (0 votes)
12 views18 pages

Lec 1

Chapter 1 introduces software engineering, emphasizing software's dual role as both a product and a vehicle for delivering other products. It outlines the differences between hardware and software, highlighting that software is developed and can be modified, while hardware is manufactured and wears out. The chapter also addresses various software applications, the need for legacy software to adapt, and common myths surrounding software development that can lead to poor decision-making.

Uploaded by

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

Lec 1

Chapter 1 introduces software engineering, emphasizing software's dual role as both a product and a vehicle for delivering other products. It outlines the differences between hardware and software, highlighting that software is developed and can be modified, while hardware is manufactured and wears out. The chapter also addresses various software applications, the need for legacy software to adapt, and common myths surrounding software development that can lead to poor decision-making.

Uploaded by

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

Chapter 1

Introduction to Software
Engineering

1
Recommended Text Book
► Roger S. Pressman, Software Engineering
A Practitioner’s Approach , Seventh
edition, McGraw-Hill, 2005
Reference Books
 Craig Larman, Applying UML and Patterns : An
Introduction to Object Oriented Analysis and
Design and the Unified Process, Second
Edition, Prentice Hall,
 Ian Sommerville, Software Engineering, Fifth
Edition, Addison-Wesley Educational Publishers
Inc, 1995
Software’s Dual Role
► Software is a product
 Delivers computing potential
 Is an Information transformer that produces,
manages, acquires, modifies, displays, or transmits
information
► Software is a vehicle for delivering a product
 Controls other programs (e.g., an operating system)
 Effects communications (e.g., networking software)
 Helps build other software (e.g., software tools)

4
What is
Software?
Software is a set of items or objects
that form a “configuration” that
includes
• Computer programs
• Data structures
• Documents

5
What is
Software?
► software is engineered
► software doesn’t wear out
► software is complex

6
Hardware vs. Software
► Manufactured ► Developed/
► Wears out engineered
► Built using ► Deteriorates
components ► Custom built
► Relatively simple ► Complex

7
Manufacturing vs. Development
► Once a hardware product has been
manufactured, it is difficult or impossible to
modify. In contrast, software products are
routinely modified and upgraded.
► In hardware, hiring more people allows you to
accomplish more work, but the same does not
necessarily hold true in software engineering.
► Unlike hardware, software costs are
concentrated in design rather than production.

8
Wear vs. Deterioration
Hardware wears out over time

9
Wear vs. Deterioration
Software deteriorates over time

10
Software
Applications
► System software
 is a collection of programs written to service other
programs e.g., compilers, editors etc.
► Application software
 Consists of standalone programs that solve a specific
business need e.g. ms word, adobe acrobat, notepad etc
► Engineering/scientific software
 Applications range from astronomy to volcanology, from
automotive stress analysis to space shuttle orbital
dynamics, and from molecular biology to automated
manufacturing.

11
Software Applications
► Embedded software
 Embedded software resides in read-only memory and is used to control
products and systems for the consumer and industrial markets. It can
perform very limited functions (e.g., keypad control for a microwave
oven) or provide significant function and control capability (e.g., digital
functions in an automobile such as fuel control, dashboard displays)
► Product-line software
 Designed to provide a specific capability for use by many customers
e.g. inventory control products, spreadsheets, computer graphics,
database management etc.
► WebApps (Web applications)
 a web application or WebApps is an application that is accessed via a
web browser over a network such as the Internet e.g. webmails, online
retail sales etc.
► Artificial intelligence (AI) software
 makes use of algorithms to solve complex problems that cannot be
solved through straightforward analysis e.g. pattern recognition (image
and voice) etc.
12
Legacy Software
Why must it change?
►Software must be adapted to meet the
needs of new computing environments or
technology.
►Software must be enhanced to implement
new business requirements.
►Software must be extended to make it
interoperable with other more modern
systems or databases.
►Software must be re-architected to make
it workable within a network environment.
13
Software Myths
► Beliefs about software and the process used to build it.
► Affect managers, customers (and other non-technical
stakeholders) and practitioners
► Are believable because they often have elements of
truth,
but …
► Invariably lead to bad decisions,
therefore …
► Insist on reality as you navigate your way through
software engineering

14
Management Myths
► “We already have a book of standards and
procedures for building software. It does provide
my people with everything they need to know …”
► “If my project is behind the schedule, I always can
add more programmers to it and catch up …”
(a.k.a. “The Mongolian Horde concept”)
► “IfI decide to outsource the software project to a
third party, I can just relax: Let them build it, and I
will just pocket my profits …”

15
Customer Myths

► “A general statement of objectives is


sufficient to begin writing programs - we can
fill in the details later …”

► “Projectrequirements continually change but


this change can easily be accommodated
because software is flexible …”

16
Customer Myths

17
Practitioner’s
Myths
► “Let’s start coding ASAP, because once we write
the program and get it to work, our job is done …”

► “Until I get the program running, I have no way of


assessing its quality …”

► “The only deliverable work product for a


successful project is the working program …”

► “Software engineering is nonsense. It makes us


create tons of paperwork, only to slow us down
…”
18

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