Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7
Objetivos Generales: Comprender correcta y eficientemente los conceptos y principios del espectro de técnicas de Ingeniería de Software que puedan ser aplicadas en proyectos de software. Desarrollar una cultura de ingeniería de software.
Objetivos Específicos: Aplicar correctamente los conceptos y principios relacionados a la Ingeniería de Software en la resolución de casos prácticos para la gestión de proyectos de software de calidad. Utilizar herramientas para el modelado y gestión de proyectos de software. Utilizar metodologías agiles en el desarrollo de software.
Objetivos Instruccionales: Comprender los conceptos relacionados a los principios relacionados a la orientación a objetos.
Contenidos Paradigma orientado a objetos Conceptos de orientación a objetos Elementos de un modelo de objetos Gestión de proyectos de software OO.
En que consiste 1.Un objeto encapsula tanto datos como los procesos que se aplican a esos datos. 2.Esta característica permite construir clases de objetos e inherentemente construir bibliotecas de objetos y clases reutilizables. 3.Los componentes de software derivados de objetos muestran características como la independencia funcional, ocultación de la información, asociados con el software de alta calidad. Paradigma orientado a objetos
Cuales son los pasos La ingeniería de software orientado a objetos sigue los mismos pasos que el enfoque convencional ANALISIS DISEÑO IMPLEMENTACION PRUEBAS Identifica las clases y objetos relevantes en el dominio del problema Proporciona detalles sobre la arquitectura, las interfaces y los componentes Utilizando un lenguaje orientado a objetos, transforma el diseño en código Chequean tanto la arquitectura como las interfaces y los componentes Paradigma orientado a objetos
¿Que es un objeto? Un objeto representa una entidad física, conceptual o programa. Entidad física: Entidad conceptual: Entidad programa: Ómnibus Fenómeno natural Lista enlazada Conceptos de orientación a objetos
Definición formal de objeto Un objeto es un concepto, una abstracción o una cosa con limites bien definidas y significado para una aplicación. Un objeto es algo que tiene: 1.Estado 2.Comportamiento 3.Identidad Conceptos de orientación a objetos
Un objeto tiene estado Un estado es una de las posibles condiciones en que el objeto puede existir. El estado normalmente cambia en el transcurso del tiempo. El estado de un objeto es implementado por un conjunto de propiedades (llamadas atributos), con los valores de las propiedades, además de las conexiones que deben existir entre objetos. Nombre: Andrés Rebaza Gutiérrez Nº Cliente: Fecha Ingreso: 29 Abril 2004 Estado: Activo Conceptos de orientación a objetos
Un objeto tiene comportamiento El comportamiento de un objeto determina como este actúa y reacciona frente a las peticiones de otros objetos. El comportamiento de un objeto es modelado por un conjunto de mensajes a los que puede responder (las operaciones que el objeto puede realizar). Registro del sistema Crear pedido : RetornaConfirmacion Conceptos de orientación a objetos
Un objeto tiene una identidad Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto. Nombre: G. Washington País : Perú Nombre: G. Washington País : Perú Nombre: G. Washington País : Perú Conceptos de orientación a objetos
¿Que son clases? Una clase es una descripción de un grupo de objetos con propiedades en común (atributos), comportamiento similar (operaciones), la misma manera de relacionarse entre objetos (asociaciones y agregaciones) y una semántica en común. Una clase es una abstracción en la que: 1.Se enfatizan las características relevantes 2.Se suprimen otras características La abstracción nos ayuda a trabajar con cosas complejas. Conceptos de orientación a objetos
Ejemplo de una clase Clase Pedido Comportamiento Agregar un pedido Borrar un pedido Modificar un pedido ListarPedidosAnulados Estructura NroPedido Fecha FormaDePago Cliente Conceptos de orientación a objetos
Relación entre clases y objetos Una clase es una definición abstracta de un objeto. 1.Define la estructura y el comportamiento compartidos por los objetos 2.Sirve como modelo para la creación de objetos Los objetos pueden ser agrupados en clases. Objetos Cliente: RojasCliente: Vásquez Cliente: Suárez Cliente RazonSocial Direccion Telefono TipoCliente AgregarCliente ModificarCliente EstadoCliente Conceptos de orientación a objetos
Encontrando clases Una clase debe capturar una y solo una abstracción clave. Mala abstracción: La clase estudiante que conoce la información del estudiante y del programa del semestre actual del estudiante. Buena abstracción: Clases separadas. Una para el estudiante y otra programa de estudiantes. Conceptos de orientación a objetos
Jerarquía de clases Los atributos y métodos de una superclase son heredados por sus subclases. Conceptos de orientación a objetos
Mensajes Medios por el cual los objetos intercambian información entre si. Conceptos de orientación a objetos
Herencia Permite a las subclases reutilizar datos y métodos de la superclase Conceptos de orientación a objetos
Polimorfismo Permite que varios objetos en una jerarquía de la clase puedan tener métodos diferentes con el mismo nombre Conceptos de orientación a objetos
Ventajas de la orientación a objetos 1.El ocultamiento de los datos y procedimientos del mundo externo, reduce la propagación de efectos laterales cuando se efectúan cambios. 2.La estructura de datos y operadores se unen en una sola entidad o clase (esto facilita la reutilización) 3.El encapsulamiento simplifica las interfaces entre los objetos. Conceptos de orientación a objetos
Opciones de construcción de clases 1.Construya nuevas clases desde el principio sin usar la herencia. 2.Use la herencia para crear la nueva clase de la clase existente que contiene la mayoría de los atributos y funcionalidad deseada. 3.Reestructure la jerarquía de la clase para que los atributos y funcionalidad requerida puedan ser heredados por la clase recientemente creada 4.Reemplace algunos atributos o funcionalidad en una clase existente y use la herencia para crear una nueva clase con las versiones privadas de estos atributos y funcionalidades. Conceptos de orientación a objetos
De clases Una clase de objeto describe a un grupo de objetos con similares: 1.Propiedades 2.Comportamientos 3.Relaciones con otros objetos. Elementos de un modelo de objetos
De objetos Se examina el planteamiento del problema realizando un “análisis sintáctico gramatical” en la narrativa del sistema que se va a construir. Los objetos se determinan subrayando cada nombre. Se manifiestan como: 1.Entidades externas (otros sistemas, dispositivos, personas,etc), 2.Cosas (informes, presentaciones, etc), 3.Ocurrencias o sucesos (movimiento en un robot), 4.Papeles o roles (director, vendedor, ingeniero), 5.Estructuras (sensores, computadoras), 6.Unidades organizacionales (división, grupo, equipo). Características de selección: 1.Información retenida, 2.Servicios necesarios, 3.Atributos múltiples, 4.Atributos comunes, 5.Operaciones comunes, 6.Requisitos esenciales. Para ser considerado un objeto valido a incluir en el modelo de requisitos, debe satisfacer todas o casi todas las características. Elementos de un modelo de objetos
De atributos 1.Los atributos describen un objeto que ha sido seleccionado para ser incluido en el modelo de análisis. 2.En esencia son los atributos los que definen al objeto, los que clarifican lo que representa el objeto en el contexto del espacio del problema. 3.Para desarrollar un conjunto significativo de atributos para un objeto, el analista puede estudiar de nuevo la narrativa del proceso para el problema y seleccionar aquellos elementos que razonablemente “pertenecen” al objeto. Elementos de un modelo de objetos
Definición de operaciones Definen el comportamiento de un objeto y cambian de alguna manera, los atributos de dicho objeto. Las operaciones se obtienen subrayando cada verbo. Categorías: 1.Manipulan datos (añadiendo, seleccionando, eliminación). 2.Realizan cálculos. 3.Monitorizan objetos a la ocurrencia de un suceso de control. A estas operaciones se añaden dos más: crear y destruir. Elementos de un modelo de objetos
Actividades Gestión de proyectos OO 1.Establecimiento de un marco de proceso común para el proyecto 2.Uso del marco y de métricas históricas para desarrollar estimaciones de esfuerzo y tiempo 3.Especificación de productos de trabajo e hitos que permitirán medir el progreso 4.Definición de puntos de comprobación para la gestión de riesgos, aseguramiento de la calidad y control 5.Gestión de los cambios que ocurren invariablemente al progresar el proyecto 6.Seguimiento, monitorización y control del progreso
Resumen 1.El dominio del problema se caracteriza mediante un conjunto de objetos con atributos y comportamientos específicos. 2.Los objetos son manipulados mediante una colección de funciones (llamadas métodos) y se comunican entre ellos mediante un protocolo de mensajes. 3.Los objetos se clasifican mediante clases y subclases.
Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7