SlideShare a Scribd company logo
1 of 36
IT – 3901-3
Software Engineering
for BS(IT)
Lecture 1: Introduction
Hareem Aslam
Hareem.aslam@pucit.edu.pk
Punjab University College of Information Technology (PUCIT)
2
Course Objectives
 Importance and need of software engineering
 To discuss software development models appropriate for the development
and maintenance of software products
 To introduce basic project management concepts
 To impart comprehensive knowledge regarding software development
lifecycle
 To demonstrate, with justification, an appropriate set of tools to support the
development of a range of software projects
Scope of Software
Engineering:
Definition Motivation and Need, Software characteristics and
Applications.
Software Process: Intro to SDLC, Software Process Models.
Project Management
Concepts
Essentials, 4P’s(Product, People, Project, Process).
Software Measurement
concepts:
Project, process and product and software Quality metrics.
Software Cost Estimation techniques
Project Scheduling: Gantt chart, Critical Path Method.
Requirement Engineering: Definition, Requirement Elicitation, Requirement Traceability ,
Requirement Analysis and Specification.
Course Outline
4
Course Outline
Software Designing: elementary concepts, data design, software Architecture,
Functional Independence, Interface Design, Component-level
Design, Coding Standards.
Software Testing: Fundamentals, Verification & Validation, Testing Plan, Testing
Techniques, White Box Testing and Black Box Testing, Test Case
Design, Unit Testing, Integration Testing, Validation Testing,
System Testing, Debugging practices
5
Course Material
 Course Book
 Roger Pressman, Software Engineering, 7th Edition, Mcgraw Hill.
Motivation
Software can have huge impact
in any aspect of our society
Where can we find software?
Some popular ones…
Some popular ones…
And even in…
Conclusion
Software is almost everywhere!!!
Problems in software development
 Common issues
 The final software does not fulfill the needs of the
customer
 Hard to extend and improve: if you want to add a
functionality later its mission impossible
 Bad documentation
 Bad quality: frequent errors, hard to use, ...
 More time and costs than expected
http://www.projectcartoon.com
But…
that never
happens?
right?
Wrong!
Ariane 5 Flight 501
 Cause: design
errors in the
software
 https://www.youtube.com/watc
h?v=5tJPXYA0Nec
Conclusion
 Programming is NOT enough!
It is not enough to do your best: you must Know what to do, and
THEN do your best. -- W. Edwards Deming
And Since…
A clever person solves a problem.
A wise person avoids it.
- Albert Einstein
Solution
Software Engineering
Software Engineering: Basic Definitions
22
 Software:
 A product that is built by computer professionals that
encompasses programs that execute within a computer of
any size.
 The textbook description of software is
 Instructions that when executed provide desired function and
performance
 Data structures that enable the programs to adequately
manipulate information
23
Software Engineering Defined
 Engineering:
 A set of practices followed to build a product using the
knowledge of Basic Science. For example, mechanical
engineering and electrical engineering use the knowledge of
Physics.
 Software Engineering:
 It’s a process, a collection of methods (practice) and an array
of tools that allow professionals to build high quality computer
software.
Software Engineering
 IEEE [IEEE93]: Software Engineering:
 (1) The application of systematic, disciplined, quantifiable
approach to the development, operation, and maintenance of
software; that is, the application of engineering to software
Software Engineering
Objective is to produce software that is:
 On-time: is deliver at the established date.
 Reliable: does not crash.
 Complete: good documentation, fulfill customer needs.
Nature of Software
 “Software is developed or engineered; it is not manufactured
in the classical sense”
 “Software doesn’t wear out”
 Why software deteriorate?(due to changes)
 Software is complex
 Software is expensive
 Software is risky
 Component based construction.
 Well Engineered Software
26
Failure curve for hardware
(bathtub curve)
S/W characteristics different from H/W
( high failure rate in the beginning,
then drop to steady state, then
cumulative effects of dust, vibration,
abuse occurs).
28
Failure curve for software
(every failure indicate error in design)
S/W characteristics different from H/W
Software poses challenges
 How do we ensure the quality of the software
that we produce?
 How do we meet growing demand and still
maintain budget control?
 How do we upgrade an aging "software
plant?"
 How do we avoid disastrous time delays?
 How do we successfully institute new
software technologies?
29
Software Application Domains
 System software
 Application software
 Scientific software
 Embedded software
 Legacy software
 Web/Mobile Apps
 AI software
30
Provides platform for other s/w to run e.g, OS, compiler
Serve a particular purpose e.g, payroll s/w, MS word
Solve scientific problems like Genetic analysis
Induce human like intelligence in machines e.g, Robotics
Run on browser or mobile
Provide limited features and functionalities e.g,
Microwave ovens
Very old & traditional software MS-DOS
Attributes of a good software
 What is a well Engineered Software?
Product
Characteristics
Description
Maintainability Software should be written in such a way that it may evolve to meet the changing
needs of customers. This is a critical attribute because software change is an
inevitable consequence of a changing business environment.
Dependability Software dependability has a range of characteristics, including reliability, security
and safety. Dependable software should not cause physical or economic damage
in the event of system failure.
Efficiency Software should not make wasteful use of system resources such as memory and
processor cycles. Efficiency therefore includes responsiveness, processing time,
memory utilization, etc.
Usability Software must be usable, without undue effort, by the type of user for whom it is
designed. This means that it should have an appropriate user interface and
adequate documentation.
Software Engineering Practice
 Understand the problem
 Plan the Solution
 Carry out the Plan
 Examine the result
32
Professional and Legal Responsibility
Organizations put trust in software developers:
 Competence: Software that does not work effectively can destroy an
organization.
 Confidentiality: Software developers and systems administrators may
have access to highly confidential information (e.g., trade secrets,
personal data).
 Legal environment: Software exists in a complex legal environment
(e.g., intellectual property, obscenity).
 Acceptable use and misuse: Computer abuse can paralyze an
organization (e.g., the Internet worm).
33
34
Legacy Software
 Developed decades ago and have been
continually modified to meet changes
 Issues
 Non existent documentation
 Inextensible code
 Test cases and results missing
 Poorly managed changed history
35
Software Myths
 Management
 We have standards
 We have new computers
 We’ll add more people to catch up
 I outsourced it, I’m done
 Customer
 We have general objectives, let’s start
 Change is easily accommodated
36
Software Myths
 Practitioner
 We’ll write it and be done
 I can’t assess quality until it is running
 The only deliverable is the working code
 Software engineering is about meaningless
documents

More Related Content

What's hot

Computer Careers
Computer CareersComputer Careers
Computer Careerscfoster3541
 
Powerpoint presentation on free educational softwares
Powerpoint presentation on free educational softwaresPowerpoint presentation on free educational softwares
Powerpoint presentation on free educational softwaresserin100
 
The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...Alexander Decker
 
Anil Kumar Rai
Anil Kumar RaiAnil Kumar Rai
Anil Kumar Raianil rai
 
Sunil A 3+ years Resume
Sunil A 3+ years ResumeSunil A 3+ years Resume
Sunil A 3+ years ResumeSunil A
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android SynopsisNiraj Rahi
 
IT careers and professionals
IT careers and professionalsIT careers and professionals
IT careers and professionalsmarkgernale24
 
Careers in ICT
Careers in ICTCareers in ICT
Careers in ICTOtto Akama
 
Network security projects
Network security projectsNetwork security projects
Network security projectstcpipguru
 
It in business(komal doua)
It in business(komal doua)It in business(komal doua)
It in business(komal doua)Komal Khalid
 
Wendy Nather - Building a Rube Goldberg Application Security Program
Wendy Nather - Building a Rube Goldberg Application Security ProgramWendy Nather - Building a Rube Goldberg Application Security Program
Wendy Nather - Building a Rube Goldberg Application Security ProgramSource Conference
 

What's hot (20)

Computer Careers
Computer CareersComputer Careers
Computer Careers
 
Ic3
Ic3Ic3
Ic3
 
Powerpoint presentation on free educational softwares
Powerpoint presentation on free educational softwaresPowerpoint presentation on free educational softwares
Powerpoint presentation on free educational softwares
 
Careers in it
Careers in itCareers in it
Careers in it
 
The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...The critical need for software architecture practices in software development...
The critical need for software architecture practices in software development...
 
Anil Kumar Rai
Anil Kumar RaiAnil Kumar Rai
Anil Kumar Rai
 
Computer science Engineering Distance Education
Computer science Engineering Distance EducationComputer science Engineering Distance Education
Computer science Engineering Distance Education
 
Resume1
Resume1Resume1
Resume1
 
Sunil A 3+ years Resume
Sunil A 3+ years ResumeSunil A 3+ years Resume
Sunil A 3+ years Resume
 
Anurag Jangir (2)
Anurag Jangir (2)Anurag Jangir (2)
Anurag Jangir (2)
 
Human Computer Interaction of an Information System
Human Computer Interaction of an Information SystemHuman Computer Interaction of an Information System
Human Computer Interaction of an Information System
 
Android Synopsis
Android SynopsisAndroid Synopsis
Android Synopsis
 
IT careers and professionals
IT careers and professionalsIT careers and professionals
IT careers and professionals
 
Careers in ICT
Careers in ICTCareers in ICT
Careers in ICT
 
Network security projects
Network security projectsNetwork security projects
Network security projects
 
It in business(komal doua)
It in business(komal doua)It in business(komal doua)
It in business(komal doua)
 
nishad cv
nishad cvnishad cv
nishad cv
 
Anurag_Jangir
Anurag_JangirAnurag_Jangir
Anurag_Jangir
 
Wendy Nather - Building a Rube Goldberg Application Security Program
Wendy Nather - Building a Rube Goldberg Application Security ProgramWendy Nather - Building a Rube Goldberg Application Security Program
Wendy Nather - Building a Rube Goldberg Application Security Program
 
Mohammed Abdalla Resume
Mohammed Abdalla ResumeMohammed Abdalla Resume
Mohammed Abdalla Resume
 

Similar to Lect 01 (20)

se01.ppt
se01.pptse01.ppt
se01.ppt
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 
OOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.pptOOSE Unit 1 PPT.ppt
OOSE Unit 1 PPT.ppt
 
Software Engineering
 Software Engineering  Software Engineering
Software Engineering
 
Intro
IntroIntro
Intro
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels Software Engineering and Introduction, Activities and ProcessModels
Software Engineering and Introduction, Activities and ProcessModels
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
SE18_Lec 01_Introduction to Software Engineering
SE18_Lec 01_Introduction to Software EngineeringSE18_Lec 01_Introduction to Software Engineering
SE18_Lec 01_Introduction to Software Engineering
 
SE Lecture 1.ppt
SE Lecture 1.pptSE Lecture 1.ppt
SE Lecture 1.ppt
 

Recently uploaded

How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 

Recently uploaded (20)

How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 

Lect 01

  • 1. IT – 3901-3 Software Engineering for BS(IT) Lecture 1: Introduction Hareem Aslam Hareem.aslam@pucit.edu.pk Punjab University College of Information Technology (PUCIT)
  • 2. 2 Course Objectives  Importance and need of software engineering  To discuss software development models appropriate for the development and maintenance of software products  To introduce basic project management concepts  To impart comprehensive knowledge regarding software development lifecycle  To demonstrate, with justification, an appropriate set of tools to support the development of a range of software projects
  • 3. Scope of Software Engineering: Definition Motivation and Need, Software characteristics and Applications. Software Process: Intro to SDLC, Software Process Models. Project Management Concepts Essentials, 4P’s(Product, People, Project, Process). Software Measurement concepts: Project, process and product and software Quality metrics. Software Cost Estimation techniques Project Scheduling: Gantt chart, Critical Path Method. Requirement Engineering: Definition, Requirement Elicitation, Requirement Traceability , Requirement Analysis and Specification. Course Outline
  • 4. 4 Course Outline Software Designing: elementary concepts, data design, software Architecture, Functional Independence, Interface Design, Component-level Design, Coding Standards. Software Testing: Fundamentals, Verification & Validation, Testing Plan, Testing Techniques, White Box Testing and Black Box Testing, Test Case Design, Unit Testing, Integration Testing, Validation Testing, System Testing, Debugging practices
  • 5. 5 Course Material  Course Book  Roger Pressman, Software Engineering, 7th Edition, Mcgraw Hill.
  • 7. Software can have huge impact in any aspect of our society
  • 8. Where can we find software?
  • 13. Problems in software development  Common issues  The final software does not fulfill the needs of the customer  Hard to extend and improve: if you want to add a functionality later its mission impossible  Bad documentation  Bad quality: frequent errors, hard to use, ...  More time and costs than expected
  • 17. Ariane 5 Flight 501  Cause: design errors in the software  https://www.youtube.com/watc h?v=5tJPXYA0Nec
  • 18. Conclusion  Programming is NOT enough! It is not enough to do your best: you must Know what to do, and THEN do your best. -- W. Edwards Deming
  • 19. And Since… A clever person solves a problem. A wise person avoids it. - Albert Einstein
  • 21.
  • 22. Software Engineering: Basic Definitions 22  Software:  A product that is built by computer professionals that encompasses programs that execute within a computer of any size.  The textbook description of software is  Instructions that when executed provide desired function and performance  Data structures that enable the programs to adequately manipulate information
  • 23. 23 Software Engineering Defined  Engineering:  A set of practices followed to build a product using the knowledge of Basic Science. For example, mechanical engineering and electrical engineering use the knowledge of Physics.  Software Engineering:  It’s a process, a collection of methods (practice) and an array of tools that allow professionals to build high quality computer software.
  • 24. Software Engineering  IEEE [IEEE93]: Software Engineering:  (1) The application of systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software
  • 25. Software Engineering Objective is to produce software that is:  On-time: is deliver at the established date.  Reliable: does not crash.  Complete: good documentation, fulfill customer needs.
  • 26. Nature of Software  “Software is developed or engineered; it is not manufactured in the classical sense”  “Software doesn’t wear out”  Why software deteriorate?(due to changes)  Software is complex  Software is expensive  Software is risky  Component based construction.  Well Engineered Software 26
  • 27. Failure curve for hardware (bathtub curve) S/W characteristics different from H/W ( high failure rate in the beginning, then drop to steady state, then cumulative effects of dust, vibration, abuse occurs).
  • 28. 28 Failure curve for software (every failure indicate error in design) S/W characteristics different from H/W
  • 29. Software poses challenges  How do we ensure the quality of the software that we produce?  How do we meet growing demand and still maintain budget control?  How do we upgrade an aging "software plant?"  How do we avoid disastrous time delays?  How do we successfully institute new software technologies? 29
  • 30. Software Application Domains  System software  Application software  Scientific software  Embedded software  Legacy software  Web/Mobile Apps  AI software 30 Provides platform for other s/w to run e.g, OS, compiler Serve a particular purpose e.g, payroll s/w, MS word Solve scientific problems like Genetic analysis Induce human like intelligence in machines e.g, Robotics Run on browser or mobile Provide limited features and functionalities e.g, Microwave ovens Very old & traditional software MS-DOS
  • 31. Attributes of a good software  What is a well Engineered Software? Product Characteristics Description Maintainability Software should be written in such a way that it may evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable consequence of a changing business environment. Dependability Software dependability has a range of characteristics, including reliability, security and safety. Dependable software should not cause physical or economic damage in the event of system failure. Efficiency Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilization, etc. Usability Software must be usable, without undue effort, by the type of user for whom it is designed. This means that it should have an appropriate user interface and adequate documentation.
  • 32. Software Engineering Practice  Understand the problem  Plan the Solution  Carry out the Plan  Examine the result 32
  • 33. Professional and Legal Responsibility Organizations put trust in software developers:  Competence: Software that does not work effectively can destroy an organization.  Confidentiality: Software developers and systems administrators may have access to highly confidential information (e.g., trade secrets, personal data).  Legal environment: Software exists in a complex legal environment (e.g., intellectual property, obscenity).  Acceptable use and misuse: Computer abuse can paralyze an organization (e.g., the Internet worm). 33
  • 34. 34 Legacy Software  Developed decades ago and have been continually modified to meet changes  Issues  Non existent documentation  Inextensible code  Test cases and results missing  Poorly managed changed history
  • 35. 35 Software Myths  Management  We have standards  We have new computers  We’ll add more people to catch up  I outsourced it, I’m done  Customer  We have general objectives, let’s start  Change is easily accommodated
  • 36. 36 Software Myths  Practitioner  We’ll write it and be done  I can’t assess quality until it is running  The only deliverable is the working code  Software engineering is about meaningless documents