COTS-Based System. Agenda Presentation –Project purpose –Introduction –COTS-Based System Types...

58
COTS-Based System

Transcript of COTS-Based System. Agenda Presentation –Project purpose –Introduction –COTS-Based System Types...

COTS-Based System

Agenda• Presentation

– Project purpose– Introduction– COTS-Based System Types– COTS-Based System Development Process

– Examples of COTS-Based System

– Examples of CBS Management– Benefits of COTS-Based System– Weakness of COTS-Based System– Conclusion

• Question• Exercise• Discussion

Project Purpose– To define COTS Products, COTS-Based

system – To show benefits and weakness of COTS-

Based system – To explain COTS-Based system

Development Process– To guide preparation and management of

COTS-Based system particularly in Evaluation and Maintenance Management.

Introduction

• COTS (Commercial Off The Shelf)• COTS Product <by Mutual Agreement Of SEI>

– is a software product that has been sold, leased, or licensed to the general public by a commercial entity in a business of making a profit from product with multiple identical copies available

– where integrators use the product without modification of its internals

– and the commercial entity provide product support and evolution.

• COTS-Based System (CBS) – Contains components of COTS-Products – Non-Developmental Items <NDI>– Multiple components and vendors

COTS-Based System Types

• Turnkey systems are built around a suite of commercial products, such as Microsoft Office or Netscape Navigator. Only one COTS is used, and customization does not change the nature of the initial COTS.

• Intermediate systems are built around one COTS (e.g. Oracle) but integrate other components, commercially or produced or developed in-house.

• Intensive systems are built by integrating several COTS, all on the same level of importance.

COTS-Based System Development Process

A New Look at COTS-Based Systems

Qualify Adapt Assemble Upgrade COTS Market

Selected products are qualified to be “fit for use” as

components

Qualified products are adapted to be components that can be integrated

Adapted components are assembled by using architecture, infrastructure, or middleware

Upgrades to the system occur as needed and are facilitated by proceeding steps

The market supplies products

Copyright 1997 Software Engineering Institute

CBS Life-Cycle

• Qualification

• Adaptation

• Assembly

• Upgrade

Qualification

• A process of evaluation and selection.

• Not only product but also vendor and technology must be qualified

Qualification (Cont’d.)

Product Considerations• Wide customer base• Continual improvement to stay in market• Usability and reliability • Open Interface • Supporting TOOLS• Useful documentations

Qualification (Cont’d.)

Vendor considerations• Relationship• Maintenance ability• Training ability• Development Certification• Product release plan

Qualification (Cont.)

System Context considerations• Requirements • Constraints• Previous products <COTS-Based or Non-

COTS-Base>

Adaptation

• Adaptation in CBS is not modification • Process of adapting the COTS Products to fit

the requirements• Sometimes the legacy system must be

adapted to fit the products. • COTS Products are black-boxes that have no

source code, so some functions are written using “glueware” or “wrappers,” passing by API or SQL standards to make them compatible.

Assembly

• Process of integration among the products by using “wrappers” or “gluewares”

• Component combined to other components might be COTS Product or Non-COTS Product

Upgrade

• Involves upgrade product versions• Involves upgrade technology• The longest life phase• Repeatable• The most expensive phase • Driven by external environment such as

vendor and Technology change.

Development Process Outlines

• System analysis

• Product selection

• Product evaluation

• System Design

• Integration

• Testing

• Maintenance

Example of CBS Development Process

information flow – bidirectionalsequence

hard requirements

processprocess check or review

traditional waterfall development separate entity

ExternalInformation Vendor

RequirementsAnalysis

SystemRequirements

Review

PackageIdentificationEvaluation/Selection

IdentifyGlueware and

IntegrationRequirements

SystemDesignReview

WriteGlueware

andInterfaces

IntegrationandTest

Non-COTSDevelopmentSystem

Architecture

Discrepancy

Resolution

TargetSystem

Installation andAcceptance

Test

SustainingEngineering

Key:

Publication of investigating and improving CBS Development Process

CBS Roles & Responsibilities

Qualify Adapt Assemble Update COTS Market

Copyright 1997 Software Engineering Institute

Roles & ResponsibilitiesRole Responsibilities

Project leader -Project Management

Marketing -Market research of COTS Products-Licenses negotiation-Vendor relationship

System Analyst -System analysis-Product selection and evaluation-Impact analysis

System Design -Design a system and integrated parts

Developer -Programming

-System test

Logistic support -Install system

-Backup, and Recovery system

Process Engineer -CBS Techniques and management tools-Development Process -System Configuration

Fundamental change of CBS approach

Key Activity Area

• Engineering

• Business

• Contract

• Program-wide

<Software Engineering Institute, Carnegie Mellon University>

Key Activity Area

Engineering Activities• System context• Marketplace• Architecture and Design• Construction• Configuration• Sustainment• Evaluation

Key Activity Area

Business Activities• Business Case

• Estimate cost

• Maintain vendor relationship

Key Activity Area

Contract Activities• Contract requirement

• Solicitation

• Contract tracking and oversight

• License negotiation

Key Activity Area

Program-wide Activities• CBS Strategy

• Risk Management

• Tradeoffs

• Cultural transition

• Information Sharing

COTS Intensive System Evaluation

• Formative Evaluation

• Ensemble Evaluation

• Continuous Evaluation

• Business Evaluation

• Exploratory Evaluation

Formative vs. Normative Evaluation

Ensemble Evaluation

Continuous Evaluation

Continuous Evaluation (Cont’d.)

Continuous Evaluation (Cont’d.)

Business Evaluation

Exploratory Evaluation

CBS Maintenance Management

• Risks

• Management Activities

<Electronic Systems Center>

Risks in Maintenance phase

• Risk from upgrading product version

• Risk from product modification

• Risk from Technology change

• Multiple-COTS Products

• Quality viewed by supplier

Management Activities

• Market research

• Impact Analysis

• Configuration

• Logistic support

Market ResearchGuidance:• How often are new versions released?• How long are the products in market and how

stable are they?• How will new versions impact the other sites?• What are the responses from other sites using

the same products?• What are the responses of the products and

the services from other purchaser using products developed from same vendor as ours?

• What is the direction of development of hardware and software?

Impact Analysis

The results from a market research are analyzed what the impact might happen and finally the impact protection activities must be defined.

Configuration

• Keep track all versions or releases of the products and product information and always having copy of every released.

• Vendor information.• Referenced site information.• Activity information• What activities have been done, when, and by

whom?• What are the results of each release?

Logistic Support

• This activities include the acquisition, distribution, and installation of copies of upgraded COTS-Products. It also includes the re-installation when the upgraded version corrupts.

Example of COTS-Based System

Developer CBS System

EDO Cooperation Combat System

U.S. Navy Radar Tracking System

NASA •EPOCH2000 Satellite Ground System•LABVIEW•Advanced Orbiting System

URL: http://joy.gsfc.nasa.gov/MSEE/tooleval.htm

Examples of CBS Management

• CURE <COTS Usage Risk Evaluation>

CURE <COTS Usage Risk Evaluation>

• Offered by Software Engineering Institute• Focused on evaluation of CBS

development project. • Given during the early stages of a

program and can even before a specific vendor has been chosen.

• Evaluated risk reports are delivered 2 weeks after onsite visit

Benefits of COTS-Based System

• To Improve software development process

• To reduce coding, debugging, unit testing, code inspection

• To reduce software life-cycle

• To reduce development cost

Weakness of COTS-Based System

A new COTS-based System!

Copyright 1997 Software Engineering Institute

But Wait! An Upgrade!

Copyright 1997 Software Engineering Institute

No problem! I’ll make it fit!

Copyright 1997 Software Engineering Institute

Out of

Business

All done. (Maybe not)

Copyright 1997 Software Engineering Institute

The moral of the story is…

• Integration is not a one time event.

• The COTS marketplace drives continuous system upgrade.

• Systems must be engineered to accommodate marketplace imperatives.

Copyright 1997 Software Engineering Institute

Conclusion• CBS – A new technology to improve software

development process by integrating the previous Off-the-shelf products into a larger system.

• CBS benefit to improve software development process, reduce time and cost.

• CBS differs from Custom-Based Design System in many terms- Life cycle, Process, Activities, Role, Management, and Risk.

• To approach CBS all activities in the areas of system context, architecture & design, and marketplace are considered simultaneously

• New engineering activities, managing activities , methodologies, supporting tools, today, are researched for a CBS Success.

References1. COTS Base System Initiative

By Carnegie Mellon University URL: http://www.sei.cmu.edu/cbs/index.html

2. SEI MONOGRAPHS ON THE Use of Commercial Software in Government Systems.Case Study: Evaluating COTS Products for DoD Information Systems. By Carol Sledge and David Carney <Carnegie Mellon University> URL: http://www.sei.cmu.edu/cbs/index.html

3. The Basic for COTS Software Evaluation: Foundation for the design of CISBy Kurt C. Wallnau <Carnegie Mellon University>URL: http://www.sei.cmu.edu/cbs/index.html

4. A Management Guide to Software Maintenance in COTS-Bases system By: Judith A. Clapp and Audrey E. Taub<Electronic Systems Center> URL:http//www.mitre.org/resources/conters/sepo/sustainment/manage_guide_cotsbase.html

5. An Activity Framework for COTS-Based Systems. By: Lisa Brownsword, Patricia Oberndorf, and Carol A.Sledge <Software Engineering Institute, Carnegie Mellon University>URL: http://www.stsc.hill.af.mil/CrossTalk/2000/sep/brownsword.asp

 

References (Cont’d)6. Investigating and Improving a CBS Development Process

By M. Morisio1, C.B. Seaman3,4, A. T. Parra2, V.R. Basili1,4, S.E. Kraft5, S.E. Condon2

1 University of Maryland

College Park, MD 20742, USA, {morisio, basili}@ cs.umd.edu 2 Computer Sciences Corporation,

Greenbelt, MD 20771, USA, {aparra, scondon} @ csc.com3 University of Maryland Baltimore County,

Baltimore, MD 21250, USA, [email protected] Center Maryland,

College Park, MD 20742, USA, basili@ fc-md.umd.edu5 NASA/Goddard Space Flight Center,

Greenbelt, MD 20771, USA, stkraft@ gsfc.nasa.gov

http://www.research.umbc.edu/~cseaman/papers/icse00.doc

Question

Exercise

Exercise

CBS Case Study: Military Information System

•System Requirements

•Constraints

•Product Evaluations activities

•Results of evaluations

•Problems

Class Discussion

DISSCUSSION TOPICS

• Do you think what is the weakness or might be the problems of RAMESES Method?

• How custom-based design system differs from COTS- Based system in term of project planning?

• Is CBS project management more complicate or simple than custom-based design system?