Professional Documents
Culture Documents
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
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.
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
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
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
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
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.
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.
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.
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
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
Mtrica
Metodologas giles
Crystal Clear
Agile Documentation
ICONIX Process
Database Refactoring
LeanCMMI
Estructuradas.
o Orientadas a procesos
o
Orientadas a datos
Mixtas
No estructuradas.
o
Orientadas a objetos
Metodologas estructuradas
Se basan en la forma top-down
Especificaciones de proceso.
Ejemplos: metodologas de DeMarco, Gene y Sarson, Yourdon.
Sintetista o evolutivo. Toman como base los sistemas estructurados y conforman elementos de uno y otro
tipo.
Ejemplos: metodologa OMT de Rumbourgh.
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
condiciones de
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
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