Está en la página 1de 31

ITCH II Carrera: ISC Materia: Fundamentos de Programacin Alumna: Yesenia Chaparro Ochoa Horario: 5 pm-6pm Docente: Hernn de la Garza

Gutirrez

FUNDAMENTOS DE PROGRAMACIN

1.1 RECONOCIMIENTO DE CLASES Y OBJETOS Y SUS RELACIONES EN EL MUNDO REAL.


Un objeto se define como una estructura que encapsula atributos (caractersticas) y comportamientos (procedimientos) de una entidad con un papel bien definido en una aplicacin. Cada objeto tiene: - Estado: Conjunto de valores de los atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este. - 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. - Identidad: Es la propiedad que permite a un objeto diferenciarse de otros. Generalmente esta propiedad es tal, que da nombre al objeto. Clases: Es la definicin de un objeto. Cuando se programa un objeto y se definen sus caractersticas y

1.2 ABSTRACCIN.

Abstraccin:Es un mtodo por el cual abstraemos una


determinada entidad de la realidad de sus caractersticas y funciones que desempean. Denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos.

Dentro de las caractersticas esenciales se encuentran: Atributos (o datos). Comportamiento (mtodos) La abstraccin 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 disear un buen software

Ejemplo: La abstraccin de un automvil. - Caractersticas: Color, ao de fabricacin, modelo, etc. - Mtodos o Funciones: Frenar, encender, etc.

1.2. ENCAPSULAMIENTO
Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. En la OO el encapsulamiento de una entidad se logra mediante la definicin de una clase, que rene los datos y comportamiento en una unidad.

1.3 LA POO Y LA COMPLEJIDAD DEL SOFTWARE.


La POO comparada con otros paradigmas de programacin, 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 mtodos. Se pueden construir jerarquas de herencias de clases que hereden (reciban) lo que ya esta definido. Lo anterior aumenta la modularidad. El programa esta formado por mdulos o partes bien identificadas. La programacin orientada a objetos, un programa es una coleccin de una sola entidad bsica, el objeto, el cual combina los datos con los procedimientos que

1.3 LA POO Y LA COMPLEJIDAD DEL SOFTWARE.

La modularidad implica:
El

programa se puede construir, probar y depurar por mdulos. Al agregar nueva funcionalidad, se pueden crear nuevos mdulos o incluir la funcionalidad en mdulos que ya existen. Se facilita el localizar errores, el mantenimiento y el crecimiento del software.

Si la programacin estructurada se interesa primero por los procedimientos y despus por los datos, el diseo orientado a objetos se interesa en primer lugar por los datos, a los que se asocian posteriormente procedimientos

1.4 CONCEPTOS DEL CICLO DE VIDA DEL SOFTWARE.


Las etapas bsicas y los principios del modelo OO del ciclo de vida del software son: 1. Especificacin de requerimientos. 2. Anlisis. 3. Diseo. 4. Programacin. 5. Mantenimiento.

1.4.1 ESPECIFICACIONES DE REQUERIMIENTOS.

Comprende las tareas relacionadas con la determinacin 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 propsito es hacer que los mismos alcancen un estado ptimo antes de alcanzar la fase de diseo en el proyecto. Los buenos requerimientos deben ser medibles, comprobables, sin ambigedades o contradicciones.

ESPECIFICACIN DE REQUERIMIENTOS.
Los requerimientos para un sistema de software determinan lo que har el sistema y definen las restricciones de su operacin e implementacin. Para esta actividad se debe: IDENTIFICACION DE REQUISITOS: Identificar las necesidades del usuario (del negocio). ANLISIS Y NEGOCIACIN DE REQUISITOS: Describir los objetivos de la aplicacin. ESPECIFICACION DE REQUERIMIENTOS: Definir caractersticas y funciones generales de la aplicacin.(requerimientos funcionales y no funcionales) VALIDACIN DE REQUISITOS:El equipo de Ingeniera de sistemas y los clientes deben establecer en conjunto las metas y objetivos de la aplicacin. FACTORES EN LA CALIDAD DEL SOFTWARE: Eficiencia, Transportabilidad, Verificabilidad, Fcil de utilizar, Correccin, Extensibilidad, Compatibilidad Reutilizacin.

EJEMPLO DE ESPECIFICACIN DE REQUERIMIENTOS.


Giro de la empresa. La empresa HogarSeguro.com se dedica a la venta, configuracin e instalacin de equipo de seguridad para hogares y pequeas empresas. Identificar la necesidad del negocio. La empresa requiere de una aplicacin Web que permita a los consumidores configurar y comprar todos los componentes requeridos para instalar un sistema de administracin en su hogar o empresa. Objetivos de la aplicacin. Vender directamente a los consumidores, lo que eliminar costos de intermediacin y mejorar mrgenes de utilidad. Aumentar las ventas en un 25%. Penetrar en regiones geogrficas donde no se tienen puntos de venta. Que el usuario pueda configurar un equipo de seguridad para su hogar, al proporcionar informacin sobre habitaciones, dimensiones y distribucin

1.4.2 ANLISIS ORIENTADO A OBJETOS


Definicin. Es un mtodo de anlisis que examina los requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema. Documentos de deben tenerse o desarrollarse durante el anlisis: Especificacin de requisitos o requerimientos. Diagramas de casos de uso. Escenarios y subescenarios. Prototipos y su evaluacin.

CASO DE USO.

Es una tcnica para la captura de requisitos potenciales de un nuevo sistema o una actualizacin de software. Cada caso de uso proporciona uno o ms escenarios que indican cmo debera interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo especfico. Ejemplo:

ESCENARIOS

Es una descripcin parcial y concreta del comportamiento de un sistema en una determinada situacin.

PROTOTIPO.
Es una representacin de aquellos aspectos del software que sern visibles para el cliente (por ejemplo, la configuracin de la interfaz con el usuario y el formato de los despliegues de salida). El prototipo, es evaluado por el cliente para una retroalimentacin; gracias a sta se refinan los requisitos del software que se desarrollar.

1.4.3 DISEO OO

Es el proceso de dividir una solucin en una cantidad determinada de objetos constituyentes Es una fase de la metodologa orientada a objetos para el desarrollo de Software. Su uso induce a los programadores a pensar en trminos de objetos, en vez de procedimientos, cuando planifican su cdigo. Un objeto agrupa datos encapsulados y procedimientos para representar una entidad. La 'interfaz del objeto', esto es, las formas de interactuar con el objeto, tambin es definida en esta etapa. El diseo 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 anlisis orientado a objetos.

1.4.4 POO

Toma las mejores ideas de la programacin estructurada la combina con nuevos y poderosos conceptos que animan o alientan una nueva visin de la tarea de la programacin, permite descomponer fcilmente un problema en subgrupos de partes relacionadas, entonces, puede traducir estos subgrupos en unidades autocontenidas llamadas Objetos Es un paradigma de programacin que usa objetos y sus interacciones para disear aplicaciones y programas de computadora. Est basado en varias tcnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento.

1.5 ELEMENTOS PRIMORDIALES EN EL MODELO OO.

La programacin Orientada a Objetos trata de cumplir las necesidades de los usuarios finales, ests tareas se realizan mediante la modelizacin del mundo real, el soporte fundamental es el modelo objeto. Los elementos ms importantes de este modelo son: Abstraccin Encapsulamiento Modularidad Jerarqua y Herencia Polimorfismo

1.5.1. ABSTRACCIN.

Extraer las propiedades esenciales de un objeto que lo distinguen de los dems tipos de Objetos y proporciona fronteras conceptuales definidas respecto al punto de vista del observador Denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Es la capacidad para encapsular y aislar la informacin de diseo y ejecucin Una abstraccin se centra en la vista externa de un objeto, de modo que sirva para separar el comportamiento esencial de un objeto de su implementacin. Definir una abstraccin significa describir una entidad del mundo real, no importa lo compleja que pueda ser y, a continuacin, utilizar esta descripcin en un programa.

1.5.2. ENCAPSULAMIENTO.

Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Los lenguajes orientados a objetos proporcionan la Encapsulacin. La encapsulacin se puede utilizar para aplicar el concepto de Abstraccin. Cada objeto est aislado del exterior, es un mdulo natural, y la aplicacin entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificacin por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones

1.5.3. MODULARIDAD.

Es la descomposicin de un sistema complejo en piezas mas simples llamadas mdulos. Es ms fcil la solucin de pequeos mdulos. Este procedimiento de descomposicin refleja el principio de Divide y Vencers. El cdigo fuente de un objeto puede ser escrito, as como darle mantenimiento, independientemente del cdigo fuente de otros objetos. As mismo, un objeto puede ser transferido alrededor del sistema sin alterar su estado y conducta.

1.5.4. JERARQUA Y HERENCIA.

Herencia: (por ejemplo, la clase D recibe herencia de la clase C) Es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. La Jerarqua es una propiedad que permite la ordenacin de las abstracciones. Las dos jerarquas ms importantes de un sistema complejo son: estructura de clases (jerarqua es-un (is-a): generalizacin/especializacin) y estructura de objetos (jerarqua partede (part-of): agregacin). Las jerarquas de generalizacin/especializacin se conocen como herencia. Bsicamente, la herencia define una relacin entre clases, en donde una clase comparte la estructura o comportamiento definido en una o ms clases (herencia simple y herencia mltiple, respectivamente).

1.5.4. JERARQUA Y HERENCIA.

Jerarqua de clases. Las relaciones de herencia forman una estructura de rbol (jerarqua). Ejemplo:

1.5.5 POLIMORFISMO

Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. Es la posibilidad de que una entidad tome muchas formas. En trminos prcticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operacin de diferentes formas, segn sea el objeto que se referencia en ese momento. El polimorfismo adquiere su mxima expresin en la derivacin o extensin de clases, es decir, cuando se obtiene una clase a partir de una clase ya

1.5.5 POLIMORFISMO

Suponer una jerarqua de clases de figuras de dos dimensiones. Cada clase puede tener un mtodo que se llame igual, por ejemplo rea() pero cada clase tendr una formula de clculo de rea diferente segn la clase. Por ejemplo, la operacin comer es una operacin fundamental en la vida de los mamferos, de modo que cada tipo de mamfero debe poder realizar la operacin o funcin comer. Por otra parte, una cabra o una vaca que pastan en un campo, un nio que se come un caramelo y un animal que devora a otro animal, son diferentes formas que utilizan diferentes mamferos para

1.6 HISTORIA DE LOS PARADIGMAS EN EL DESARROLLO DEL SOFTWARE.


Paradigmas: Representan un enfoque particular o filosofa para la construccin del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. Los ms comunes son el desarrollo en cascada(metodologa de desarrollo en cascada es: Anlisis de requisitos, Diseo, Programacin, Prueba, Implantacin, Mantenimiento),. Los enfoques generales para la escritura del cdigo han sido: Programacin espagueti. Sin una secuencia de ejecucin definida. Sin mdulos. Programacin estructurada. Se usan los mdulos (basados en procedimientos) y las sentencias de programacin estructuradas. POO. Se afina el concepto de mdulo al incluir datos y procedimientos (en una clase). Incluye nuevos conceptos como herencia, polimorfismo, etc.

Ventajas El anlisis del riesgo se hace de forma explcita y clara. Une los mejores elementos de los restantes modelos. Inconvenientes Genera mucho trabajo adicional.

1.6 HISTORIA DE LOS PARADIGMAS EN EL DESARROLLO DEL SOFTWARE.


Algunos paradigmas de programacin especficos (procedimientos computacionales para resolver un problema), son: Demostrativo. El desarrollo en espira El desarrollo por prototipos El desarrollo incremental, El desarrollo en V Declarativo. Imperativo. Funcional. Lgico. Orientado a Objetos.

1.6 HISTORIA DE LOS PARADIGMAS EN EL DESARROLLO DEL SOFTWARE.


Los LP segn su nivel de acercamiento con el hardware se clasifican en: Lenguaje mquina (0, 1). Lenguaje ensamblador. Lenguajes de tercer nivel (palabras en ingls). Lenguajes declarativo (indicar que hacer y no como hacerlo). Desde el punto de vistas de las metodologas que se aplican para el ciclo de vida del software, algunas son: Ciclo vida clsico o cascada. Modelo en espiral. Prototipos.

1.7 BENEFICIOS DEL MODELO DE OBJETOS Y DE LA POO SOBRE OTROS PARADIGMAS.


La programacin orientada a objetos beneficia a los desarrolladores debido a que: Los programas son fciles de disear debido a que los objetos reflejan elementos del mundo real. Las aplicaciones son ms sencillas para los usuarios debido a que los datos innecesarios estn ocultos. Los objetos son unidades autocontenidas. La productividad se incrementa debido a que puede reutilizar el cdigo. Los sistemas son fciles de mantener y se adaptan a las cambiantes necesidades de negocios. Es ms fcil crear nuevos tipos de objetos a partir de los ya existentes. Simplifica los datos complejos. Reduce la complejidad de la transaccin. Confiabilidad. Robustez. Capacidad de ampliacin. La OO permite una modelacin ms natural de los sistemas, parecido a como un humano los visualiza. El modelo refleja mejor la realidad. La OO proporciona soporte para todas las etapas del ciclo de vida del software.

1.7 BENEFICIOS DEL MODELO DE OBJETOS Y DE LA POO SOBRE OTROS PARADIGMAS.


La LPOO permite crear TDA (tipos de datos abstractos). Es decir nuevos tipos de datos que no estn predefinidos en el LP pero son necesarios para el usuario. Los LPOO proporcionan un rico conjunto de clases predefinidas que se pueden usar en las aplicaciones. Reutilizacin. Las clases se construyen a partir de otras clases.

1.7 BENEFICIOS DEL MODELO DE OBJETOS Y DE LA POO SOBRE OTROS PARADIGMAS.


Fiabilidad. Productividad del desarrollador. Calidad. Mantenimiento. Costo. Escalabilidad. Adaptabilidad (mejor independencia e interoperabilidad).

También podría gustarte