0% found this document useful (0 votes)
94 views19 pages

Introduction To Software Engineering

This document provides an introduction to software engineering. It discusses key concepts like what software is, different types of software applications, and myths about software development. The key points covered are: 1) Software is a set of computer programs, data structures, and documents that form a configuration to deliver computing capabilities or control other systems. 2) There are different types of software like system software, application software, embedded software, and web applications. 3) There are common myths that affect how managers, customers, and practitioners think about software engineering which can lead to bad decisions if not addressed.

Uploaded by

Abdul Hafeez
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)
94 views19 pages

Introduction To Software Engineering

This document provides an introduction to software engineering. It discusses key concepts like what software is, different types of software applications, and myths about software development. The key points covered are: 1) Software is a set of computer programs, data structures, and documents that form a configuration to deliver computing capabilities or control other systems. 2) There are different types of software like system software, application software, embedded software, and web applications. 3) There are common myths that affect how managers, customers, and practitioners think about software engineering which can lead to bad decisions if not addressed.

Uploaded by

Abdul Hafeez
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/ 19

Chapter 1

Introduction to Software
Engineering

1
Marks Distribution

Attendance/ Class Assign + Mid Final Total


participation Quizzes Term Term Marks

10 30 20 40 100
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)

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

6
What is Software?

► software is engineered
► software doesn’t wear out
► software is complex

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

8
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.
9
Wear vs. Deterioration
Hardware wears out over time

10
Wear vs. Deterioration
Software deteriorates over time

11
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.

12
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.
13
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.

14
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

15
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”)
► “If I 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 …”
16
Customer Myths

► “A general statement of objectives is sufficient


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

► “Project requirements continually change but


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

17
Customer Myths

18
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 …”
19

You might also like