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