SlideShare a Scribd company logo
1 of 21
INTRODUCTION
CSE 470 : Software Engineering
Ashis Kumar Chanda
Lecturer, BRACU
Goals of Software Engineering
 To produce software that is absolutely correct.
 To produce software with minimum effort.
 To produce software at the lowest possible cost.
 To produce software in the least possible time.
 To produce software that is easily maintained and modified.
 To maximize the profitability of the software production effort.
 In practice, none of these ideal goals is completely achievable. The
challenge of software engineering is to see how close we can get to
achieving these goals.
 The art of software engineering is balancing these goals for a
particular project.
Real-life Software
Inevitably most software systems are LARGE Systems.
This means:
Many people involved in design, building and testing,
Team effort, not individual effort
Many millions of $ spent on design and implementation
Millions of lines of source code
Lifetime measured in years or decades
Continuing modification and maintenance
Example — Eclipse
Eclipse is a popular software development environment for Java.
Some interesting characteristics of a recent release:
 Lines of source code > 1,350,000.
 Effort(person-years) > 400.
 Classes 17,456.
 Inheritance relations 15,187.
 Methods 124,359.
 Object instantiations 43,923.
 Fields 48,441.
 Call relations 1,066,838.
 Lifetime bugs > 40,000.
 Est. Development cost > $ 54,000,000.
Why Is Software Engineering
Important
Cost of getting software wrong is often horrendous.
 Bankruptcy of software producer.
 Injury or loss of human life broken software can KILL people.
 Software producer profitability depends on producing software
efficiently and minimizing maintenance effort. Software reuse is an
economic necessity.
 Immense body of old software (legacy code or dusty decks) that must
be rebuilt or redesigned to be usable on modern computer systems.
 Very, very few contemporary systems work correctly when first
installed. We need to do much better.
 Over $600,000,000,000 spent each year on producing software.
Software Horror Stories
 Bank of America spent $23,000,000 on a 5-year project to develop a
new accounting system. Spent over $60,000,000 trying to make new
system work, finally abandoned it. Loss of business estimated in excess
of $1,000,000,000.
 The B1 bomber required an additional $1,000,000,000 to improve its
air defense software, but the software still isn’t working to specification.
 Ariane 5, flight 501.
 The loss of a $500,000,000 spacecraft was ultimately attributed to
errors in requirements, specifications and inadequate software reuse
practices.
What Is Software ?
Programs
 Source code
 Data structures
Documents
 Requirements and specification documents
 Design documents
 Test suites and test plans
What Is Good Software?
 Correct, correct, correct
 Maintainable and easy to modify
 Well modularized with well-designed interfaces
 Reliable and robust
 Has a good user interface
 Well documented
 Internal documentation for maintenance and modification
 External documentation for end users
 Efficient
 Not wasteful of system resources, cpu & memory
 Optimized data structures and algorithms
Goodness Goals Conflict
All goodness attributes cost $s to achieve
Interaction between attributes
 High efficiency may degrade maintainability, reliability
 More complex user interface may degrade efficiency, maintainability,
and reliability
 Better documentation may divert effort from efficiency and reliability
Software engineering management has to trade-off
satisfying goodness goals
Software Myths
Management myths
 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.
 My people do have state-of-the-art software development tools
 If we get behind schedule, we can add more programmers and
catch up.
Software Myths…
Customer myths
 Customer: what's the today's menu ?
 Waiter: Fish, meal, …..
 Customer: Okay, Fish.
 Waiter: Hilsha, Prawn, …..
 Customer: Well, hilsha.
 Waiter: Fry or curry?
 ………..
 ………….
But the picture is reverse in our field
Software Myths…
Customer myths
 A general statement of objectives is sufficient to begin writing
programs…we can fill in the details latter.
 Project requirement continually change, but change can be
easily accommodated because software is flexible.
Software Myths…
Developer myths
 Once we write the program and get it to work, our job is done.
 Until I get the program “running” I really have no way of
assessing its quality.
 The only deliverable for a successful project is a working
program.
Need Different Approaches for
Developing Large Software
Need formal management of software production
process.
Formal & detailed statement of requirements, specification
and design.
Much more attention to modularity and interfaces.
Must be separable into manageable pieces.
Need version control.
More emphasis of rigorous and thorough testing.
Need to plan for long term maintenance and modification.
Need much more documentation, internal and external.
version control
Why Is Software
Development Hard?
 Changing requirements and specifications
 Inability to develop complete and correct requirements
 Programmer variability and unpredictability
 Communication and coordination
 Imprecise and incomplete requirements and specifications
 Inadequate software development tools
 Inability to accurately estimate effort or time required
 Overwhelming complexity of large systems, more than linear growth in
complexity with size of the system
 Poor software development processes
 Lack of attention to issues of software architecture
Software Engineering?
The science ( & art) of building high quality software
systems
On time
On budget
With correct operation
With acceptable performance
What is Software Engineering?
Software Engineering:
The application
of a systematic, disciplined,
quantifiable
approach to the development,
operation, and maintenance of
Software
Major Software Production Tasks
 Requirements analysis:
 Analyze software system requirements in detail
 Specification:
 Develop a detailed specification for the software
 Design:
 Develop detailed design for the software data structures, software
architecture procedural detail, interfaces
 Coding:
 Transform design into one or more programming language(s)
 Testing:
 Test internal operation of the system and externally visible operations &
performance
 Release:
 Package and deliver software to users
 Maintenance:
 Error correction and enhancement after system
References
Cornell University, USA
http://www.cs.cornell.edu/courses/cs501/2000fa/slides.html
Ian Sommerville, Software Engineering, 9th
edition, Pearson, 2011
Roger s. pressman, Software Engineering a
practitioners approach, 7th
ed

More Related Content

What's hot

overview introduction to Software Engineering
overview introduction to Software Engineeringoverview introduction to Software Engineering
overview introduction to Software EngineeringMuhammad Sikandar Mustafa
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringAchmad Solichin
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical DebtHayim Makabee
 
Software engineer job responsibilities
Software engineer job responsibilitiesSoftware engineer job responsibilities
Software engineer job responsibilitiesTeyha Mdiah
 
Myths in Software Requirements
Myths in Software RequirementsMyths in Software Requirements
Myths in Software RequirementsSheraz Pervaiz
 
Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Ram Paliwal
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Developmentbryanbibat
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVYamunaP6
 
HariKrishna-2+year-Dotnet-Profile
HariKrishna-2+year-Dotnet-ProfileHariKrishna-2+year-Dotnet-Profile
HariKrishna-2+year-Dotnet-Profilebatchuhari
 
Sreekumar_6+ Years QA Manual AutomationQTP Tester Resume
Sreekumar_6+ Years QA Manual AutomationQTP Tester ResumeSreekumar_6+ Years QA Manual AutomationQTP Tester Resume
Sreekumar_6+ Years QA Manual AutomationQTP Tester Resumesreekumar kanhirangadan
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introductionRa'Fat Al-Msie'deen
 

What's hot (20)

overview introduction to Software Engineering
overview introduction to Software Engineeringoverview introduction to Software Engineering
overview introduction to Software Engineering
 
Nupur Mahajan
Nupur MahajanNupur Mahajan
Nupur Mahajan
 
Lecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software EngineeringLecture 01 Introduction to Software Engineering
Lecture 01 Introduction to Software Engineering
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
 
Software engineer job responsibilities
Software engineer job responsibilitiesSoftware engineer job responsibilities
Software engineer job responsibilities
 
Resume
ResumeResume
Resume
 
software myths
software mythssoftware myths
software myths
 
Myths in Software Requirements
Myths in Software RequirementsMyths in Software Requirements
Myths in Software Requirements
 
Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...Srs (software requirement specification) in software engineering basics by ra...
Srs (software requirement specification) in software engineering basics by ra...
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
 
26968 software developer career
26968 software developer career26968 software developer career
26968 software developer career
 
BSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IVBSC Software & Software engineering-UNIT-IV
BSC Software & Software engineering-UNIT-IV
 
Experienced Resume
Experienced ResumeExperienced Resume
Experienced Resume
 
Vivek_MK
Vivek_MKVivek_MK
Vivek_MK
 
HariKrishna-2+year-Dotnet-Profile
HariKrishna-2+year-Dotnet-ProfileHariKrishna-2+year-Dotnet-Profile
HariKrishna-2+year-Dotnet-Profile
 
Sreekumar_6+ Years QA Manual AutomationQTP Tester Resume
Sreekumar_6+ Years QA Manual AutomationQTP Tester ResumeSreekumar_6+ Years QA Manual AutomationQTP Tester Resume
Sreekumar_6+ Years QA Manual AutomationQTP Tester Resume
 
Software Engineering - Ch1 introduction
Software Engineering - Ch1 introductionSoftware Engineering - Ch1 introduction
Software Engineering - Ch1 introduction
 
Suresh 2.8yrs hcl
Suresh 2.8yrs hclSuresh 2.8yrs hcl
Suresh 2.8yrs hcl
 
Indhu G_M&AT
Indhu G_M&ATIndhu G_M&AT
Indhu G_M&AT
 
Ch1
Ch1Ch1
Ch1
 

Viewers also liked

Our solar system
Our solar systemOur solar system
Our solar systemschoe1ts
 
Quick Wins and Shortcuts to Get the Most out of IDEA
Quick Wins and Shortcuts to Get the Most out of IDEAQuick Wins and Shortcuts to Get the Most out of IDEA
Quick Wins and Shortcuts to Get the Most out of IDEAAuditWare Systems Ltd.
 
Mexican manufacturers inc 10 18
Mexican manufacturers inc 10 18Mexican manufacturers inc 10 18
Mexican manufacturers inc 10 18John Martino
 
Our solar system
Our solar systemOur solar system
Our solar systemschoe1ts
 
Мобильные приложения для ресторанов
Мобильные приложения для ресторановМобильные приложения для ресторанов
Мобильные приложения для ресторановSoGe Mobile
 
Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...
Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...
Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...Cook County Commissioner Bridget Gainer
 
Power point essentials #15 8°b
Power point essentials #15 8°bPower point essentials #15 8°b
Power point essentials #15 8°bforever97
 
Handbook of Islamic banking By Md Kabir Hossain
Handbook of Islamic banking By Md Kabir HossainHandbook of Islamic banking By Md Kabir Hossain
Handbook of Islamic banking By Md Kabir HossainNazmul H. Palash
 
GLOBE lecture to LAS
GLOBE lecture to LASGLOBE lecture to LAS
GLOBE lecture to LASJohn Harlin
 
FINAL SlideCast Presentation
FINAL SlideCast PresentationFINAL SlideCast Presentation
FINAL SlideCast PresentationYuyiLi
 
Keep austin weird 2014.ppt
Keep austin weird 2014.pptKeep austin weird 2014.ppt
Keep austin weird 2014.pptMelinda Brasher
 

Viewers also liked (20)

Our solar system
Our solar systemOur solar system
Our solar system
 
Jaguar
JaguarJaguar
Jaguar
 
Quick Wins and Shortcuts to Get the Most out of IDEA
Quick Wins and Shortcuts to Get the Most out of IDEAQuick Wins and Shortcuts to Get the Most out of IDEA
Quick Wins and Shortcuts to Get the Most out of IDEA
 
Mexican manufacturers inc 10 18
Mexican manufacturers inc 10 18Mexican manufacturers inc 10 18
Mexican manufacturers inc 10 18
 
Our solar system
Our solar systemOur solar system
Our solar system
 
Мобильные приложения для ресторанов
Мобильные приложения для ресторановМобильные приложения для ресторанов
Мобильные приложения для ресторанов
 
Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...
Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...
Big Data vs. Smart Data: The Cook County Land Bank’s Data-Driven plan for lan...
 
Power point essentials #15 8°b
Power point essentials #15 8°bPower point essentials #15 8°b
Power point essentials #15 8°b
 
Handbook of Islamic banking By Md Kabir Hossain
Handbook of Islamic banking By Md Kabir HossainHandbook of Islamic banking By Md Kabir Hossain
Handbook of Islamic banking By Md Kabir Hossain
 
Final photos
Final photosFinal photos
Final photos
 
Dibujos arte
Dibujos arteDibujos arte
Dibujos arte
 
GLOBE lecture to LAS
GLOBE lecture to LASGLOBE lecture to LAS
GLOBE lecture to LAS
 
Disney
DisneyDisney
Disney
 
Bridget Gainer: June 19 2013 Pension Committee Report
Bridget Gainer: June 19 2013 Pension Committee ReportBridget Gainer: June 19 2013 Pension Committee Report
Bridget Gainer: June 19 2013 Pension Committee Report
 
Unit 3 naturales
Unit 3 naturalesUnit 3 naturales
Unit 3 naturales
 
FINAL SlideCast Presentation
FINAL SlideCast PresentationFINAL SlideCast Presentation
FINAL SlideCast Presentation
 
Amaresa 2 - Payment Terms
Amaresa 2 - Payment TermsAmaresa 2 - Payment Terms
Amaresa 2 - Payment Terms
 
For middle east main
For middle east mainFor middle east main
For middle east main
 
Being nice to People
Being nice to PeopleBeing nice to People
Being nice to People
 
Keep austin weird 2014.ppt
Keep austin weird 2014.pptKeep austin weird 2014.ppt
Keep austin weird 2014.ppt
 

Similar to CSE 470 Introduction to Software Engineering Goals and Challenges

Similar to CSE 470 Introduction to Software Engineering Goals and Challenges (20)

Intro
IntroIntro
Intro
 
Chapter 1 1 - intro ppt
Chapter 1   1 - intro pptChapter 1   1 - intro ppt
Chapter 1 1 - intro ppt
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
01 fse software&sw-engineering
01 fse software&sw-engineering01 fse software&sw-engineering
01 fse software&sw-engineering
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
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
 
The Product and Process(1).pdf
The Product and Process(1).pdfThe Product and Process(1).pdf
The Product and Process(1).pdf
 
Kelis king - introduction to s.e.
Kelis king -  introduction to s.e.Kelis king -  introduction to s.e.
Kelis king - introduction to s.e.
 
want to contact me login to www.stqa.org
want to contact me login to www.stqa.orgwant to contact me login to www.stqa.org
want to contact me login to www.stqa.org
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
Software Engineering - Lecture 01
Software Engineering - Lecture 01Software Engineering - Lecture 01
Software Engineering - Lecture 01
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
software engineering
software engineeringsoftware engineering
software engineering
 
M017548895
M017548895M017548895
M017548895
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 
software engineering
 software engineering software engineering
software engineering
 

More from Ashis Kumar Chanda

More from Ashis Kumar Chanda (20)

Word 2 vector
Word 2 vectorWord 2 vector
Word 2 vector
 
Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...Multi-class Image Classification using deep convolutional networks on extreme...
Multi-class Image Classification using deep convolutional networks on extreme...
 
Full resolution image compression with recurrent neural networks
Full resolution image compression with  recurrent neural networksFull resolution image compression with  recurrent neural networks
Full resolution image compression with recurrent neural networks
 
Understanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational DatabasesUnderstanding Natural Language Queries over Relational Databases
Understanding Natural Language Queries over Relational Databases
 
03. Agile Development
03. Agile Development03. Agile Development
03. Agile Development
 
Software Cost Estimation
Software Cost EstimationSoftware Cost Estimation
Software Cost Estimation
 
Risk Management
Risk ManagementRisk Management
Risk Management
 
Project Management
Project ManagementProject Management
Project Management
 
MVC
MVCMVC
MVC
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
4. UML
4. UML4. UML
4. UML
 
2. Software process
2. Software process2. Software process
2. Software process
 
Periodic pattern mining
Periodic pattern miningPeriodic pattern mining
Periodic pattern mining
 
FPPM algorithm
FPPM algorithmFPPM algorithm
FPPM algorithm
 
Secure software design
Secure software designSecure software design
Secure software design
 
Sequential logic circuit optimization
Sequential logic circuit optimizationSequential logic circuit optimization
Sequential logic circuit optimization
 
Introduction to CS
Introduction to CSIntroduction to CS
Introduction to CS
 
Iterative deepening search
Iterative deepening searchIterative deepening search
Iterative deepening search
 
CloudBus
CloudBusCloudBus
CloudBus
 
Linear Machine Decision Tree
Linear Machine Decision TreeLinear Machine Decision Tree
Linear Machine Decision Tree
 

Recently uploaded

the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 

Recently uploaded (20)

the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 

CSE 470 Introduction to Software Engineering Goals and Challenges

  • 1. INTRODUCTION CSE 470 : Software Engineering Ashis Kumar Chanda Lecturer, BRACU
  • 2. Goals of Software Engineering  To produce software that is absolutely correct.  To produce software with minimum effort.  To produce software at the lowest possible cost.  To produce software in the least possible time.  To produce software that is easily maintained and modified.  To maximize the profitability of the software production effort.  In practice, none of these ideal goals is completely achievable. The challenge of software engineering is to see how close we can get to achieving these goals.  The art of software engineering is balancing these goals for a particular project.
  • 3. Real-life Software Inevitably most software systems are LARGE Systems. This means: Many people involved in design, building and testing, Team effort, not individual effort Many millions of $ spent on design and implementation Millions of lines of source code Lifetime measured in years or decades Continuing modification and maintenance
  • 4. Example — Eclipse Eclipse is a popular software development environment for Java. Some interesting characteristics of a recent release:  Lines of source code > 1,350,000.  Effort(person-years) > 400.  Classes 17,456.  Inheritance relations 15,187.  Methods 124,359.  Object instantiations 43,923.  Fields 48,441.  Call relations 1,066,838.  Lifetime bugs > 40,000.  Est. Development cost > $ 54,000,000.
  • 5. Why Is Software Engineering Important Cost of getting software wrong is often horrendous.  Bankruptcy of software producer.  Injury or loss of human life broken software can KILL people.  Software producer profitability depends on producing software efficiently and minimizing maintenance effort. Software reuse is an economic necessity.  Immense body of old software (legacy code or dusty decks) that must be rebuilt or redesigned to be usable on modern computer systems.  Very, very few contemporary systems work correctly when first installed. We need to do much better.  Over $600,000,000,000 spent each year on producing software.
  • 6. Software Horror Stories  Bank of America spent $23,000,000 on a 5-year project to develop a new accounting system. Spent over $60,000,000 trying to make new system work, finally abandoned it. Loss of business estimated in excess of $1,000,000,000.  The B1 bomber required an additional $1,000,000,000 to improve its air defense software, but the software still isn’t working to specification.  Ariane 5, flight 501.  The loss of a $500,000,000 spacecraft was ultimately attributed to errors in requirements, specifications and inadequate software reuse practices.
  • 7.
  • 8. What Is Software ? Programs  Source code  Data structures Documents  Requirements and specification documents  Design documents  Test suites and test plans
  • 9. What Is Good Software?  Correct, correct, correct  Maintainable and easy to modify  Well modularized with well-designed interfaces  Reliable and robust  Has a good user interface  Well documented  Internal documentation for maintenance and modification  External documentation for end users  Efficient  Not wasteful of system resources, cpu & memory  Optimized data structures and algorithms
  • 10. Goodness Goals Conflict All goodness attributes cost $s to achieve Interaction between attributes  High efficiency may degrade maintainability, reliability  More complex user interface may degrade efficiency, maintainability, and reliability  Better documentation may divert effort from efficiency and reliability Software engineering management has to trade-off satisfying goodness goals
  • 11. Software Myths Management myths  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.  My people do have state-of-the-art software development tools  If we get behind schedule, we can add more programmers and catch up.
  • 12. Software Myths… Customer myths  Customer: what's the today's menu ?  Waiter: Fish, meal, …..  Customer: Okay, Fish.  Waiter: Hilsha, Prawn, …..  Customer: Well, hilsha.  Waiter: Fry or curry?  ………..  …………. But the picture is reverse in our field
  • 13. Software Myths… Customer myths  A general statement of objectives is sufficient to begin writing programs…we can fill in the details latter.  Project requirement continually change, but change can be easily accommodated because software is flexible.
  • 14. Software Myths… Developer myths  Once we write the program and get it to work, our job is done.  Until I get the program “running” I really have no way of assessing its quality.  The only deliverable for a successful project is a working program.
  • 15. Need Different Approaches for Developing Large Software Need formal management of software production process. Formal & detailed statement of requirements, specification and design. Much more attention to modularity and interfaces. Must be separable into manageable pieces. Need version control. More emphasis of rigorous and thorough testing. Need to plan for long term maintenance and modification. Need much more documentation, internal and external.
  • 17. Why Is Software Development Hard?  Changing requirements and specifications  Inability to develop complete and correct requirements  Programmer variability and unpredictability  Communication and coordination  Imprecise and incomplete requirements and specifications  Inadequate software development tools  Inability to accurately estimate effort or time required  Overwhelming complexity of large systems, more than linear growth in complexity with size of the system  Poor software development processes  Lack of attention to issues of software architecture
  • 18. Software Engineering? The science ( & art) of building high quality software systems On time On budget With correct operation With acceptable performance
  • 19. What is Software Engineering? Software Engineering: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of Software
  • 20. Major Software Production Tasks  Requirements analysis:  Analyze software system requirements in detail  Specification:  Develop a detailed specification for the software  Design:  Develop detailed design for the software data structures, software architecture procedural detail, interfaces  Coding:  Transform design into one or more programming language(s)  Testing:  Test internal operation of the system and externally visible operations & performance  Release:  Package and deliver software to users  Maintenance:  Error correction and enhancement after system
  • 21. References Cornell University, USA http://www.cs.cornell.edu/courses/cs501/2000fa/slides.html Ian Sommerville, Software Engineering, 9th edition, Pearson, 2011 Roger s. pressman, Software Engineering a practitioners approach, 7th ed