La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Nivel 1. Problemas, soluciones y programas

Presentaciones similares


Presentación del tema: "Nivel 1. Problemas, soluciones y programas"— Transcripción de la presentación:

1 Nivel 1. Problemas, soluciones y programas
Presentación creada por M.J. Gaitán Fundamentos de programación Villalobos J.A., Casallas R. Prentice Hall, 2006

2 Problemas y soluciones
Etapa 1 Etapa 2 Etapa N Proceso Programador Problema Cliente Usuario Programa Solución

3 Especificación de un problema
Requerimientos funcionales Mundo del problema Problema Análisis Cliente Programador Requerimientos no funcionales

4 Análisis de un problema
Una compañía quiere hacer un programa para que los consumidores puedan consultar la información nutricional de sus productos. Cliente Compania de alimentos Usuario Consumidor Requerimientos funcionales R1.Dado el codigo de barras de un producto, dar la informacion de: calorias, carbohidratos, proteinas, lipidos, sales, tamano de porcion, Mundo del problema Lista de productos, informacion nutricional de cada producto Requerimientos no funcionales Distribuido en los supermercados, lector de barras, presentacion agradable, anuncio de la comapania

5 El proceso y las herramientas
Problema Entender y especificar el problema: Requerimientos funcionales Mundo del problema Requerimientos no funcionales Análisis del problema Diseño de la solución Construcción de la solución Proceso Programador Detallar características de la solución antes de construirla. Uso de algún lenguaje Herramientas y lenguajes Implementar el programa y probar su funcionamiento Solución

6 Elementos que forman parte de la solución de un problema
Diseño del programa Código fuente Código ejecutable Archivos de construcción compilador programa Datos de prueba Pruebas del programa

7 Construcción de un programa
Programador usa Ambiente de desarrollo Código ejecutable crea tiene Se instala donde Compilador Editor crea traducido por entiende Usuario Código fuente Lenguaje de programación escrito en

8 Caso de estudio 1 Programa que administra la información de un paciente adulto Nombre, apellido, sexo, fecha de nacimiento, fecha de inicio del tratamiento, peso, estatura Cambiar: peso Calcular: edad actual, índice de masa corporal, peso ideal

9 Comprensión y especificación del problema
Análisis del problema ¿Cómo se especifica un requerimiento funcional? ¿Cómo saber qué es un requerimiento funcional? ¿Cómo se describe el mundo del problema?

10 Requerimientos funcionales
Nombre R1. Introducir datos del paciente Resumen Permite al usuario introducir la información del paciente: datos personales y datos del estado actual Entradas Nombre del paciente Apellido del paciente Sexo del paciente Fecha de nacimiento Fecha de inicio del tratamiento Estatura Peso Resultado Datos en memoria

11 Requerimientos funcionales
Nombre R2. Actualizar el índice de masa corporal Resumen Permite actualizar el índice de masa corporal, de acuerdo con la información Entradas Peso Estatura Resultado El índice de masa corporal ha sido actualizado

12 Requerimientos funcionales
Nombre R3. Actualizar edad actual Resumen Permite modificar la edad actual del paciente Entradas Fecha de nacimiento Fecha actual Resultado La edad del paciente ha sido actualizada

13 Requerimientos funcionales
Nombre R4. Actualizar el peso ideal Resumen Permite modificar el peso ideal del paciente de acuerdo con su estatura, edad y sexo Entradas Estatura Edad Sexo Resultado El peso ideal del paciente ha sido actualizado

14 El modelo del mundo del problema
Identificar entidades Modelar sus características Buscar sus relaciones Documentar El modelo del mundo del problema Clases atributos asociaciones nombre

15 El modelo del mundo del problema
Identificación de entidades o clases Elementos concretos o abstractos Programas pequeños: buscar sustantivos en el enunciado del problema Entidad

16 El modelo del mundo del problema Modelado de características o atributos
Clase: Atributo Valores posibles UML

17 El modelo del mundo del problema Modelado de características o atributos
Clase: Atributo Valores posibles UML

18 El modelo del mundo del problema
Relación entre entidades Fecha Paciente fechaNacimiento fechaIngreso

19 Requerimientos no funcionales
Contexto de utilización del programa Restricciones definidas por el cliente Ejemplos: Múltiples usuarios Sistema de computación específico Capacidades de almacenamiento Tiempo de procesamiento

20 Elementos de un programa
Datos Procedimientos Algoritmos Clases y objetos Tipos de datos Métodos Instrucciones Lenguaje de programación

21 Clases y objetos Clases Objeto Definen la estructura del programa
Paciente nombre apellido sexo estatura peso algoritmos Fecha dia mes anio fechaNacimiento fechaIngreso Clases Definen la estructura del programa Entidades del mundo del problema Definido por atributos y métodos Objeto Instancia o ejemplar de una clase Valores propios para cada atributo {valores de atributos} estado del objeto fechaNacimiento fechaIngreso :Paciente nombre=“Luis” apellido=“Laos” sexo=Masculino estatura=168 peso=72 :Fecha dia=14 mes=5 anio=1972 dia=22 anio=2006 fechaNacimiento fechaIngreso :Paciente nombre=“Ana” apellido=“Ruiz” sexo=Femenino estatura=155 peso=50 :Fecha dia=24 mes=10 anio=1989 dia=15 mes=1 anio=2005

22 Tipos de datos Java Características Ejemplos Simples Compuestos
Enteros int -32768 32767 48 -360 Reales double -2.9E39 1.7E38 49.5 Carácter char Un solo carácter alfanumérico o especial ‘a’ ’A’ ‘7’ ‘+’ Lógicos boolean true false Compuestos Cadena String Secuencia de caracteres “Qué bien” “”

23 Paquetes Estructura jerárquica de las clases de un programa
ClaseInterfaz1 ClaseInterfaz2 ClaseMundo1 ClaseMundo2 ClaseUtil1 ClaseUtil2 ClasePrueba1

24 Java Bloque de instrucciones { } Comentarios Declaración de una clase
De línea // De sección Declaración de una clase Archivo: Fecha.java public class Fecha { // Aquí va la declaración de la clase Fecha }

25 Java Declaración del paquete de la clase package uami.intProg.paciente
/** * Esta clase representa a un paciente */ public class Fecha { // Aquí va la declaración de la clase Fecha }

26 Java Declaración de atributos de la clase
package uami.intProg.paciente /* Esta clase representa una fecha */ public class Fecha { // Atributos private int dia; private int mes; private int anio; } Fecha int dia int mes int anio algoritmos

27 Java Declaración de atributos de la clase
package uami.intProg.paciente /* Esta clase representa a un paciente */ public class Paciente { // Atributos private String nombre; private String apellido; private int sexo; //1=masculino,2=femenino private int estatura; private double peso; private Fecha fechaNacimiento; private Fecha fechaIngreso; } Paciente String nombre String apellido int sexo int estatura double peso algoritmos Fecha int dia int mes int anio fechaNacimiento fechaIngreso

28 Métodos Cada algoritmo de una clase es un método Elementos
Solución de un problema puntual Servicio que la clase presta a las demás o a ella misma Elementos Nombre Lista de parámetros (con su tipo) Información que no tiene el objeto pero que se necesita para resolver el problema puntual Tipo de respuesta (si no hay salida, void ) Cuerpo del método Conjunto de instrucciones Signatura: encabezado (método sin cuerpo)

29 Métodos Nombre: Parámetros: Retorno: Descripción:
public tipo nombre(tipo parametros) { //Cuerpo del método } Parámetros: Retorno: Descripción:

30 Métodos Fecha Paciente String nombre String apellido int dia int sexo
int estatura double peso void cambiarPeso(double nuevoPeso) double calcularIMC() double calcularPesoIdeal(Fecha fechaActual) Fecha int dia int mes int anio int darDia() int darMes() int datAnio() fechaNacimiento fechaIngreso

31 Métodos Nombre: Parámetros: Retorno: Descripción:
public tipo nombre(tipo parametros) { //Cuerpo del método } Parámetros: Retorno: Descripción:

32 Instrucciones Retorno
public class Fecha { // Atributos private int dia; private int mes; private int anio; // Metodos public int darDia() return dia; } public int darMes() return mes; public int darAnio() return anio;

33 Instrucciones Expresiones
Aritméticas var var2 2 Orden de operadores Operator Descripción Ejemplo Resultado - Negación -var1 -11 ++ Incremento var1++ 12 - - Decremento var1-- 10 * Multiplicación var1*var2 22 / División var1/var2 5.5 % Módulo var1%var2 1 + Adición var1+var2 13 Substracción var1-var2 9 = Asignación var1=var2 var

34 Instrucciones Expresiones
Lógicas Resultado: falso / verdadero (false / true) Operadores relacionales < menor que <= menor o igual > mayor que >= mayor o igual != diferente == igual Operadores lógicos && y (and) || o (or) ! negación (not) valor1 valor2 valor1 OR valor2 valor1||valor2 V F valor1 valor2 valor1 AND valor2 valor1&&valor2 V F valor NOT(valor) !valor V F

35 Instrucciones Expresiones
Reglas de prioridad o precedencia Expresiones entre paréntesis Si hay anidados, de adentro hacia fuera Orden !,-(negación) ++,-- *, /, %, &&, +, -, || <, > ,==,<=,>=,!= Si coinciden varios operadores de igual prioridad en una expresión, de izquierda a derecha

36 Instrucciones Asignación Operandos Operadores
atributoModificarse = expresión; Operandos Elementos de una expresión Operadores Aritméticos Lógicos Relaciones entre los operandos areaTriangulo = base*altura/2;

37 Instrucciones Asignación
public class Paciente { // Atributos private String nombre; private String apellido; private int sexo; //1=masculino,2=femenino private int estatura; private double peso; private Fecha fechaNacimiento; private Fecha fechaIngreso; //Metodos public void cambiarPeso(double nuevoPeso) peso = nuevoPeso; } public double calcularIMC() return peso/(estatura*estatura);

38 Instrucciones Llamada de un método sin parámetros
Uso del servicio que proporciona una clase Misma clase nombreMetodo() Otra clase referenciada como atributo nombreAtributo.nombreMetodo()

39 Instrucciones Llamada de un método con parámetros ¿Cuándo? Declaración
Información en sus atributos no es suficiente Declaración Signatura o encabezado de un método modificador tipo de nombre del lista de parametros: tipo nombre de control retorno método de acceso public void metodo1(int a, double b, char c) ¿Cómo se utilizan los valores? Utilizar el nombre del parámetro en el cuerpo, como con los atributos

40 Instrucciones Llamada de un método con parámetros
¿Cómo se definen los valores? Al hacer la llamada al método, pasar los valores con los que se desea que el método trabaje Constantes Atributos del objeto que hace la llamada Parámetros del método desde el que se hace la llamada Expresiones con los anteriores Relación entre valores y parámetros Los valores se pasan el orden en el que están declarados los parámetros Mismos tipos de datos Mismo número de valores y parámetros

41 Instrucciones public class C2 { private int art1; private C1 obj;
public void m2(int x) obj.m1(x,34+atr1,”prueba”); } public class C1 { public void m1(int param1, int param2, String param3) }

42 Instrucciones Creación de objetos new NombreObjeto( )
Objetos del modelo del mundo: creados tipicamente por la interfaz de usuario Una referencia a un objeto se puede guardar en cualquier atributo o variable del mismo tipo.

43 Diseño de la solución Segunda etapa del proceso de desarrollo de un programa Refinamientos sucesivos Requerimientos funcionales Interfaz de usuario Diseño de la solución Mundo del problema Arquitectura de la solución Requerimientos no funcionales Diseño de las clases

44 Arquitectura de la solución
División del problema en problemas más pequeños Diseño de alto nivel que permita la unión Arquitectura básica con tres grupos de clases: Interfaz de usuario Modelo del mundo Pruebas Cada grupo de clases en un paquete

45 Construcción de la solución
Archivos fuente Organización y convenciones Cliente Archivos compilados Interfaz de usuario Archivos de documentación Construcción de la solución Arquitectura de la solución Archivos empaquetados Usuario Diseño de las clases Archivos ejecutables

46 Nivel 1 Especificación del problema Análisis del problema
Requerimientos funcionales Mundo del problema Requerimientos no funcionales Diseño de la solución Programa: datos y métodos Interfaz de usuario, arquitectura de la solución, diseño de las clases Construcción de la solución

47 Ejercicios de expresiones
Expresión Resultado Operadores 2+3*11= (2+3)*11= 3+7*2-4*6= -3*5+2/4-5= -3*5+2/(4-5)= -(3*5+2)/(4-5)= (-3*5+2)/(4-5)= 3<6 4!=2+1 4.8/(2.6-3)*2= ‘a’==‘A’ !(7>=-2) Expresión Resultado Operadores 1.0>=2*( ) 17>-8 3>2 (17>-8)&&(3>2) (17>-8)||(3>2) !(17>-8) !(17>-8)&&(3>2) (3/4>0.6)&&(5<3) 39%4= (25%8)>(47%6) 39/4= !(!((3>1)&&(2<10))||((4>1)&&(1<2)))

48 Ejercicios de expresiones
Expresión matemática Expresión algorítmica (pasar de oC a oF) (pasar de oF a oK)


Descargar ppt "Nivel 1. Problemas, soluciones y programas"

Presentaciones similares


Anuncios Google