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

1.basic Introduction

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

1.basic Introduction

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/ 17

What is Software Engineering?

• Engineering approach to develop


software.

• Systematic collection of past


experience:
–techniques,
–methodologies,
–guidelines.

1
Software Crisis
• Software products:
–fail to meet user requirements.
–frequently crash.
–expensive.
–difficult to alter, debug, and enhance.
–often delivered late.
–use resources non-optimally.

2
Factors contributing to the software crisis

• Larger problems,
• Lack of adequate training in
software engineering,
• Increasing skill shortage,
• Low productivity improvements.

3
Programs versus Software Products

• Usually small in size • Large


• Author himself is sole user • Large number of users
• Single developer • Team of developers
• • Well-designed interface
Lacks proper user interface
• Well documented & user-
• Lacks proper documentation manual prepared
• Ad hoc development. • Systematic development

4
Differences between the exploratory style
and modern software development practices

• Emphasis has shifted


– from error correction to error
prevention.
• Modern practices emphasize:
–detection of errors as close to their
point of introduction as possible.

5
Differences between the exploratory style and
modern software development practices (CONT.)

• In exploratory style,
–errors are detected only during
testing,
• Now,
– focus is on detecting as many errors
as possible in each phase of
development.
6
Differences between the exploratory style and
modern software development practices (CONT.)

• During all stages of development


process:
–Periodic reviews are being carried out
• Software testing has become
systematic:
–standard testing techniques are
available.
7
Differences between the exploratory style and
modern software development practices (CONT.)

• Projects are being thoroughly planned:


–estimation,
–scheduling,
–monitoring mechanisms.
• Use of CASE tools.

8
Life Cycle Model

• A software life cycle model (or process


model):
–a descriptive and diagrammatic model of
software life cycle:
– identifies all the activities required for product development,
– establishes a precedence ordering among the different activities,
– Divides life cycle into phases.

9
Why Model Life Cycle ?

• A written description:
–forms a common understanding of
activities among the software developers.
–helps in identifying inconsistencies,
redundancies in the development process.

10
11
Life Cycle Model (CONT.)

• The development team must identify a


suitable life cycle model:
–and then adhere to it.
–Primary advantage of adhering to a life
cycle model:
• helps development of software in a systematic
and disciplined manner.

12
Life Cycle Model (CONT.)

• When a software product is being


developed by a team:
–there must be a precise understanding
among team members as to when to do
what,
–otherwise it would lead to and project
failure.

13
Life Cycle Model (CONT.)

• A life cycle model:


–defines entry and exit criteria for
every phase.
–A phase is considered to be complete:
• only when all its exit criteria's are
satisfied.

14
Life Cycle Model (CONT.)

• The phase exit criteria for the software requirements


specification phase:
– Software Requirements Specification (SRS) document is complete,
reviewed, and approved by the customer.
• A phase can start:
– only if its phase-entry criteria have been satisfied.

15
Life Cycle Model (CONT.)

• It becomes easier for software


project managers:
–to monitor the progress of the
project.

16
Life Cycle Model (CONT.)

• Many life cycle models have been proposed.


• We will confine our attention to a few important and
commonly used models.
– classical waterfall model
– iterative waterfall,
– evolutionary,
– prototyping, and
– spiral model

17

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