1 / 11

Investigating and Improving a COTS-based Software Development Process

Investigating and Improving a COTS-based Software Development Process. Morisio, Seaman, Parra, Basili, Kraft, Condon icse 2000. History. 15 projects at NASA/GSFC guided by Software Engineering Laboratory (SEL).

Télécharger la présentation

Investigating and Improving a COTS-based Software Development Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Investigating and Improving a COTS-based Software Development Process Morisio, Seaman, Parra, Basili, Kraft, Condon icse 2000

  2. History • 15 projects at NASA/GSFC guided by Software Engineering Laboratory (SEL). • SEL developed a process for COTS-based development for FDD. It was studied by FDD, modified. Another process was developed together with SEL.

  3. What is a COTS? • A software product supplied by a vendor that is integrated into the system. • COTS-based development: rapid configuration of systems based on COTS packages or GOTS (Government-Off-The-Shelf) packages, and some custom-build reusable packages.

  4. 3 Types of COTS-based Systems • Defined by Carney: • Turnkey systems: Build around a suite of commercial products such as Microsoft Office. Customization does not change the nature of the initial product. • Intermediate systems: Built around one COTS but integrate other (also developed in-house) • Other: Built on several COTS with same importance.

  5. Study of the Actual Process • Structured interviews using the GQM approach. • All projects in 2. and 3.category of Carney definition.

  6. Differences between COTS projects and traditional projects • 3 types of differences: • New activities: product evaluation, product familiarization, vendor interaction. New roles. • Reduced activities: coding, debugging, unit testing. • Modified activities: integration of pieces, compatibility, configurability. • More effort on integration and test, less on design and coding.

  7. Major Issues for COTS projects • Dependence on vendor: slippage in schedules, poor documentation, Vaporware, no control on modifications, communication • Flexibility in requirements: Some requirements may be fulfilled by COTS, some not.

  8. New COTS Process • Main phases are: • Requirement • Design • Coding • Integration

  9. Requirement • Make versus buy decision I: technical and non-technical issues, • Requirement definition • COTS identification and selection • COTS familiarization: learn about COTS • Feasibility study: describe the product on a high level, an effort estimation, a risk assessment model. Both for COTS and non-COTS. • Make versus buy decision II • Requirement review

  10. Design • Definition of architecture and integration issues at lower level of details • Decision on glueware • Re-estimate cost and risk • Review

  11. New Roles • Cost Team at the organization level: • Evaluation and selection of COTS • History of COTS evaluations • COTS usage database • Buying of COTS • Single point of contact with vendors

More Related