70
Waste Management in Software Engineering by Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany) Dean Cognitive & Central Computing Facility R.V.COLLEGE OF ENGINEERING BANGALORE

talk drss

Embed Size (px)

Citation preview

Page 1: talk drss

Waste Management in Software Engineering

byDr.S.Sridhar, Ph.D.(JNUD),

RACI(Paris, NICE), RMR(USA), RZFM(Germany)

Dean Cognitive & Central Computing Facility

R.V.COLLEGE OF ENGINEERINGBANGALORE

Page 2: talk drss
Page 3: talk drss

DiscussionDiscussions s

Waste Management in S/W Engineering Waste Management in S/W Engineering at various stagesat various stages

Industry PracticesIndustry Practices

Case studies ( Oil Industry )Case studies ( Oil Industry )Case studies ( Airport Case studies ( Airport ))

Companies dealing with WasteCompanies dealing with WasteConclusionConclusion

Page 4: talk drss

What is What is Software?Software?

Software is a set of items or objects that form a “configuration” that includes • programs • documents • data ...

If the configuration is not okay, then it is waste !

Page 5: talk drss

Software Software ApplicationsApplications system softwaresystem software

real-time softwarereal-time software business softwarebusiness software engineering/scientific softwareengineering/scientific software embedded softwareembedded software PC softwarePC software AI softwareAI software WebApps (Web applications)WebApps (Web applications)

These software become waste in tune with time ! These software become waste in tune with time ! So constant updation is necessary….>>>>>So constant updation is necessary….>>>>>

Page 6: talk drss

Software Poses Challenges for waste Software Poses Challenges for waste managementmanagement

How do we ensure the quality of the software that we produce? How do we meet growing demand and still maintain budget control? How do we upgrade an aging "software plant?" How do we avoid disastrous time delays? How do we successfully institute new software technologies?

Page 7: talk drss

Software Engineering

If Layered Technology is not If Layered Technology is not proper proper

then S/W becomes waste then S/W becomes waste

Software Engineering

a “quality” focusa “quality” focus

process modelprocess model

methodsmethods

toolstools

Page 8: talk drss

Umbrella Umbrella ActivitiesActivities

Software project managementSoftware project management Formal technical reviewsFormal technical reviews Software quality assuranceSoftware quality assurance Software configuration managementSoftware configuration management Document preparation and productionDocument preparation and production Reusability managementReusability management MeasurementMeasurement Risk managementRisk management

If the aforesaid activities are not If the aforesaid activities are not updatedupdated

In tune with state of art technology, In tune with state of art technology, then Software becomes waste !then Software becomes waste !

Page 9: talk drss

Improper Process as Problem Solving leads Improper Process as Problem Solving leads to waste to waste

statusquo

problemdefinition

technicaldevelopment

solutionintegration

Page 10: talk drss

The Primary The Primary Goal:Goal:

High QualityHigh QualityRemember:Remember:

High quality = project timelinessHigh quality = project timeliness

Why?Why?

Less rework!Less rework!

If Project is not on time with less reworkIf Project is not on time with less reworkThen it becomes waste !Then it becomes waste !

Page 11: talk drss

Improper stages in The Linear Model leads Improper stages in The Linear Model leads to wasteto waste

analysis design code test

System/informationengineering

Page 12: talk drss

Iterative Models without these stages will Iterative Models without these stages will become wastebecome waste

listento

customerbuild/revise

mock-up

customertest-drivesmock-up

Prototyping

Page 13: talk drss

Delivery stages in The Incremental Model may Delivery stages in The Incremental Model may lead to wastelead to waste

analysis design code test

System/informationengineering

analysis design code test

analysis design code test

analysis design code test

increment 2

increment 3

increment 4

increment 1

delivery of1st increment

delivery of2nd increment

delivery of3rd increment

delivery of4th increment

calendar time

Page 14: talk drss

An Evolutionary (Spiral) Model has these stages to An Evolutionary (Spiral) Model has these stages to avoid wasteavoid waste

CustomerCommunication

Planning

Construction & ReleaseCustomerEvaluation

Engineering

Risk Analysis

Page 15: talk drss

Analysis & Design models may lead to waste, if Analysis & Design models may lead to waste, if not done not done Properly !Properly !

Entity-Relationship

Diagram

Data FlowDiagram

State-TransitionDiagram

Data Dictionary

Process Specification (PSPEC)

Control Specification (CSPEC)

Data Object Description

THE ANALYSIS MODEL

proceduraldesign

interfacedesign

architecturaldesign

datadesign

THE DESIGN MODEL

Page 16: talk drss

Where Do We Begin to avoid Where Do We Begin to avoid waste ?waste ?

Spec

PrototypePrototype

DesignDesign

modeling

Page 17: talk drss

Fundamental Concepts to avoid Fundamental Concepts to avoid wastewaste

abstractionabstraction—data, procedure, control—data, procedure, control refinementrefinement—elaboration of detail for all —elaboration of detail for all

abstractionsabstractions modularitymodularity—compartmentalization of data and —compartmentalization of data and

functionfunction architecturearchitecture—overall structure of the software—overall structure of the software

Structural propertiesStructural properties Extra-structural propertiesExtra-structural properties Styles and patternsStyles and patterns

procedureprocedure—the algorithms that achieve function—the algorithms that achieve function hidinghiding—controlled interfaces—controlled interfaces

Page 18: talk drss

If Modular Design is not If Modular Design is not donedone

properly then this leads to properly then this leads to waste !waste !

easier to build, easier to change, easier to fix ...

Page 19: talk drss

Sizing Modules: Two Sizing Modules: Two ViewsViews

MODULE

What's inside??

How big is it??

Page 20: talk drss

If Interface Design is not proper then software If Interface Design is not proper then software

becomes waste becomes waste !!

Easy to use?Easy to use?

Easy to understand?Easy to understand?

Easy to learn?Easy to learn?

Page 21: talk drss

Interface DesignInterface Design

lack of consistencylack of consistencytoo much memorizationtoo much memorizationno guidance / helpno guidance / helpno context sensitivityno context sensitivitypoor responsepoor responseArcane/unfriendlyArcane/unfriendly

Typical Design Errors for becoming waste !Typical Design Errors for becoming waste !

Page 22: talk drss

Golden Rules to avoid Golden Rules to avoid waste waste

Place the user in controlPlace the user in control Reduce the user’s memory Reduce the user’s memory

loadload Make the interface consistentMake the interface consistent

Page 23: talk drss

If proper Testing is not If proper Testing is not done,done,

then software becomes then software becomes wastewasteTesting is the process of exercising aTesting is the process of exercising a

program with the specific intent of findingprogram with the specific intent of findingerrors prior to delivery to the end user.errors prior to delivery to the end user.

Page 24: talk drss

Testability to avoid Testability to avoid waste waste OperabilityOperability—it operates cleanly—it operates cleanly

ObservabilityObservability—the results of each test —the results of each test case are readily observedcase are readily observed

ControlabilityControlability—the degree to which —the degree to which testing can be automated and optimizedtesting can be automated and optimized

DecomposabilityDecomposability—testing can be targeted—testing can be targeted SimplicitySimplicity—reduce complex architecture —reduce complex architecture

and logic to simplify testsand logic to simplify tests StabilityStability—few changes are requested —few changes are requested

during testingduring testing UnderstandabilityUnderstandability—of the design—of the design

Page 25: talk drss

What Testing ShowsWhat Testing Shows

errorserrors

requirements conformancerequirements conformance

performanceperformance

an indicationan indicationof qualityof quality

Page 26: talk drss

If tester fails, then If tester fails, then software is waste !software is waste !

developerdeveloper independent testerindependent tester

Understands the system Understands the system

but, will test "gently"but, will test "gently"

and, is driven by "delivery"and, is driven by "delivery"

Must learn about the system,Must learn about the system,but, will attempt to break itbut, will attempt to break itand, is driven by qualityand, is driven by quality

Page 27: talk drss

Exhaustive Testing to avoid Exhaustive Testing to avoid waste waste

loop < 20 Xloop < 20 X

There are 10 possible paths! If we execute oneThere are 10 possible paths! If we execute onetest per millisecond, it would take 3,170 years totest per millisecond, it would take 3,170 years totest this program!!test this program!!

1414

Page 28: talk drss

Selective Testing to avoid Selective Testing to avoid waste waste

loop < 20 Xloop < 20 X

Selected pathSelected path

Page 29: talk drss

Software TestingSoftware Testing

Methods

Strategies

white-boxmethods

black-box methods

Page 30: talk drss

Test Case Design leads to Test Case Design leads to waste, waste,

if NOT properly done !if NOT properly done !

OBJECTIVEOBJECTIVE

CRITERIACRITERIA

CONSTRAINTCONSTRAINT

to uncover errorsto uncover errors

in a complete mannerin a complete manner

with a minimum of effort and timewith a minimum of effort and time

Page 31: talk drss

White-Box Testing to avoid White-Box Testing to avoid wastewaste

... our goal is to ensure that all ... our goal is to ensure that all statements and conditions have statements and conditions have been executed at least once ...been executed at least once ...

Page 32: talk drss

Basis Path Testing to avoid Basis Path Testing to avoid wastewasteNext, we derive the Next, we derive the

independent paths:independent paths:

Since V(G) = 4,Since V(G) = 4,there are four pathsthere are four paths

Path 1: 1,2,3,6,7,8Path 1: 1,2,3,6,7,8Path 2: 1,2,3,5,7,8Path 2: 1,2,3,5,7,8Path 3: 1,2,4,7,8Path 3: 1,2,4,7,8Path 4: 1,2,4,7,2,4,...7,8Path 4: 1,2,4,7,2,4,...7,8

Finally, we derive testFinally, we derive testcases to exercise these cases to exercise these paths.paths.

11

22

3344

55 66

77

88

Page 33: talk drss

Loop Testing to avoid wasteLoop Testing to avoid waste

Nested Nested LoopsLoops

Concatenated Concatenated LoopsLoops UnstructuredUnstructured

LoopsLoops

Simple Simple looploop

Page 34: talk drss

Black-Box Testing to avoid waste Black-Box Testing to avoid waste

requirementsrequirements

eventseventsinputinput

outputoutput

Page 35: talk drss

Other Black Box Techniques Other Black Box Techniques to avoid wasteto avoid waste

error guessing methodserror guessing methods decision table techniquesdecision table techniques cause effect graphingcause effect graphing

Page 36: talk drss

Testing Strategy to avoid Testing Strategy to avoid wastewasteunit testunit test integrationintegration

testtest

validationvalidationtesttest

systemsystemtesttest

Page 37: talk drss

Unit Testing to avoid Unit Testing to avoid wastewaste

modulemoduleto beto betestedtested

test casestest cases

resultsresults

softwaresoftwareengineerengineer

Page 38: talk drss

Unit Testing to Unit Testing to avoid wasteavoid waste

interface interface local data structureslocal data structures

boundary conditionsboundary conditionsindependent pathsindependent pathserror handling pathserror handling paths

modulemoduleto beto betestedtested

test casestest cases

Page 39: talk drss

Unit Test Environment to avoid Unit Test Environment to avoid wastewaste

ModuleModule

stubstub stubstub

driverdriver

RESULTSRESULTS

interface interface

local data structureslocal data structures

boundary conditionsboundary conditions

independent pathsindependent paths

error handling pathserror handling paths

test casestest cases

Page 40: talk drss

Debugging: to avoid Debugging: to avoid wastewaste

Page 41: talk drss

The Debugging Process to avoid The Debugging Process to avoid wastewaste

test casestest cases

resultsresults

DebuggingDebugging

suspectedsuspectedcausescauses

identifiedidentifiedcausescauses

correctionscorrections

regressionregressionteststests

new testnew testcasescases

Page 42: talk drss

The OO Mindset to avoid The OO Mindset to avoid wastewaste

problem domainproblem domain

objectsobjects

Page 43: talk drss

If Building a Class is not proper If Building a Class is not proper then software becomes wastethen software becomes waste

class name

attributes:

operations:

attributes:

operations

Page 44: talk drss

Domain Analysis to avoid Domain Analysis to avoid wastewaste

DOMAINANALYSIS

SOURCES OFDOMAIN

KNOWLEDGE

DOMAINANALYSIS

MODEL

techncial literature

existing applications

customer surveys

expert advice

current/future requirements

class taxononmies

reuse standards

functional models

domain languages

Page 45: talk drss

Selecting Classes:Criteria to avoid Selecting Classes:Criteria to avoid wastewaste

needed servicesneeded services

multiple attributesmultiple attributes

common attributescommon attributes

common operationscommon operations

essential requirementsessential requirements

retained informationretained information

Page 46: talk drss

Object-Oriented Object-Oriented Design is Design is

important to avoid important to avoid wastewasteresponsibilities

design

messagedesign

class and objectdesign

subsystemdesign

Page 47: talk drss

OOA and OOD to avoid OOA and OOD to avoid wastewaste

Object-relationship

model

Object-BehaviorModel

CRCIndex Cards

Attributes, operations,collaborators

THE ANALYSIS MODEL

responsibilitiesdesign

messagedesign

Class and objectdesign

subsystemdesign

THE DESIGN MODEL

Use cases

Page 48: talk drss

Proper mapping of OOA onto Proper mapping of OOA onto OOD OOD

to avoid wasteto avoid waste

classesclassesattributesattributesmethodsmethodsrelationshipsrelationshipsbehaviorbehavior

Analysis ModelAnalysis Model

objectsobjectsdata structuresdata structuresalgorithmsalgorithmsmessagingmessagingcontrolcontrol

Design ModelDesign Model

Page 49: talk drss

Object-Oriented Testing to avoid Object-Oriented Testing to avoid wastewaste

begins by evaluating the correctness begins by evaluating the correctness and consistency of the OOA and OOD and consistency of the OOA and OOD modelsmodels

testing strategy changestesting strategy changes test case design draws on test case design draws on

conventional methods, but also conventional methods, but also encompasses special featuresencompasses special features

Page 50: talk drss

If Attributes of If Attributes of Web-Based Applications are not proper,Web-Based Applications are not proper,

then these applications become waste then these applications become waste !!

Network intensive.Network intensive. By its nature, a WebApp is By its nature, a WebApp is

network intensive. It resides on a network and must network intensive. It resides on a network and must serve the needs of a diverse community of clients. serve the needs of a diverse community of clients.

Content-Driven.Content-Driven. In many cases, the primary function In many cases, the primary function of a WebApp is to use hypermedia to present text, of a WebApp is to use hypermedia to present text, graphics, audio, and video content to the end-user. graphics, audio, and video content to the end-user.

Continuous evolution.Continuous evolution. Web applications evolve Web applications evolve continuously. continuously.

Page 51: talk drss

WebApp Quality Factors to avoid WebApp Quality Factors to avoid wastewaste

Page 52: talk drss

The WebE The WebE ProcessProcess

Page 53: talk drss

If Analysis for WebE is notIf Analysis for WebE is not proper then it becomes waste proper then it becomes waste

Content Analysis.Content Analysis. The full spectrum of content to be provided The full spectrum of content to be provided by the WebApp is identified, including text, graphics and by the WebApp is identified, including text, graphics and images, video, and audio data. Data modeling can be used to images, video, and audio data. Data modeling can be used to identify and describe each of the data objects. identify and describe each of the data objects.

Interaction Analysis.Interaction Analysis. The manner in which the user interacts The manner in which the user interacts with the WebApp is described in detail. Use-cases can be with the WebApp is described in detail. Use-cases can be developed to provide detailed descriptions of this interaction. developed to provide detailed descriptions of this interaction.

Functional Analysis.Functional Analysis. The usage scenarios (use-cases) created The usage scenarios (use-cases) created as part of interaction analysis define the operations that will be as part of interaction analysis define the operations that will be applied to WebApp content and imply other processing applied to WebApp content and imply other processing functions. All operations and functions are described in detail.functions. All operations and functions are described in detail.

Configuration Analysis.Configuration Analysis. The environment and infrastructure in The environment and infrastructure in which the WebApp resides are described in detail. which the WebApp resides are described in detail.

Page 54: talk drss

Design for WebE is important Design for WebE is important avoid wasteavoid waste

Architectural designArchitectural design — laying out the page — laying out the page structure of the WebAppstructure of the WebApp

Navigation designNavigation design — defining the manner in — defining the manner in which pages will be navigatedwhich pages will be navigated

Interface designInterface design — establishing consistent — establishing consistent and effective user interaction mechanismsand effective user interaction mechanisms

Page 55: talk drss

Project Management for WebE Project Management for WebE to avoid wasteto avoid waste

Many of the analysis activities should be Many of the analysis activities should be performed internally even if the project is performed internally even if the project is outsourcedoutsourced

A rough design for the WebApp should be A rough design for the WebApp should be developed internally. developed internally.

A rough project schedule, including not only A rough project schedule, including not only final delivery dates, but also milestone dates final delivery dates, but also milestone dates should be developed.should be developed.

The degree of oversight and interaction by the The degree of oversight and interaction by the

contractor with the vendor should be contractor with the vendor should be identified.identified.

Page 56: talk drss

Industry Practices Industry Practices ( ONGC)( ONGC)

Wrong software practicesWrong software practices

lead to wastage as follows:-lead to wastage as follows:-

Well Information System (WIS)…Well Information System (WIS)…INR 5 lacs per INR 5 lacs per day per wellday per well

Prediction of Migration Prediction of Migration Velocity…INR 2 cr per wellVelocity…INR 2 cr per well

Seismic migration processing….Seismic migration processing….INR 2 cr per wellINR 2 cr per wellAlso US$ 5 per Std. Seismic record ..approx Also US$ 5 per Std. Seismic record ..approx

50000 US$ per day in Regional data processing 50000 US$ per day in Regional data processing centrescentres

Page 57: talk drss

Industry Practices Industry Practices ( ONGC)( ONGC)

Wrong software practices Wrong software practices

lead to wastage as follows:-lead to wastage as follows:-

ES for migration velocity …ES for migration velocity …INR 50,000 per INR 50,000 per dayday

Seismic accounting software Seismic accounting software …INR 3 cr per …INR 3 cr per projectproject

Seismic information system(SIS)..Seismic information system(SIS)..INR 25,000 INR 25,000 per wellper well

Page 58: talk drss

Industry Practices Industry Practices ( ONGC)( ONGC)

Wrong software practicesWrong software practices

lead to wastage as follows:-lead to wastage as follows:-

Bit-type selection software ..Bit-type selection software ..INR 1 lac per dayINR 1 lac per day

Hydraulic module software Hydraulic module software ..INR 5 lac per ..INR 5 lac per hour and may lead to blow-out ! And collapse hour and may lead to blow-out ! And collapse of wellof well

Optimization Study for wells Optimization Study for wells …INR 25 lacs per …INR 25 lacs per wellwell

Page 59: talk drss

Industry Practices Industry Practices ( ONGC)( ONGC)

Wrong software practices lead to wastage Wrong software practices lead to wastage as follows:-as follows:-

Drilling variables database…Drilling variables database…INR 5 lacs per INR 5 lacs per well and also lead to memory occupation well and also lead to memory occupation leading to slowing down the systemleading to slowing down the system

Well data codification techniques Well data codification techniques …INR 10 …INR 10 lacs per well and leading to wrong lacs per well and leading to wrong decision making toodecision making too

Page 60: talk drss

Industry Practices Industry Practices ( Airport)( Airport)

Wrong software practices lead to wastage as Wrong software practices lead to wastage as follows:- ( Based on practice in UAE)follows:- ( Based on practice in UAE)

Web-enable Accounting systemWeb-enable Accounting system…UAE Dh 50,000 …UAE Dh 50,000 per day per airlineper day per airline

Web-enable PIS & Roster …Web-enable PIS & Roster …UAE Dh 30,000 per UAE Dh 30,000 per airlineairline

Web-enable P & S System ..Web-enable P & S System ..UAE Dh 2 lacs per dayUAE Dh 2 lacs per day Web-enable Payroll System Web-enable Payroll System ..UAE Dh 10 lacs per ..UAE Dh 10 lacs per

dayday

Page 61: talk drss

Industry Practices Industry Practices ( Airport)( Airport)

Wrong software practices lead to wastage as Wrong software practices lead to wastage as follows:-follows:-

Web-enable Budget system Web-enable Budget system ..UAE Dh 25 lacs ..UAE Dh 25 lacs per dayper day

Web-enable Cargo system Web-enable Cargo system ..UAE Dh 300 lacs ..UAE Dh 300 lacs per dayper day

Web-enable Fixed Asset system Web-enable Fixed Asset system …UAE Dh 50 …UAE Dh 50 lacs per asset per monthlacs per asset per month

ARS, car pass system…ARS, car pass system…UAE Dh 5 lacs per dayUAE Dh 5 lacs per day

Page 62: talk drss

Industry Practices Industry Practices ( Airport)( Airport)

Wrong software practices lead to wastage Wrong software practices lead to wastage as follows:-as follows:-

E-Business system for Cargo..E-Business system for Cargo..UAE Dh 50 UAE Dh 50 lacs per day operationslacs per day operations

E-Business system for AirlinesE-Business system for Airlines…UAE Dh …UAE Dh 20 lacs per airline operation20 lacs per airline operation

Page 63: talk drss

Top Company on Waste Top Company on Waste ManagementManagement

Page 64: talk drss

Top Company on Waste Top Company on Waste ManagementManagement

Page 65: talk drss

Top Company on Waste Top Company on Waste ManagementManagement

Page 66: talk drss

Top Company on Waste Top Company on Waste ManagementManagement

Page 67: talk drss

Top Company on Waste Top Company on Waste ManagementManagement

Page 68: talk drss

Top Company on Waste Top Company on Waste ManagementManagement

Page 69: talk drss

CONCLUSIONSCONCLUSIONS

Thus the causes for waste are manyThus the causes for waste are many Following the norms of software Following the norms of software engineering engineering principles systematically without cheap principles systematically without cheap methods methods will lead to Waste Management effectivelywill lead to Waste Management effectively

If NOT, it leads to waste of time, energy If NOT, it leads to waste of time, energy andandmoney. money.

Hence Waste Management in S/W Hence Waste Management in S/W EngineeringEngineeringis essential to save our country as in the is essential to save our country as in the case ofcase ofother waste like water, petrol, power etc.other waste like water, petrol, power etc.

Page 70: talk drss

THANK THANK YOUYOU

For more information and for further For more information and for further discussions discussions

please get in touch with me thro’ mail :-please get in touch with me thro’ mail :-

[email protected]

oror

deancccf @ rvce.edu.indeancccf @ rvce.edu.in

Visit me at Visit me at http://drsridhar.tripod.com