SlideShare une entreprise Scribd logo
1  sur  49
SE-381
Software Engineering
BEIT-V
Lecture no. 3
(Basis for Software Process)
Recap
• Definitions of Sw and SE
• Student’s and Industrial Strength Software
• Mini Test
– Retention Exercise
– Comprehension Exercise
• Goal
– Results
• Students Profiles’ Submission
What is common between the first two clips?
_____________________________________________________________
______________
In Grocery Store Clip
What two stores are compared? ______ and ________
QR Code is to __________________________________
TeSCo and E-Mart are the names for the same store (Yes/No)
-----------------------
Customers of E-Mart increased by 130% after this online shopping
campaign (Y/N) ____
Online Shopping Compaign
Exploited Koreans 2 habits
• ____________________________________
• ____________________________________
Exploited 3 widely available technologies
• __________________________________________
• __________________________________________
• __________________________________________
How many customers visited the store online during the compaign? _______
Did the store became number one in off-line shopping (Y/N)? __________
At which Institute, the Four Rotor Helicopter project was carried out?
__________________________
What Sw/Hw Project you can figure out from the first three clips
_____________________________
_____________________________
_____________________________
Answers to Mini Test
From Google Earth
North Tweaked
What is in Today’s Lecture
Covered till now
– Definitions
– Students’ Sw projects and Industrial Strength Sw
• Software Myths – Roger S Pressman (2005)
• Problem Domain
– Software is Expensive,
– Late and Unreliable,
– Maintenance and Rework
• Solution Domain – Software Engineering Challenges
– Scale,
– Quality & Productivity,
– Consistency and Repeatability,
– Change
• Software Engineering Approach
– Phased Development Process,
– Managing the Process to get quality software
Software Myths (‘Tonies or Ponies’)
• Management Myths ( Also see www.mhhe.com/pressman )
– We already have a book that’s full of standards and
procedures for building software. Won’t that provide
my people with everything they need to know?
– If we get behind schedule, we can add more
programmers and catch up
“Adding people to a late software project makes it later” – F
Brooks (1975)
– If I decide to outsource the software project to a 3rd
party, I can just relax and let that firm build it.
No substitute to misinformation
• Customer Myths
– A general statement of objectives is sufficient to begin writing
programs – we can fill the details later
• More information you have at start better equipped you are.
– Project requirements continually change, but change can be
easily accommodated because software is (not physical and)
flexible
• Practitioner’s Myths
– Once we write the program and get it to work, our job is done
• This is the start, not the end, 60% - 80% of effort will be
expended after the program is deployed. For every $ spent
on development needs 2 $s for its maintenance
– Until I get the program running, I have no way of assessing its
quality
• Quality is whole some, of each part, so quality filters need to
be inserted in the process for various phases of Sw
Development
– The only deliverable work product for a successful project is the
working program
• Documentation, data, rule base etc are all parts of software
– Software Engineering will make us create voluminous and
unnecessary documentation and will invariably slow us down.
• Will make things easy, and lead to quicker development and
easy and cost effective maintenance
Software is Expensive
• Bell 2005, quotes that US$ 500 B is spent
annually for software purchase and development
in USA and it is 1 % of her annual GNP (Gross
National Product)
• Globally US$ 1000 B is spent on Software
development
• Many countries exports like our neighbor’s have
significant fraction coming from Sw
• Pakistan currently generates 1.5 to 2 B US$
annually from Sw exports – Ref to Mr Saleem
Ghori, CEO, NetSol, 2009
Pak Software Exports
• Daily Express, Islamabad, dated Feb 21, 2011
quoted Federal Bureau of Statistics that for period
of July to December 2010
– Sw exports amounted to Rs 6.15 Billions, with an
increase of 13.13% from its last year figure
– Overseas Sw Consultancy services Rs 1.3 B
– Computers Repair and support Rs 0.05 B
– Computer related Auxiliary Services Rs 1.3B
• Total sw exports were Rs 8.8 B with an increase
of 8.37 % from previous year
Software is Expensive
Program Size
Program Size
C, C++40,000 KLOCWindows XP
C, c++30,000 KLOCLinux
C, sh100 KLOCAppache
C, perl, sh320 KLOCPerl
C, C++, yacc980KLOCGcc
C, C++40,000 KLOCWindows XP
C, c++30,000 KLOCLinux
C, sh100 KLOCAppache
C, perl, sh320 KLOCPerl
C, C++, yacc980KLOCGcc
Compute the Cost of a Software
A software of size say 100 KLOC, like
Apache web server, is to be developed by
a team of professional software
developers, having an average
productivity of 150 LOC per person-
month, and drawing an average salary of
Rs 30,000/- a month.
Program Size = 100 KLOC
Average Productivity = 150 LOC / Person-
Month
Duration = Program Size / Productivity
= 100 KLOC/150 LOC/Per-Mon
= 2/3 K Per-Mon
Rate = 30 K Rs / Per-Mon
Total Cost = Duration * Rate
= 2/3 K Per-Mon * 30 K Rs / Per-Mon
= 20 K * K Rs = 20 M Rs
= Rs 20,000,000
Software – Problems and
Prospects
Software is Open ended, complex and key
mechanism in providing the requisite
functionality of the system. It is of huge
size, needs 000s of people and millions of
$s of investment to develop.
The perceived problems in Sw development
and goals the Sw Development needs to
achieve are:
• Meeting Users’ Needs
• Low Cost of Production
• High Performance
• Portability – it works at various envisaged
platforms
• Low Cost of Maintenance
• High Reliability
• Scalability
• Delivery on Time
– Till to-date each of the above goals is partially
achieved, so it stays as a Sw dev problem. SE
seeks to provide the techniques to resolve these
problems i.e. to achieve these goals.
Software Engineering Challenges
• Scale
• Quality and Productivity
• Consistency and Repeatability
• Change
Software Engineering Approach
High Quality and Productivity (Q&P) is the
basic objective of Software Engineering.
The main three forces governing Q&P are:
Software Process
• Software Process is the way we produce
software, it starts with the concept
exploration and ends when the product is
decommissioned. During this product goes
through a series of phases like
Requirements, Specifications, Planning,
Design, Implementation, Testing, Integration,
Maintenance, Documentation and finally the
Retirement
Quality Product
• For a quality software product, both the
quality of product itself and quality of
software process is important.
• The cost of error recovery in the later
phases of software is many times more
than the earlier phases, so higher
attention should be paid in the earlier
phases, and these should be made error-
free.
Software Processes
– Software Process is comprised of a number of
processes working in Series and in parallel to
achieve the software product
– These processes can be Software Development
Process, Business Process, Training Process,
Human Resource Management or Social
Process, Quality Assurance Process, Software
Monitoring and Control Process, Inspection
Process and Software Management Process etc
– Process is execution of a number of steps in a
specified order
Process, Project and Product
– Process is a series of steps or activities
conducted in an orderly manner
– Project is execution of a Process, to achieve
or develop a product. It is an instance of
Process executed in specific time frame to get
the product that meets the needs of a user
– Product is the outcome of a successfully
executed project
– Process can be initiated on a number of
Projects, and a project can yield a number of
Products
– Process works as Check List and its pre-
defined stages are executed in the pre-
specified order
– The main objective of Software Engineering is
to develop Reliable, High Quality Software
that can be built within price and time budget,
hence we need to focus on Software Related
Processes and more precisely on Software
Development Process
Software Process
• Software should be
– Reliable (high quality)
– Affordable (Cheap, low cost)
– Small Time Cycle (so that the software could
be developed speedily)
• For better management and control
software process should be
– Phased i.e. consist of multiple stages
Software Development Process
Software Development
Process
Requirements Software Product
In fact, this SD Process consists of:
Analysis Design
Implementa-
tion
Deployment
And each one of these is further
divided into sub phases, like
Analysis Requirements Analysis Specification
Design Architectural
Design
Lower Level or
Detailed Design
Implement-
ation
Coding
Testing Unit Testing
Sub-system
Testing
System
Testing
Acceptance Tst
=
=
=
=
Higher Level
Design
Software Process
• Software Process is the way we produce
software, it starts with the concept
exploration and ends when the product is
decommissioned or retired. During this life,
the product goes through a series of
phases like
Requirements, Specifications, Planning,
Design, Implementation, Testing, Integration,
Maintenance, Documentation and finally the
Retirement
Software Development Life Cycle
• Life Cycle
• All what is done on a product from its conception to its
physical realization and retirement is called its Life Cycle
• Software Development Life Cycle Model
• It is a description of all the stages/phases that should be
performed when building a software product. Number of
stages differ from author to author, from 4 to 10 or even
more, but in general the Classical Software Development
Life Cycle model has eight (highlighted) stages
Different Phases of SDLC
Authors partition the SDLC activities differently, Eg
[Jal98] mentions the following 4 stages
• Requirement Analysis
• Design (further divided into System Design & Detailed Des, or Jal05
mentions them as Architectural Des, High Level Des and Low Level Des)
• Coding and
• Testing (including Unit Testing, Integration Testing and Acceptance Testing)
– Towards over-all Effort/Cost, each one of them contributed 10%, 20%,
30% and 40% respectively, and
– Error distribution among the first three phases was 20%, 30% and 50%
respectively
Software Development Life Cycle
(SDLC) Stage or Phases
1. Requirements Phase
2. Analysis (Specification) Phase
3. Planning Phase
4. Design Phase
a. Architectural Design
b. High Level Design
c. Detailed Design
5. Implementation Phase
6. Integration Phase
7. Testing
8. Documentation
9. Post delivery Maintenance Phase
Corrective, Perfective, Adaptive
10. Retirement Phase
Comparative Effort Spent in
Different Stages of SDLC
Different types of Maintenance
Post-delivery Maintenance
• Done after deployment at the clients premises
This is of two types:
Corrective Maintenance or Software Repair
Removal of Residual faults leaving the Specifications unchanged
Enhancement or Software Update
Consists of changes to specification and implementation of those
changes. It further consists of two types:
Perfective Maintenance
The changes which client thinks will improve the effectiveness of
the product, such as Additional Functionality, Decreased
response time, or Optimal memory usage
Adaptive Maintenance
Changes made in response to changes in the environment in
which the product operates, such as, a new hardware, OS or new
government regulations or conformance to new standard like
UNICODE
Stage-wise Cost of SD
Relative Costs of the Stages of SD
Cost of Error Recovery / Correction
• The cost of error recovery in the later
phases of software is many times more
than the earlier phases, so higher attention
should be paid in the earlier phases, and
respective stages/phases errors be
identified and eradicated, making these
phases error-free.
Stage-wise Number of Errors
Cost of Fixing of Errors
Reading Assignment
1. Ch-1 Problems and Prospects, pp 3-22
From Douglas Bell (2005); Software Engineering for
Students; Pearson Education Limited
2. Ch – 1 Introduction, pp 1-20 + Ch-2
From Pankaj Jalote (2005); An Integrated Approach to
Software Engineering, 3rd Edition, Narosa
Publishing House, New Delhi
3. Ch – 1 Introduction to Software Engineering,
pp 33-50
From Roger S Pressman (2005); Software Engineering
– A Practitioner’s Approach, 6th Edition, McGraw Hill
Higher Education, Boston

Contenu connexe

Tendances

مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software EngineeringAhmed Alageed
 
Unified Process
Unified ProcessUnified Process
Unified Processguy_davis
 
WORKFLOW OF THE PROCESS IN SPM
 WORKFLOW OF THE PROCESS IN SPM WORKFLOW OF THE PROCESS IN SPM
WORKFLOW OF THE PROCESS IN SPMgarishma bhatia
 
Rational unified process
Rational unified processRational unified process
Rational unified processnaveed428
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notesAAKASH S
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles sathish sak
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)ShudipPal
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةAhmed Alageed
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)Ankit Gupta
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile modelsGolda Margret Sheeba J
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Ahmed Alageed
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Jauhari Ismail
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 
ALM-PLM Integration with Business Process Management
ALM-PLM Integration with Business Process ManagementALM-PLM Integration with Business Process Management
ALM-PLM Integration with Business Process ManagementIntland Software GmbH
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering MethodologyRajandeep Gill
 

Tendances (20)

Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
WORKFLOW OF THE PROCESS IN SPM
 WORKFLOW OF THE PROCESS IN SPM WORKFLOW OF THE PROCESS IN SPM
WORKFLOW OF THE PROCESS IN SPM
 
Rational unified process
Rational unified processRational unified process
Rational unified process
 
CP7301 Software Process and Project Management notes
CP7301 Software Process and Project Management   notesCP7301 Software Process and Project Management   notes
CP7301 Software Process and Project Management notes
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
Models of SDLC (Contd..) & Feasibility Study
Models of SDLC (Contd..)  & Feasibility StudyModels of SDLC (Contd..)  & Feasibility Study
Models of SDLC (Contd..) & Feasibility Study
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسة
 
The unified process
The unified processThe unified process
The unified process
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile models
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
 
Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?Software Development Lifecycle: What works for you?
Software Development Lifecycle: What works for you?
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
ALM-PLM Integration with Business Process Management
ALM-PLM Integration with Business Process ManagementALM-PLM Integration with Business Process Management
ALM-PLM Integration with Business Process Management
 
Software Engineering Methodology
Software Engineering MethodologySoftware Engineering Methodology
Software Engineering Methodology
 

En vedette

Assic 11th Lecture
Assic 11th LectureAssic 11th Lecture
Assic 11th Lecturebabak danyal
 
Assic 15th Lecture
Assic 15th LectureAssic 15th Lecture
Assic 15th Lecturebabak danyal
 
Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se de...
Se 381 - lec 26  - 26 - 12 may30 - software design -  detailed design - se de...Se 381 - lec 26  - 26 - 12 may30 - software design -  detailed design - se de...
Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se de...babak danyal
 
Transmission media presentation
Transmission media presentationTransmission media presentation
Transmission media presentationbabak danyal
 
Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07babak danyal
 
Communication systems v5
Communication systems v5Communication systems v5
Communication systems v5babak danyal
 
Software process improvement ten traps to avoid
Software process improvement   ten traps to avoidSoftware process improvement   ten traps to avoid
Software process improvement ten traps to avoidbabak danyal
 
Microcontroller Programming Assignment
Microcontroller Programming AssignmentMicrocontroller Programming Assignment
Microcontroller Programming Assignmentbabak danyal
 
Assic 28th Lecture
Assic 28th LectureAssic 28th Lecture
Assic 28th Lecturebabak danyal
 

En vedette (9)

Assic 11th Lecture
Assic 11th LectureAssic 11th Lecture
Assic 11th Lecture
 
Assic 15th Lecture
Assic 15th LectureAssic 15th Lecture
Assic 15th Lecture
 
Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se de...
Se 381 - lec 26  - 26 - 12 may30 - software design -  detailed design - se de...Se 381 - lec 26  - 26 - 12 may30 - software design -  detailed design - se de...
Se 381 - lec 26 - 26 - 12 may30 - software design - detailed design - se de...
 
Transmission media presentation
Transmission media presentationTransmission media presentation
Transmission media presentation
 
Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07Beit 381 se lec 1 - 30 - 12 feb07
Beit 381 se lec 1 - 30 - 12 feb07
 
Communication systems v5
Communication systems v5Communication systems v5
Communication systems v5
 
Software process improvement ten traps to avoid
Software process improvement   ten traps to avoidSoftware process improvement   ten traps to avoid
Software process improvement ten traps to avoid
 
Microcontroller Programming Assignment
Microcontroller Programming AssignmentMicrocontroller Programming Assignment
Microcontroller Programming Assignment
 
Assic 28th Lecture
Assic 28th LectureAssic 28th Lecture
Assic 28th Lecture
 

Similaire à SE-381 Software Engineering Lecture Notes

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKAvijitChaudhuri3
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdfPriyajit Sen
 
Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Ramandeep Singh
 
Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08babak danyal
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Managementswatisinghal
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfPrayas Gokhale
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdfShivareddyGangam
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineeringsmumbahelp
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computingProfessor Thor
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsPerfecto Mobile
 

Similaire à SE-381 Software Engineering Lecture Notes (20)

Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
 
Software Engineering Basics.pdf
Software Engineering Basics.pdfSoftware Engineering Basics.pdf
Software Engineering Basics.pdf
 
Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1Software development life cycle (sdlc) part1
Software development life cycle (sdlc) part1
 
Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08
 
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdf
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
SE notes by k. adisesha
SE notes by k. adiseshaSE notes by k. adisesha
SE notes by k. adisesha
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Project Management (2).pdf
Project Management (2).pdfProject Management (2).pdf
Project Management (2).pdf
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
SIA-101-Final-_SDLC.pdf
SIA-101-Final-_SDLC.pdfSIA-101-Final-_SDLC.pdf
SIA-101-Final-_SDLC.pdf
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computing
 
SE-Lecture-5.pptx
SE-Lecture-5.pptxSE-Lecture-5.pptx
SE-Lecture-5.pptx
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Shorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOpsShorten Business Life Cycle Using DevOps
Shorten Business Life Cycle Using DevOps
 

Plus de babak danyal

Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Socketsbabak danyal
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streamsbabak danyal
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Javababak danyal
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the desbabak danyal
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network securitybabak danyal
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systemsbabak danyal
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systemsbabak danyal
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systemsbabak danyal
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systemsbabak danyal
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systemsbabak danyal
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systemsbabak danyal
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systemsbabak danyal
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systemsbabak danyal
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signababak danyal
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systemsbabak danyal
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniquesbabak danyal
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Securitybabak danyal
 

Plus de babak danyal (20)

applist
applistapplist
applist
 
Easy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client SocketsEasy Steps to implement UDP Server and Client Sockets
Easy Steps to implement UDP Server and Client Sockets
 
Java IO Package and Streams
Java IO Package and StreamsJava IO Package and Streams
Java IO Package and Streams
 
Swing and Graphical User Interface in Java
Swing and Graphical User Interface in JavaSwing and Graphical User Interface in Java
Swing and Graphical User Interface in Java
 
Tcp sockets
Tcp socketsTcp sockets
Tcp sockets
 
block ciphers and the des
block ciphers and the desblock ciphers and the des
block ciphers and the des
 
key distribution in network security
key distribution in network securitykey distribution in network security
key distribution in network security
 
Lecture10 Signal and Systems
Lecture10 Signal and SystemsLecture10 Signal and Systems
Lecture10 Signal and Systems
 
Lecture8 Signal and Systems
Lecture8 Signal and SystemsLecture8 Signal and Systems
Lecture8 Signal and Systems
 
Lecture7 Signal and Systems
Lecture7 Signal and SystemsLecture7 Signal and Systems
Lecture7 Signal and Systems
 
Lecture6 Signal and Systems
Lecture6 Signal and SystemsLecture6 Signal and Systems
Lecture6 Signal and Systems
 
Lecture5 Signal and Systems
Lecture5 Signal and SystemsLecture5 Signal and Systems
Lecture5 Signal and Systems
 
Lecture4 Signal and Systems
Lecture4  Signal and SystemsLecture4  Signal and Systems
Lecture4 Signal and Systems
 
Lecture3 Signal and Systems
Lecture3 Signal and SystemsLecture3 Signal and Systems
Lecture3 Signal and Systems
 
Lecture2 Signal and Systems
Lecture2 Signal and SystemsLecture2 Signal and Systems
Lecture2 Signal and Systems
 
Lecture1 Intro To Signa
Lecture1 Intro To SignaLecture1 Intro To Signa
Lecture1 Intro To Signa
 
Lecture9 Signal and Systems
Lecture9 Signal and SystemsLecture9 Signal and Systems
Lecture9 Signal and Systems
 
Lecture9
Lecture9Lecture9
Lecture9
 
Cns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption TechniquesCns 13f-lec03- Classical Encryption Techniques
Cns 13f-lec03- Classical Encryption Techniques
 
Classical Encryption Techniques in Network Security
Classical Encryption Techniques in Network SecurityClassical Encryption Techniques in Network Security
Classical Encryption Techniques in Network Security
 

Dernier

How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...Nguyen Thanh Tu Collection
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6Vanessa Camilleri
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17Celine George
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 

Dernier (20)

How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
31 ĐỀ THI THỬ VÀO LỚP 10 - TIẾNG ANH - FORM MỚI 2025 - 40 CÂU HỎI - BÙI VĂN V...
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6ICS 2208 Lecture Slide Notes for Topic 6
ICS 2208 Lecture Slide Notes for Topic 6
 
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17How to Manage Buy 3 Get 1 Free in Odoo 17
How to Manage Buy 3 Get 1 Free in Odoo 17
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 

SE-381 Software Engineering Lecture Notes

  • 1. SE-381 Software Engineering BEIT-V Lecture no. 3 (Basis for Software Process)
  • 2. Recap • Definitions of Sw and SE • Student’s and Industrial Strength Software • Mini Test – Retention Exercise – Comprehension Exercise • Goal – Results • Students Profiles’ Submission
  • 3. What is common between the first two clips? _____________________________________________________________ ______________ In Grocery Store Clip What two stores are compared? ______ and ________ QR Code is to __________________________________ TeSCo and E-Mart are the names for the same store (Yes/No) ----------------------- Customers of E-Mart increased by 130% after this online shopping campaign (Y/N) ____ Online Shopping Compaign Exploited Koreans 2 habits • ____________________________________ • ____________________________________ Exploited 3 widely available technologies • __________________________________________ • __________________________________________ • __________________________________________ How many customers visited the store online during the compaign? _______ Did the store became number one in off-line shopping (Y/N)? __________ At which Institute, the Four Rotor Helicopter project was carried out? __________________________ What Sw/Hw Project you can figure out from the first three clips _____________________________ _____________________________ _____________________________
  • 7. What is in Today’s Lecture Covered till now – Definitions – Students’ Sw projects and Industrial Strength Sw • Software Myths – Roger S Pressman (2005) • Problem Domain – Software is Expensive, – Late and Unreliable, – Maintenance and Rework • Solution Domain – Software Engineering Challenges – Scale, – Quality & Productivity, – Consistency and Repeatability, – Change • Software Engineering Approach – Phased Development Process, – Managing the Process to get quality software
  • 8. Software Myths (‘Tonies or Ponies’) • Management Myths ( Also see www.mhhe.com/pressman ) – We already have a book that’s full of standards and procedures for building software. Won’t that provide my people with everything they need to know? – If we get behind schedule, we can add more programmers and catch up “Adding people to a late software project makes it later” – F Brooks (1975) – If I decide to outsource the software project to a 3rd party, I can just relax and let that firm build it. No substitute to misinformation
  • 9. • Customer Myths – A general statement of objectives is sufficient to begin writing programs – we can fill the details later • More information you have at start better equipped you are. – Project requirements continually change, but change can be easily accommodated because software is (not physical and) flexible • Practitioner’s Myths – Once we write the program and get it to work, our job is done • This is the start, not the end, 60% - 80% of effort will be expended after the program is deployed. For every $ spent on development needs 2 $s for its maintenance – Until I get the program running, I have no way of assessing its quality • Quality is whole some, of each part, so quality filters need to be inserted in the process for various phases of Sw Development
  • 10. – The only deliverable work product for a successful project is the working program • Documentation, data, rule base etc are all parts of software – Software Engineering will make us create voluminous and unnecessary documentation and will invariably slow us down. • Will make things easy, and lead to quicker development and easy and cost effective maintenance
  • 11. Software is Expensive • Bell 2005, quotes that US$ 500 B is spent annually for software purchase and development in USA and it is 1 % of her annual GNP (Gross National Product) • Globally US$ 1000 B is spent on Software development • Many countries exports like our neighbor’s have significant fraction coming from Sw • Pakistan currently generates 1.5 to 2 B US$ annually from Sw exports – Ref to Mr Saleem Ghori, CEO, NetSol, 2009
  • 12. Pak Software Exports • Daily Express, Islamabad, dated Feb 21, 2011 quoted Federal Bureau of Statistics that for period of July to December 2010 – Sw exports amounted to Rs 6.15 Billions, with an increase of 13.13% from its last year figure – Overseas Sw Consultancy services Rs 1.3 B – Computers Repair and support Rs 0.05 B – Computer related Auxiliary Services Rs 1.3B • Total sw exports were Rs 8.8 B with an increase of 8.37 % from previous year
  • 15. Program Size C, C++40,000 KLOCWindows XP C, c++30,000 KLOCLinux C, sh100 KLOCAppache C, perl, sh320 KLOCPerl C, C++, yacc980KLOCGcc C, C++40,000 KLOCWindows XP C, c++30,000 KLOCLinux C, sh100 KLOCAppache C, perl, sh320 KLOCPerl C, C++, yacc980KLOCGcc
  • 16. Compute the Cost of a Software A software of size say 100 KLOC, like Apache web server, is to be developed by a team of professional software developers, having an average productivity of 150 LOC per person- month, and drawing an average salary of Rs 30,000/- a month.
  • 17.
  • 18. Program Size = 100 KLOC Average Productivity = 150 LOC / Person- Month Duration = Program Size / Productivity = 100 KLOC/150 LOC/Per-Mon = 2/3 K Per-Mon Rate = 30 K Rs / Per-Mon Total Cost = Duration * Rate = 2/3 K Per-Mon * 30 K Rs / Per-Mon = 20 K * K Rs = 20 M Rs = Rs 20,000,000
  • 19. Software – Problems and Prospects Software is Open ended, complex and key mechanism in providing the requisite functionality of the system. It is of huge size, needs 000s of people and millions of $s of investment to develop. The perceived problems in Sw development and goals the Sw Development needs to achieve are:
  • 20. • Meeting Users’ Needs • Low Cost of Production • High Performance • Portability – it works at various envisaged platforms • Low Cost of Maintenance • High Reliability • Scalability • Delivery on Time – Till to-date each of the above goals is partially achieved, so it stays as a Sw dev problem. SE seeks to provide the techniques to resolve these problems i.e. to achieve these goals.
  • 22. • Quality and Productivity
  • 23. • Consistency and Repeatability • Change
  • 24. Software Engineering Approach High Quality and Productivity (Q&P) is the basic objective of Software Engineering. The main three forces governing Q&P are:
  • 25. Software Process • Software Process is the way we produce software, it starts with the concept exploration and ends when the product is decommissioned. During this product goes through a series of phases like Requirements, Specifications, Planning, Design, Implementation, Testing, Integration, Maintenance, Documentation and finally the Retirement
  • 26. Quality Product • For a quality software product, both the quality of product itself and quality of software process is important. • The cost of error recovery in the later phases of software is many times more than the earlier phases, so higher attention should be paid in the earlier phases, and these should be made error- free.
  • 27. Software Processes – Software Process is comprised of a number of processes working in Series and in parallel to achieve the software product – These processes can be Software Development Process, Business Process, Training Process, Human Resource Management or Social Process, Quality Assurance Process, Software Monitoring and Control Process, Inspection Process and Software Management Process etc – Process is execution of a number of steps in a specified order
  • 28. Process, Project and Product – Process is a series of steps or activities conducted in an orderly manner – Project is execution of a Process, to achieve or develop a product. It is an instance of Process executed in specific time frame to get the product that meets the needs of a user – Product is the outcome of a successfully executed project – Process can be initiated on a number of Projects, and a project can yield a number of Products
  • 29. – Process works as Check List and its pre- defined stages are executed in the pre- specified order – The main objective of Software Engineering is to develop Reliable, High Quality Software that can be built within price and time budget, hence we need to focus on Software Related Processes and more precisely on Software Development Process
  • 30. Software Process • Software should be – Reliable (high quality) – Affordable (Cheap, low cost) – Small Time Cycle (so that the software could be developed speedily) • For better management and control software process should be – Phased i.e. consist of multiple stages
  • 31. Software Development Process Software Development Process Requirements Software Product In fact, this SD Process consists of: Analysis Design Implementa- tion Deployment
  • 32. And each one of these is further divided into sub phases, like Analysis Requirements Analysis Specification Design Architectural Design Lower Level or Detailed Design Implement- ation Coding Testing Unit Testing Sub-system Testing System Testing Acceptance Tst = = = = Higher Level Design
  • 33. Software Process • Software Process is the way we produce software, it starts with the concept exploration and ends when the product is decommissioned or retired. During this life, the product goes through a series of phases like Requirements, Specifications, Planning, Design, Implementation, Testing, Integration, Maintenance, Documentation and finally the Retirement
  • 34. Software Development Life Cycle • Life Cycle • All what is done on a product from its conception to its physical realization and retirement is called its Life Cycle • Software Development Life Cycle Model • It is a description of all the stages/phases that should be performed when building a software product. Number of stages differ from author to author, from 4 to 10 or even more, but in general the Classical Software Development Life Cycle model has eight (highlighted) stages
  • 35. Different Phases of SDLC Authors partition the SDLC activities differently, Eg [Jal98] mentions the following 4 stages • Requirement Analysis • Design (further divided into System Design & Detailed Des, or Jal05 mentions them as Architectural Des, High Level Des and Low Level Des) • Coding and • Testing (including Unit Testing, Integration Testing and Acceptance Testing) – Towards over-all Effort/Cost, each one of them contributed 10%, 20%, 30% and 40% respectively, and – Error distribution among the first three phases was 20%, 30% and 50% respectively
  • 36. Software Development Life Cycle (SDLC) Stage or Phases 1. Requirements Phase 2. Analysis (Specification) Phase 3. Planning Phase 4. Design Phase a. Architectural Design b. High Level Design c. Detailed Design 5. Implementation Phase 6. Integration Phase 7. Testing 8. Documentation 9. Post delivery Maintenance Phase Corrective, Perfective, Adaptive 10. Retirement Phase
  • 37. Comparative Effort Spent in Different Stages of SDLC
  • 38. Different types of Maintenance Post-delivery Maintenance • Done after deployment at the clients premises This is of two types: Corrective Maintenance or Software Repair Removal of Residual faults leaving the Specifications unchanged Enhancement or Software Update Consists of changes to specification and implementation of those changes. It further consists of two types: Perfective Maintenance The changes which client thinks will improve the effectiveness of the product, such as Additional Functionality, Decreased response time, or Optimal memory usage Adaptive Maintenance Changes made in response to changes in the environment in which the product operates, such as, a new hardware, OS or new government regulations or conformance to new standard like UNICODE
  • 40.
  • 41. Relative Costs of the Stages of SD
  • 42.
  • 43. Cost of Error Recovery / Correction • The cost of error recovery in the later phases of software is many times more than the earlier phases, so higher attention should be paid in the earlier phases, and respective stages/phases errors be identified and eradicated, making these phases error-free.
  • 45. Cost of Fixing of Errors
  • 46.
  • 47.
  • 48.
  • 49. Reading Assignment 1. Ch-1 Problems and Prospects, pp 3-22 From Douglas Bell (2005); Software Engineering for Students; Pearson Education Limited 2. Ch – 1 Introduction, pp 1-20 + Ch-2 From Pankaj Jalote (2005); An Integrated Approach to Software Engineering, 3rd Edition, Narosa Publishing House, New Delhi 3. Ch – 1 Introduction to Software Engineering, pp 33-50 From Roger S Pressman (2005); Software Engineering – A Practitioner’s Approach, 6th Edition, McGraw Hill Higher Education, Boston