2. Reconocimiento de clases y objetos y
sus relaciones en el mundo real.
Un objeto se define como una estructura que
encapsula atributos (características) y
comportamientos (procedimientos) de una
entidad con un papel bien definido en una
aplicación. Cada objeto tiene:
3. Estado
Conjunto de valores de los atributos en un
instante de ti dado. El comportamiento de
un objeto puede modificar el estado d
este.
4. Comportamiento
Relacionado con su funcionalidad y
determina las operaciones que este puede
realizar o a las que puede responder ante
mensajes enviados por otros objetos.
5. Clases
Es la definición de un objeto. Cuando se
programa un objeto y se definen sus
características y funcionalidades, realmente
se programa una clase
6. Identidad:
Es la propiedad que permite a un objeto
diferenciarse de otros. Generalmente esta
propiedad es tal, que da nombre al objeto.
8. Es un método por el cual abstraemos una
determinada entidad de la realidad de sus
características y funciones que desempeñan.
Denota las características esenciales de un
objeto, donde se capturan sus comportamientos
9. Dentro de las características esenciales
se encuentran:
Atributos (o datos).
Comportamiento (métodos)
La abstracción es crucial para comprender este complejo
mundo, para el funcionamiento de una mente humana
normal y es una herramienta muy potente para tratar la
complejidad, es clave para diseñar un buen software
10. Ejemplo
La abstracción de un automóvil.
Características: Color, año de
fabricación, modelo, etc.
Métodos o Funciones: Frenar,
encender, etc.
12. Significa reunir a todos los elementos que pueden
considerarse pertenecientes a una misma entidad, al
mismo nivel de abstracción.
En la OO el encapsulamiento de una entidad se logra
mediante la definición de una clase, que reúne los
datos y comportamiento en una unidad.
13. La modularidad implica:
El programa se puede construir, probar y depurar por
módulos.
Al agregar nueva funcionalidad, se pueden crear
nuevos módulos o incluir la funcionalidad en módulos
que ya existen.
Se facilita el localizar errores, el mantenimiento y el
crecimiento del software.
Si la programación estructurada se interesa primero por los
procedimientos y después por los datos, el diseño orientado
a objetos se interesa en primer lugar por los datos, a los
que se asocian posteriormente procedimientos
15. La POO comparada con otros paradigmas de programación,
permite manejar de mejor manera la complejidad del
software. Por lo siguiente:
Agrupar elementos comunes (objetos) en clases.
La clase incluye en una unidad los atributos y los
métodos.
Se pueden construir jerarquías de herencias de clases
que hereden (reciban) lo que ya esta definido
Lo anterior aumenta la modularidad. El programa esta
formado por módulos o partes bien identificadas.
17. Las etapas básicas y los principios del modelo OO
del ciclo de vida del software son:
1. Especificación de requerimientos.
2. Análisis.
3. Diseño.
4. Programación.
5. Mantenimiento.
19.
Comprende las tareas relacionadas con la determinación
de las necesidades o de las condiciones a satisfacer para
un software nuevo o modificado, tomando en cuenta los
diversos requerimientos de los clientes.
El propósito es hacer que los mismos alcancen un
estado óptimo antes de alcanzar la fase de diseño en
el proyecto.
Los buenos requerimientos deben ser medibles,
comprobables, sin ambigüedades o contradicciones.
21. Los requerimientos para un sistema de software
determinan lo que hará el sistema y definen las
restricciones de su operación e implementación.
Para esta actividad se debe:
IDENTIFICACION DE REQUISITOS: Identificar las necesidades del
usuario (del negocio).
ANÁLISIS Y NEGOCIACIÓN DE REQUISITOS: Describir los objetivos de
la aplicación.
ESPECIFICACION DE REQUERIMIENTOS: Definir características y
funciones generales de la aplicación.(requerimientos funcionales y no
funcionales)
VALIDACIÓN DE REQUISITOS: El equipo de Ingeniería de sistemas y los
clientes deben establecer en conjunto las metas y objetivos de la
aplicación.
FACTORES EN LA CALIDAD DEL SOFTWARE: Eficiencia,
Transportabilidad, Verificabilidad, Fácil de utilizar, Corrección,
Extensibilidad, Compatibilidad Reutilización