COMPONENT-BASED DEVELOPMENT

27
6-1 COMPONENT-BASED DEVELOPMENT The SDLC focuses only on the project at hand Component-based development (CBD) – focuses on building small self-contained blocks of code (components) that can be reused across a variety of applications CBD focuses on 1. Using already-developed components to build systems quickly 2. Building new components as needed that can be used in all future systems

description

COMPONENT-BASED DEVELOPMENT. The SDLC focuses only on the project at hand Component-based development (CBD) – focuses on building small self-contained blocks of code (components) that can be reused across a variety of applications CBD focuses on - PowerPoint PPT Presentation

Transcript of COMPONENT-BASED DEVELOPMENT

Page 1: COMPONENT-BASED DEVELOPMENT

6-1

COMPONENT-BASED DEVELOPMENT

The SDLC focuses only on the project at handComponent-based development (CBD) – focuses

on building small self-contained blocks of code (components) that can be reused across a variety of applications

CBD focuses on1. Using already-developed components to build

systems quickly

2. Building new components as needed that can be used in all future systems

Page 2: COMPONENT-BASED DEVELOPMENT

6-2

Component-Based Development Methodologies

Rapid application development (RAD)Extreme programming (XP)Agile methodology

Page 3: COMPONENT-BASED DEVELOPMENT

6-3

Rapid Application Development (RAD)

Rapid application development (RAD) (also called rapid prototyping) - emphasizes extensive user involvement in the rapid and evolutionary construction of working prototypes of a system to accelerate the systems development process

Prototypes are models of the software componentsThe development team continually designs,

develops, and tests the component prototypes until they are finished

Page 4: COMPONENT-BASED DEVELOPMENT

6-4

Rapid Application Development (RAD)

Build new software

components

Use already-existing software

components

Page 5: COMPONENT-BASED DEVELOPMENT

6-5

Extreme Programming (XP)

Extreme programming (XP) - breaks a project into tiny phases and developers cannot continue on to the next phase until the first phase is complete

Page 6: COMPONENT-BASED DEVELOPMENT

6-6

Agile Methodology

Agile methodology - a form of XP, aims for customer satisfaction through early and continuous delivery of useful software components

Page 7: COMPONENT-BASED DEVELOPMENT

6-7

SoA – An Architecture Perspective

Service-oriented architecture (SoA) – perspective that focuses on the development, use, and reuse of small self-contained blocks of code (called services) to meet all application software needs

All CBD methodologies adhere to an SoAServices are the same as components, which are

the same as small self-contained blocks of codeMore in Chapter 7

Page 8: COMPONENT-BASED DEVELOPMENT

6-8

SELFSOURCING

Selfsourcing (end-user development) – the development and support of IT systems by end users with little or no help from IT specialists

Do-it-yourself systems development approach Can relieve IT specialists of the burden of

developing many smaller systems

Page 9: COMPONENT-BASED DEVELOPMENT

6-9

Selfsourcing Approach

Is similar to traditional SDLCBig exception is that design, development, testing,

and implementation are replaced by the process of prototyping

Prototyping is the process of building models, and – in this case – continually refining those models until they become the final system

Page 10: COMPONENT-BASED DEVELOPMENT

6-10

Selfsourcing Approach

Page 11: COMPONENT-BASED DEVELOPMENT

6-11

Selfsourcing Advantages

Improves requirements determinationIncreases end user participation and sense of

ownershipIncreases speed of systems developmentReduces invisible backlog

Invisible backlog – list of all systems that an organization needs to develop but – because of the prioritization of systems development needs – never get funded because of the lack of organizational resources

Page 12: COMPONENT-BASED DEVELOPMENT

6-12

Selfsourcing Disadvantages

Inadequate end user expertise leads to inadequately developed systems

Lack of organizational focus creates “privatized” IT systems

Insufficient analysis of design alternatives leads to subpar IT systems

Lack of documentation and external support leads to short-lived systems

Page 13: COMPONENT-BASED DEVELOPMENT

6-13

The Right Tool for the Job

End users must have development tools that:Are easy to useSupport multiple platformsOffer low cost of ownershipSupport a wide range of data types

Page 14: COMPONENT-BASED DEVELOPMENT

6-14

PROTOTYPING

Prototype – a model of a proposed product, service, or system

Prototyping - the process of building a model that demonstrates the features of a proposed product, service, or system Proof-of-concept prototype - used to prove the

technical feasibility of a proposed systemSelling prototype - used to convince people of the

worth of a proposed system

Page 15: COMPONENT-BASED DEVELOPMENT

6-15

The Prototyping Process

The prototyping process involves four steps:1. Identify basic requirements

2. Develop initial prototype

3. User review

4. Revise and enhance the prototype

Page 16: COMPONENT-BASED DEVELOPMENT

6-16

The Prototyping Process

Page 17: COMPONENT-BASED DEVELOPMENT

6-17

Advantages of Prototyping

Encourages active user participation Helps resolve discrepancies among usersGives users a feel for the final systemHelps determine technical feasibility Helps sell the idea of a proposed system

Page 18: COMPONENT-BASED DEVELOPMENT

6-18

Disadvantages of Prototyping

Leads people to believe the final system will followGives no indication of performance under

operational conditionsLeads the project team to forgo proper testing and

documentation

Page 19: COMPONENT-BASED DEVELOPMENT

6-19

OUTSOURCING

Outsourcing – the delegation of specified work to a third party for a specified length of time, at a specified cost, and at a specified level of service

The third “who” option of systems development, after insourcing and selfsourcing

Page 20: COMPONENT-BASED DEVELOPMENT

6-20

OUTSOURCING

The main reasons behind the rapid growth of the outsourcing industry include the following: GlobalizationThe Internet Growing economy and low unemployment rateTechnology Deregulation

Page 21: COMPONENT-BASED DEVELOPMENT

6-21

Outsourcing Options

IT outsourcing for software development can take one of four forms:

1. Purchase existing software

2. Purchase existing software and pay the publisher to make certain modifications

3. Purchase existing software and pay the publisher for the right to make modifications yourself

4. Outsource the development of an entirely new and unique system for which no software exists

Page 22: COMPONENT-BASED DEVELOPMENT

6-22

Outsourcing Options

Page 23: COMPONENT-BASED DEVELOPMENT

6-23

Outsourcing Process

Like selfsourcing, the selfsourcing process looks similar to the traditional SDLC

Big exception here is that you “outsource” most of the work to another company

Page 24: COMPONENT-BASED DEVELOPMENT

6-24

Outsourcing Process

When outsourcing, you’ll develop two vitally important documents – a request for proposal and a service level

agreement

Page 25: COMPONENT-BASED DEVELOPMENT

6-25

Outsourcing Options

There are three different forms of outsourcing:1. Onshore outsourcing - the process of engaging

another company within the same country for services

2. Nearshore outsourcing - contracting an outsourcing arrangement with a company in a nearby country

3. Offshore outsourcing - contracting with a company that is geographically far away

Page 26: COMPONENT-BASED DEVELOPMENT

6-26

The Advantages and Disadvantages of Outsourcing

Advantages:Focus on unique core competenciesExploit the intellect of another organizationBetter predict future costsAcquire leading-edge technologyReduce costsImprove performance accountability

Page 27: COMPONENT-BASED DEVELOPMENT

6-27

The Advantages and Disadvantages of Outsourcing

Disadvantages:Reduces technical know-how for future innovationReduces degree of controlIncreases vulnerability of your strategic informationIncreases dependency on other organizations