What is Software Engineering?
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

What is Software Engineering?

on

  • 2,104 views

Software Engineering:

Software Engineering:

A presentation by QAI

http://www.qaiglobal.com

Statistics

Views

Total Views
2,104
Views on SlideShare
2,104
Embed Views
0

Actions

Likes
0
Downloads
79
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

What is Software Engineering? Presentation Transcript

  • 1. WHAT IS SOFTWARE ENGINEERING? A presentation by QAI INDIA | USA | UK | CHINA QAI India Limited. All rights reserved. © | MALAYSIA | SINGAPORE
  • 2. What is Software Engineering?
  • 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