Top Banner
© QAI India Limited. All rights reserved. WHAT IS SOFTWARE ENGINEERING? INDIA | USA | UK | CHINA | MALAYSIA | SINGAPORE A presentation by QAI
26

MELJUN CORTES Software Engineering

Oct 20, 2014

Download

Documents

MELJUN CORTES Software Engineering
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: MELJUN CORTES Software Engineering

© QAI India Limited. All rights reserved.

WHAT IS SOFTWARE

ENGINEERING?

INDIA | USA | UK | CHINA | MALAYSIA | SINGAPORE

A presentation by

QAI

Page 2: MELJUN CORTES Software Engineering

What is

Software Engineering?

Page 3: MELJUN CORTES Software Engineering

3

What is Software?

• Program

• Data

• Document

Page 4: MELJUN CORTES Software Engineering

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?

Page 5: MELJUN CORTES Software Engineering

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

Page 6: MELJUN CORTES Software Engineering

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 )

Page 7: MELJUN CORTES Software Engineering

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!

Page 8: MELJUN CORTES Software Engineering

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.

Page 9: MELJUN CORTES Software Engineering

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

Page 10: MELJUN CORTES Software Engineering

14

Software Engineering

The application of a systematic, disciplined, quantifiable

approach to the development, operation, and maintenance of

software :

The application of engineering to software

• 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

Page 11: MELJUN CORTES Software Engineering

15

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

Page 12: MELJUN CORTES Software Engineering

16

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

Page 13: MELJUN CORTES Software Engineering

17

Sample Software Life Cycle

Concept Exploration

Requirements Analysis

Design

Coding

Test

Installation

Operation/ Maintenance

Retirement

Page 14: MELJUN CORTES Software Engineering

18

Lifecycle Stages

• Analysis

• Design

• Coding/ Development

• Testing

• Implementation

Page 15: MELJUN CORTES Software Engineering

19

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

Page 16: MELJUN CORTES Software Engineering

20

Requirements Engineering

• Requirements Definition

– Elicitation

– Analysis or Modeling

– Documentation

– Validation

• Requirements Management

– Change Control

– Requirements traceability

Page 17: MELJUN CORTES Software Engineering

21

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

Page 18: MELJUN CORTES Software Engineering

22

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

Page 19: MELJUN CORTES Software Engineering

23

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

Page 20: MELJUN CORTES Software Engineering

24

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

Page 21: MELJUN CORTES Software Engineering

25

Installation and Change over

• Moving the system to the customer site

• User training

• Parallel run

• Installation manual / instructions

• Environment set up

Page 22: MELJUN CORTES Software Engineering

26

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

Page 23: MELJUN CORTES Software Engineering

27

Software Engineering SDLC

• Software Development Life Cycles

– Classic life cycle

• a sequential paradigm

– Prototyping

• a modeling paradigm

– Evolutionary models like

• Incremental

• Spiral, etc.

Page 24: MELJUN CORTES Software Engineering

28

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

Page 25: MELJUN CORTES Software Engineering

29

Supporting Activities and role

Supporting Activities Role

Project Management Project Manager

Project Leader

Senior Management

Software Configuration

Management

Configuration Controller

Software Configuration Control

Board

Quality Assurance SQA Analyst

Auditor

Page 26: MELJUN CORTES Software Engineering

© QAI India Limited. All rights reserved.

INDIA

USA

UK

CHINA

MALAYSIA

SINGAPORE

© QAIAll rights reserved. No part of this document may be reproduced or distributed in any form or byany means, or stored in a database or retrieval system, without prior written permission of QAI

QAI India:1010 - 1012, Ansal Towers, 38 Nehru Place New Delhi - 110019, India Phone: +91- 11- 26219792, [email protected]

QAI USA:Windsor at Metro Center, 2101 Park Center Dr., Suite 200, Orlando, FL 32835-7614Phone: [email protected]

QAI Malaysia:Level 36, Menara Citibank, 165, Jalan Ampang, 50450 Kuala Lumpur, MalaysiaPhone: +603 2169 [email protected]

QAI UNICOM / UK: Unicom R&D House, One Oxford Road Uxbridge, Middlesex, London, United Kingdom, Zip: UB9 4DA Phone : +44 (0)1895 256484 [email protected]

QAI Singapore: 391B Orchard Road #23-01, Ngee Ann City Tower B, Singapore - 238874Phone:+65-6225-8139 [email protected]

QAI China:Rm. 1211, No. 498 Guoshoujing Rd. Shanghai Zhangjiang Hi-Tech Park, Pudong New Area, Shanghai, China Zip: 201203Phone : [email protected]

CONTACT US

www.qaiglobal.com

http://www.qaiglobal.com

Click here for more on Software Engineering

and Testing