Вы находитесь на странице: 1из 6

INGENIERÍA DE SOFTWARE ORIENTADA A OBJETO

Indice

1. El paradigma orientado a objeto


2. Conceptos y principios orientados a objetos
3. Clases Y Objetos
4. Identificación de los elementos de un modelo de objeto
5. Gestión de proyectos de software orientado a objeto
6. Seguimiento Del Progreso En Un Proyecto Orientado A Objeto

1. El paradigma orientado a objeto

 Un paradigma de programación es una colección de modelos conceptuales que juntos modelan el


proceso de diseño y determinan la estructura de un programa.

 Tipos de Paradigmas de Programación

a. Que soportan técnicas de programación de bajo nivel


b. Que soportan métodos de diseño de algoritmos
c. Que soportan soluciones de programación de alto nivel
d. Basado para el desarrollo de sistemas expertos
e. De programación lógica
f. De programación funcional
g. De programación heurística
h. Orientado al objeto

 Diferentes lenguajes de programación que soportan cada una de estas categorías de paradigmas

a. Solución procedimental u operacional


b. Solución demostrativa
c .Solución declarativa

Paradigmas Procedimentales u Operacionales: secuencia computacional realizada etapa a etapa para


resolver el problema. Su mayor dificultad reside en determinar si el valor computado es una solución
correcta del problema

Paradigmas Demostrativos: Cuando se programa bajo un paradigma demostrativo (también llamada


programación por ejemplos), el programador no especifica procedimentalmente cómo construir una
solución sino que presentan soluciones de problemas similares.

Paradigmas Declarativos: se construye señalando hechos, reglas, restricciones, ecuaciones,


transformaciones y otras propiedades derivadas del conjunto de valores que configuran la solución.

Paradigmas Imperativo: modelo abstracto que consiste en un gran almacenamiento de memoria donde la
computadora almacena una representación codificada de un cálculo y ejecuta una secuencia de comandos
que modifican el contenido de ese almacenamiento. Algoritmos + Estructura de Datos = Programa.

Paradigmas Funcional: modelo matemático de composición funcional donde el resultado de un cálculo es


la entrada del siguiente, y así sucesivamente hasta que una composición produce el valor deseado.

Paradigma Orientado a Objeto: disciplina de ingeniería de desarrollo y modelado de software que


permite construir más fácilmente sistemas complejos a partir de componentes individuales. Objetos +
Mensajes = Programa.

Características del OO

a. Identidad: Los datos están cuantificados en entidades discretas y distinguibles llamadas


objetos.
b. Clasificación: Significa que los objetos con la misma estructura de datos (atributos) y
comportamiento (operaciones) se agrupa para formar una clase.
c. Polimorfismo: Significa que una misma operación puede comportarse de modos distintos en
distintas clases.
d. Herencia: Compartir atributos y operaciones entre clases tomando como base una relación
jerárquica.

Paradigma Heurístico: Define un modelo de resolución de problemas en el que se incorpora alguna


componente heurística sobre la base de una representación más apropiada de la estructura del problema
para su resolución con técnicas heurísticas.

 Como se entiende la tecnología orientada a objeto

Los informáticos en comparación con una persona ciega no busca más allá de lo que piensa esta
viendo, limitándose a solo lo que esta palpando en ese momento sin darse cuenta que lo que esta
investigando es mucho más grande de lo que aparenta.

 Como se aprovecha la tecnología orientada a objeto

•Operaciones bancarias
•Telecomunicaciones
•Televisión de cable
•Lenguajes de programación
•Las metodologías de desarrollo
•La gestión de proyectos Orientados a Objetos
•Hardware de computadora
•Ayuda en el diseño de Software.

2. Conceptos y principios orientados a objetos

- Un objeto encapsula datos, operaciones, otros objetos, constantes y otra información


relacionada.
- Una clase es un concepto OO que encapsula las abstracciones de datos y procedimientos que
se requieren para describir el contenido y comportamiento de alguna entidad del mundo Una
clase es una descripción generalizada que describe una colección de objetos similares. Todos
los objetos que existen dentro de una heredan sus atributos y las operaciones disponibles
para la manipulación de los atributos.
- Una superclase es una colección de clases y una instancia de una clase.
- Los Atributos están asociados a clases y objetos, ellos describen la clase y el objeto de
alguna manera. Un atributo puede tomar un valor definido por un dominio enumerado. En la
mayoría de los casos, un dominio es simplemente un conjunto de valores específicos. En
situaciones más complejas el dominio puede ser un conjunto de clases.
- Los mensajes son el medio a través del cual los objetos intercalan. Un mensaje estimula la
ocurrencia de cierto comportamiento en el objeto receptor. El comportamiento se realiza
cuando se ejecuta una operación.
- El encapsulamiento significa que toda la información de un objeto se encuentra
empaquetada bajo un nombre y puede reutilizarse como una especificación o componente de
un programa.
- La herencia funciona de la siguiente forma: Una SubClase hereda todos los Atributos y
operaciones asociadas con su superclase.
- El polimorfismo permite que un numero de operaciones diferentes tengan el mismo nombre.
Esto reduce el acoplamiento entre objetos, haciendo a cada uno más independiente.

 Identificación de Clases y Objetos


Los objetos se determinan subrayando cada nombre o cláusula nominal e introduciéndola en una
simple. Pueden ser: Entidades Externas, Ocurrencias o eventos, papeles o roles, unidades organizacionales,
lugares, estructuras.
Existen cinco características que deben ser usadas para incluir o un objeto en el modelo de análisis:
1) información retenida,
2) servicios necesarios,
3) atributos múltiples,
4) atributos comunes,
5) requisitos esenciales.
NOTA: El objeto debe cumplir todas o casi todas de las características anteriores para ser
considerado un objeto válido.

 Especificación de Atributos
Para desarrollar un conjunto de atributos el analista puede estudiar la narrativa de proceso para el
problema y seleccionar aquellos elementos que razonablemente pertenecen al objeto. Para cada objeto
responderse la siguiente pregunta: ¿Qué elementos definen completamente el objeto en el contexto del
problema actual?

 Definición de Operaciones
Las operaciones definen el comportamiento de un objeto y cambian, de alguna manera, los atributos
de dicho objeto. Mas correctamente, una operación cambia valores de uno o más atributos contenidos en el
objeto. Aunque existen muchos tipos diferentes de operaciones, estas pueden clasificarse en tres grandes
categorías:
1) Operaciones que manipulan, de alguna manera, datos,
2) Operaciones que realizan algún calculo y
3) Operaciones que motorizan un objeto frente a la ocurrencia de un suceso de control.

 Fin de la definición de objetos


La definición de operaciones es él ultimo paso para completar la especificación del objeto. Las
operaciones adicionales pueden determinarse considerando la "historia de la vida" de un objeto y los
mensajes que se pasan entre objetos definidos por el sistema.
La historia de la vida genérica de un objeto puede definirse reconociendo que dicho objeto debe ser
creado, modificado, manipulado o leído de manera diferente, y posiblemente borrado.

 Marco de proceso común para OO


Un marco de proceso común(MPC) define un enfoque organizado para el desarrollo y mantenimiento
de software. El MPC efectivo para proyectos OO no es un modelo inicial secuencial. El marco de proceso
común usado para dirigir un proyecto OO debe ser por naturaleza evolutivo.

 Métricas y estimaciones en proyectos orientado a objetos


Números de guiones de escenario: Un guión de escenario es una secuencia detallada de pasos que
describen la interacción entre el usuario y la aplicación.
Numero de clases claves: Las clases claves son las componentes altamente independientes, definidas
inicialmente en al AOO.
Número de clases soportes: Las clases de soportes son necesarias para implementar el sistema, pero
no están directamente relacionadas con el dominio del problema.
Numero promedio de clases de soporte por clase clave: En general las clases claves son conocidas
en las primeras etapas del proyecto. Las clases de soporte se definen a lo largo de este.
Numero de subsistencia: Un subsistema es una agregación de clases que dan soporte a una función
visible al usuario final del sistema.

3. Clases Y Objetos

Una clase es un concepto OO que encapsula las abstracciones de datos y procedimientos que se
requieren para describir el contenido y comportamiento de alguna entidad del mundo real.
Por definición, todos los objetos que existen dentro de una clase heredan sus atributos y las
operaciones disponibles para la manipulación de los atributos.
Atributos: Son los que están asociados a clases y objetos, y que ellos describen la clase o el
objeto de alguna manera. Un atributo puede tomar un valor definido por un dominio enumerado. Un
dominio es simplemente un conjunto de valores específicos.
Operaciones, Métodos Y Servicios: Un objeto encapsula datos y los algoritmos que procesan
estos datos. Estos algoritmos son llamados Operaciones, métodos o servicios y pueden ser vistos como
módulos en un sentido convencional. Cada una de las operaciones encapsuladas por un objeto proporciona
una representación de uno de los comportamientos del objeto.
Mensajes: Los mensajes son el medio a través del cual los objetos interactúan. Usando la
terminología introducida en la sección precedente, un mensaje estimula la ocurrencia de ciertos
comportamientos en el objeto receptor.

 Encapsulamiento, Herencia Y Polimorfismo

Las clases OO y los objetos derivados de ella encapsulan los datos y las operaciones que trabajan
sobre estos en un único paquete. Estos proporcionan importantes beneficios:

•Detalles de implementación interna de datos


•Procedimientos están ocultos al mundo exterior
Las Estructuras de datos y las operaciones que las manipulan están mezcladas en una entidad sencilla:
La clase.
Las Interfaces entre objetos encapsulados están simplificadas.

La Herencia es una de las diferencias clave entre sistemas convencionales y sistemas OO. La
reutilización se realiza directamente. Cualquier cambio en los datos u operaciones contenidas dentro de una
superclase se hereda inmediatamente por todas las subclases que se derivan de la superclase.

El Polimorfismo es una característica que reduce en gran medida el esfuerzo necesario para extender
un sistema OO. Para entender el polimorfismo, considere una aplicación convencional que debe dibujar
cuatro tipos diferentes de gráficos: Gráficos de líneas, Gráficos de Tarta, Histograma y Diagramas de
Kiviat.

4. Identificación de los elementos de un modelo de objeto

 Existen diferentes directrices informales para identificar los elementos de un modelo de objetos.
Podemos identificar objetos examinando el planteamiento del problema a la función que desempeña
aquel objeto. Por ejemplo, si implemente una solución formara parte del espacio solución. Los objetos
pueden ser de diferentes tipos:

•Entidades Externas (dispositivos, personas) que maneja informaciones a usar por sistema
computacional.
•Ocurrencias o eventos (transformaciones de una serie de movimientos) que ocurren dentro del
contexto de operación del sistema
•Papeles o roles (Ing. Vendedor) desempeñados por personas que interactúan con el sistema
•Cosas (Partes del dominio del problema)
•Lugares (Establece el contexto del problema y la función general del sistema)

 Para ser considerado como valido un objeto debe de tener las siguiente características:

•Información retenida
•Servicio necesario
•Atributos múltiples
•Atributos comunes
•Operaciones comunes
•Requisitos esenciales

 Un atributo es aquel objeto que ha sido seleccionado para ser incluido en el modelo de análisis. Tiene
por objetivo definir a los objetos.
Las operaciones indican el comportamiento del objeto dentro del sistema, cambia uno o más atributos
contenidos en el sistema.
Pueden ser clasificados entre tres grandes categorías

•Operaciones que manipulan datos


•Operaciones que realizan algún Calculo
•Operaciones que monitorizan un objeto frente a la ocurrencia de un sistema de control

 El ciclo de vida de un objeto puede resumirse de la siguiente manera:

•Crear el objeto
•Modificarlo
•Manipulación
•Borrar

 Las actividades conocidas que ocurren durante su ciclo de vida son:

•Asignación de Tarea
•Panel de control
•Alarma audible
5. Gestión de proyectos de software orientado a objeto

 Las técnicas modernas de gestión de proyectos de software se pueden dividir e as siguientes


actividades:

•Establecimiento de un marco de proceso común para el proyecto.


•Uso del marco y de métricas históricas.
•Especificación de productos de trabajo y avances.
•Definición de puntos de comprobación.
•Gestión de los cambios que ocurren invariablemente.
•Seguimiento.

Para aplicar estas actividades hay que tomar en cuenta que todas hay que enfocarlas usando un
modelo propio.

 Marco de proceso común para OO. (orientado a objeto)


Este tópico define un enfoque organizativo para el desarrollo y mantenimiento del software. Identifica
el paradigma de Ing. De software aplicado para construir y mantener software. Tiene la cualidad de ser
adaptable, de forma que cumpla con las necesidades individuales del equipo de proyecto.
Para el desarrollo de proyectos de esta naturaleza no se pueden aplicar modelos lineales (ciclo de vida),
sino que es necesario aplicar un modelo que contemple un desarrollo iterativo. Iterativo significa que el
software evolucione a través de un numero de ciclos. El software OO debe ser evolutivo por naturaleza.
Existen autores que sugieren un modelo recursivo/paralelo para el desarrollo orientado a objeto.

Este modelo sugiere:

•Realizar los análisis suficientes para aislar las clases de problemas y las conexiones más
importantes.
•Realizar un pequeño diseño para determinar si las clases y pueden ser implementadas de forma
practica.
•Extraer objetos reutilizables.
•Conducir alguna prueba para descubrir errores.
•Obtener retroalimentación del cliente.
•Modificar el modelo de análisis basándose en lo que se ha aprendido.
•Refinar el diseño.
•Construir objetos especiales.
•Ensamblar un nuevo prototipo.
•Realizar pruebas para descubrir errores del prototipo
•Obtener retroalimentación del cliente.

El progreso en este modelo se va obteniendo iterativamente, por consiguiente por cada iteración
se ajusta la agenda para acomodar los cambios asociados con la iteración precedente.

 Métricas y Estimación en Proyectos OO


Como el objetivo principal de los proyectos OO es la reutilización, las estimaciones hay que
realizarlas no partiendo de líneas de código ni un punto de fusión como controlador principal de la
estimación. El punto de fusión puede ayudar en alguna media al proceso, pero no es lo mas optimo.

 Un enfoque OO para estimación y Planificación.


Para realizar las estimaciones hay que tomar en consideración un conjunto de medidas y técnicas. Sé
podría realizar estimaciones respecto al esfuerzo y la duración usadas en el desarrollo del software. Pero lo
que más se adapta al enfoque Orientado a objeto requiere de técnicas como la siguiente:

•Desarrollo de estimaciones usando descomposición de esfuerzos.


•Desarrollar guiones de escenario y determinar una cuenta.
•Determinar la cantidad de clases clave usando AOO.
•Clasificar el tipo de interfaz para la aplicación y desarrollar un multiplicador para las clases de
soporte.
•Multiplicar clases (clave + soportes)
6. Seguimiento Del Progreso En Un Proyecto Orientado A Objeto

Aunque el modelo de proceso recursivo/paralelo es el mejor marco de trabajo para un proyecto


OO, el paralelismo de tareas dificulta el seguimiento del proyecto. El jefe del proyecto puede tener
dificultades estableciendo hitos significados en un proyecto OO debido a que cierto numero de cosas están
ocurriendo a la vez. En general, los siguientes hitos pueden (completados) (Terminados) al cumplirse los
criterios mostrado:

 Hitos técnico: Análisis OO terminado

•Toda clase y la jerarquía de clases que son definidas y revisadas


•Los atributos de clases y las operaciones asociadas a una clase sean definidos y revisado
•Las relaciones entre clases (se han establecido y revisado)
•Se ha creado y revisado un modelo de comportamiento
•Se ha marcado clase reutilizable

 Hitos técnico: Diseño OO terminado

•El conjunto de subsistema se ha definido y revisado


•Las clases sean asignado a su subsistema que han sido revisada
•Se han establecido y revisado la asignación de tareas
•Se ha identificado responsabilidades y colaboraciones
•Se han diseñado y revisado los atributos y opresiones
•El modelo de mensajería se ha creado y revisado

 Hitos técnico: Programación OO terminada

•Cada nueva clase ha sido implementada en código a partir del modelo del diseño
•Las clases extraídas (de una biblioteca de reutilización) se han integrado
•Se ha construido un prototipo o incrementos

 Conceptos y principios orientados a objetos

•Se han diseñado casos de prueba y ejecutado pruebas a nivel de clases para cada clase
•Se han diseñado casos de prueba y completado pruebas de agrupamientos y las clases sean integrados
•Las pruebas a nivel de sistema se han terminado

Recordando el modelo recursivo/paralelo examinado anteriormente este, es importante destacar que


cada uno de estos hitos puede ser visitado nuevamente al integrar diferentes incrementos al usuario

Вам также может понравиться