newmethod18a

Download Report

Transcript newmethod18a

Java, the Web,
and Software Development
Edward Yourdon
Computer, Aug96
text 535-540
newmethod18a
1
The BIG Deal
 “the
big deal is the elimination of “fatware”
and the growth of a global cottage industry
associated with the creation of Java
components.”
 “The real paradigm shift, in my opinion, will
be the replacement of purchased software
packages with transaction-oriented rental of
Java applets attached to web pages”
newmethod18a
3
Group Discussion
 Is Yourdon’s
rental view correct?
 Yourdon
is not the only one with the rental view.
Another author suggested that if we enforce peruse charges, many developers will package small
algorithms for market. Developers will re-use
these in other code and pass the use charges on to
the original developers
newmethod18a
4
Managing Domain-Specific,
Product-Line Development
Macala, etal
IEEE Software May 96
text pp548-557
newmethod18a
5
Product-line Development
 “seeks
to achieve reuse across a domain, or
family, of systems”
 “separates the software-development
process into two separate life cycles:
domain engineering, which aims to create
reusable assets, and application engineering,
which fields systems using those assets”
newmethod18a
6
RSP
 Software
Productivity Consortium’s ReuseDriven Software Process
– “A method for defining, analyzing, specifying,
and implementing a domain that encompasses a
software product line”
newmethod18a
7
Domain Engineering
 “grows
the domain through a series of
iterations in response to the needs of the
application-engineering organizations”
 Significant investment
newmethod18a
8
Lessons Learned (1)
 1.
Don’t skip analysis and planning
 2. Don’t compromise your skill
requirements
 3. Adding staff during iterations slows
progress
 4. The lack of standard development
practices inhibits progress
newmethod18a
9
Lessons Learned (2)
 5.
There is no adequate substitute for
experience when learning RSP (ojt)
 6. Existing procurement models do not
readily support product-line development
 7. Existing software organizational
structures conflict with a product-line focus
newmethod18a
10
Class Discussion
 Is
product-line development useful as a
general approach?
 What
economic/environmental factors
would favor product-line development?
newmethod18a
11
Experiences of a
Software Reuse Project
Isoda
J. of Systems and Software, Sep95
text pp558-573
newmethod18a
12
Re-use Ratio
 Reused
/ (new + reused + modified)
– Based on size of modules
 New
= newly developed
 Reused = taken from reuse library
 Modified = modified units of base program
 No change = unmodified units of base
program
newmethod18a
13
Average reuse ratio
 Initially
 16%
3%
in 4th year (below goal)
 Average
size of reused module increased to
600 loc
newmethod18a
14
Library usage
frequency – ratio of yearly sum of
reuse frequencies to number of modules
stored
 1st – 0.18 to 4th - 0.28
 Active module ratio – ratio of number used
at least once to number of modules stored
 Stayed at 0.18
 Reuse
newmethod18a
15
Fig 15 p568
 Total
costs of conventional and reuse-based
development
newmethod18a
16
Class Discussion
 What
was different between this reuse and
product-line development?
 What
economic/environmental factors
encourage reuse?
newmethod18a
18