Professional Documents
Culture Documents
Software Engineering - Lecture 2 - SDLC
Software Engineering - Lecture 2 - SDLC
Software Engineering
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Much of our software is delivered late, over budget, and with residual
faults. Software engineering is an attempt to solve these problems.
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Maintainability Software should be written in such a way so that it can evolve to meet
the changing needs of customers. This is a critical attribute because
software change is an inevitable requirement of a changing business
environment.
Dependability and security Software dependability includes a range of characteristics including
reliability, security and safety. Dependable software should not cause
physical or economic damage in the event of system failure. Malicious
users should not be able to access or damage the system.
Efficiency Software should not make wasteful use of system resources such as
memory and processor cycles. Efficiency therefore includes
responsiveness, processing time, memory utilisation, etc.
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Categories of software
System software
Application software
Games
Information systems
Real-time systems
Embedded systems
Office software
Scientific software
Software can either be off-the-shelf or tailor-made.
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
module testing
7%
design
6%
specification
5%
requirements
2%
mintenance
67%
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Abandoned
or reworked
Were used
after change
Delivered
Used as delivered but not
used
Paid for but
not delivered
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Software design
Design a software structure that realises the specification;
Implementation
Translate this structure into an executable program;
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Software validation
Verification and validation (V & V) is intended to show
that a system conforms to its specification and meets the
requirements of the system customer.
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Stages of Testing
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
System Evolution
r. Sayed AbdelGaber
Software Engineering Lecture 2: Software Development Life Cycle
Questions
r. Sayed AbdelGaber