SlideShare a Scribd company logo
WHAT IS SOFTWARE
 ENGINEERING?

  A presentation by
  QAI




   INDIA | USA | UK | CHINA QAI India Limited. All rights reserved.
                          © | MALAYSIA | SINGAPORE
What is
Software Engineering?
What is Software?

• Program
• Data
• Document




                                 3
Types of Software

• Application software - Application software is used to provide
  services to customers and run businesses more efficiently.
  Examples: accounting system, a management information
  system (MIS), and an enterprise resource planning (ERP)
  system.

• System software - System software is used to operate and
  maintain a computer system. It enables customers to use the
  computer resources directly and through other software.
  Examples: operating systems, compilers, and system utilities.


                What is embedded software?


                                                                   4
Engineering Principles

• Fundamental engineering principles:
   –   Understanding the problem
   –   Communicating with the customer
   –   Defined methods for designing
   –   Best practices for implementing the solution
   –   Good strategy and tactics for testing




                                                      5
Engineering and Software Engineering
• Engineering is the systematic application of scientific
  knowledge in creating and building cost-effective solutions to
  practical problems in the service of mankind.

• Software engineering is that form of engineering that applies
  the principles of computer science and mathematics to
  achieving cost-effective solutions to software problems.

  1990 SEI Report on Undergraduate Software Engineering Education
  ( CMU/SEI-90-TR-003 )




                                                                    6
What is Software Engineering
• The term “software engineering” was first coined at
  the 1968 NATO conference where Mr. Bauer was a
  principle organizer
• The term “Software Engineering” has been around
  for 34 years!




                                                        7
Why Software Engineering?
• A 1994 study by the Standash Group of 8,380
  projects in the government and private sectors in
  the U.S. showed that:
   - 31% of software projects are cancelled before they are
      completed.
   - 53% of those are completed cost an average of 189% of their
      original estimates.
   - of those 53%, only 42% have their original set of proposed
      features and functions.
   - only 9% of the projects were completed on time and within
      budget.




                                                                   8
Software Engineering Layers

• Process: A framework that helps the project manager control
  project management and engineering activities
• Methods: The technical activities required for the creation of
  work products
• Tools: The automated assistance for processes and methods




                                                                   9
Software Engineering
• Objectives - to ensure that
   – software delivers functionality, features
   – project is completed on time
   – project is completed within budget
   – software is manageable
   – software is changeable and long living
   – system is maintainable by a developer who is not part of the original
     design team


  The application of a systematic, disciplined, quantifiable
  approach to the development, operation, and maintenance of
  software :
  The application of engineering to software


                                                                             14
Scope of Software Engineering
             Processes for development, e.g.,
             - contract
             - concept
             - requirements
             - design
             - coding
             - testing
             - change-over
             - maintenance

Supporting processes, e.g.,
- project management
- quality assurance
- configuration management
- training
- measurement / metrics

                                                15
Software Life Cycle

• The period of time that begins when a software
  product is conceived and ends when the software is
  no longer available for use
   – phases overlap, are performed iteratively, etc.
   – different approaches possible
   – another common term - SDLC
• Software life cycle models are also called software
  engineering paradigms




                                                        16
Sample Software Life Cycle

      Concept Exploration

      Requirements Analysis

           Design

           Coding

            Test

         Installation

     Operation/ Maintenance

         Retirement



                              17
Lifecycle Stages

•   Analysis
•   Design
•   Coding/ Development
•   Testing
•   Implementation




                                   18
Software Requirements
• A consolidated set of requirements explaining the
  business needs of the customer
• Translation of the customer requirements to the
  requirements of the software to be built
• Important concepts
   –   Technical requirements
   –   Non technical requirements
   –   Functional requirements
   –   Non Functional requirements
   –   Scope of Work as an input
   –   Acceptance criteria



                                                      19
Requirements Engineering
• Requirements Definition
   –   Elicitation
   –   Analysis or Modeling
   –   Documentation
   –   Validation
• Requirements Management
   – Change Control
   – Requirements traceability




                                       20
Software Design
• A representation of software created to facilitate analysis,
  planning, implementation and decision making
• The software design description is used as a medium for
  communicating software design information, and may be
  thought of as a blueprint of the system
• Often described as :
    – high level (system design, global design, interfaces)
    – low level (program / component level)
• Format, contents depend on type of application, objective
  and audience




                                                                 21
Coding

• Expressing a design (implementing a design) in a programming
  language based on program specifications
• The main visible work
• Also called programming or construction or development phase




                                                                 22
Testing
• Checking whether the software product meets
  requirements
• The purpose of testing is to uncover as many
  problems as possible
• If coder and tester are same, testing may be biased




                                                        23
User Acceptance
• Acceptance criteria forms the basis of acceptance of
  the product / deliverable
   – Criteria to be frozen early
   – to be agreed between the supplier and customer
   – E.g.,
       • No defects in core functionalities
       • Performance criteria within a tolerance of + and – 2 %
       • No interoperability issues
• The user may do an acceptance testing before
  accepting the system




                                                                  24
Installation and Change over

•   Moving the system to the customer site
•   User training
•   Parallel run
•   Installation manual / instructions
•   Environment set up




                                             25
Operations and Maintenance

• The “real purpose” of the system
• The largest phase
• Changes required to systems for various reasons -
  problems to be fixed, new requirements, changes in
  policies, statutory laws, etc.
• Often treated as a separate project




                                                       26
Software Engineering SDLC

• Software Development Life Cycles
   – Classic life cycle
       • a sequential paradigm
   – Prototyping
       • a modeling paradigm
   – Evolutionary models like
       • Incremental
       • Spiral, etc.




                                     27
Core Activities & Role

Core Activities          Role

Business Requirement     Business Analyst

Software Requirement     System Analyst

Design                   Tech Lead/Architect

Coding                   Developer

Testing                  Testing Engineer

Deployment               Developers



                                               28
Supporting Activities and role
Supporting Activities    Role

Project Management       Project Manager
                         Project Leader
                         Senior Management
Software Configuration   Configuration Controller
Management               Software Configuration Control
                         Board
Quality Assurance        SQA Analyst
                         Auditor




                                                          29
http://www.qaiglobal.com
                                                                                                                                                                INDIA

                                                                                                                                                                  USA

                                                                                                                                                                    UK

                                                                                                                                                               CHINA

                                                                                                                                                           MALAYSIA
    Click here for more on Software Engineering                                                                                                          SINGAPORE


    and Testing                      CONTACT US


QAI India:                                  QAI USA:                                    QAI Malaysia:
1010 - 1012, Ansal Towers, 38 Nehru Place   Windsor at Metro Center, 2101 Park Center   Level 36, Menara Citibank, 165, Jalan
New Delhi - 110019, India                   Dr., Suite 200, Orlando, FL 32835-7614      Ampang, 50450 Kuala Lumpur, Malaysia
Phone: +91- 11- 26219792, 26220580          Phone: +407-363-1111                        Phone: +603 2169 6241
conferences@qaiglobal.com                   conferences@qaiglobal.com                   conferences@qaiglobal.com

QAI UNICOM / UK:                            QAI Singapore:                              QAI China:
Unicom R&D House, One Oxford Road           391B Orchard Road #23-01,                   Rm. 1211, No. 498 Guoshoujing Rd. Shanghai
Uxbridge, Middlesex, London, United         Ngee Ann City Tower B,                      Zhangjiang Hi-Tech Park, Pudong New Area,
Kingdom, Zip: UB9 4DA                       Singapore - 238874                          Shanghai, China Zip: 201203
Phone : +44 (0)1895 256484                  Phone:+65-6225-8139                         Phone : +86-21-51314155
conferences@qaiglobal.com                   conferences@qaiglobal.com                   conferences@qaiglobal.com



                                                                                                                                                                     © QAI
                                                                                                                                     © QAI India Limited. All rights reserved.
www.qaiglobal.com                                                          All rights reserved. No part of this document may be reproduced or distributed in any form or by
                                                                            any means, or stored in a database or retrieval system, without prior written permission of QAI

More Related Content

What's hot

Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...
Ad Ghauri
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
Dr. Loganathan R
 
Software models
Software modelsSoftware models
Software models
Sumayyiah .
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesAd Ghauri
 
Lect3 ch15-unit2
Lect3 ch15-unit2Lect3 ch15-unit2
Lect3 ch15-unit2
Mobeen Mustafa
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
Ankit Gupta
 
Software Development 1 June2012
Software Development 1 June2012Software Development 1 June2012
Software Development 1 June2012Jay Encarnacion
 
Sli121025 Sunrise Presentation V012
Sli121025   Sunrise Presentation V012Sli121025   Sunrise Presentation V012
Sli121025 Sunrise Presentation V012jvangombos
 
SCM PPT
SCM PPTSCM PPT
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
Rupesh Vaishnav
 
Software Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btechSoftware Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btechIIITA
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
Ivano Malavolta
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2Siddharth Ayer
 
Product dossier touchbase automation
Product dossier touchbase automationProduct dossier touchbase automation
Product dossier touchbase automation
ProductDossier Solutions India Pvt Ltd
 
SharePoint for Pharma - Computer System Life Cycle Management
SharePoint for Pharma - Computer System Life Cycle ManagementSharePoint for Pharma - Computer System Life Cycle Management
SharePoint for Pharma - Computer System Life Cycle Management
Montrium
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration Management
Achmad Solichin
 
Software Engineering - Ch6
Software Engineering - Ch6Software Engineering - Ch6
Software Engineering - Ch6Siddharth Ayer
 

What's hot (19)

Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...
 
Requirement engineering process
Requirement engineering processRequirement engineering process
Requirement engineering process
 
Software models
Software modelsSoftware models
Software models
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware Files
 
Lect3 ch15-unit2
Lect3 ch15-unit2Lect3 ch15-unit2
Lect3 ch15-unit2
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
 
Software Development 1 June2012
Software Development 1 June2012Software Development 1 June2012
Software Development 1 June2012
 
Session2
Session2Session2
Session2
 
Sli121025 Sunrise Presentation V012
Sli121025   Sunrise Presentation V012Sli121025   Sunrise Presentation V012
Sli121025 Sunrise Presentation V012
 
SCM PPT
SCM PPTSCM PPT
SCM PPT
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
 
Software Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btechSoftware Production Layout_Se lect7 btech
Software Production Layout_Se lect7 btech
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Software Engineering - Ch2
Software Engineering - Ch2Software Engineering - Ch2
Software Engineering - Ch2
 
Product dossier touchbase automation
Product dossier touchbase automationProduct dossier touchbase automation
Product dossier touchbase automation
 
SharePoint for Pharma - Computer System Life Cycle Management
SharePoint for Pharma - Computer System Life Cycle ManagementSharePoint for Pharma - Computer System Life Cycle Management
SharePoint for Pharma - Computer System Life Cycle Management
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Lecture 06 Software Configuration Management
Lecture 06 Software Configuration ManagementLecture 06 Software Configuration Management
Lecture 06 Software Configuration Management
 
Software Engineering - Ch6
Software Engineering - Ch6Software Engineering - Ch6
Software Engineering - Ch6
 

Similar to What is Software Engineering?

Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.ppt
HODCOMPUTER10
 
Software engineering
Software engineeringSoftware engineering
Software engineering
nimmik4u
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
arpitlamba32599
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
LeahRachael
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
tubashaikh26
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
UnknownPerson201264
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle models
themobiforest
 
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdfSE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
ssusere796b3
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
Janu Jahnavi
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
Janu Jahnavi
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
sagarjsicg
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trendsVladimir Kotov
 
Slides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software EngineeringSlides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software Engineering
TRAN Khanh Dung, Khoa CNTT, Đại Học Xây Dựng
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
ssuserd0fdaa
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
Rupesh Vaishnav
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
infinitetechnology20
 

Similar to What is Software Engineering? (20)

Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.ppt
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptxUNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
UNIT 1-IDENTIFY THE NEED FOR SOFTWARE ENGINEERING DEVELOPMENT.pptx
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
Lecture 1.pptx
Lecture 1.pptxLecture 1.pptx
Lecture 1.pptx
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Introduction and life cycle models
Introduction and life cycle modelsIntroduction and life cycle models
Introduction and life cycle models
 
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdfSE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
SE_UNIT-1 and 2@GVRJOBS4U.COM.pdf
 
Sysdev
SysdevSysdev
Sysdev
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
Sdlc phases
Sdlc phasesSdlc phases
Sdlc phases
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
Slides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software EngineeringSlides môn Công nghệ phần mềm Software Engineering
Slides môn Công nghệ phần mềm Software Engineering
 
2-models.pptx
2-models.pptx2-models.pptx
2-models.pptx
 
Unit1
Unit1Unit1
Unit1
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Introduction Software and Software Engineering
Introduction Software and Software EngineeringIntroduction Software and Software Engineering
Introduction Software and Software Engineering
 

More from QAI

People CMM
People CMMPeople CMM
People CMM
QAI
 
CMMI Version 1.2
CMMI Version 1.2CMMI Version 1.2
CMMI Version 1.2
QAI
 
CMMI v 1.2 Basics
CMMI v 1.2 BasicsCMMI v 1.2 Basics
CMMI v 1.2 Basics
QAI
 
ITIL overview
ITIL overviewITIL overview
ITIL overview
QAI
 
ITIL Benefits
ITIL BenefitsITIL Benefits
ITIL Benefits
QAI
 
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
QAI
 
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...
QAI
 
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
QAI
 
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
QAI
 
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...
QAI
 

More from QAI (10)

People CMM
People CMMPeople CMM
People CMM
 
CMMI Version 1.2
CMMI Version 1.2CMMI Version 1.2
CMMI Version 1.2
 
CMMI v 1.2 Basics
CMMI v 1.2 BasicsCMMI v 1.2 Basics
CMMI v 1.2 Basics
 
ITIL overview
ITIL overviewITIL overview
ITIL overview
 
ITIL Benefits
ITIL BenefitsITIL Benefits
ITIL Benefits
 
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
 
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...
CMMI High Maturity Best Practices HMBP 2010: Deploying High Maturity Practice...
 
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
CMMI High Maturity Best Practices HMBP 2010: CMMI® FOR SERVICES: INSIGHTS AND...
 
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
CMMI High Maturity Best Practices HMBP 2010: Demystifying High Maturity Imple...
 
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...
CMMI High Maturity Best Practices HMBP 2010: Process Performance Models:Not N...
 

What is Software Engineering?

  • 1. WHAT IS SOFTWARE ENGINEERING? A presentation by QAI INDIA | USA | UK | CHINA QAI India Limited. All rights reserved. © | MALAYSIA | SINGAPORE
  • 3. What is Software? • Program • Data • Document 3
  • 4. Types of Software • Application software - Application software is used to provide services to customers and run businesses more efficiently. Examples: accounting system, a management information system (MIS), and an enterprise resource planning (ERP) system. • System software - System software is used to operate and maintain a computer system. It enables customers to use the computer resources directly and through other software. Examples: operating systems, compilers, and system utilities. What is embedded software? 4
  • 5. Engineering Principles • Fundamental engineering principles: – Understanding the problem – Communicating with the customer – Defined methods for designing – Best practices for implementing the solution – Good strategy and tactics for testing 5
  • 6. Engineering and Software Engineering • Engineering is the systematic application of scientific knowledge in creating and building cost-effective solutions to practical problems in the service of mankind. • Software engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems. 1990 SEI Report on Undergraduate Software Engineering Education ( CMU/SEI-90-TR-003 ) 6
  • 7. What is Software Engineering • The term “software engineering” was first coined at the 1968 NATO conference where Mr. Bauer was a principle organizer • The term “Software Engineering” has been around for 34 years! 7
  • 8. Why Software Engineering? • A 1994 study by the Standash Group of 8,380 projects in the government and private sectors in the U.S. showed that: - 31% of software projects are cancelled before they are completed. - 53% of those are completed cost an average of 189% of their original estimates. - of those 53%, only 42% have their original set of proposed features and functions. - only 9% of the projects were completed on time and within budget. 8
  • 9. Software Engineering Layers • Process: A framework that helps the project manager control project management and engineering activities • Methods: The technical activities required for the creation of work products • Tools: The automated assistance for processes and methods 9
  • 10. Software Engineering • Objectives - to ensure that – software delivers functionality, features – project is completed on time – project is completed within budget – software is manageable – software is changeable and long living – system is maintainable by a developer who is not part of the original design team The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software : The application of engineering to software 14
  • 11. Scope of Software Engineering Processes for development, e.g., - contract - concept - requirements - design - coding - testing - change-over - maintenance Supporting processes, e.g., - project management - quality assurance - configuration management - training - measurement / metrics 15
  • 12. Software Life Cycle • The period of time that begins when a software product is conceived and ends when the software is no longer available for use – phases overlap, are performed iteratively, etc. – different approaches possible – another common term - SDLC • Software life cycle models are also called software engineering paradigms 16
  • 13. Sample Software Life Cycle Concept Exploration Requirements Analysis Design Coding Test Installation Operation/ Maintenance Retirement 17
  • 14. Lifecycle Stages • Analysis • Design • Coding/ Development • Testing • Implementation 18
  • 15. Software Requirements • A consolidated set of requirements explaining the business needs of the customer • Translation of the customer requirements to the requirements of the software to be built • Important concepts – Technical requirements – Non technical requirements – Functional requirements – Non Functional requirements – Scope of Work as an input – Acceptance criteria 19
  • 16. Requirements Engineering • Requirements Definition – Elicitation – Analysis or Modeling – Documentation – Validation • Requirements Management – Change Control – Requirements traceability 20
  • 17. Software Design • A representation of software created to facilitate analysis, planning, implementation and decision making • The software design description is used as a medium for communicating software design information, and may be thought of as a blueprint of the system • Often described as : – high level (system design, global design, interfaces) – low level (program / component level) • Format, contents depend on type of application, objective and audience 21
  • 18. Coding • Expressing a design (implementing a design) in a programming language based on program specifications • The main visible work • Also called programming or construction or development phase 22
  • 19. Testing • Checking whether the software product meets requirements • The purpose of testing is to uncover as many problems as possible • If coder and tester are same, testing may be biased 23
  • 20. User Acceptance • Acceptance criteria forms the basis of acceptance of the product / deliverable – Criteria to be frozen early – to be agreed between the supplier and customer – E.g., • No defects in core functionalities • Performance criteria within a tolerance of + and – 2 % • No interoperability issues • The user may do an acceptance testing before accepting the system 24
  • 21. Installation and Change over • Moving the system to the customer site • User training • Parallel run • Installation manual / instructions • Environment set up 25
  • 22. Operations and Maintenance • The “real purpose” of the system • The largest phase • Changes required to systems for various reasons - problems to be fixed, new requirements, changes in policies, statutory laws, etc. • Often treated as a separate project 26
  • 23. Software Engineering SDLC • Software Development Life Cycles – Classic life cycle • a sequential paradigm – Prototyping • a modeling paradigm – Evolutionary models like • Incremental • Spiral, etc. 27
  • 24. Core Activities & Role Core Activities Role Business Requirement Business Analyst Software Requirement System Analyst Design Tech Lead/Architect Coding Developer Testing Testing Engineer Deployment Developers 28
  • 25. Supporting Activities and role Supporting Activities Role Project Management Project Manager Project Leader Senior Management Software Configuration Configuration Controller Management Software Configuration Control Board Quality Assurance SQA Analyst Auditor 29
  • 26. http://www.qaiglobal.com INDIA USA UK CHINA MALAYSIA Click here for more on Software Engineering SINGAPORE and Testing CONTACT US QAI India: QAI USA: QAI Malaysia: 1010 - 1012, Ansal Towers, 38 Nehru Place Windsor at Metro Center, 2101 Park Center Level 36, Menara Citibank, 165, Jalan New Delhi - 110019, India Dr., Suite 200, Orlando, FL 32835-7614 Ampang, 50450 Kuala Lumpur, Malaysia Phone: +91- 11- 26219792, 26220580 Phone: +407-363-1111 Phone: +603 2169 6241 conferences@qaiglobal.com conferences@qaiglobal.com conferences@qaiglobal.com QAI UNICOM / UK: QAI Singapore: QAI China: Unicom R&D House, One Oxford Road 391B Orchard Road #23-01, Rm. 1211, No. 498 Guoshoujing Rd. Shanghai Uxbridge, Middlesex, London, United Ngee Ann City Tower B, Zhangjiang Hi-Tech Park, Pudong New Area, Kingdom, Zip: UB9 4DA Singapore - 238874 Shanghai, China Zip: 201203 Phone : +44 (0)1895 256484 Phone:+65-6225-8139 Phone : +86-21-51314155 conferences@qaiglobal.com conferences@qaiglobal.com conferences@qaiglobal.com © QAI © QAI India Limited. All rights reserved. www.qaiglobal.com All rights reserved. No part of this document may be reproduced or distributed in any form or by any means, or stored in a database or retrieval system, without prior written permission of QAI