SlideShare a Scribd company logo
1 of 18
Introduction to Software
      Development
Course Grading

•   Quizzes(Surprise/Announced):             3%
•   Assignments:                             5%
•   Final Project:                           10%
•   Class Participation, Attendance etc.:    2%
•   Mid. Term Exam:                          30%
•   Final Exam:                              50%




          “Interaction is necessary, please ask question”
Course Outlines
• Introduction to Computer-based System Engineering
• Project Management
• Software Specification
• Requirements Engineering
• System Modeling
• Requirements Specifications
• Software Prototyping
• Software Design: Architectural Design, Object-Oriented Design,
  UML modeling, Function-Oriented Design
• Quality Assurance; Processes & Configuration Management
• Introduction to advanced issues: Reusability, Patterns
• Assignments and projects on various stages and deliverables of
  SDLC
What is Software!

• Program: The program or code itself is included in
  software
• Data: The data on which the program operates is
  also considered as a part of software
• Documentation: One important thing which we often
  forget is documentation. All the documents related
  to software development are considered as part of
  software
Nature of Software
• What is software
   – Computer programs and associated documentation
• Software is intangible
   – Hard to understand development effort
• Software is not easy to reproduce
   – Cost is in its development
   – In other engineering products, manufacturing is the costly
     stage
Nature of Software(Contd…)
• Untrained people can not produce something together
   – Quality problems are hard to notice
• Software is not easy to modify
   – People make changes without fully understanding it
• Software does not ‘wear out’
   – It deteriorates by having its design changed:
       • erroneously, or
       • in ways that were not anticipated, thus making it complex
Types of Software
• Custom
  – For a specific customer
• Generic
  – Sold on open market
  – Often called
     • COTS (Commercial Off The Shelf)
     • Shrink-wrapped
• Embedded
  – Built into hardware
  – Hard to change
Types of Software(Contd…)
• Real time software
  –E.g. control and monitoring systems
  –Must react immediately
  –Safety often a concern
• Data processing software
   –Used to run businesses
   –Accuracy and security of data are key
• Some software has both aspects
Importance of Software
• Business decision-making
• Modern scientific investigation and
  engineering problem solving
• Games
• Embedded Systems
Problems: Software Development/1
•     Ariane 501 whose maiden flight on June 4, 1996 ended in the launcher being exploded
because of a chain of software failures
“The failure of the Ariane 501 was caused by the complete loss of guidance and attitude
information 37 seconds after start of the main engine ignition sequence (30 seconds after
lift- off). This loss of information was due to specification and design errors in the software
of the inertial reference system.”
• London Ambulance System where because of a succession of software engineering failures,
especially defects in project management, a system was introduced that failed twice in the
autumn of 1992. Although the monetary cost, at “only’ about £9m, was small by comparison
with other examples, it is believed that people died who would not have died if ambulances
had reached them as promptly as they would have done without this software failure.
Problems: Software Development/2
• Therac-25 where between 1985 and 1987 six people (at least) suffered serious radiation
overdoses because of software-related malfunctions of the Therac-25 radiation therapy
machine. Three of them are thought to have died of the overdoses. An important root cause
was a lack of quality assurance, which led to an over-complex, inadequately
    tested,underdocumented
system being developed, and subsequently to the failure to take adequate
corrective action.
• Taurus a planned automated transaction settlement system for the London Stock
    Exchange,
The project was canceled in 1993 after having lasted more than five years. The project cost
was around £75m; the estimated loss to customers was around £450m; and the damage to
the reputation of the London Stock Exchange was incalculable.
Engineering vs. Software Engineering

• Engineering: The process of productive use of
  scientific knowledge is called engineering
• Software Engineering: This is the process of
  utilizing our knowledge of computer science in
  effective production of software systems
 (Difference b/w Computer Science and Software Engineering)
What is Software Engineering!
• The application of a systematic, disciplined,
  quantifiable approach to the development,
  operation and maintenance of software; that is, the
  application of engineering to software (By IEEE)
• All aspects of software production’ software
  engineering is not just concerned with the technical
  processes of software developemnt but also with the
  activities such as project development of tools,
  methods and theories to support software
  production (By Ian Somerville)
What is Software Engineering!(Contd..)
• It is the set of processes and tools to develop software
• It is the combination of all the tools, techniques and
  processes that used in software production
• Software engineering encompasses all those things that are
  used in software production
   –   Programming Language
   –   Programming Language Design
   –   Software Design Techniques
   –   Tools
   –   Testing
   –   Maintenance
   –   Development etc
Well Engineered Software
• Characteristics of well-engineered software
  – It is reliable
  – It has good user-interface
  – It has acceptable performance
  – It is of good quality
  – It is cost-effective
Software Engineering Phases
Questions???



   Thanks

More Related Content

What's hot

Architecture Design
Architecture DesignArchitecture Design
Architecture DesignSaqib Raza
 
01. testing fresher-resume
01. testing fresher-resume01. testing fresher-resume
01. testing fresher-resumemuqtar12
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Artificial intelligence in software engineering ppt.
Artificial intelligence in software engineering ppt.Artificial intelligence in software engineering ppt.
Artificial intelligence in software engineering ppt.Pradeep Vishwakarma
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationNishu Rastogi
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models Satya P. Joshi
 
Software Quality Challenge
Software Quality ChallengeSoftware Quality Challenge
Software Quality ChallengeHelmy Satria
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notesVIKAS SINGH BHADOURIA
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validationAbdul Basit
 
Manual Testing
Manual TestingManual Testing
Manual TestingG.C Reddy
 

What's hot (20)

Architecture Design
Architecture DesignArchitecture Design
Architecture Design
 
Software requirements
Software requirementsSoftware requirements
Software requirements
 
01. testing fresher-resume
01. testing fresher-resume01. testing fresher-resume
01. testing fresher-resume
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Artificial intelligence in software engineering ppt.
Artificial intelligence in software engineering ppt.Artificial intelligence in software engineering ppt.
Artificial intelligence in software engineering ppt.
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
Unit1
Unit1Unit1
Unit1
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Software Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and SpecificationSoftware Engineering- Requirement Elicitation and Specification
Software Engineering- Requirement Elicitation and Specification
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software Quality Challenge
Software Quality ChallengeSoftware Quality Challenge
Software Quality Challenge
 
Machine Learning and Artificial Intelligence
Machine Learning and Artificial IntelligenceMachine Learning and Artificial Intelligence
Machine Learning and Artificial Intelligence
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
SDLC
SDLCSDLC
SDLC
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 

Viewers also liked

Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software DevelopmentZeeshan MIrza
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software EngineeringLeyla Bonilla
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1IIUI
 
An Empirical Study on Collaborative Architecture Decision Making in Software ...
An Empirical Study on Collaborative Architecture Decision Making in Software ...An Empirical Study on Collaborative Architecture Decision Making in Software ...
An Empirical Study on Collaborative Architecture Decision Making in Software ...Sandun Dasanayake
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software developmentHawkman Academy
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1IIUI
 
Decision making in software project management
Decision making in software project managementDecision making in software project management
Decision making in software project managementPriyadarshini Krishnaswamy
 
Introduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallIntroduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallPrateek Shrivastava
 
Freedom of expression
Freedom of expressionFreedom of expression
Freedom of expressionGerwin Ocsena
 
Mis chapter 2 infomation, management and decision making
Mis chapter 2   infomation, management and decision makingMis chapter 2   infomation, management and decision making
Mis chapter 2 infomation, management and decision makingAjay Khot
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
Decision making and mis
Decision making and misDecision making and mis
Decision making and misadityapareek26
 
Decision Making and Information Systems
Decision Making and  Information SystemsDecision Making and  Information Systems
Decision Making and Information SystemsAriful Saimon
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design DecisionsHenry Muccini
 
Group Decision Making
Group Decision MakingGroup Decision Making
Group Decision MakingBinod Hyoju
 
Decision making techniques
Decision making techniquesDecision making techniques
Decision making techniquesNikita Gupta
 

Viewers also liked (20)

Introduction to Software Development
Introduction to Software DevelopmentIntroduction to Software Development
Introduction to Software Development
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Introduction To Software Engineering
Introduction To Software EngineeringIntroduction To Software Engineering
Introduction To Software Engineering
 
Lecture 1 introduction to software engineering 1
Lecture 1   introduction to software engineering 1Lecture 1   introduction to software engineering 1
Lecture 1 introduction to software engineering 1
 
An Empirical Study on Collaborative Architecture Decision Making in Software ...
An Empirical Study on Collaborative Architecture Decision Making in Software ...An Empirical Study on Collaborative Architecture Decision Making in Software ...
An Empirical Study on Collaborative Architecture Decision Making in Software ...
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
 
Software development
Software developmentSoftware development
Software development
 
Lecture 2 introduction to Software Engineering 1
Lecture 2   introduction to Software Engineering 1Lecture 2   introduction to Software Engineering 1
Lecture 2 introduction to Software Engineering 1
 
Decision making in software project management
Decision making in software project managementDecision making in software project management
Decision making in software project management
 
Introduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs WaterfallIntroduction to software development methodologies- Agile vs Waterfall
Introduction to software development methodologies- Agile vs Waterfall
 
Web engineering lecture 1
Web engineering lecture 1Web engineering lecture 1
Web engineering lecture 1
 
Freedom of expression
Freedom of expressionFreedom of expression
Freedom of expression
 
Mis chapter 2 infomation, management and decision making
Mis chapter 2   infomation, management and decision makingMis chapter 2   infomation, management and decision making
Mis chapter 2 infomation, management and decision making
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Decision making
Decision makingDecision making
Decision making
 
Decision making and mis
Decision making and misDecision making and mis
Decision making and mis
 
Decision Making and Information Systems
Decision Making and  Information SystemsDecision Making and  Information Systems
Decision Making and Information Systems
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Group Decision Making
Group Decision MakingGroup Decision Making
Group Decision Making
 
Decision making techniques
Decision making techniquesDecision making techniques
Decision making techniques
 

Similar to Lecture 1-intro-to-software-development

Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...GaytriMate
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introductionTaymoor Nazmy
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)ShudipPal
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxAbcXyz302255
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Education Front
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process modelssnehalkulkarni74
 
Software Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gateSoftware Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gateabhinav23479
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an IntroductionAjit Nayak
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxAbdulRaheem254960
 

Similar to Lecture 1-intro-to-software-development (20)

Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
Software Engineering Lec 1-introduction
Software Engineering Lec 1-introductionSoftware Engineering Lec 1-introduction
Software Engineering Lec 1-introduction
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)Software Engineering (Introduction to Software Engineering)
Software Engineering (Introduction to Software Engineering)
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptx
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
Soft engg introduction and process models
Soft engg introduction and process modelsSoft engg introduction and process models
Soft engg introduction and process models
 
SE
SESE
SE
 
Software Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gateSoftware Engineering in 6 hours of knowledge gate
Software Engineering in 6 hours of knowledge gate
 
Software Engineering an Introduction
Software Engineering an IntroductionSoftware Engineering an Introduction
Software Engineering an Introduction
 
1
11
1
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Lecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptxLecture 1 - Requirement Engineering.pptx
Lecture 1 - Requirement Engineering.pptx
 

Lecture 1-intro-to-software-development

  • 2. Course Grading • Quizzes(Surprise/Announced): 3% • Assignments: 5% • Final Project: 10% • Class Participation, Attendance etc.: 2% • Mid. Term Exam: 30% • Final Exam: 50% “Interaction is necessary, please ask question”
  • 3. Course Outlines • Introduction to Computer-based System Engineering • Project Management • Software Specification • Requirements Engineering • System Modeling • Requirements Specifications • Software Prototyping • Software Design: Architectural Design, Object-Oriented Design, UML modeling, Function-Oriented Design • Quality Assurance; Processes & Configuration Management • Introduction to advanced issues: Reusability, Patterns • Assignments and projects on various stages and deliverables of SDLC
  • 4. What is Software! • Program: The program or code itself is included in software • Data: The data on which the program operates is also considered as a part of software • Documentation: One important thing which we often forget is documentation. All the documents related to software development are considered as part of software
  • 5. Nature of Software • What is software – Computer programs and associated documentation • Software is intangible – Hard to understand development effort • Software is not easy to reproduce – Cost is in its development – In other engineering products, manufacturing is the costly stage
  • 6. Nature of Software(Contd…) • Untrained people can not produce something together – Quality problems are hard to notice • Software is not easy to modify – People make changes without fully understanding it • Software does not ‘wear out’ – It deteriorates by having its design changed: • erroneously, or • in ways that were not anticipated, thus making it complex
  • 7. Types of Software • Custom – For a specific customer • Generic – Sold on open market – Often called • COTS (Commercial Off The Shelf) • Shrink-wrapped • Embedded – Built into hardware – Hard to change
  • 8. Types of Software(Contd…) • Real time software –E.g. control and monitoring systems –Must react immediately –Safety often a concern • Data processing software –Used to run businesses –Accuracy and security of data are key • Some software has both aspects
  • 9. Importance of Software • Business decision-making • Modern scientific investigation and engineering problem solving • Games • Embedded Systems
  • 10. Problems: Software Development/1 • Ariane 501 whose maiden flight on June 4, 1996 ended in the launcher being exploded because of a chain of software failures “The failure of the Ariane 501 was caused by the complete loss of guidance and attitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift- off). This loss of information was due to specification and design errors in the software of the inertial reference system.” • London Ambulance System where because of a succession of software engineering failures, especially defects in project management, a system was introduced that failed twice in the autumn of 1992. Although the monetary cost, at “only’ about £9m, was small by comparison with other examples, it is believed that people died who would not have died if ambulances had reached them as promptly as they would have done without this software failure.
  • 11. Problems: Software Development/2 • Therac-25 where between 1985 and 1987 six people (at least) suffered serious radiation overdoses because of software-related malfunctions of the Therac-25 radiation therapy machine. Three of them are thought to have died of the overdoses. An important root cause was a lack of quality assurance, which led to an over-complex, inadequately tested,underdocumented system being developed, and subsequently to the failure to take adequate corrective action. • Taurus a planned automated transaction settlement system for the London Stock Exchange, The project was canceled in 1993 after having lasted more than five years. The project cost was around £75m; the estimated loss to customers was around £450m; and the damage to the reputation of the London Stock Exchange was incalculable.
  • 12. Engineering vs. Software Engineering • Engineering: The process of productive use of scientific knowledge is called engineering • Software Engineering: This is the process of utilizing our knowledge of computer science in effective production of software systems (Difference b/w Computer Science and Software Engineering)
  • 13. What is Software Engineering! • The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software (By IEEE) • All aspects of software production’ software engineering is not just concerned with the technical processes of software developemnt but also with the activities such as project development of tools, methods and theories to support software production (By Ian Somerville)
  • 14. What is Software Engineering!(Contd..) • It is the set of processes and tools to develop software • It is the combination of all the tools, techniques and processes that used in software production • Software engineering encompasses all those things that are used in software production – Programming Language – Programming Language Design – Software Design Techniques – Tools – Testing – Maintenance – Development etc
  • 15. Well Engineered Software • Characteristics of well-engineered software – It is reliable – It has good user-interface – It has acceptable performance – It is of good quality – It is cost-effective
  • 17.
  • 18. Questions??? Thanks