Thursday, 29 December 2011

Tips for Effective Software Reuse :


Tips for Effective Software Reuse:

Anyone who has spent time building software in an organization will tell you that achieving software reuse is extremely challenging. Large scale, systematic reuse is even harder in an organization. As a developer with deadlines to meet and functionality to deliver it is challenging to keep reuse as a priority. If you are a team lead this situation is worse - now you have to meet sponsor needs, deliver functionality on time and within budget, and manage the development team. Reuse, what reuse?

Reuse-Based Software Engineering :


Reuse-based software engineering:
      Application system reuse
      The whole of an application system may be reused either by incorporating it without change into other systems or by developing application families
      Component reuse
      Components of an application from sub-systems to single objects may be reused
      Function reuse
      Software components that implement a single well-defined function may be reused

Examples of Software Reuse:


Example: 1 . ENGINEER'S TASKS
Reuse requires new job roles and different tasks for the engineer. This will be illustrated with an analogy to the task of home construction. The advent of prefabricated parts for home construction has provided home builders with a less costly alternative to construction from scratch. Home builders can rely upon standard parts which may be used to construct homes in a much shorter time than historically possible. However before such prefabricated parts are made available to the home builder, they must be specified, designed and created.

Process of Software Reuse :


PROCESS OF REUSE
Experience has shown that reuse is not merely creating a repository, having engineers deposit assets and hoping that other engineers will reuse the repository's contents. Rather, successful implementation of reuse requires an infrastructure to support reuse. A critical aspect of the infrastructure is the process of reuse.
Process of Software Reuse
In its simplest form, the process of reuse consists of four major activities: manage the reuse infrastructure (MRI), produce reusable assets (PRA), broker reusable assets (BRA) and consume reusable assets (CRA).

Types of Software Reuse, Software Assets?


Types of Software Reuse:
Opportunistic reuse - While getting ready to begin a project, the team realizes that there are existing components that they can reuse.
      Planned reuse - A team strategically designs components so that they'll be reusable in future projects.
Opportunistic reuse can be categorized further:
  • Internal reuse - A team reuses its own components. This may be a business decision, since the team may want to control a component critical to the project.
  • External reuse - A team may choose to license a third-party component. Licensing a third-party component typically costs the team 1 to 20 percent of what it would cost to develop internally. The team must also consider the time it takes to find, learn and integrate the component.

What is Software Reuse?


Software reuse: Ad hoc code reuse has been practiced from the earliest days of programming. Programmers have always reused sections of code, templates, functions, and procedures. Software reuse as a recognized area of study in software engineering, however, dates only from 1968 when Douglas McIlroy of Bell Laboratories proposed basing the software industry on reusable components.

What is FTP?


INTRODUCTION
PURPOSE : FTP (File Transfer Protocol) is the generic term for a group of computer programs aimed at facilitating the transfer of files or data from one computer to another. It originated in the Massachusetts Institute of Technology (MIT) in the early 1970s when mainframes, dumb terminals and time-sharing were the standard.