You are on page 1of 16

Metodologa de desarrollo de software

TRES DEFINICIONES
1. son un conjunto de procedimientos, tcnicas y ayudas para el desarrollo de productos software. En si
pasos naturales o lgicos para la construccin de software
2. se definen como un con junto de pasos como anlisis diseo desarrollo implementacin pruebas y
implantacin llamados ciclo de vida como una definicin general
3. Es conjunto ordenado de pasos a seguir para llegar a la solucin de un problema u obtencin de un
producto sea el software, son tambin los pasos generales que sigue el proceso de desarrollo de un
producto software
Las metodologas de desarrollo de software son un conjunto de procedimientos, tcnicas y ayudas a la
documentacin para el desarrollo de productos software
En esta ocasin me gustara hacer nfasis en la importancia que tiene el uso de metodologas de
desarrollo de software a un nivel de introduccin bsica. Tenemos a continuacin el clsico chiste acerca
de la implementacin de soluciones de cmputo:

Pero la contra al chiste clsico de la implementacin de soluciones de cmputo puede lograrse utilizando
metodologas de ingeniera y arquitectura de software, logrando que los proyectos lleguen finalmente a
ser exitosos desde los puntos de vista de objetivos de negocio, costos, funcionalidad, sencillez y
capacidad de soporte.
En general las metodologas llevan a cabo una serie de procesos comunes que son buenas prcticas para
lograr los objetivos antes mencionados independientemente de cmo hayan sido diseadas. Las fases que
agrupan estos procesos son las siguientes:
Anlisis
Especificacin
Diseo
Programacin
Prueba
Documentacin
Mantenimiento
Reingeniera
As mismo las diferentes metodologas tienen diversos ciclos de vida del desarrollo de software, los
modelos ms comnmente utilizados son los siguientes:
Modelo en cascada
Modelo en espiral
Modelo de prototipos
Mtodo en V

Desarrollo por etapas


Escribir ms adelante acerca de cada una de las metodologas mencionadas a continuacin de forma
ms extensa posteriormente, por lo pronto dejar abierta la investigacin a los lectores acerca de los
diferentes marcos de trabajo y metodologas formales de desarrollo de software. Las metodologas a
tratar desde el punto de vista de la arquitectura de software y la administracin de proyectos sern las
siguientes:
PROCESOS DE PRODUCCION COMERCIAL
Metodologas tradicionales
Capability Maturity Model (SW-CMM)
Capability Maturity Model Integration for Development (CMMI-DEV)
Big Design Up Front (BDUF)
Cleanroom Software Engineering
Rational Unified Process (RUP)
Su objetivo es garantizar la produccin de alta calidad
software que satisfaga las necesidades de sus usuarios finales, dentro de un calendario y el presupuesto
previsible. software que satisfaga las necesidades de sus usuarios finales, dentro de un calendario y el
presupuesto previsible
Essential Unified Process for Software Development (EssUP)
Fusebox Lifecycle Process (FLiP)
Software Process Improvement and Capability dEtermination (SPICE)

Introduccin a Microsoft Solutions Framework

El Microsoft Solutions Framework proporciona un sistema de modelos, principios, y pautas para dar
soluciones a empresas que disean y desarrollan de una manera que se asegure de que todos los
elementos de un proyecto, tales como gente, procesos, y herramientas, puedan ser manejados con xito.
Modelo de Proceso MSF
El modelo de proceso MSF combina los mejores principios del modelo en cascada y del modelo en espiral.
Combina la claridad que planea el modelo en cascada y las ventajas de los puntos de transicin del
modelo en espiral.
El Modelo de proceso MSF consta de cinco fases distintas:
Previsin
Planeamiento
Desarrollo

Estabilizacin
Implementacin

Mtrica 3:
es una Metodologa de Planificacin, Desarrollo y Mantenimiento de Sistemas de Informacin.
Puede ser utilizada libremente con la nica restriccin de citar la fuente de su propiedad intelectual: el
Ministerio de Administraciones Pblicas. Este Ministerio, desde el Consejo Superior de Informtica, ofrece
as un instrumento para la sistematizacin de las actividades que dan soporte al ciclo de vida del software
en el desarrollo de Sistemas de Informacin. Su aplicacin pretende los siguientes objetivos:
Proporcionar o definir Sistemas de Informacin que ayuden a conseguir los fines de la
Organizacin mediante la definicin de un marco estratgico para el desarrollo de los mismos.
- Dotar a la Organizacin de productos software que satisfagan las necesidades de los usuarios
dando una mayor importancia al anlisis de requisitos.
- Mejorar la productividad de los departamentos de Sistemas y Tecnologas de la Informacin y las
Comunicaciones, permitiendo una mayor capacidad de adaptacin a los cambios y teniendo en
cuenta la reutilizacin en la medida de lo posible.
- Facilitar la comunicacin y entendimiento entre los distintos participantes en la produccin de
software a lo largo del ciclo de vida del proyecto, teniendo en cuenta su papel y responsabilidad,
as como las necesidades de todos y cada uno de ellos.
- Facilitar la operacin, mantenimiento y uso de los productos software obtenidos.

Jackson System Development (JSD)


Joint Application Development (JAD)
Open Unified Process (OpenUP)
http://elbotondereset.blogspot.com/2008/09/modelo-de-reutilizacion-de-software.html
http://elbotondereset.blogspot.com /trabajos51/programacion-extrema/programacion-extrema.shtml

Metodologas giles
Extreme Programming (XP)
PROGRAMACIN EXTREMA XP (eXtreme Programming)
Metodologa gil basada en cuatro principios: simplicidad, comunicacin, retroalimentacin y valor.
Adems, orientada por pruebas y refactorizacin, se disea e implementan las pruebas antes de
programar la funcionalidad, el programador crea sus propios tests de unidad.
Este mtodo es tpicamente atribuido a Kent Beck, Ron Jeffries y Ward Cinningham. El objetivo de Xp son
grupos pequeos y medianos de construccin de software en donde los requisitos an son muy ambiguos,
cambian rpidamente o son de alto riesgo. Xp busca la satisfaccin del cliente tratando de mantener
durante todo el tiempo su confianza en el producto. Adems, sugiere que el lugar de trabajo sea una sala
amplia, si es posible sin divisiones (en el centro los programadores, en la periferia los equipos

individuales). Una ventaja del espacio abierto es el incremento en la comunicacin y el proporcionar una
agenda dinmica en el entorno de cada proyecto.
Actividades de Xp
Codificar
Es necesario codificar y plasmar nuestras ideas a travs del cdigo. En programacin, el cdigo expresa la
interpretacin del problema, as podemos utilizar el cdigo para comunicar, para hacer comunes las ideas,
y por tanto para aprender y mejorar.
Hacer pruebas
Las caractersticas del software que no pueden ser demostradas mediante pruebas simplemente no
existen. Las pruebas dan la oportunidad de saber si lo implementado es lo que en realidad se tena en
mente. Las pruebas nos indican que nuestro trabajo funciona, cuando no podemos pensar en ninguna
prueba que pudiese originar un fallo en nuestro sistema, entonces habremos acabado por completo.
Disear
El diseo crea una estructura que organiza la lgica del sistema, un buen diseo permite que el sistema
crezca con cambios en un solo lugar. Los diseos deben de ser sencillos, si alguna parte del sistema es de
desarrollo complejo, lo apropiado es dividirla en varias. Si hay fallos en el diseo o malos diseos, estos
deben de ser corregidos cuanto antes.
Resumiendo las actividades de Xp: Tenemos que codificar porque sin cdigo no hay programas, tenemos
que hacer pruebas por que sin pruebas no sabemos si hemos acabado de codificar, tenemos que escuchar,
porque si no escuchamos no sabemos que codificar ni probar, y tenemos que disear para poder codificar,
probar y escuchar indefinidamente.

Scrum
Agile Modeling Adaptive Software Development (ASD)
Crystal Clear
Dynamic Systems Development Method (DSDM)
Feature Driven Development (FDD)
Lean Software Development (LSD)
Agile Unified Process (AUP)
Software Development Rhythms
Agile Documentation
ICONIX Process
Microsoft Solutions Framework (MSF)
Modelo de Reutilizacion de Software
Descripcin

Surge formalmente en 1968 (Dough McIlroy). La idea principal era producir componentes de software
como si de componentes electrnicos se tratara.
La Reutilizacin de Software aparece como una alternativa para desarrollar aplicaciones y sistemas SW de
una manera ms eficiente, productiva y rpida. La idea es reutilizar elementos y componentes de
Software en lugar de tener que desarrollarlos desde el principio.
Inicialmente, se basaba en la simple combinacin de componentes de cdigo almacenados en una
biblioteca pero con el tiempo se fueron utilizando cdigo de programas enteros.
Caractersticas
Funcionalidad
Es ms probable que se reutilice un componente de software que exhiba unas prestaciones que se puedan
aplicar en muchos contextos, es decir que realice tareas comunes a muchas aplicaciones.
Independencia
Un componente slo ser reutilizable si es suficientemente independiente de cualquier aplicacin
particular.
Robustez
Su incorporacin a muchos entornos diferentes no debe comprometer su correccin ni su
eficiencia.
El diseador del componente debe controlar completamente su conexin con las otras
unidades externas.
Seguridad frente a fallos

Agile Data Method


Database Refactoring
LeanCMMI
Metodologas de desarrollo de software
Definicin
Una metodologa de desarrollo de software es un conjunto de pasos y procedimientos que deben seguirse
para desarrollar software. Una metodologa est compuesta por:
Cmo dividir un proyecto en etapas.
Qu tareas se llevan a cabo en cada etapa.
Qu restricciones deben aplicarse.
Qu tcnicas y herramientas se emplean.
Cmo se controla y gestiona un proyecto.

2 Clasificacin de las metodologas


Las metodologas se clasifican de la siguiente forma:
Estructuradas.
Orientadas a procesos
Orientadas a datos
Mixtas
No estructuradas.
Orientadas a objetos
Sistemas de tiempo real
Metodologas estructuradas
Se basan en la forma top-down
Metodologas orientadas a procesos
La ingeniera del software se basa en el modelo bsico de entrada/proceso/salida de un sistema.
Est compuesta por:
Diagrama de flujo de datos (DFD).
Diccionario de datos.
Especificaciones de proceso.
Ejemplos: metodologas de DeMarco, Gene y Sarson, Yourdon.
Metodologas orientadas a datos
Son metodologas basadas en la informacin. Primero se definen las estructuras de datos y, a partir de
stos, se derivan los componentes procedimentales.
Ejemplos: metodologas de Jackson, Warnier, Warnier-Orr.
Metodologas no estructuradas
Metodologas orientadas a objeto
La orientacin a objetos unifica procesos y datos encapsulndolos en el concepto de objetos.
Tiene dos enfoques distintos:
Revolucionario, puro u ortodoxo. Rompen con las metodologas tradicionales.
Ejemplos: metodologas OOD de Booch, CRC/RDD de Wirfs-Brock.
Sintetista o evolutivo. Toman como base los sistemas estructurados y conforman elementos de uno y otro
tipo.
Ejemplos: metodologa OMT de Rumbourgh.
4.2 Sistemas de tiempo real
Procesan informacin orientada al control ms que a los datos.
Se caracterizan por concurrencia, priorizacin de procesos, comunicacin entre tareas y acceso
simultneo a datos comunes.

Definicin

TGS

La teora general de sistemas (TGS) o teora de sistemas o enfoque sistemico es un esfuerzo de estudio
interdisciplinario que trata de encontrar las propiedades comunes a entidades, los sistemas, que se
presentan en todos los niveles de la realidad, pero que son objeto tradicionalmente de disciplinas
acadmicas diferentes
La meta de la Teora General de los Sistemas no es buscar analogas entre las ciencias, sino tratar de
evitar la superficialidad cientfica que ha estancado a las ciencias.
La TGS no busca solucionar problemas o intentar soluciones prcticas, pero s
producir teoras y formulaciones conceptuales que pueden crear
condiciones de aplicacin
en la realidad emprica
ciclo de vida del software
El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase
final. El propsito de este programa es definir las distintas fases intermedias que se requieren para validar
el desarrollo de la aplicacin

Diseo general: requisitos generales de la arquitectura de la aplicacin.


Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin.
Programacin (programacin e implementacin): es la implementacin de un lenguaje de programacin
para crear las funciones definidas durante la etapa de diseo.
Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para garantizar que se
implementaron de acuerdo con las especificaciones.
Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin. ste es el propsito
de la prueba de integracin que est cuidadosamente documentada.
Prueba beta (o validacin), para garantizar que el software cumple con las especificaciones originales.
Documentacin: sirve para documentar informacin necesaria para los usuarios del software y para
desarrollos futuros.
Implementacin
Mantenimiento: para todos los procedimientos correctivos

MODELO:
EL MODELO LINEAL (O MODELO EN CASCADA) :
Es el ms antiguo de todos los modelos de Ingeniera del Software. El modelo lineal presenta una
estructura secuencial (de ah el nombre de Modelo en cascada) formada por seis fases o etapas:
Anlisis del Sistema
Anlisis de Requisitos de Software
Diseo

en cascada: Se denomina modelo en cascada porque su caracterstica principal es que no se comienza


con un paso hasta que no se ha terminado el anterior.
Prototipos: Consiste en iterar en la fase de anlisis tantas veces como sea necesario, mostrando
prototipos al usuario para que pueda indicarnos de forma mas eficiente los requisitos del sistema
evolutivo En el modelo evolutivo se asume que los requisitos pueden cambiar en cualquier momento del
ciclo de vida y no solo en la etapa de anlisis.
Incremental: Es una aproximacin muy parecida a la evolutiva. En este modelo se desarrolla el sistema
para satisfacer un subconjunto de los requisitos especificados y en posteriores versiones se incrementa el
programa con nuevas funcionalidades que satisfagan mas requisitos.
En espiral: Toma las ventajas del modelo de desarrollo en cascada y el de prototipos aadindole el
concepto de anlisis de riesgo

http://elbotondereset.blogspot.com/2008/09/modelo-de-reutilizacion-de-software.html
http://elbotondereset.blogspot.com /trabajos51/programacion-extrema/programacion-extrema.shtml

Contenido
Qu son los Modelos de Proceso?
Modelo en Cascada.
Modelo en Espiral
Como funciona el modelo del MSF?
Modelo de Proceso MSF

Qu son los Modelos de Proceso?

Para maximizar el xito de los proyectos de una empresa. Microsoft ha puesto a disposicin una gua para
un efectivo diseo, desarrollo y funcionamiento de soluciones, incluyendo las tecnologas de Microsoft.

Este conocimiento se deriva de la experiencia ganada dentro de Microsoft con sus clientes y vendedores
en proyectos de grande desarrollo de software y de prestacin de servicios, la experiencia de los grandes
consultores de Microsoft y el mejor conocimiento de la industria mundial de Tecnologas de Informacin.

Un modelo de proceso as pues, dirige el orden de las actividades del proyecto y representa el ciclo de
vida de dicho proyecto.

Histricamente, algunos modelos de proceso eran estticos y otros no permitan puntos de comprobacin.
Dos de estos modelos de proceso son el modelo de cascada y el modelo espiral.

Estos modelos proporcionan diversas aproximaciones al ciclo de vida de un proyecto.

Modelo en Cascada.

Este modelo utiliza tramos como puntos de transicin y de carga. Al usar el modelo de cascada, se
necesitara completar un conjunto de tareas en forma de fase para despus continuar con la fase
prxima. El modelo en cascada trabaja perfectamente para los proyectos en los cuales los requisitos del
proyecto se encuentran definidos claramente y no son obligados a futuras modificaciones. Ya que este
modelo esta compuesto por puntos de transicin entre fases, se puede monitorear fcilmente ya que
asigna responsabilidades definidas.

Modelo en Espiral

Este modelo se basa en la necesidad continua de refinar los requerimientos para un determinado
proyecto. El modelo espiral es eficaz cuando se utiliza para el rpido desarrollo de proyectos muy

pequeos. Esta logra consigo el acercamiento entre el equipo de desarrollo y el cliente porque el cliente
es implicado en todas las etapas proporcionando la regeneracin de proyecto y la aprobacin del mismo.
De cualquier forma, el modelo en espiral no incorpora puntos de comprobacin claros. Por lo tanto, el
proceso de desarrollo puede llegar a ser catico.

Como funciona el modelo del MSF?

El modelo de proceso MSF, propone una secuencia generalizada de actividades para la construccin de
soluciones empresariales. Este proceso es flexible y se puede adaptar al diseo y desarrollo de una amplia
gama de proyectos de una empresa.

El modelo MSF esta basado tambin basado en fases, puntos de transicin y de carga de forma iterativa
que se puede aplicar en el desarrollo de aplicaciones tradicionales, soluciones empresariales para
comercio electrnico as como aplicaciones Web distribuidas.

Metodologa de desarrollo de software

Las metodologas de desarrollo de software son un conjunto de procedimientos, tcnicas y


ayudas a la documentacin para el desarrollo de productos software
TRES DEFINICIONE
1. son un conjunto de procedimientos, tcnicas y ayudas para el desarrollo de productos software. En si pasos naturales o logicos para
la construccion de software
2. se definen como un con junto de pasos como analicis diseo desarollo implementacion pruevas y implantacion llamados ciclo de
vida como una definicion general
3. Es conjunto ordenado de pasos a seguir para llegar a la solucin de un problema u obtencin de un producto osea el software, son
tambien los pasos generales que sigue el proceso de desarrollo de un producto software
Las metodologas de desarrollo de software son un conjunto de procedimientos, tcnicas y ayudas a la
documentacin para el desarrollo de productos software
En esta ocasin me gustara hacer nfasis en la importancia que tiene el uso de metodologas de desarrollo de software a un nivel de
introduccin bsica. Tenemos a continuacion el clsico chiste acerca de la implementacin de soluciones de cmputo:

En general las metodologas llevan a cabo una serie de procesos comunes que son buenas prcticas para lograr los objetivos antes mencionados
independientemente de cmo hayan sido diseadas. Las fases que agrupan estos procesos son las siguientes:

Anlisis
Especificacin

Diseo

Programacin

Prueba

Documentacin

Mantenimiento

Reingeniera

As mismo las diferentes metodologas tienen diversos ciclos de vida del desarrollo de software, los modelos ms comnmente utilizados son los
siguientes:

Modelo en cascada
Modelo en espiral

Modelo de prototipos

Mtodo en V

Desarrollo por etapas

Escribir ms adelante acerca de cada una de las metodologas mencionadas a continuacin de forma ms extensa posteriormente, por lo pronto
dejar abierta la investigacin a los lectores acerca de los diferentes marcos de trabajo y metodologas formales de desarrollo de software. Las
metodologas a tratar desde el punto de vista de la arquitectura de software y la administracin de proyectos sern las siguientes:
Metodologas tradicionales

Capability Maturity Model (SW-CMM)


Capability Maturity Model Integration for Development (CMMI-DEV)

Big Design Up Front (BDUF)

Cleanroom Software Engineering

Rational Unified Process (RUP)

Essential Unified Process for Software Development (EssUP)

Fusebox Lifecycle Process (FLiP)

Software Process Improvement and Capability dEtermination (SPICE)

Mtrica

Jackson System Development (JSD)

Joint Application Development (JAD)

Open Unified Process (OpenUP)

Metodologas giles

Extreme Programming (XP)


Scrum

Agile Modeling Adaptive Software Development (ASD)

Crystal Clear

Dynamic Systems Development Method (DSDM)

Feature Driven Development (FDD)

Lean Software Development (LSD)

Agile Unified Process (AUP)

Software Development Rhythms

Agile Documentation

ICONIX Process

Microsoft Solutions Framework (MSF)

Agile Data Method

Database Refactoring

LeanCMMI

Metodologas de desarrollo de software


Definicin
Una metodologa de desarrollo de software es un conjunto de pasos y procedimientos que deben seguirse para desarrollar software. Una
metodologa est compuesta por:

Cmo dividir un proyecto en etapas.


Qu tareas se llevan a cabo en cada etapa.

Qu restricciones deben aplicarse.

Qu tcnicas y herramientas se emplean.

Cmo se controla y gestiona un proyecto.

Clasificacin de las metodologas


Las metodologas se clasifican de la siguiente forma:

Estructuradas.
o Orientadas a procesos
o

Orientadas a datos

Mixtas

No estructuradas.
o

Orientadas a objetos

Sistemas de tiempo real

Metodologas estructuradas
Se basan en la forma top-down

Metodologas orientadas a procesos


La ingeniera del software se basa en el modelo bsico de entrada/proceso/salida de un
sistema.
Est compuesta por:

Diagrama de flujo de datos (DFD).


Diccionario de datos.

Especificaciones de proceso.
Ejemplos: metodologas de DeMarco, Gene y Sarson, Yourdon.

Metodologas orientadas a datos

Son metodologas basadas en la informacin. Primero se definen las estructuras de datos y,


a partir de stos, se derivan los componentes procedimentales.
Ejemplos: metodologas de Jackson, Warnier, Warnier-Orr.
Metodologas no estructuradas
Metodologas orientadas a objeto
La orientacin a objetos unifica procesos y datos encapsulndolos en el concepto de
objetos.
Tiene dos enfoques distintos:

Revolucionario, puro u ortodoxo. Rompen con las metodologas tradicionales.


Ejemplos: metodologas OOD de Booch, CRC/RDD de Wirfs-Brock.

Sintetista o evolutivo. Toman como base los sistemas estructurados y conforman elementos de uno y otro
tipo.
Ejemplos: metodologa OMT de Rumbourgh.

Sistemas de tiempo real


Procesan informacin orientada al control ms que a los datos.
Se caracterizan por concurrencia, priorizacin de procesos, comunicacin entre tareas y acceso simultneo a datos comunes.

Definicin

TGS

La teora general de sistemas (TGS) o teora de sistemas o enfoque sistemico es un esfuerzo de estudio
interdisciplinario que trata de encontrar las propiedades comunes a entidades, los sistemas, que se presentan
en todos los niveles de la realidad, pero que son objeto tradicionalmente de disciplinas acadmicas
diferentes
La meta de la Teora General de los Sistemas no es buscar analogas entre las ciencias, sino tratar de evitar
la superficialidad cientfica que ha estancado a las ciencias.
La TGS no busca solucionar problemas o intentar soluciones prcticas, pero s

producir teoras y formulaciones conceptuales que pueden crear


aplicacin
en la realidad emprica

condiciones de

ciclo de vida del software


El trmino ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El
propsito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la
aplicacin

Diseo general: requisitos generales de la arquitectura de la aplicacin.

Diseo en detalle: definicin precisa de cada subconjunto de la aplicacin.

Programacin (programacin e implementacin): es la implementacin de un lenguaje de programacin para crear las


funciones definidas durante la etapa de diseo.

Prueba de unidad: prueba individual de cada subconjunto de la aplicacin para garantizar que se implementaron de
acuerdo con las especificaciones.

Integracin: para garantizar que los diferentes mdulos se integren con la aplicacin. ste es el propsito de la prueba
de integracin que est cuidadosamente documentada.

Prueba beta (o validacin), para garantizar que el software cumple con las especificaciones originales.

Documentacin: sirve para documentar informacin necesaria para los usuarios del software y para desarrollos futuros.

Implementacin

Mantenimiento: para todos los procedimientos correctivos


os modelos

en cascada: Se denomina modelo en cascada porque su caracterstica principal es que no se comienza con un
paso hasta que no se ha terminado el anterior.
Prototipos: Consiste en iterar en la fase de anlisis tantas veces como sea necesario, mostrando prototipos al
usuario para que pueda indicarnos de forma mas eficiente los requisitos del sistema
evolutivo En el modelo evolutivo se asume que los requisitos pueden cambiar en cualquier momento del ciclo de vida y
no solo en la etapa de anlisis.

Incremental: Es una aproximacin muy parecida a la evolutiva. En este modelo se desarrolla el sistema
para satisfacer un subconjunto de los requisitos especificados y en posteriores versiones se incrementa el
programa con nuevas funcionalidades que satisfagan mas requisitos.

En espiral: Toma las ventajas del modelo de desarrollo en cascada y el de prototipos aadindole el
concepto de anlisis de riesgo
EL MODELO LINEAL (O MODELO EN CASCADA) :
Es el ms antiguo de todos los modelos de Ingeniera del Software. El modelo lineal presenta una
estructura secuencial (de ah el nombre de Modelo en cascada) formada por seis fases o etapas:
Anlisis del Sistema
Anlisis de Requisitos de Software
Diseo

Modelo de Reutilizacion de software


Surge formalmente en 1968 (Dough McIlroy). La idea principal era producir componentes de software como si de
componentes electrnicos se tratara.
La Reutilizacin de Software aparece como una alternativa para desarrollar aplicaciones y sistemas SW de una
manera ms eficiente, productiva y rpida. La idea es reutilizar elementos y componentes de Software en lugar de tener
que desarrollarlos desde el principio.
Inicialmente, se basaba en la simple combinacin de componentes de cdigo almacenados en una biblioteca pero
con el tiempo se fueron utilizando cdigo de programas enteros.
Caractersticas
Funcionalidad
Es ms probable que se reutilice un componente de software que exhiba unas prestaciones que se puedan aplicar
en muchos contextos, es decir que realice tareas comunes a muchas aplicaciones.
Independencia

Un componente slo ser reutilizable si es suficientemente independiente de cualquier aplicacin particular.


Robustez
Su incorporacin a muchos entornos diferentes no debe comprometer su correccin ni su eficiencia.
El diseador del componente debe controlar completamente su conexin con las otras unidades externas.
Seguridad frente a fallos