DISEÑO POO Programación Orientada a Objetos
Identificación de clases candidatas 2
Entidades Externas que producen o consumen información a usar por un sistema computacional. Por ejemplo: otros sistemas, dispositivos, personas. Cosas que son parte del dominio de información del problema. Por ejemplo: informes, presentaciones, cartas, señales. Ocurrencias o Sucesos que ocurren dentro del contexto de una operación del sistema. Por ejemplo: una transferencia de propiedad o la terminación de una serie de movimientos en un robot. zombie-ant.com/edu
15/02/2013
Identificación de clases candidatas 3
Papeles o Roles desempeñados por personas que interactúan con el sistema. Por ejemplo: director, ingeniero, vendedor. Unidades Organizacionales que son relevantes en una aplicación. Por ejemplo: división, grupo, equipo. Lugares que establecen el contexto del problema y la función general del sistema. Por ejemplo: planta de producción o muelle de carga. Estructuras que definen una clase de objetos o, en casos extremos, clases relacionadas de objetos. Por ejemplo: sensores, vehículos de cuatro ruedas o computadoras. zombie-ant.com/edu
15/02/2013
Ejemplo 4
Se desea realizar un sistema para jugar gato (tic tac toe). El sistema será monousuario. El sistema debe permitir jugar contra la máquina. La cual debe tener 2 niveles: Fácil y Difícil. El tablero debe ser de 3 x 3 casillas. Gana quien logra una línea horizontal, vertical o diagonal.
zombie-ant.com/edu
15/02/2013
Identificando clases 5
Se desea realizar un sistema para jugar gato (tic tac toe). El sistema será monousuario. El sistema debe permitir jugar contra la máquina. La cual debe tener 2 niveles: Fácil y Difícil. El tablero debe ser de 3 x 3 casillas. Gana quien logra una línea horizontal, vertical o diagonal.
zombie-ant.com/edu
15/02/2013
Clases potenciales 6
Usuario Máquina (IA) Nivel Tablero Casilla Línea
zombie-ant.com/edu
15/02/2013
Características de selección para incluir una clase candidata en el modelo: 7
Información retenida el objeto potencial será de utilidad durante el análisis solamente si la información acerca de él debe recordarse para que el sistema funcione. Servicios necesarios el objeto potencial debe poseer un conjunto de operaciones identificables que pueden cambiar de alguna manera el valor de sus atributos.
zombie-ant.com/edu
15/02/2013
8
Características de selección para incluir una clase candidata en el modelo: Atributos múltiples durante el análisis de requisitos, se debe centrar la atención en la información principal (un objeto con un solo atributo puede, en efecto, ser útil durante el diseño, pero seguramente será mejor presentado como un atributo de otro objeto durante la actividad de análisis). Atributos comunes puede definirse un conjunto de atributos para el objeto potencial, los cuales son aplicables a todas las ocurrencias del objeto. zombie-ant.com/edu
15/02/2013
Características de selección para incluir un objeto potencial en el modelo de análisis: 9
Operaciones comunes puede definirse un conjunto de operaciones para el objeto potencial, las cuales son aplicables a todas las ocurrencias del objeto. Requisitos esenciales entidades externas que aparecen en el espacio del problema y producen o consumen información esencial para la producción de cualquier solución para el sistema, serán casi siempre definidas como objetos en el modelo de requisitos. zombie-ant.com/edu
15/02/2013
Diseño del tic tac toe 10
Usuario Máquina (IA) Nivel Tablero Casilla Línea
zombie-ant.com/edu
15/02/2013
Clases del sistema 11
Clase Usuario Se necesita un método para obtener una tirada del teclado del usuario.
Clase Máquina Se necesita tener el atributo del nivel de la máquina. Se necesita un método para obtener la tirada de la máquina. Se necesita tener un método para obtener una tirada fácil, y una tirada difícil de la máquina dependiendo del nivel. zombie-ant.com/edu
15/02/2013
Clases del sistema 12
Tablero Se necesita un atributo que represente el tablero. Una matriz de enteros puede funcionar. Se necesita un método para validar la tirada (que sea sobre una casilla vacía). Se necesita un método para marcar la casilla tirada. Se necesita un método para saber si el tablero ya está lleno, y no puede recibir más tiradas. Se necesita un método para determinar la marca ganadora (X, O). Se necesita un método para dibujar el tablero. zombie-ant.com/edu
15/02/2013
Breve repaso de Matrices 13
Una matriz es un arreglo de 2 dimensiones. Su declaración es: int [][] matriz = new int [3][3];
Lo que crea un arreglo del estilo: 0
1
2
0 1 2 zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 14
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[0][0]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 15
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[0][1]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 16
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[0][2]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 17
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[1][0]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 18
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[1][1]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 19
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[1][2]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 20
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[2][0]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 21
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[2][1]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Breve repaso de matrices 22
Los índices son para hacer referencia a las coordenadas de filas y columnas de la matriz: 0
matriz[2][2]
1
2
0 1 2
zombie-ant.com/edu
15/02/2013
Cómo recorrer una matriz 23
Para recorrer una matriz, a diferencia de un arreglo de una dimensión, se requieren de dos ciclos for. Ejemplo: public static void main (String [] args){ for (int i = 0; i