Who we are – what we do - Department of Computer and

advertisement
Seminar on CBSE (component-based
software engineering):
An industrial survey in Norway, Germany and Italy
Simula Research Lab., Oslo, 4 Feb. 2005
http://www.idi.ntnu.no/grupper/su/cbse-survey/
Reidar Conradi
Dept. Computer and Information Science (IDI)
NTNU, NO-7491 Trondheim
conradi@idi.ntnu.no, Tel +47 73.593444, Fax +47 73.594466
CBSE seminar, Simula Research Lab., 4 Feb. 2005
1
Agenda for CBSE-seminar
1130-1200 LUNCH and REFRESHMENTS, buffet syle
1200-1215 Reidar Conradi, NTNU: general intro, why is CBSE important?
1215-1230 Christian Bunse, Fraunhofer IESE: CBSE: a short overview.
1230-1245 Maurizio Morisio, Politecnico di Torino: COTS and OSS: what is it?
1245-1300 Preliminary discussion
1300-1400 Jingyue Li et al., NTNU: Main results from survey
Section 1: COTS vs. OSS
Section 2: Risk management in OTS based development
Section 3: Process improvement for OTS based development
1400-1430 Preliminary discussion
1430-1435 Reidar Conradi, NTNU: lottery award ceremony for one respondent
1435-1500 COFFEE BREAK
1500-1530 Additional and more qualitative comments from three companies:
- Per Spilling, Objectware
- Eivind Tagseth, Abeo (ex-ConsultIT)
- Rune Rysstad, WM-data
1530-1545 Odd Petter Slyngstad, NTNU: Method issues in the survey
1545-1615 Final discussion
CBSE seminar, Simula Research Lab., 4 Feb. 2005
2
Int’l CBSE survey, 2003-2005
• This is the promised seminar for the survey respondents!
• What's in it for you:
–
–
–
–
learn how to practise CBSE more efficiently
identify the major risks and challenges in using CBSE
learn from other industrial projects
exchange CBSE experiences with industrial colleagues
• Target audience:
– software professionals and companies that have practiced or want to
practice CBSE
– researchers that want to learn about issues and results
– journalists that want to convey main results back to the ICT community
CBSE seminar, Simula Research Lab., 4 Feb. 2005
3
Motivation for CBSE
Software reuse:
• Any software artifact: rqmts, UML designs, Java code, …
• Development ”FOR reuse”: making software parts for
later reuse. Investing, need domain insight.
• Development ”WITH reuse” (CBSE): composing a
software system with pre-made parts. Harvesting.
• Component = executable software part, open/closed source:
– internal
– external: COTS (commercial-Off-The-Shelf)
– external: OSS (open source software)
100,000s of external ”OTS”-components, available on web.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
4
Component-based system:
Application + components + glue/addware
CBSE seminar, Simula Research Lab., 4 Feb. 2005
5
Reuse/CBSE – key technology for:
• Shorter time-to-market (months)
• Increased productivity / lower cost (pays off in
3rd project, in 1st with CBSE)
• Better quality (well-tested components)
• Promoting standards (domain, architecture,
platform)
• ...
• But may have to adjust the software process
CBSE seminar, Simula Research Lab., 4 Feb. 2005
6
Many CBSE challenges:
• OTS components used by 30% of Norwegian software
projects, 75% are successful. Need guidance.
• How to manage risks at different levels – project,
requirements, architecture, components, ...?
• Process changes: overall planning, increments,
requirements management, ”acquire vs. develop”,
customer contact, component decisions, …
• How to evaluate, integrate and test components?
• What is the impact on future maintenance?
• How to manage external providers?
• …
CBSE seminar, Simula Research Lab., 4 Feb. 2005
7
Need empirical base for what works or not
• Case studies / post-mortems:
– Many reported, also in books [Karlsson95].
– At Ericsson-Grimstad: reused components had less
defects, more stable than non-reused ones (Ex.1).
– Top 10 COTS issues (Ex.2) [Basili01].
• Controlled experiments:
– Hard to apply here, due to lack of realism.
• Surveys w/ questionnaires or interviews:
– A few studies (Ex.3), including our own.
– OSS survey in Italy [Bonaccorsi03].
CBSE seminar, Simula Research Lab., 4 Feb. 2005
8
Ex.1 GPRS/UMTS system at Ericsson-Grimstad
Application A
Application B
Application-specific
components
Business Specific
Middleware
(& Component Framework)
System Platform
Reused components
in PhD work
[Mohagheghi04]
Reused, but
considered as
COTS and OSS here
CBSE seminar, Simula Research Lab., 4 Feb. 2005
9
Ex.2 10 hypotheses on COTS issues [Basili01].
H1: More than 99% of all executing instructions come from COTS
components.
H2: More than half the features in large COTS components go
unused.
H3: Average COTS component has new release every 8-9 months.
H4: Dev. and post-deployment costs go by (#COTS comp.)**2.
H5: Post-deployment costs exceed development costs.
H6: Glue-code less than half dev. effort, costing 3x more per LOC.
H7: Non-development costs, e.g. licensing fees, are significant.
H8: Component assessment and tailoring efforts vary greatly by
COTS product classes.
H9: Personnel capability and experience are dominant cost factors.
H10: COTS-based development is currently high-risk, although many
have used it successfully.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
10
Ex.3 COTS usage contradicts “common wisdom”
Structured interviews of 7 Norwegian and Italian SMEs:
Thesis T1: Open-source software is often used as closed source.
Thesis T2: Integration problems result primarily from lack of
compliance with standards; not architectural mismatches.
Thesis T3: Custom code is mainly devoted to add functionalities.
Thesis T4: Formal selection seldom used; rather familiarity with
product or generic architecture.
Thesis T5: Architecture more important than requirements to
select components.
Thesis T6: Tendency to increase level of control over vendor
whenever possible.
See [Torchiano04].
CBSE seminar, Simula Research Lab., 4 Feb. 2005
11
Joint CBSE survey in 3 countries
• By NTNU/Simula Research Lab,
Fraunhofer IESE, and Politecnico di Torino.
• Pre-study of 16 projects in Norway in 2003.
• Questionnaire in native language + English,
using SESE web tool at Simula.
• Asking 800-900 companies in 3 countries,
aim for 150 reponses (40% of 30%?).
• Have ca. 80 responses, 50 from Norway.
• Main study: May 2004 - March 2005.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
12
Main results
• 30% of the IT companies had applied CBSE.
• 3/4 of projects in these had success with CBSE.
• Most projects searched the Internet for components,
then tried out a few, before making a decision.
• An incremental process is advisable to allow
(re)negotiation of requirements.
• Component quality is not always a major concern.
• Local expert on the actual components is a big asset.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
13
Other results
• OSS components (open source) might be
preferred, as they allow local changes.
• COTS providers gave better technial support than
OSS ones.
• COTS components generally followed market
trends.
• Underestimation of integration and maintenance
effort was a problem.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
14
Conclusion
• First representative, int’l CBSE survey
• Many interesting results, some surprising (webbased evaluation process)
• Later supplement by qualitative interviews and
real case studies, also look at WebServices
• Re-do survey in UK and USA?
• Surveys (as any other studies) are hard work!
CBSE seminar, Simula Research Lab., 4 Feb. 2005
15
Literature list (1)
•
•
•
•
•
•
•
•
•
[Basili01] Victor R. Basili and Barry Boehm, “COTS-Based Systems Top 10 List”, IEEE
Computer, 34(5):91-93, May/June 2001.
[Boehm99] Barry W. Boehm and Chris Abts, “COTS integration: Plug and Pray?”, IEEE
Computer, 32(1):135-138, Jan. 1999.
[Boehm03b] Donald J. Reifer, Victor R. Basili, Barry W. Boehm, and Betsy Clark, “Eight
Lessons Learned in COTS-based Systems Maintenance”, IEEE Software, 20(5):94-96, Sept./Oct.
2003.
[Bonaccorsi03] Andrea Bonaccorsi and Cristina Rossi, "Why Open Source software may
succeed”, Research Policy, 32(7):1243–1258, 2003.
[COCOTS00] Chris Abts, Barry W. Boehm, and Elizabeth Bailey Clark, “COCOTS: A COTS
Software Integration Lifecycle Cost Model- Model Overview and Preliminary Data Collection
Findings”. Technical report: USC-CSE-2000-501,
http://sunset.usc.edu/publications/TECHRPTS/2000/usccse2000-501/usccse2000-501.pdf.
[Comella-Dorda02] Santiago Comella-Dorda, John C. Dean, Edwin Morris, and Patricia
Oberndorf, “A Process for COTS Software Product Evaluation”, First Int’l Conference on COTSBased Software Systems (ICCBSS’02), Orlando, FL, USA, February 4-6, 2002, Springer Verlag
LNCS 2255, ISBN 3-540-43100-4, pp. 176-187.
[Heineman00] George T. Heineman, William T. Councill, Janet S. Flynt, Alok Mehta, John R.
Speed, and Mary Shaw, “Component-based software engineering and the issue of trust”, 22nd Int’l
Conference on Software Engineering (ICSE’2000), Limerick, Ireland, IEEE-CS Press, 4-11 June
2000, pp. 661-664.
[Frakes95] William B. Frakes and Christopher J. Fox, “Sixteen Questions About Software
Reuse”, CACM, 38(6):75-87, June 1995.
[Karlsson95] Even-André Karlsson (Ed.), "Software Reuse: A Holistic Approach" (The REBOOT
Methodology Handbook), Wiley Series in Software Based Systems. John Wiley. 510 p., 1995. ISBN
0-471-95819-0.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
16
Literature list (2)
•
•
•
•
•
•
•
•
[Li04] Jingyue Li, Finn Olav Bjørnson, Reidar Conradi, and Vigdis By Kampenes, "An Empirical
Study of Variations in COTS-based Software Development Processes in Norwegian IT Industry", 10th
IEEE International Metrics Symposium (Metrics'04), Sept. 14-16, 2004, Chicago, p. 72-83. Recommended
for journal publication in Empirical Software Engineering. This contains results from the pre-study in
Norway in 2003.
[Li05] Jingyue Li, Reidar Conradi, Odd Petter N. Slyngstad, Christian Bunse, Marco Torchiano,
and Maurizio Morisio, "Preliminary Results of a State-of-the-Practice Survey on Motivations of Using
Off-The-Shelf Components", Submitted to 6th International Conference on Product Focused Software
Process Improvement (PROFES'2005), 13-16 June, 2005, Oulu, Finland, 17 p. This serves as the technical
report of the main study in 2004, the OTS survey.
[Mohagheghi04] Parastoo Mohagheghi, Reidar Conradi, Ole M. Killi, and Henrik Schwarz, "An
Empirical Study of Software Reuse vs. Defect Density and Stability", 26th Int’l Conference on Software
Engineering (ICSE'2004), 23-28 May 2004, Edinburgh, Scotland, IEEE-CS Press, pp. 282-292 (given one
of the five Distinguished Paper Awards at ICSE’04).
[Morisio00] Maurizio Morisio, Carolyn B. Seaman, Amy T. Parra, Victor R. Basili, Steve E. Kraft,
and Steven E. Condon, “Investigating and Improving a COTS-Based Software Development Process”,
22nd Int’l Conference on Software Engineering (ICSE’2000), Limerick, Ireland, IEEE-CS Press, 4-11
June 2000, pp. 31-40.
[Morisio02] Maurizio Morisio, Michel Ezran, and Colin Tully, “Success and Failure Factors in
Software Reuse”, IEEE Trans. on Software Engineering, 28(4):340-357, April 2002.
[Ropponen00] Janne Ropponen and Kalle Lyytinen, “Components of Software Development Risk: How
to Address”, IEEE Trans. on Software Engineering, 26(2):98-111, Feb. 2000.
[Szyperski03] Clemens A. Szyperski, “Component Technology - What, Where, and How?”, 25th Int’l
Conference on Software Engineering (ICSE’2003), Portland, Oregon, USA, IEEE-CS Press, 3-10 May
2003, pp. 684-693.
[Torchiano04] Marco Torchiano and Maurizio Morisio, "Overlooked Facts on COTS-based
Development", IEEE Software, 21(2):88-93, March/April, 2004.
CBSE seminar, Simula Research Lab., 4 Feb. 2005
17
Download