talk drss

Preview:

Citation preview

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

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

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 !

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….>>>>>

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?

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

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 !

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

statusquo

problemdefinition

technicaldevelopment

solutionintegration

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 !

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

analysis design code test

System/informationengineering

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

listento

customerbuild/revise

mock-up

customertest-drivesmock-up

Prototyping

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

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

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

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

Spec

PrototypePrototype

DesignDesign

modeling

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

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 ...

Sizing Modules: Two Sizing Modules: Two ViewsViews

MODULE

What's inside??

How big is it??

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?

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 !

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

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.

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

What Testing ShowsWhat Testing Shows

errorserrors

requirements conformancerequirements conformance

performanceperformance

an indicationan indicationof qualityof quality

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

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

Selective Testing to avoid Selective Testing to avoid waste waste

loop < 20 Xloop < 20 X

Selected pathSelected path

Software TestingSoftware Testing

Methods

Strategies

white-boxmethods

black-box methods

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

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 ...

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

Loop Testing to avoid wasteLoop Testing to avoid waste

Nested Nested LoopsLoops

Concatenated Concatenated LoopsLoops UnstructuredUnstructured

LoopsLoops

Simple Simple looploop

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

requirementsrequirements

eventseventsinputinput

outputoutput

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

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

testtest

validationvalidationtesttest

systemsystemtesttest

Unit Testing to avoid Unit Testing to avoid wastewaste

modulemoduleto beto betestedtested

test casestest cases

resultsresults

softwaresoftwareengineerengineer

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

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

Debugging: to avoid Debugging: to avoid wastewaste

The Debugging Process to avoid The Debugging Process to avoid wastewaste

test casestest cases

resultsresults

DebuggingDebugging

suspectedsuspectedcausescauses

identifiedidentifiedcausescauses

correctionscorrections

regressionregressionteststests

new testnew testcasescases

The OO Mindset to avoid The OO Mindset to avoid wastewaste

problem domainproblem domain

objectsobjects

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

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

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

Object-Oriented Object-Oriented Design is Design is

important to avoid important to avoid wastewasteresponsibilities

design

messagedesign

class and objectdesign

subsystemdesign

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

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

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

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.

WebApp Quality Factors to avoid WebApp Quality Factors to avoid wastewaste

The WebE The WebE ProcessProcess

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.

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

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.

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

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

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

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

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

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

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

Top Company on Waste Top Company on Waste ManagementManagement

Top Company on Waste Top Company on Waste ManagementManagement

Top Company on Waste Top Company on Waste ManagementManagement

Top Company on Waste Top Company on Waste ManagementManagement

Top Company on Waste Top Company on Waste ManagementManagement

Top Company on Waste Top Company on Waste ManagementManagement

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.

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 :-

drssridhar@yahoo.com

oror

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

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

Recommended