SlideShare a Scribd company logo
1 of 23
23 1
Chapter 3 – Improving
Software Economics
Part 1 of 2
23 2
Balanced Attack
 Can improve software economics
 Easy to do so and have poor results
 Key is a ‘balanced’ approach; patient
 Five Key Initiatives – In Order:
• Reducing the size and/or complexity of application
• Improving the development process itself
• Using more-skilled personnel and creation of better
teams
• Creating better ‘environments’ with appropriate
tools and technology to foster improvement
• Re-looking at Quality
23 3
This lecture
 We will concentrate on
• Reducing the Size (most slides), and a
little on
• Looking at the Process.
23 4
Cost Model Parameters Trends
Size
Abstraction and component-
based
development technologies
Higher Order Languages (C++, Java, VB,
 OO (analysis, design, programming)
 Reuse
 Commercial Components
Process
Methods and techniques
 Iterative Development
 Process Maturity Models
 Architecture-first development
 Acquisition reform
Personnel
People factors
Training and personnel skill development
Teamwork
Win-win cultures
Environment
Automation technologies
and tools
Integrated tools (visual modeling, compiler,
editors, debuggers, CMS, ….
Open Systems Hardware platform
performance Automation of coding,
documents, testing, analyses
Quality
Performance, reliability,
accuracy
Hardware platform performance
Demonstration-based assessment
Statistical quality control
23 5
Comments on Overall Approaches
 Significant interdependencies are apparent!
 Examples:
• Some tools (environment) can bring about a
reduction in size and process improvement
(process).
• UI and GUIs today (tools – environment) GUI
Builders, affect process and quality…
• Improved process (use-case driven…) => end user
functionality drives the process thus favorably
impacting quality….
• A ‘host’ of other interdependencies…
23 6
1. Reducing Software Product Size
 The larger the product, the more
expensive it is ‘per line.’ Fact.
 Complicated due to
• Component-based development
• Automatic code generation
• “Instruction Explosion”
• GUI builders
• 4GLs
• Modeling Languages
• Executable code size often increases!
23 7
1. Reducing Software Product Size:
A. Languages
 Function Point metrics:
 Language independent!
 External user inputs, outputs, internal logical
data groups, external data interfaces, and
external inquiries.
 SLOC metrics:
 useful after a candidate solution is formulated
and implementation language is known.
 Many comparisons of function points
to lines of code.
23 8
Comparison Table
LANGUAGE SLOC PER UFP
Assembler Language 320
C 128
Fortran 77 105
Cobol 85 91
Ada 83 71
C++ 56
Ada 95 55
Java 55
Visual Basic 35
23 9
More on Comparisons: Languages
 Use table as a general comparison guide only.
 Languages (in general) are often best suited
for ‘classes of problems’ (domain of usage)
• Web-based apps: Java vs COBOL
• Transaction processing: Java vs COBOL
• Systems programming: Assembler vs C vs Java
• Prototyping UI: VB versus Java (varies…)
 Shows ‘level of expressiveness.’
 Read through comparisons… pros and cons:
• C to C++
• Java
23 10
More on Comparisons: Languages
 Function Points focus more on ‘functionality.’
 The implementing programming language size
can be inferred from function point count.
• Automatic code generators (CASE; GUI) can reduce
size of ‘human generated’ code
•  less time; fewer team members…(helps cost;
efficiency of automatic code generators? Function
point computation?)
• Commercial DBMSs, GUI Builders, middleware, …
reduce the amount of code to be developed…
 Size may be larger!
23 11
Level of abstraction and functionality
– benefits and ‘expressiveness’
 Reducing size changes ‘level of abstraction’
allowing us to focus on architecture, …  easier to
understand, reuse, maintain. (may import
packages of classes and objects…)
• We can talk about layers, dependencies,
interfaces, services!
• Can talk about classes, subsystems, packages.
• These are serious abstractions!
 But, these higher-level abstractions are often high
users of storage, and communications bandwidth…
23 12
23 13
Subsystem - Expressiveness
 A combination of a package
• groups similar model elements and
• a class has behaviors via its methods.
(classes provide / encapsulate behaviors
or services)
 Subsystems Realize one or more
interfaces which define its behaviors
<<subsystem>>
Subsystem Name
Interface
(a class)
nterface
Realization
Subsystem
Generally has classes
associated that
provide the holistic
service of the
subsystem…
23 14
Component
Name
Design Model Implementation Model
<<subsystem>>
Component Name
Component
Interface
Component
Interface
Subsystems and Components
 Components are the physical realization of
an abstraction in the design
• physical realization can exist on many levels
• consider the realization of a presentaton layer
modeled as a ‘component.’
 Components (in the implementation
model) can be used to represent the
subsystems from the design model.
23 15
1. Reducing Software Product Size:
 B. OO Methods and Visual Modeling
 Assertions abound re benefits of OO
methods on productivity and quality
• Not terribly locked in concrete yet
• High costs of OO training using OOSE,
modeling languages like UML and
comprehensive, configurable processes like
the RUP and many technologies…
 OO technology reduces size
23 16
B. OO Methods and Visual Modeling
 Size is not everything…
 OO technology approaches – so many other benefits:
• Encourage a common vocabulary
 Glossary; domain model; – artifacts ; object ‘concepts’ and
terms
• Support continuous integration
 Easy to talk about subsystems, classes, interfaces…
 Architecture first approach – for stability, planning teams,
iteration plans, …
• Architecture provides a clear separation of concerns – for
development in parallel; configuration; integrity of
development…
•  And then, when you consider the RUP as a process built
around OO technology, there are a host of additional
benefits….
23 17
1. Reducing Software Product Size:
 C. Reuse
 Always had ‘reuse’ with stored functions/subpgms
 Many forms of reuse:
 Old stuff: data descriptions; documents, and a host of
similar, old artifacts, designs, architectures…
 from all phases of software development
 Common architectures; processes, common environments...
 Very common during monolithic type development.
 Differences in platforms / environments has
hurt reuse potential
 Common Microsoft platforms: - counter example
 Linux; MACs, resulting from distributing applications!
23 18
C. Reuse (continued)
 Main reason for Reuse or ‘lack’ thereof: money.
(not addressing commercial components…)
 Costs to build reusable and configure reusable components.
Must be able to justify.
 Can reuse be justified across many projects?
 Some commercial organizations focused on selling
commercial components.
 Very few success stories for software component
reuse
• exceptions: operation systems, middleware, GUI
Builders, other obvious ones.
 Most developers do undertake some kind of reuse
– just perhaps not as formalized…
23 19
1. Reducing Software Product Size:
 D. Commercial Components
 Major trend – buy commercial components.
 Saves custom development
 Usually needs tailoring
 Certainly pros and cons.
 Bottom line: may well have global impacts on:
• quality
• cost
• supportability, and the
• architecture.
23 20
APPROACH ADVANTAGES DISADVANTAGES
Commercial Components Predictable license costs Frequent upgrades
Broadly used, mature technology Up-front license fees
Available now Recurring maintenance fees
Dedicated support organizations Dependency on vendor
Hardware/software independence Run-time efficiency sacrifices
Rich in functionality Functionality constraints
Integration not always trivial
No control over upgrades or
maintenance
Unnecessary features that consume
extra resources
Often inadequate reliability and
stability
Multiple vendor incompatibilities
Custom Development Complete change freedom Expensive, unpredictable
development
Smaller, often simpler implementations Unpredictable availability date
Often better performance Underdefined maintenance model
Control of development and enhancement Often immature and fragile
Single-platform dependency
23 21
2. Improving Software
Processes
 Development projects are complex undertakings
• Some activities done in parallel; others sequential.
• Some activities: overhead; some production.
 Production activities  the project itself – requirements
elicitation and modeling, analysis, design,
implementation…
 Overhead activities  planning, progress monitoring,
risk assessment, financial assessments, configuration
control, quality assessment, integration, testing, late
rework, management, personnel training, etc….
•  Objective: minimize overhead and direct
these energies toward production activities.
23 22
2. Improving Software Processes – (cont.)
• It is all about process!
• A high-quality process reduces:
 Required effort and thus schedule
 Project time yet with improved quality.
 Three generic improvement scenarios:
• Improve efficiency of each step in process
• Eliminate some steps in the process
• Undertake the same number of steps, but
employ concurrency where possible
23 23
2. Improving Software Processes -
continued
 First approach
• more efficient steps – older approach - is good,
• more ROI on second (fewer steps) and
• third (concurrency in activities)
 We want the highest quality system with fewest
iterations in least time.
• Must eliminate rework and late scrap – fixing things up!
• Integration testing is culprit.
• Fixing things up as a result of integration and system tests
are killers!!!
 Our Process must reduce the probability of late
rework!
• Does the RUP facilitate this? If so, How?

More Related Content

Similar to unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt

Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles sathish sak
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleNishant Srivastava
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Kelis king - software development life cycle (sdlc)
Kelis king -  software development life cycle (sdlc)Kelis king -  software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)KelisKing
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)KelisKing
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptKENNEDYDONATO1
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptHumzaWaris1
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptxMohamedElshaikh10
 
System Development
System  DevelopmentSystem  Development
System DevelopmentSharad Patel
 

Similar to unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt (20)

Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
software engineering
software engineering software engineering
software engineering
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Unit V.pptx
Unit V.pptxUnit V.pptx
Unit V.pptx
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Kelis king - software development life cycle (sdlc)
Kelis king -  software development life cycle (sdlc)Kelis king -  software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Kelis king - software development life cycle (sdlc)
Kelis king  - software development life cycle (sdlc)Kelis king  - software development life cycle (sdlc)
Kelis king - software development life cycle (sdlc)
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
System Development Life Cycle Overview.ppt
System Development Life Cycle Overview.pptSystem Development Life Cycle Overview.ppt
System Development Life Cycle Overview.ppt
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
Software Development Methodologies.pptx
Software Development Methodologies.pptxSoftware Development Methodologies.pptx
Software Development Methodologies.pptx
 
e3-chap-06.ppt
e3-chap-06.ppte3-chap-06.ppt
e3-chap-06.ppt
 
HCI-in-sw-process.ppt
HCI-in-sw-process.pptHCI-in-sw-process.ppt
HCI-in-sw-process.ppt
 
Rup
RupRup
Rup
 
1 sdlc model
1 sdlc model1 sdlc model
1 sdlc model
 
System Development
System  DevelopmentSystem  Development
System Development
 

More from WrushabhShirsat3

01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt
01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt
01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFptWrushabhShirsat3
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...WrushabhShirsat3
 
chapter7.pptfuifbsdiufbsiudfiudfiufeiufiuf
chapter7.pptfuifbsdiufbsiudfiudfiufeiufiufchapter7.pptfuifbsdiufbsiudfiudfiufeiufiuf
chapter7.pptfuifbsdiufbsiudfiudfiufeiufiufWrushabhShirsat3
 
m150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiue
m150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiuem150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiue
m150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiueWrushabhShirsat3
 
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfytxjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfytWrushabhShirsat3
 
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybbjhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybbWrushabhShirsat3
 
dcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvh
dcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvhdcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvh
dcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvhWrushabhShirsat3
 
asdabuydvduyawdyuadauysdasuydyudayudayudaw
asdabuydvduyawdyuadauysdasuydyudayudayudawasdabuydvduyawdyuadauysdasuydyudayudayudaw
asdabuydvduyawdyuadauysdasuydyudayudayudawWrushabhShirsat3
 
Ch01_Introduction_to_SPM.pdf
Ch01_Introduction_to_SPM.pdfCh01_Introduction_to_SPM.pdf
Ch01_Introduction_to_SPM.pdfWrushabhShirsat3
 
chapter1-conventionalsoftwaremanagement1 (1).ppt
chapter1-conventionalsoftwaremanagement1 (1).pptchapter1-conventionalsoftwaremanagement1 (1).ppt
chapter1-conventionalsoftwaremanagement1 (1).pptWrushabhShirsat3
 

More from WrushabhShirsat3 (20)

01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt
01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt
01_intro.pfwekfmwEKFHswfuhSWFYUGsduyfgSWY6FEWUFpt
 
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
chapter1-convehisudhiusdiudiudsiusdiuddsdshdibsdiubdsjxkjxjntionalsoftwareman...
 
chapter7.pptfuifbsdiufbsiudfiudfiufeiufiuf
chapter7.pptfuifbsdiufbsiudfiudfiufeiufiufchapter7.pptfuifbsdiufbsiudfiudfiufeiufiuf
chapter7.pptfuifbsdiufbsiudfiudfiufeiufiuf
 
m150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiue
m150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiuem150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiue
m150c1.pptfefgefuygfiuffwefnefjufbwefbweiufwiuefiuefhiuefhwiuefhwuiefhuwiefhwiue
 
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfytxjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
xjtrutdctrd5454drxxresersestryugyufy6rythgfytfyt
 
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybbjhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
jhbuhbhujnhyubhbuybuybuybbuhyybuybuybuybybyubyubybybb
 
dcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvh
dcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvhdcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvh
dcvdhusdbsduvb0sdyvbsdyvbsdvysdvysdbvsydvdbvbyubdvbdvhvhvhvh
 
asdabuydvduyawdyuadauysdasuydyudayudayudaw
asdabuydvduyawdyuadauysdasuydyudayudayudawasdabuydvduyawdyuadauysdasuydyudayudayudaw
asdabuydvduyawdyuadauysdasuydyudayudayudaw
 
lecture1-intro.ppt
lecture1-intro.pptlecture1-intro.ppt
lecture1-intro.ppt
 
IntroT.ppt
IntroT.pptIntroT.ppt
IntroT.ppt
 
scan.pptx
scan.pptxscan.pptx
scan.pptx
 
2.pptx
2.pptx2.pptx
2.pptx
 
papp01.pptx
papp01.pptxpapp01.pptx
papp01.pptx
 
80410172053.pdf
80410172053.pdf80410172053.pdf
80410172053.pdf
 
asabydqwfdytwdv.ppt
asabydqwfdytwdv.pptasabydqwfdytwdv.ppt
asabydqwfdytwdv.ppt
 
Ch01_Introduction_to_SPM.pdf
Ch01_Introduction_to_SPM.pdfCh01_Introduction_to_SPM.pdf
Ch01_Introduction_to_SPM.pdf
 
chapter1.ppt
chapter1.pptchapter1.ppt
chapter1.ppt
 
chapter1-conventionalsoftwaremanagement1 (1).ppt
chapter1-conventionalsoftwaremanagement1 (1).pptchapter1-conventionalsoftwaremanagement1 (1).ppt
chapter1-conventionalsoftwaremanagement1 (1).ppt
 
Intro.ppt
Intro.pptIntro.ppt
Intro.ppt
 
ABCD.ppt
ABCD.pptABCD.ppt
ABCD.ppt
 

Recently uploaded

Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...Sheetaleventcompany
 
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋TANUJA PANDEY
 
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...mahaiklolahd
 
Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...
Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...
Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...BhumiSaxena1
 
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...karishmasinghjnh
 
Call Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...
Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...
Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...khalifaescort01
 
Trichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service Available
Trichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service AvailableTrichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service Available
Trichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service AvailableGENUINE ESCORT AGENCY
 
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...chetankumar9855
 
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service AvailableCall Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Availableperfect solution
 
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...tanya dube
 
💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...
💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...
💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...khalifaescort01
 
Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...
Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...
Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...adilkhan87451
 
Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...
Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...
Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...GENUINE ESCORT AGENCY
 
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Ishani Gupta
 
Call Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service AvailableDipal Arora
 
Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...
Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...
Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...Anamika Rawat
 
Call Girls Hosur Just Call 9630942363 Top Class Call Girl Service Available
Call Girls Hosur Just Call 9630942363 Top Class Call Girl Service AvailableCall Girls Hosur Just Call 9630942363 Top Class Call Girl Service Available
Call Girls Hosur Just Call 9630942363 Top Class Call Girl Service AvailableGENUINE ESCORT AGENCY
 
8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In AhmedabadGENUINE ESCORT AGENCY
 

Recently uploaded (20)

Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
Low Rate Call Girls Bangalore {7304373326} ❤️VVIP NISHA Call Girls in Bangalo...
 
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
VIP Hyderabad Call Girls Bahadurpally 7877925207 ₹5000 To 25K With AC Room 💚😋
 
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls  * UPA...
Call Girl in Indore 8827247818 {LowPrice} ❤️ (ahana) Indore Call Girls * UPA...
 
Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...
Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...
Saket * Call Girls in Delhi - Phone 9711199012 Escorts Service at 6k to 50k a...
 
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
Independent Call Girls Service Mohali Sector 116 | 6367187148 | Call Girl Ser...
 
🌹Attapur⬅️ Vip Call Girls Hyderabad 📱9352852248 Book Well Trand Call Girls In...
🌹Attapur⬅️ Vip Call Girls Hyderabad 📱9352852248 Book Well Trand Call Girls In...🌹Attapur⬅️ Vip Call Girls Hyderabad 📱9352852248 Book Well Trand Call Girls In...
🌹Attapur⬅️ Vip Call Girls Hyderabad 📱9352852248 Book Well Trand Call Girls In...
 
Call Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 8250077686 Top Class Call Girl Service Available
 
Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...
Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...
Call Girls Service Jaipur {9521753030 } ❤️VVIP BHAWNA Call Girl in Jaipur Raj...
 
Trichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service Available
Trichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service AvailableTrichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service Available
Trichy Call Girls Book Now 9630942363 Top Class Trichy Escort Service Available
 
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
Call Girl In Pune 👉 Just CALL ME: 9352988975 💋 Call Out Call Both With High p...
 
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service AvailableCall Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
Call Girls Rishikesh Just Call 9667172968 Top Class Call Girl Service Available
 
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
Premium Bangalore Call Girls Jigani Dail 6378878445 Escort Service For Hot Ma...
 
💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...
💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...
💕SONAM KUMAR💕Premium Call Girls Jaipur ↘️9257276172 ↙️One Night Stand With Lo...
 
Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...
Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...
Russian Call Girls Lucknow Just Call 👉👉7877925207 Top Class Call Girl Service...
 
Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...
Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...
Call Girls Vasai Virar Just Call 9630942363 Top Class Call Girl Service Avail...
 
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
Mumbai ] (Call Girls) in Mumbai 10k @ I'm VIP Independent Escorts Girls 98333...
 
Call Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service AvailableCall Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service Available
Call Girls Hyderabad Just Call 8250077686 Top Class Call Girl Service Available
 
Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...
Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...
Jogeshwari ! Call Girls Service Mumbai - 450+ Call Girl Cash Payment 90042684...
 
Call Girls Hosur Just Call 9630942363 Top Class Call Girl Service Available
Call Girls Hosur Just Call 9630942363 Top Class Call Girl Service AvailableCall Girls Hosur Just Call 9630942363 Top Class Call Girl Service Available
Call Girls Hosur Just Call 9630942363 Top Class Call Girl Service Available
 
8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
8980367676 Call Girls In Ahmedabad Escort Service Available 24×7 In Ahmedabad
 

unit-iipart-1.WDQWDQWDQWDQWDQWDQWDQWDQWDQWDppt

  • 1. 23 1 Chapter 3 – Improving Software Economics Part 1 of 2
  • 2. 23 2 Balanced Attack  Can improve software economics  Easy to do so and have poor results  Key is a ‘balanced’ approach; patient  Five Key Initiatives – In Order: • Reducing the size and/or complexity of application • Improving the development process itself • Using more-skilled personnel and creation of better teams • Creating better ‘environments’ with appropriate tools and technology to foster improvement • Re-looking at Quality
  • 3. 23 3 This lecture  We will concentrate on • Reducing the Size (most slides), and a little on • Looking at the Process.
  • 4. 23 4 Cost Model Parameters Trends Size Abstraction and component- based development technologies Higher Order Languages (C++, Java, VB,  OO (analysis, design, programming)  Reuse  Commercial Components Process Methods and techniques  Iterative Development  Process Maturity Models  Architecture-first development  Acquisition reform Personnel People factors Training and personnel skill development Teamwork Win-win cultures Environment Automation technologies and tools Integrated tools (visual modeling, compiler, editors, debuggers, CMS, …. Open Systems Hardware platform performance Automation of coding, documents, testing, analyses Quality Performance, reliability, accuracy Hardware platform performance Demonstration-based assessment Statistical quality control
  • 5. 23 5 Comments on Overall Approaches  Significant interdependencies are apparent!  Examples: • Some tools (environment) can bring about a reduction in size and process improvement (process). • UI and GUIs today (tools – environment) GUI Builders, affect process and quality… • Improved process (use-case driven…) => end user functionality drives the process thus favorably impacting quality…. • A ‘host’ of other interdependencies…
  • 6. 23 6 1. Reducing Software Product Size  The larger the product, the more expensive it is ‘per line.’ Fact.  Complicated due to • Component-based development • Automatic code generation • “Instruction Explosion” • GUI builders • 4GLs • Modeling Languages • Executable code size often increases!
  • 7. 23 7 1. Reducing Software Product Size: A. Languages  Function Point metrics:  Language independent!  External user inputs, outputs, internal logical data groups, external data interfaces, and external inquiries.  SLOC metrics:  useful after a candidate solution is formulated and implementation language is known.  Many comparisons of function points to lines of code.
  • 8. 23 8 Comparison Table LANGUAGE SLOC PER UFP Assembler Language 320 C 128 Fortran 77 105 Cobol 85 91 Ada 83 71 C++ 56 Ada 95 55 Java 55 Visual Basic 35
  • 9. 23 9 More on Comparisons: Languages  Use table as a general comparison guide only.  Languages (in general) are often best suited for ‘classes of problems’ (domain of usage) • Web-based apps: Java vs COBOL • Transaction processing: Java vs COBOL • Systems programming: Assembler vs C vs Java • Prototyping UI: VB versus Java (varies…)  Shows ‘level of expressiveness.’  Read through comparisons… pros and cons: • C to C++ • Java
  • 10. 23 10 More on Comparisons: Languages  Function Points focus more on ‘functionality.’  The implementing programming language size can be inferred from function point count. • Automatic code generators (CASE; GUI) can reduce size of ‘human generated’ code •  less time; fewer team members…(helps cost; efficiency of automatic code generators? Function point computation?) • Commercial DBMSs, GUI Builders, middleware, … reduce the amount of code to be developed…  Size may be larger!
  • 11. 23 11 Level of abstraction and functionality – benefits and ‘expressiveness’  Reducing size changes ‘level of abstraction’ allowing us to focus on architecture, …  easier to understand, reuse, maintain. (may import packages of classes and objects…) • We can talk about layers, dependencies, interfaces, services! • Can talk about classes, subsystems, packages. • These are serious abstractions!  But, these higher-level abstractions are often high users of storage, and communications bandwidth…
  • 12. 23 12
  • 13. 23 13 Subsystem - Expressiveness  A combination of a package • groups similar model elements and • a class has behaviors via its methods. (classes provide / encapsulate behaviors or services)  Subsystems Realize one or more interfaces which define its behaviors <<subsystem>> Subsystem Name Interface (a class) nterface Realization Subsystem Generally has classes associated that provide the holistic service of the subsystem…
  • 14. 23 14 Component Name Design Model Implementation Model <<subsystem>> Component Name Component Interface Component Interface Subsystems and Components  Components are the physical realization of an abstraction in the design • physical realization can exist on many levels • consider the realization of a presentaton layer modeled as a ‘component.’  Components (in the implementation model) can be used to represent the subsystems from the design model.
  • 15. 23 15 1. Reducing Software Product Size:  B. OO Methods and Visual Modeling  Assertions abound re benefits of OO methods on productivity and quality • Not terribly locked in concrete yet • High costs of OO training using OOSE, modeling languages like UML and comprehensive, configurable processes like the RUP and many technologies…  OO technology reduces size
  • 16. 23 16 B. OO Methods and Visual Modeling  Size is not everything…  OO technology approaches – so many other benefits: • Encourage a common vocabulary  Glossary; domain model; – artifacts ; object ‘concepts’ and terms • Support continuous integration  Easy to talk about subsystems, classes, interfaces…  Architecture first approach – for stability, planning teams, iteration plans, … • Architecture provides a clear separation of concerns – for development in parallel; configuration; integrity of development… •  And then, when you consider the RUP as a process built around OO technology, there are a host of additional benefits….
  • 17. 23 17 1. Reducing Software Product Size:  C. Reuse  Always had ‘reuse’ with stored functions/subpgms  Many forms of reuse:  Old stuff: data descriptions; documents, and a host of similar, old artifacts, designs, architectures…  from all phases of software development  Common architectures; processes, common environments...  Very common during monolithic type development.  Differences in platforms / environments has hurt reuse potential  Common Microsoft platforms: - counter example  Linux; MACs, resulting from distributing applications!
  • 18. 23 18 C. Reuse (continued)  Main reason for Reuse or ‘lack’ thereof: money. (not addressing commercial components…)  Costs to build reusable and configure reusable components. Must be able to justify.  Can reuse be justified across many projects?  Some commercial organizations focused on selling commercial components.  Very few success stories for software component reuse • exceptions: operation systems, middleware, GUI Builders, other obvious ones.  Most developers do undertake some kind of reuse – just perhaps not as formalized…
  • 19. 23 19 1. Reducing Software Product Size:  D. Commercial Components  Major trend – buy commercial components.  Saves custom development  Usually needs tailoring  Certainly pros and cons.  Bottom line: may well have global impacts on: • quality • cost • supportability, and the • architecture.
  • 20. 23 20 APPROACH ADVANTAGES DISADVANTAGES Commercial Components Predictable license costs Frequent upgrades Broadly used, mature technology Up-front license fees Available now Recurring maintenance fees Dedicated support organizations Dependency on vendor Hardware/software independence Run-time efficiency sacrifices Rich in functionality Functionality constraints Integration not always trivial No control over upgrades or maintenance Unnecessary features that consume extra resources Often inadequate reliability and stability Multiple vendor incompatibilities Custom Development Complete change freedom Expensive, unpredictable development Smaller, often simpler implementations Unpredictable availability date Often better performance Underdefined maintenance model Control of development and enhancement Often immature and fragile Single-platform dependency
  • 21. 23 21 2. Improving Software Processes  Development projects are complex undertakings • Some activities done in parallel; others sequential. • Some activities: overhead; some production.  Production activities  the project itself – requirements elicitation and modeling, analysis, design, implementation…  Overhead activities  planning, progress monitoring, risk assessment, financial assessments, configuration control, quality assessment, integration, testing, late rework, management, personnel training, etc…. •  Objective: minimize overhead and direct these energies toward production activities.
  • 22. 23 22 2. Improving Software Processes – (cont.) • It is all about process! • A high-quality process reduces:  Required effort and thus schedule  Project time yet with improved quality.  Three generic improvement scenarios: • Improve efficiency of each step in process • Eliminate some steps in the process • Undertake the same number of steps, but employ concurrency where possible
  • 23. 23 23 2. Improving Software Processes - continued  First approach • more efficient steps – older approach - is good, • more ROI on second (fewer steps) and • third (concurrency in activities)  We want the highest quality system with fewest iterations in least time. • Must eliminate rework and late scrap – fixing things up! • Integration testing is culprit. • Fixing things up as a result of integration and system tests are killers!!!  Our Process must reduce the probability of late rework! • Does the RUP facilitate this? If so, How?

Editor's Notes

  1. There are many different definitions and uses for subsystems. This is the definition we will focus on in this course.