1 / 19

Software Reusability An efficient way in Software Development

Software Reusability An efficient way in Software Development. By Tejaswi Peesapati www.tejaswi.co.nr. Re-Usability?. Building Software from reusable components. Components are not just “code” !!

anjelita
Download Presentation

Software Reusability An efficient way in Software 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. Software ReusabilityAn efficient way in Software Development By Tejaswi Peesapati www.tejaswi.co.nr

  2. Re-Usability? • Building Software from reusable components. • Components are not just “code” !! • Components include all the products in the SDLC, i.e., Requirements and proposals, specifications and designs, etc.,

  3. Why Reusability? • Increases Productivity • Increase Quality • Increases Reliability • Decreases Costs • Decreases Time

  4. Types of Reusability.. • Horizontal Reusability • Vertical Reusability

  5. Horizontal Reusability.. • Refers to Software Components having wide variety of applications. • For example, in Code, it can be Libraries, or any GUI functions. • Using Commercial Off-the-Shelf(COTS) or third party applications , falls under this category.

  6. Vertical Reusability.. • Neglected, but more potential. • Basic idea is to reuse system’s functional areas, or domains in other similar functional system. • Here, it can be a like a steering mechanism in cars [:p], for different models of same make.

  7. Creating Reusable Software.. • Reusability don’t just happen !! It should be made. • Sometimes, it is more managerial than technical to implement reusabilty.

  8. Development Process.. • Reusable components should be designed in a way that they can be used in future. • Typical ‘Contract Projects’ are built for one time use. Here Key Abilities are • Collect and Maintain reusable components repository. • Using reusable components in new/existing systems.

  9. Organizational Abilities.. • Resources and funding for Reuse Tasks. • Training on Reusable components to members. • Tech & Non Tech Aspects to Managers. • One should take responsibility to maintain repository.

  10. Technical Proficiency .. • Should be more than that of ordinary development. • Along with OOPS, Layered Archic., should be familiar with ‘Domain Analysis’(DA). • DA involves the identification of components in the variations of a common component. • Standard Coding Practices, Code Documentation also plays an Imp role.

  11. The Capital for Reusability.. • The costs are higher than regular one. • But is always advantage in long run of a component. • Initial capital may be Technical , Organizational and process changes, Cost of tools to support changes, training staff members, etc.,

  12. Domain Analysis & Sys. Arch.. • A group of experts are formed to implement Product Line Approach. • Domain is partitioned into individually developable components. • After DA, in System Architecture, a group creates interfaces in a way that they can be modified later without disturbing rest of the system • Clear & Complete Documentation of Arch. And Design is proposed and scrutinized by experts.

  13. Tools Required.. • Repositories should be maintained. • Tools should be developed to assist in integration of arch, design and products. • Configuration mgmt. tools should be used to track evolution of product line.

  14. People.. { We.. ;) } • Most important part of Reusability process. • They should understand the reusablilty concept, and benefits for best results. • Training programs to Staff members. • Takes twice the time to that of regular., so, mgmnt. Should encourage and reward. • Then importance & +ves of ReUse become popular.

  15. Advantages.. • Increased Reliability Components exercised in working systems. • Reduced Process Risk Less Uncertainty in development costs.

  16. Advantages.. • Effective Use of Specialists Reuse components, instead of people. • Accelerated Development Avoid original development, and hence speed-up production.

  17. Sooooooo • Reusability :: Reduces the costs, time to a greater extent. :: Increases quality, reliability Reusability has a great “Road Ahead..” !!

  18. Questions..???

  19. Thank You !!<<exit>>

More Related