Programación-II-Clase-1

Page 1

Clase 1

Programación II Ingeniería de sistemas y computación Johan Giraldo


Hola ● Soy Johan Giraldo (@jsgiraldoh Redes sociales) ● DevOps Engineer ● Grupo Docker Community Leaders ● Me gusta compartir conocimientos ● Autor del Blog: Aprende Docker en Español

2


Introducción La programación orientada a objetos, POO, es un paradigma de programación que hace uso de elementos autónomos, denominados objetos, para simular el comportamiento del mundo real. En este paradigma, los objetos se comunican entre sí y llevan a cabo, diferentes actividades. Por ello, es importante tener claramente definido qué hace cada objeto (comportamiento), qué conoce (datos) y con quién se comunica (relaciones). Lo anterior se conoce como responsabilidades del objeto. 02/09/2021

Programación II

3


Introducción El paradigma de la POO se apoya en conceptos tales como abstracción, herencia, polimorfismo, cohesión, encapsulamiento y acoplamiento. La abstracción permite identificar las responsabilidades relativas a una clase y tiene como objetivo aislar las cualidades de un objeto, es decir, concebir el objeto desde su esencia. La abstracción sirve para identificar atributos y operaciones, para que todo esto sea llevado a una clase. Una clase es una plantilla para crear objetos.

02/09/2021

Programación II

4


Introducción En la POO se da mayor importancia a lo que hace el objeto y no al cómo lo hace. La herencia permite absorber elementos de una clase existente y mejorar la nueva clase, al aumentar nuevas funcionalidades o al modificar las ya existentes. El polimorfismo, requiere el uso de la herencia, y consiste en la capacidad que tienen objetos creados con diferentes clases, de reaccionar a mensajes (operaciones) de diferente forma. El acoplamiento hace referencia al grado de dependencia entre módulos de software. La cohesión hace alusión a la agrupación de funciones o unidades de software en una unidad independiente mayor. 02/09/2021

Programación II

5


Introducción En general, el acomplamiento y la cohesión son inversamente proporcionales, a bajo acoplamiento, se da alta cohesión. Un bajo acoplamiento es una buena señal de que el software se ha diseñado apropiadamente. El encapsulamiento, es un mecanismo de ocultación de información referente al estado del objeto, que pretente que el mismo solo pueda modificarse mediante el uso de operaciones definidas para el objeto (métodos modificadores y accesores). 02/09/2021

Programación II

6


Introducción Al final de este capítulo, debería poder: ◼ Introducirse en el paradigma orientado a objetos (POO). ◼ Conocer algunos de los conceptos usados en POO. ◼ Introducirse en el lenguaje UML.

02/09/2021

Programación II

7


Conceptos introductorios En el mundo real pueden apreciarse gran cantidad de objetos. Sillas, carros, ventiladores, celulares, portátiles y marcadores son ejemplos de ellos. La POO se basa en la creación y manipulación de este tipo de elementos. Un objeto posee propiedades y un comportamiento. Para construir objetos se debe hacer uso de clases. Un objeto es una materialización de una clase.

02/09/2021

Programación II

8


Conceptos introductorios En el mundo real pueden apreciarse gran cantidad de objetos. Sillas, carros, ventiladores, celulares, portátiles y marcadores son ejemplos de ellos. La POO se basa en la creación y manipulación de este tipo de elementos. Un objeto posee propiedades y un comportamiento. Para construir objetos se debe hacer uso de clases. Un objeto es una materialización de una clase.

02/09/2021

Programación II

9


Pasos para resolver un problema Para poder resolver un problema, el equipo de desarrollo en primer lugar debe identificar qué es lo que requiere el cliente, es decir, debe entender el problema. A esta etapa se le denomina análisis y como resultado, se obtiene el artefacto conocido como especificación de requisitos software (ERS). Durante esta etapa se llevan a cabos los siguientes pasos: ◼Identificar los requisitos funcionales (comprender lo que el cliente necesita que el programa haga). ◼Comprender el mundo del problema, es decir, las reglas y estructura de la empresa dentro de la cual va a funcionar el software. ◼Identificar los requisitos no funcionales. Este tipo de requisito se refiere a restricciones tales como hardware, rendimiento, interfaz de usuario, tiempo de respuesta, factores humanos, manuales y documentación, calidad, ambiente físico . 02/09/2021

Programación II

10


Pasos para resolver un problema

02/09/2021

Programación II

11


Objetos y clases “Un objeto es un elemento de un programa que almacena cierta información (estado del objeto), realiza algunas acciones (comportamiento del objeto), según sus responsabilidades y posee una única identidad en el sistema. Un objeto es un ejemplar de una clase” . Una clase es una plantilla para crear objetos y un objeto es una materialización de la una clase. Los objetos (o instancias de clases) se comunican mediante el envío de mensajes. Un programa en Java debe tener como mínimo una clase. Dentro de la clase de declaran los atributos y se especifica el comportamiento. Las características o propiedades son conocidas con el nombre de atributos. El comportamiento hace referencia a lo que el objeto puede efectuar y se logra mediante la implementación de métodos. Un método se compone de un grupo de instrucciones a través de la cuales se resuelve un problema específico. Todo método tiene una signatura, compuesta por el nombre del método, los parámetros (todo lo que se necesita para resolver el problema, pero que no forma parte del objeto) y los tipos de los parámetros, siendo de especial importancia el orden de los parámetros. Este orden define como se le deben enviar los argumentos al momento de la invocación. Aunque el comportamiento se define en la clase, es el objeto quien lo efectúa. 02/09/2021

Programación II

12


Proceso de identificación de clases, atributos y métodos a partir del enunciado del problema Para desarrollar el proceso de identificación de clases, atributos y métodos a partir del enunciado del problema Para identificar las entidades o clases se debe leer el enunciado del problema y a partir del mismo, resaltar los nombres o sustantivos. Es común que éstos se sean clases o atributos. Por su parte, el proceso de identificación de métodos, requiere que se resalten los verbos. A las clases, atributos y métodos se les debe dar un nombre válido (identificador).

02/09/2021

Programación II

13


Proceso de identificación de clases, atributos y métodos a partir del enunciado del problema Elementos

Recomendación para asignarle nombre

Clase

El nombre de la clase debe iniciar en mayúscula

Atributo

El nombre de un atributo, por convención inicia con letra minúscula. Si está compuesto por más de una palabra, a partir de la segunda palabra (cada palabra) empezará en mayúscula. Cada atributo tiene un nombre y un tipo de dato asociado.

Método

El nombre de un método debe iniciar con un verbo en infinitivo. Debe ser mnemotécnico y empezar con letra minúscula. Si está compuesto por dos palabras, entonces la primera palabra irá en minúscula y la inicial de la segunda en mayúscula.

02/09/2021

Programación II

14


Tipos de datos primitivos en Java

02/09/2021

Programación II

15


Principales tipos de datos trabajados

02/09/2021

Programación II

16


Sugerencias para el uso de identificadores

02/09/2021

Programación II

17


Enunciado 1 Caso de estudio del triángulo

02/09/2021

Programación II

18


Enunciado del triángulo, en el que se han subrayado los verbos y sustantivos

02/09/2021

Programación II

19


A partir de los elementos subrayados se construye la siguiente tabla: Elemento resaltado

Análisis

Aplicación

Se descarta aplicación, dado que corresponde al software que se desarrollará como tal.

Triángulo

Es la entidad más importante del mundo del problema. El triángulo se debe materializar. Ello se logra mediante la creación de una clase, que va a definir la naturaleza de un objeto de tipo triángulo, a partir de esta clase se crea una instancia u objeto de tipo Triángulo.

base

Es una propiedad del Triángulo. Se considera variable miembro de la clase Triangulo. Es de tipo primitivo (double)

altura

Es una propiedad del Triángulo. Se considera variable miembro de la clase Triangulo. Es de tipo primitivo (double)

ingresar base

Operación para fijar el atributo base. El valor puede venir desde la ventana, la consola, o ser inicializado por el programador.

Ingresar altura

Operación para fijar el atributo altura. El valor puede venir desde la ventana, la consola, o ser inicializado por el programador.

Calcular area

Operación para calcular el área. El área se calcula como el producto de la base por la altura. Partiendo de lo anterior,dado que estos datos fueron previamente ingresados, ya no se requiere ingreso de más datos para el cálculo del área.

02/09/2021

Programación II

20


Los verbos hallados permiten evidenciar los siguientes requisitos funcionales

02/09/2021

Programación II

21


Los verbos hallados permiten evidenciar los siguientes requisitos funcionales

02/09/2021

Programación II

22


En lenguaje UML

02/09/2021

Programación II

23


¡ GRACIAS !

02/09/2021

Programación II

24


Referencias ◼ Jaramillo, S., Cardona, T. (2019). Lógica de programación usando orientación a objetos y Java. ELIZCOM SAS

02/09/2021

Programación II

25


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.