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

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
SWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design ToolsSWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design Toolsghayour abbas
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software developmentHawkman Academy
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineeringJennifer Polack
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringZahoor Khan
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1REHAN IJAZ
 
Software design and Software engineering.pptx
Software design and Software engineering.pptxSoftware design and Software engineering.pptx
Software design and Software engineering.pptxDrTThendralCompSci
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRupesh Vaishnav
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design pptfarazimlak
 
Lecture-1: Introduction to web engineering - course overview and grading scheme
Lecture-1: Introduction to web engineering - course overview and grading schemeLecture-1: Introduction to web engineering - course overview and grading scheme
Lecture-1: Introduction to web engineering - course overview and grading schemeMubashir Ali
 
halstead software science measures
halstead software science measureshalstead software science measures
halstead software science measuresDeepti Pillai
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimationinayat khan
 
Coding standards
Coding standardsCoding standards
Coding standardsMimoh Ojha
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered ArchitectureMuhammed Afsal Villan
 

What's hot (20)

Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
SWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design ToolsSWE-401 - 6. Software Analysis and Design Tools
SWE-401 - 6. Software Analysis and Design Tools
 
Intro to software development
Intro to software developmentIntro to software development
Intro to software development
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Sdlc
SdlcSdlc
Sdlc
 
Programming Fundamentals lecture 1
Programming Fundamentals lecture 1Programming Fundamentals lecture 1
Programming Fundamentals lecture 1
 
Software design and Software engineering.pptx
Software design and Software engineering.pptxSoftware design and Software engineering.pptx
Software design and Software engineering.pptx
 
Requirement analysis and specification, software engineering
Requirement analysis and specification, software engineeringRequirement analysis and specification, software engineering
Requirement analysis and specification, software engineering
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
Slides chapter 2
Slides chapter 2Slides chapter 2
Slides chapter 2
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
 
Lecture-1: Introduction to web engineering - course overview and grading scheme
Lecture-1: Introduction to web engineering - course overview and grading schemeLecture-1: Introduction to web engineering - course overview and grading scheme
Lecture-1: Introduction to web engineering - course overview and grading scheme
 
halstead software science measures
halstead software science measureshalstead software science measures
halstead software science measures
 
Software project estimation
Software project estimationSoftware project estimation
Software project estimation
 
Design techniques
Design techniquesDesign techniques
Design techniques
 
Coding standards
Coding standardsCoding standards
Coding standards
 
Software engineering : Layered Architecture
Software engineering : Layered ArchitectureSoftware engineering : Layered Architecture
Software engineering : Layered Architecture
 
Software metrics
Software metricsSoftware metrics
Software metrics
 

Viewers also liked

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
 
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
 
Lean Software Development Principles
Lean Software Development PrinciplesLean Software Development Principles
Lean Software Development PrinciplesJohn Vajda
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 

Viewers also liked (20)

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 ...
 
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
 
Lean Software Development Principles
Lean Software Development PrinciplesLean Software Development Principles
Lean Software Development Principles
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 

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 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
software engineeringsoftware engineering
software engineering
 
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