1 / 27

COMPONENT-BASED DEVELOPMENT

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

sari
Download Presentation

COMPONENT-BASED DEVELOPMENT

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. 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 • Using already-developed components to build systems quickly • Building new components as needed that can be used in all future systems

  2. Component-Based Development Methodologies • Rapid application development (RAD) • Extreme programming (XP) • Agile methodology

  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 components • The development team continually designs, develops, and tests the component prototypes until they are finished

  4. Rapid Application Development (RAD) Use already-existing software components Build new software components

  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

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

  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 SoA • Services are the same as components, which are the same as small self-contained blocks of code • More in Chapter 7

  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

  9. Selfsourcing Approach • Is similar to traditional SDLC • Big 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

  10. Selfsourcing Approach

  11. Selfsourcing Advantages • Improves requirements determination • Increases end user participation and sense of ownership • Increases speed of systems development • Reduces 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

  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

  13. The Right Tool for the Job • End users must have development tools that: • Are easy to use • Support multiple platforms • Offer low cost of ownership • Support a wide range of data types

  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 system • Selling prototype - used to convince people of the worth of a proposed system

  15. The Prototyping Process • The prototyping process involves four steps: • Identify basic requirements • Develop initial prototype • User review • Revise and enhance the prototype

  16. The Prototyping Process

  17. Advantages of Prototyping • Encourages active user participation  • Helps resolve discrepancies among users • Gives users a feel for the final system • Helps determine technical feasibility  • Helps sell the idea of a proposed system

  18. Disadvantages of Prototyping • Leads people to believe the final system will follow • Gives no indication of performance under operational conditions • Leads the project team to forgo proper testing and documentation

  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

  20. OUTSOURCING • The main reasons behind the rapid growth of the outsourcing industry include the following: • Globalization • The Internet • Growing economy and low unemployment rate • Technology • Deregulation

  21. Outsourcing Options • IT outsourcing for software development can take one of four forms: • Purchase existing software • Purchase existing software and pay the publisher to make certain modifications • Purchase existing software and pay the publisher for the right to make modifications yourself • Outsource the development of an entirely new and unique system for which no software exists

  22. Outsourcing Options

  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

  24. Outsourcing Process When outsourcing, you’ll develop two vitally important documents – a request for proposal and a service level agreement

  25. Outsourcing Options • There are three different forms of outsourcing: • Onshore outsourcing -the process of engaging another company within the same country for services • Nearshore outsourcing - contracting an outsourcing arrangement with a company in a nearby country • Offshore outsourcing - contracting with a company that is geographically far away

  26. The Advantages and Disadvantages of Outsourcing • Advantages: • Focus on unique core competencies • Exploit the intellect of another organization • Better predict future costs • Acquire leading-edge technology • Reduce costs • Improve performance accountability

  27. The Advantages and Disadvantages of Outsourcing • Disadvantages: • Reduces technical know-how for future innovation • Reduces degree of control • Increases vulnerability of your strategic information • Increases dependency on other organizations

More Related