Ingeniería del Software un enfoque práctico
Enviado por FredoMina • 28 de Marzo de 2014 • 2.670 Palabras (11 Páginas) • 236 Visitas
UNIVERSIDAD AUTONOMA DEL ESTADO DE MORELOS FACULTAD DE CONTADURIA ADMINISTRACION E INFORMATICA LICENCIATURA EN INFORMATICA 5° SEMESTRE SALON #10
AUTOR: Mina Adan, Alfredo
DOCENTE: M.C.E. Roque Nieto, Nohemí
BIBLIOGRAFIAS:
Roger S. Pressman y Associates, Inc.2002, Ingeniería del Software un enfoque práctico, McGRAW-HILL, España, p. 343-360
1.- Conceptos y Principios Orientados a Objetos
1.1.- El Paradigma orientado a objetos
Durante muchos años el término orientado a objetos se usó para referirse al desarrollo del software que usaba uno de los lenguajes orientados a objetos como son ada95, c++ Eiffel, etc. Hoy en día el paradigma orientado a objetos encierra una completa versión de ingeniera en software.
Durante el proceso de ingeniería del software, los beneficios de la tecnología orientada a objetos se pueden fortalecer si se usa antes y durante el proceso. Un simple uso de la programación orientada a objetos no brindara mejores resultados, los ingenieros de software deben considerar ciertos elementos como son el análisis de requisitos orientado a objetos (AROO), el diseño orientado a objetos (DOO), el análisis del dominio orientado a objetos (ADOO), sistemas de gestión de bases de datos orientada a objetos (SGBDOO) y la ingeniera de software orientada a objetos asistida por computadora (ISOOAC).
El proceso OO se mueve a través de una espiral evolutiva que comienza con la comunicación con el usuario, es aquí donde se define el dominio del problema y se identifican las clases básicas del problema. La ingeniería de software OO hace hincapié en la reutilización, por lo tanto las clases se buscan en una biblioteca antes de construirse. Si una clase no puede encontrarse en la biblioteca el desarrollador de software aplicando la tecnología orientada a objetos crea la clase y los objetos derivados de la clase, al final la clase se pone en una biblioteca de tal manera que pueda ser reutilizada en el futuro.
En este paradigma al elemento fundamental se le denomina objeto. Un objeto es la representación de un concepto para un programa, y contiene toda la información necesaria para abstraer dicho concepto.
Con los objetos es realmente más fácil construir modelos; para sistemas de gran complejidad, que dedicarse a la programación secuencial.
1.2- Conceptos de Orientación a objetos
1.2.1 Clases y objetos
Una clase es un concepto OO que encapsulan las abstracciones de datos y procedimientos que se requiere para describir el contenido y comportamiento de laguna entidad del mundo real. Las abstracción de los datos (atributos) que describen una clase están encerrados por una “muralla” (método, operaciones o servicios) capaces de manipular los datos de laguna manera, la única forma de alcanzar los atributos de la clase es atreves de los métodos que forman esa “muralla” por lo que se puede decir que la clase encapsula datos y el proceso que se usa para manipular esos datos son los métodos, esto permite la ocultación de la información.
Una clase es una descripción generalizada que describe una colección de objetos similares, todos los objetos que existen dentro de una clase heredan sus atributos y las operaciones que manipulan los atributos. Así también se le llama súper clase a la colección de clases y subclase a una instancia de la clase.
Los atributos y operaciones de la superclase son heredados por subclases que pueden añadir, cada una de ellas, atributos y métodos, a esto se le conoce como jerarquía de clases.
1.2.2. Atributos
Las entidades de la vida real están a menudo descritas con palabras que indican características estables, la mayoría de los objetos físicos tienen características como forma, peso, color, tipo de material y tamaño. Las personas tienen características como fecha de nacimiento, padre, nombre y color de ojos.
Un atributo puede tomar un valor definido por un dominio enumerado, un dominio es un conjunto de valores específicos. Por ejemplo, supongamos que la clase Coche tiene un atributo color, el dominio de valores de color es blanco, negro, plata, gris, azul, amarillo, verde.
Los valores asignados a los atributos de un objeto hacen a ese objeto ser único.
1.2.3 Operaciones, métodos y servicios
Un objeto encapsula datos y los algoritmos que procesasen esos datos, podemos representar esos datos como una colección de atributos. A estos algoritmos los llamamos operaciones, métodos o servicios y pueden ser vistos como módulos.
Cada operación en capsulada por un objeto representa uno de los comportamientos del objeto, por ejemplo, la operación “DeterminarColor” para el objeto coche extraeré el color almacenado en el atributo color, la consecuencia de esta operación se debe a que la clase coche fue diseñada para recibir un mensaje. Siempre que un objeto es estimulado por un mensaje inicia algún comportamiento ejecutando una operación.
1.2.4 Mensajes
Los mensajes son el medio por el cual interactúan los objetos, un mensaje estimula el comportamiento en el objeto receptor. Una operación dentro de un objeto emisor genera un mensaje de esta forma:
destino.operacion(parámetros)
Donde destino es el objeto receptor el cual es estimulado por el mensaje, operación es el método que recibe el mensaje y parámetros proporciona información para realizar la operación.
Los mensajes y los métodos tienen una gran relación, ya que los métodos son procedimientos invocados cuando un objeto recibe un mensaje.
1.2.5 Encapsulamiento, herencia y polimorfismo
Podemos diferenciar los sistemas orientados a objetos a partir de sus componentes convencionales, como ya hemos visto las clases y los objetos derivados de ella encapsulan los datos y las operaciones en un mismo paquete, esto proporciona un gran número de beneficios. De los beneficios más importantes podemos mencionar la ocultación de la información, la reutilización de componentes y la simplificación de la interacción.
Hay tres características de los sistemas orientados a objetos que los hacen únicos. La herencia es una de las diferencias clave entre sistemas convencionales y sistemas orientados a objetos. Una subclase A hereda todos los atributos y operaciones asociadas con su superclase B, esto significa que todas las estructuras de datos y métodos originalmente diseñados e implementados para B están inmediatamente disponibles para
...