MELJUN CORTES Software Engineering
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

MELJUN CORTES Software Engineering

on

  • 491 views

MELJUN CORTES Software Engineering

MELJUN CORTES Software Engineering

Statistics

Views

Total Views
491
Views on SlideShare
491
Embed Views
0

Actions

Likes
0
Downloads
1
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

MELJUN CORTES 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 isSoftware 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 - maintenanceSupporting 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 & RoleCore Activities RoleBusiness Requirement Business AnalystSoftware Requirement System AnalystDesign Tech Lead/ArchitectCoding DeveloperTesting Testing EngineerDeployment Developers 28
  • 25. Supporting Activities and roleSupporting Activities RoleProject Management Project Manager Project Leader Senior ManagementSoftware Configuration Configuration ControllerManagement Software Configuration Control BoardQuality 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 USQAI India: QAI USA: QAI Malaysia:1010 - 1012, Ansal Towers, 38 Nehru Place Windsor at Metro Center, 2101 Park Center Level 36, Menara Citibank, 165, JalanNew Delhi - 110019, India Dr., Suite 200, Orlando, FL 32835-7614 Ampang, 50450 Kuala Lumpur, MalaysiaPhone: +91- 11- 26219792, 26220580 Phone: +407-363-1111 Phone: +603 2169 6241conferences@qaiglobal.com conferences@qaiglobal.com conferences@qaiglobal.comQAI UNICOM / UK: QAI Singapore: QAI China:Unicom R&D House, One Oxford Road 391B Orchard Road #23-01, Rm. 1211, No. 498 Guoshoujing Rd. ShanghaiUxbridge, Middlesex, London, United Ngee Ann City Tower B, Zhangjiang Hi-Tech Park, Pudong New Area,Kingdom, Zip: UB9 4DA Singapore - 238874 Shanghai, China Zip: 201203Phone : +44 (0)1895 256484 Phone:+65-6225-8139 Phone : +86-21-51314155conferences@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