Logo Studenta

Metodologia Orientada a Objetos y Software (revista)

¡Este material tiene más páginas!

Vista previa del material en texto

Descubre
Edición sobre ciclo de
vida incremental
L A I N F O R M A C I Ó N M Á S O P O R T U N A P A R A T I
En este modelo se desarrol la el s istema para sat isfacer un
subconjunto de requis i tos especif icados y en poster iores
vers iones se incrementa el s istema con nuevas
funcional idades que sat isfagan más requis i tos.
N O V I E M B R E 2 0 2 1 | N Ú M E R O 5 | V O L . 1 3
02 |
Metodología
orientada
a 
objetos
La metodología orientada a objetos fue propuesta por Gary Booch y en
ella propone que los sistemas pueden ser vistos como un conjunto de
objetos o entidades con una identidad y comportamiento propio, las
cuales interactúan entre sí para alcanzar el objetivo común del sistema.
La metodología orientada a objetos ha derivado de las metodologías
anteriores a este modelo. 
Así como los métodos de diseño estructurado realizados guían a los
desarrolladores que tratan de construir sistemas complejos utilizando
algoritmos como sus bloques fundamentales de construcción,
similarmente los métodos de diseño orientado a objetos han evolucionado
para ayudar a los desarrolladores explotar el poder de los lenguajes de
programación basados en objetos y orientados a objetos, utilizando las
clases y objetos como bloques de construcción básicos.
Actualmente el modelo de objetos ha sido influenciado por un número de
actores no solo de la Programación orientada a objetos, POO (Object
Oriented programming, OPP por sus siglas en inglés) .
POR LUIS DÍAZ
03 | 
Además, el modelo de objetos ha aprobado ser un concepto
uniforme en las ciencias de la computación, aplicable no solo a
los lenguajes de programación sino también al diseño de
interfaces de usuario, bases de datos y arquitectura de
computadoras /por completo. 
La razón de ello es, simplemente, que una orientación a objetos
nos ayuda a hacer frente ala inherente complejidad de muchos
tipos de sistemas.
El diseño orientado a objetos (DOO) es una fase de la
metodología orientada a objetos para el desarrollo de software.
Su uso induce a desarrolladores y programadores a pensar en
términos de objetos y responsabilidades, en vez de
procedimientos, cuando planifican el código. 
Se define a un objeto como “una entidad tangible que muestra
alguna conductabien definida”. Un objeto es cualquier cosa, real
o abstracta, acerca dela cualalmacenamos datos y los métodos
que controlan dichos datos”.
Un objeto agrupa datos encapsulados y procedimientos para
representar una entidad. La interfaz del objeto, esto es, las
responsabilidades del objeto, también se definen en esta etapa.
Un programa orientado a objetos se caracteriza por la interacción
de esos objetos.
El diseño orientado a objetos es la disciplina que define los
objetos y sus interacciones para resolver un problema de negocio
que fue identificado y documentado durante el análisis orientado
a objetos (AOO).
Mejoras significativas de la productividad y calidad
del código.
Estabilidad de los modelos respecto a entidades del
mundo real Construcción iterativa.
Promueve la reutilización de software y de diseños
(componentes, frameworks).
Los sistemas OO son generalmente más pequeños que
su equivalente no OO: menos código y más
reutilización.
Permite desarrollar sistemas más preparados para el
cambio.
Vale para aplicaciones de pequeño y gran tamaño.
Ventajas de Objetos
Ventajas del AOO
Dominio del problema. El paradigma OO es más que una
forma de programar. Es una forma de pensar acerca de
un problema en términos del mundo real en vez de en
términos de un ordenador. El AOO permite analizar mejor
el dominio del problema, sin pensar en términos de
implementar el sistema en un ordenador. El AOO permite
pasar directamente el dominio del problema al modelo del
sistema.
¿ Ventajas de la
metodología orientada
a objetos ?
19
Comunicación. El concepto OO es más simple y está
menos relacionado con la informática que el
concepto de flujo de datos. Esto permite una mejor
comunicación entre el analista y el experto en el
dominio del problema (es decir, el cliente).
Consistencia. Los objetos encapsulan tanto atributos
como operaciones. Debido a esto, el AOO reduce la
distancia entre el punto de vista de los datos y el
punto de vista del proceso, dejando menos lugar a
inconsistencias o disparidades entre ambos modelos.
Expresión de características comunes. El paradigma
OO utiliza la herencia para expresar explícitamente
las características comunes de una serie de objetos.
Estas características comunes quedan escondidas en
otros enfoques y llevan a duplicar entidades en el
análisis y código en los programas.
04 | 
POR BARBARA MEJIAS
 Sin embargo, el paradigma OO pone especial énfasis en
la reutilización, y proporciona mecanismos efectivos que
permiten reutilizar aquello que es común, sin impedir por
ello describir las diferencias.
Resistencia al cambio. Los cambios en los requisitos
afectan notablemente a la funcionalidad de un sistema,
por lo que afectan mucho al software desarrollado con
métodos estructurados. Sin embargo, los cambios afectan
en mucha menor medida a los objetos que componen o
maneja el sistema, que son mucho más estables. Las
modificaciones necesarias para adaptar una aplicación
basada en objetos a un cambio de requisitos suelen estar
mucho más localizadas.
Reutilización. Aparte de la reutilización interna, basada en
la expresión explícita de características comunes, el
paradigma OO desarrolla modelos mucho más próximos al
mundo real, con lo que aumentan las posibilidades de
reutilización. Es probable que en futuras aplicaciones nos
encontremos con objetos iguales o similares a los de la
actual.
19
Fácil de mantener, los objetos representan
entidades auto-contenidas.
Los objetos son componentes reutilizables.
Para algunos sistemas, puede haber un mapeo
obvio entre las entidades del mundo real y los
objetos del sistema.
Ventajas del Diseño Orientado a Objetos
05 | 
Hablamos
sobre...
Principios de la
metodología orientada a
objetos 
06 |
Existen cuatro principios básicos, estos principios son fruto de la
experiencia en todas las ramas de la ingeniería.
POR L ISDUER PARRA
Modularización
Módulos fáciles de manejar y que comprenden las estructuras de datos y
las operaciones permisibles.
Encapsulado
Distingue entre las interfaces a un objeto (qué es lo que hace), de la
implementación (cómo lo hace).
Tipos de datos abstractos
 Agrupa todos los objetos que tienen la misma interface y los trata como
si fueran del mismo tipo.
Herencia
Reutilización, ya que permite definir nuevos tipos en funciones de otros
tipos. El nuevo tipo hereda las estructuras de datos y los métodos del tipo
precedente.
Mensajes
Un objeto lleva a cabo sus acciones cuando recibe un mensaje concreto,
codificado de una forma simple, estándar e independiente de cómo o
dónde está implementado el objeto.
Polimorfismo
Diferentes objetos responden al mismo mensaje. El sistema determina en
tiempo de ejecución qué código invocar dependiendo del tipo de objeto
(técnicas de Overloadingy Dynamic binding)
07 |
Surge en la década de 1980, su principal característica es
tomar a los procesos y datos en forma conjunta. Los
sistemas orientados a objetos se desarrollan alrededor de
entidades del dominio del problema, lo cual resulta en
desarrollos bastante estables. 
El análisis orientado a objetos, a diferencia del
estructurado, que considera comportamiento y datos de
forma separada, combina ambos. En el análisis orientado
a objetos, la forma de modelar la realidad difiere del
análisis convencional. 
Características de la
metodología orientada
a objetos.
19
Modelamos el mundo en términos de tipos de objetos
y lo que le ocurre a éstos. 
Los modelos que construimos en el análisis OO
reflejan la realidad de modo más natural que los del
análisis tradicional de sistemas. Mediante las técnicas
OO construimos software que modela más fielmente
el mundo real. Cuando el mundo real cambia, nuestro
software es más fácil de cambiar, lo que esuna
ventaja real.
08 |
POR JOSE PERDIGON
En este ciclo el modelo fundamental es el modelo de
requisitos, ya que a partir de este modelo se generarán los
restantes 
Requisitos: el modelo de casos de uso sirve para expresar
el modelo de requisitos, el cual se desarrolla en
cooperación con otros modelos, como se verá más
adelante.
Análisis: la funcionalidad especificada por el modelo de
casos de uso se estructura en el modelo de análisis, que
es estable con respecto a cambios, siendo un modelo
lógico independiente del ambiente de implementación.
Diseño: la funcionalidad de los casos de uso ya
estructurada por el análisis es realizada por el modelo de
diseño, adaptándose al ambiente de implementación real
y refinándose aún más.
Implementación: los casos de uso son implementados
mediante el código fuente en el modelo de
implementación.
Pruebas: los casos de uso son probados a través de las
pruebas de componentes y pruebas de integración.
Ciclo de vida
en el desarrollo 
de software 
orientado a objetos
19
FUSION (Object-Oriented Development).
RDD (Responsibility-Driven Design).
OOAD (Object-Oriented Analysis and Design).
OOAD (Object-Oriented Analysis and Design).
OMT (Object Modeling Technique).
OOSE (Objectory Object Oriented Software
Engineering).
OOK/MOSES Object-Oriented Knowledge.
OOSA Object-Orientd System Analysis.
OOAD Object-Oriented Analysis and Design
OOSA Object-Oriented Systems Analysis
OBA Object Behavior Analysis.
OORA Object-Oriented Requirements Analysis.
OOSD Object-Oriented System Development
OOAD/ROSE Object-Oriented Analysis & Design
Documentación: el modelo de casos de uso debe ser
documentado a lo largo de las diversas actividades,
dando lugar a distintos documentos, como son los
manuales de usuario, manuales de administración,
etcétera.
Metodologías orientadas a objetos más
importantes
Existen varias metodologías orientadas a objetos,
cada una empleando sus propios diagramas y
modelos, pero las más importantes son:
09 | 
POR GRAICELYS VOLCÁN
Sabías qué...
La metodología orientada a objetos se aplica a las empresas 
10 |
Ama de casa
La empresa ama de casa de los Palos Grandes Caracas
presentaba varios problemas específicamente en la
administración , aunque tenían otros problemas que como la
aplicación de diversas metodologías , es decir no tenían una
metodología definida y por ello tenían pérdidas financieras.
 De igual forma se debe agregar que la empresa pudo solicitar
su problemática gracias a la implementación de la metodología
orientada a objetos, ya que se adaptaba a su forma de trabajar
y les permitió implementar un sistema de simple y efectivoseguro
para la organización. 
La empresa de Valencia
La Reingeniería de la Empresa de Valencia España es un
ejemplo de esta metodología orientada a objetos. Ya que le
permitió usar un modelo que les ayude en sus procesos de
forma eficaz y poder tener un sistema fácil de aplicar.
POR GRAICELYS VOLCÁN
11 |
Ciclo de vida
incremental
Propuesto por Mills en 1980 sugirió el enfoque incremental de desarrollo
como una forma de reducir la repetición del trabajo en el proceso de
desarrollo y dar oportunidad de retrasar la toma de decisiones en los
requisitos hasta adquirir experiencia con el sistema.
Modelo de desarrollo incremental. En este modelo se desarrolla el sistema
para satisfacer un subconjunto de requisitos especificados y en
posteriores versiones se incrementa el sistema con nuevas
funcionalidades que satisfagan más requisitos.
Los ciclos de vida iterativos e incrementales son aquellos en los cuales se
repiten las actividades del proyecto en fases o iteraciones y en cada una
de ellas se aumenta el entendimiento del producto por parte del equipo
del proyecto.
 Las iteraciones desarrollan el producto a través de una serie de ciclos
repetidos que van añadiendo sucesivamente funcionalidad al producto.
Al final de cada iteración, se habrá completado un entregable o un
conjunto de entregables. Las futuras iteraciones pueden mejorar dichos
entregables o crear nuevos.
 El producto final será la acumulación de funcionalidades construida en
las iteraciones.
Desarrollar por partes el producto software, para después integrarlas a
medida que se completan. 
POR LUIS DÍAZ
12|
Ciclo de vida
incremental
Propuesto por Mills en 1980 sugirió el enfoque incremental de desarrollo
como una forma de reducir la repetición del trabajo en el proceso de
desarrollo y dar oportunidad de retrasar la toma de decisiones en los
requisitos hasta adquirir experiencia con el sistema.
Modelo de desarrollo incremental. En este modelo se desarrolla el sistema
para satisfacer un subconjunto de requisitos especificados y en
posteriores versiones se incrementa el sistema con nuevas
funcionalidades que satisfagan más requisitos.
Los ciclos de vida iterativos e incrementales son aquellos en los cuales se
repiten las actividades del proyecto en fases o iteraciones y en cada una
de ellas se aumenta el entendimiento del producto por parte del equipo
del proyecto.
 Las iteraciones desarrollan el producto a través de una serie de ciclos
repetidos que van añadiendo sucesivamente funcionalidad al producto.
Al final de cada iteración, se habrá completado un entregable o un
conjunto de entregables. Las futuras iteraciones pueden mejorar dichos
entregables o crear nuevos.
 El producto final será la acumulación de funcionalidades construida en
las iteraciones.
Desarrollar por partes el producto software, para después integrarlas a
medida que se completan. 
POR LUIS DÍAZ
Una rápida adaptación a los cambios.
La intervención del cliente a lo largo de
todo el proyecto.
Las entregas progresivas y funcionales del
producto al final de cada ciclo.
Un ejemplo de un desarrollo puramente
incremental puede ser la agregación de
módulos en diferentes fases. 
El agregar cada vez más funcionalidad al
sistema. Se opta por los ciclos de vida iterativos
e incrementales cuando es necesario gestionar
objetivos poco definidos o de una alta
complejidad o cuando la entrega parcial del
producto es clave para el éxito.
 Este tipo de ciclo de vida permite al equipo del
proyecto incorporar la retroalimentación e ir
incrementando la experiencia del equipo
durante el proyecto.
El ciclo de vida incremental, también conocido
como adaptativo, está enfocado a la
aplicación en metodologías ágiles como Scrum
y Kanban.
Este sistema busca alcanzar un crecimiento
progresivo de la funcionalidad. El
procedimiento consiste en estructurar las fases
en procesos cíclicos al final de los cuales se
hace entrega de un incremento del producto y
una mejora de calidad de las entregas previas.
Como ves se trata de una evolución del ciclo de
vida iterativo.
En definitiva, los proyectos que aplican el tipo
de ciclo de vida incremental se caracterizan
por tres detalles:
13 | 
Este tipo de ciclo de vida presenta claras
diferencias con el tipo predictivo. Sin embargo,
es fácil confundirlo con el tipo iterativo. Aunque
se trata de una derivación de éste, es
importante reconocer los matices que los
diferencian.
Es un proceso bajo el cual se produce una
aplicación parcial y poco a poco se aumenta la
funcionalidad o el rendimiento planificación
con anterioridad a través de mediante
incrementos subsecuentes.
La Ingeniería del Software y la Orientación a
Objetos son dos áreas cuya intersección
produce un amplio abanico de técnicas y
metodologías que pretenden facilitar la
construcción de software. Este artículo revisa
algunas de estas técnicas, que pueden ser de
gran utilidad para el desarrollo de proyectos
complejos con éxito.
La estructura de
fases en el ciclo de
vida incremental
14 | 
Definición de los requerimientos a alcanzar al concluir esa
iteración.
Planificación de las tareas necesarias para cumplir con el
objetivo previsto.
Ejecución de las tareas de acuerdo con la planificación
establecida.
Evaluación del incremento a entregar. Al término de cada
iteración se debe valorar si lafuncionalidad definida al
comienzo de ésta ha sido alcanzada.
Entrega del producto. Al concluir los trabajos se hace
entrega al cliente del producto intermedio.
Este tipo de ciclo de vida se estructura en procesos iterativos
que se repiten a lo largo de todo el proyecto. Estos ciclos están
constituidos por, al menos, las siguientes fases:
POR BARBARA MEJ IAS
Análisis de la estructura de fases en el ciclo de vida incremental
 
Requerimientos
Esta fase se refiere a todos los objetivos del proyecto, tanto el general o central como
los específicos.
Se precisan las tareas e iteraciones
Ya teniendo claros los objetivos que el proyecto nos ayudará a alcanzar, la siguiente
fase es definir las tareas y las iteraciones con que las que los concretaremos. Si
observamos, esta fase incrementa el alcance del objetivo central en comparación con la
anterior.
Diseño de los incrementos
Se define cuál será la evolución del proyecto en las iteraciones. Cada una de ellas debe
superar a la que le precede para que se pueda dar el incremento.
Desarrollo del incremento
Las tareas definidas son llevadas a cabo y así los incrementos previstos son
desarrollados.
Validación de los incrementos
Los responsables de la gestión de proyecto han de verificar que cada iteración
culminada de los resultados esperados. Si no es así, hay que hacer una revisión de las
tareas y buscar las causas de los errores.
Integración de los incrementos
Como lo indica el nombre de esta fase, se trata de integrar todos los incrementos
aprobados o validados por la gestión de proyectos. Así se da la evolución global del
proyecto, lo que también se conoce como línea incremental.
Entrega del producto
Una vez hecha la integración y se constante que el producto cumple con los objetivos
planteados, se realiza la entrega. Este es el último paso del modelo incremental fases.
15| 
Los clientes no esperan hasta el fin del desarrollo para utilizar el sistema. Pueden empezar a usarlo
desde el primer incremento.
Los clientes pueden aclarar los requisitos que no tengan claros, conforme ven las entregas del sistema. 
Se disminuye el riesgo de fracaso de todo el proyecto, ya que se puede distribuir en cada incremento.
Las partes más importantes del sistema son entregadas primero, por lo cual se realizan más pruebas en
estos módulos y se disminuye el riesgo de fallos.
Ventajas del modelo Incremental
19
16| 
POR LISDUER PARRA
Se requiere mucha experiencia en el proceso de
definición de los requerimientos y la distribución de
las tareas en la planificación de las iteraciones. Es
importante que esos requerimientos tengan una
funcionalidad que aporte valor al concluir el ciclo.
Además, la distribución de tareas en cada ciclo
debe distribuirse equitativamente entre el equipo.
Se trata de que en una iteración no se cargue de
trabajo a un determinado perfil del equipo
mientras que otro perfil quede ocioso.
Cada incremento debe pasar por pruebas de
regresión. Se debe asegurar en todo momento que
no se producen errores y que hay una perfecta
compatibilidad con lo ya entregado. Esto puede
suponer un elevado coste.
Desventajas del ciclo de
vida incremental
19
17|
POR JOSE PERDIGON
Se debe mejorar la calidad de las entregas
previas.
 Es habitual que los equipos se concentren el
aumentar la funcionalidad olvidando realizar las
mejoras de calidad en el producto ya entregado. 
El resultado de no atender este aspecto es un
producto de baja calidad.
Se presupone que todos los requisitos se han
definido al inicio. Se requiere de una experiencia
importante para definir los incrementos de forma
de distribuir en ellos las tareas en forma
proporcional.
Si el sistema a desarrollar es de gran magnitud y se
cuenta con un único grupo para construirlo se
corre el riesgo que el desarrollo se prolongue
demasiado en tiempo.
Combina elementos del modelo de cascada con la
filosofía interactiva de construcción de prototipos.
Cada secuencia lineal produce un producto operacional
con cada incremento de la misma forma que progresa el
tiempo en el calendario.
El primer incremento es a menudo el núcleo.
Como un resultado de evaluación y/o utilización se
desarrolla un plan para el incremento siguiente, este
proceso se repite hasta llegar al producto completo.
Este modelo es particularmente útil cuando la dotación de
personal no es suficiente para una implementación
completa.
Los primeros incrementos se pueden implementar con
menos recursos.
Si es muy riesgoso desarrollar el sistema completo de una
sola vez, entonces debería considerar este modelo. 
Características 
del ciclo
 
de vida
 
incremental
19
18| 
POR GRAICELYS VOLCÀN

Continuar navegando