Upload
s-sridhar
View
14
Download
0
Embed Size (px)
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 :-
oror
deancccf @ rvce.edu.indeancccf @ rvce.edu.in
Visit me at Visit me at http://drsridhar.tripod.com