0% encontró este documento útil (0 votos)
339 vistas140 páginas

2 Libro Completo Programación

Cargado por

Liceo Delfines
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
339 vistas140 páginas

2 Libro Completo Programación

Cargado por

Liceo Delfines
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMACIÓN Y BASE DE DATOS 2

Servicio Nacional
de Derechos
Intelectual

0097866

978-9942-35-693-2
PRESENTACIÓN
Este módulo, que se estudiará a lo largo de los tres años del bachillerato técnico, busca desarrollar en los
estudiantes la capacidad de realizar sistemas informáticos con lenguajes de programación y bases de datos,
para atender requerimientos específicos planteados por el usuario. En esta perspectiva, el proceso de
enseñanza-aprendizaje deberá estar orientado a la construcción de propuestas destinadas a solucionar
problemas de diferente tipo y variada complejidad. La integración articulada de los contenidos de lenguaje de
programación y bases de datos se evidenciará en los dos últimos años del bachillerato. Las recomendaciones
metodológicas propuestas son las siguientes:

- Realizar estudios de casos relacionados con problemas de la vida real, en los que los
estudiantes sean quienes propongan soluciones.
- Organizar trabajos en equipo para que los estudiantes compartan conocimientos y
experiencias, así como la responsabilidad en su ejecución.
- Considerar la dosificación del tiempo requerido para programar, en función de la complejidad de
los ejercicios.
- Plantear ejercicios con situaciones que constituyan retos a ser resueltos por los estudiantes,
los cuales contribuirán a mantener activa su curiosidad y orientarles a ser investigativos, como por
ejemplo en la búsqueda de nuevos comandos.
- Permitir el planteamiento de ejercicios de programación por parte de los estudiantes, para
propiciar mayor compromiso y motivación en su desarrollo.
- Plantear ejercicios diferenciados con nuevos desafíos, para los estudiantes que avanzan rápido en
el aprendizaje.
- Analizar en grupo las dificultades que puedan surgir en el desarrollo del trabajo, para
propiciar que los mismos estudiantes planteen soluciones.
- Planificar la ejecución de un proyecto integrador durante el proceso de estudio del módulo, que
permita sistematizar los aprendizajes desarrollados.

2
PROGRAMACIÓN Y BASE DE DATOS 2

ÍNDICE
UNIDAD 1: PROGRAMACIÓN ORIENTADA A OBJETOS
Programación Orientada a Objetos (POO) 7
Motivación 7
Introducción 7
El estado 7
El comportamiento 7
La identidad 7
Origen 8
Conceptos fundamentales 11
Componentes de un objeto 12
Identificación de un objeto 12
Características de la POO 12
Las Clases 16
Tipos de clases 17
Características fundamentales 19
Declaración 19
Función (Programación) 19
Elementos de la declaración de una Función 20
Funciones dentro de clases 20
Una función de inicio 22
Declaración de funciones 22
Ventajas de la Programación Orientada a Objetos 23
Historia de Java 25
Java hoy en día 25
Curiosidades de JAVA 25
Ventana de Comandos 28
Compiladores 28
Programa Fuente o Código Fuente 28
Programa Objeto o Código Objeto 28
Librería, Biblioteca o Paquete. 30
Trabajar con JOptionPane 30
Método JOptionPane 30
Comentarios 30
Método showMessageDialog 32
Método showInputDialog() 33
Código fuente. 35
Compilación de código fuente en código objeto. 35
Programación orienta a objeto java (formularios) 37
Diseño del Formulario 39
Contenedores Swing 39
Consideraciones en el diseño de formas 39
Ventana de Propiedades 40
Controles más usados 40

3
PROGRAMACIÓN Y BASE DE DATOS 2

UNIDAD 2
ESTRUCTURAS DE CONTROL
Estructuras de Control 45
Tipos de Estructura de Control 45
Estructuras de Control Dobles 56
Estructuras Selectivas Múltiples 64
Desarrollo de programas 84
Análisis de requerimientos 85
Diseño de programa 85
Pseudocódigo 87
Documentación de programas 88
Documentación para el usuario 90
Documentación para mantenimiento 90

UNIDAD 3
ANÁLISIS ESTRUCTURADO DE SISTEMAS Análisis
estructurado de sistemas 96
Análisis estructurado 96
Significado de estructurado 96
Componentes del análisis estructurado 96
Identificación del problema 97
Requerimientos del sistema 99
Requisitos de Entradas 99
Requerimientos de Salida 102
Niveles de diseño 102
Utilización de los Datos de Requerimientos 103
Participación de los Usuarios 103
Fases de la implementación de un sistema 105
Modelización de funciones y procesos 111
Modelización de datos 113
Pasos para el desarrollo del Modelo de Datos 114
Modelo conceptual. 116
Análisis Entidad – Relación 117
Elementos del modelo entidad-relación 119
Elección de nombres de conjuntos de objetos 126
Programación con sistemas gestores de bases de datos relacionales 129
Características 129
Elementos 129
Restricciones 129
Dominios 130
Claves 130
Procedimientos almacenados 131
Estructura 134
Manipulación de la información 134
Manejadores de base de datos relacionales 135
Ventajas y Desventajas 135
Diseño de las bases de datos relacionales 137

4
UNIDAD 1

PROGRAMACIÓN
ORIENTADA A
OBJETOS
PROGRAMACIÓN Y BASE DE DATOS 2

Conocer e identificar los elementos,


características, propiedades y ventajas
de la programación orientada a
objetos.
Escriba un concepto de programación y un
concepto de objeto.

Escriba un concepto de programación y un concepto de objeto.

6
PROGRAMACIÓN Y BASE DE DATOS 2

Programación Orientada a Objetos (POO)

Es un paradigma de programación que usa objetos y sus interacciones, para


diseñar aplicaciones y programas informáticos. Está basado en varias
técnicas, incluyendo herencias, abstracción, polimorfismo y
encapsulamiento. Su uso se popularizó a principios de la década de los
años 1990. En la actualidad, existe variedad de lenguajes de programación
que soportan la orientación a objetos.

Motivación
Durante años, los programadores se han dedicado a construir aplicaciones
muy parecidas que resolvían una y otra vez los mismos problemas. Para
conseguir que los esfuerzos de los programadores puedan ser utilizados por
otras personas se creó la POO. Que es una serie de normas de realizar las
cosas de manera que otras personas puedan utilizarlas y adelantar su
trabajo, de manera que consigamos que el código se pueda reutilizar.

La POO no es difícil, pero es una manera especial de pensar, a veces


subjetiva de quien la programa, de manera que la forma de hacer las cosas
puede ser diferente según el programador. Aunque podamos hacer los
programas de formas distintas, no todas ellas son correctas, lo difícil no es
programar orientado a objetos sino programar bien. Programar bien es
importante porque así nos podemos aprovechar de todas las ventajas de la
POO.

Introducción
Los objetos son entidades que combinan estado (atributo), comportamiento
(método) e identidad:

El estado
Está compuesto de datos, será uno o varios atributos a los que se habrán
asignado unos valores concretos (datos).

El comportamiento
Está definido por los procedimientos o métodos con que puede operar dicho
objeto, es decir, qué operaciones se pueden realizar con él.

La identidad
Es una propiedad de un objeto que lo diferencia del resto, dicho con otras
palabras, es su identificador (concepto análogo al de identificador de una
variable o una constante). Un objeto contiene toda la información que
permite definirlo e identificarlo frente a otros objetos pertenecientes a otras
clases e incluso frente a objetos de una misma clase, al poder tener valores
bien diferenciados en sus atributos.

7
PROGRAMACIÓN Y BASE DE DATOS 2

A su vez, los objetos disponen de mecanismos de interacción llamados


métodos, que favorecen la comunicación entre ellos. Esta comunicación
favorece a su vez el cambio de estado en los propios objetos. Esta
característica lleva a tratarlos como unidades indivisibles, en las que no se
separa el estado y el comportamiento.

Los métodos (comportamiento) y atributos (estado) están estrechamente


relacionados por la propiedad de conjunto. Esta propiedad destaca que una
clase requiere de métodos para poder tratar los atributos con los que cuenta.
El programador debe pensar indistintamente en ambos conceptos, sin
separar ni darle mayor importancia a alguno de ellos.

Hacerlo podría producir el hábito erróneo de crear clases contenedoras de


información por un lado y clases con métodos que manejen a las primeras
por el otro. De esta manera se estaría realizando una programación estructurada
camuflada en un lenguaje de programación orientado a objetos.

La POO difiere de la programación estructurada tradicional, en la que los


datos y los procedimientos están separados y sin relación, ya que lo único
que se busca es el procesamiento de unos datos de entrada para obtener
otros de salida.

La programación estructurada anima al programador a pensar sobre todo


en términos de procedimientos o funciones, y en segundo lugar en las
estructuras de datos que esos procedimientos manejan.

En la programación estructurada sólo se escriben funciones que procesan


datos. Los programadores que emplean POO, en cambio, primero definen
objetos para luego enviarles mensajes solicitándoles que realicen sus
métodos por sí mismos.

Origen
Los conceptos de la Programación Orientada a Objetos tienen origen en
Simula 67, un lenguaje diseñado para hacer simulaciones, creado por Ole-
Johan Dahl y Kristen Nygaard del Centro de Cómputo Noruego en Oslo.

En este centro, se trabajaba en simulaciones de naves, que fueron


confundidas por la explosión combinatoria de cómo las diversas cualidades
de diferentes naves podían afectar unas a las otras. La idea ocurrió para
agrupar los diversos tipos de naves en diversas clases de objetos, siendo
responsable cada clase de objetos de definir sus propios datos y
comportamientos.

8
PROGRAMACIÓN Y BASE DE DATOS 2

Fueron refinados más tarde en Smalltalk, que fue desarrollado en Simula


en Xerox PARC (cuya primera versión fue escrita sobre Basic) pero
diseñado para ser un sistema completamente dinámico en el cual los
objetos se podrían crear y modificar en marcha (en tiempo de ejecución) en
lugar de tener un sistema basado en programas estáticos.

La Programación Orientada a Objetos tomó posición como el estilo de


programación dominante a mediados de los años ochenta, en gran parte
debido a la influencia de C++, una extensión del lenguaje de programación
C.

Su dominación fue consolidada gracias al auge de las Interfaces gráficas de


usuario, para las cuales la Programación Orientada a Objetos está
particularmente bien adaptada. En este caso, se habla también de
programación dirigida por eventos.

Las características de orientación a objetos fueron agregadas a muchos


lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp,
Pascal, entre otros. La adición de estas características a los lenguajes que
no fueron diseñados inicialmente para ellas condujo a menudo a problemas
de compatibilidad y en la capacidad de mantenimiento del código.

Los lenguajes orientados a objetos puros, por su parte, carecían de las


características de las cuales muchos programadores habían venido a
depender.

Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos
lenguajes basados en métodos orientados a objetos, pero permitiendo
algunas características imperativas de maneras seguras".

El Eiffel de Bertrand Meyer fue un temprano y moderadamente acertado


lenguaje con esos objetivos, pero ahora ha sido esencialmente
reemplazado por Java, en gran parte debido a la aparición de Internet, y a
la implementación de la máquina virtual de Java en la mayoría de
navegadores. PHP en su versión 5 se ha modificado, soporta una
orientación completa a objetos, cumpliendo todas las características propias
de la orientación a objetos.

9
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿Investigue quienes fueron Ole-Johan Dahl y Kristen Nygaard?

2. Investigue que significada: Ada, BASIC, Pascal.

3. Cite una breve definición de Programación C

4. ¿Quién fue el creador de la POO?

5. ¿Qué es una máquina virtual de Java?

10
PROGRAMACIÓN Y BASE DE DATOS 2

Conceptos fundamentales
La programación orientada a objetos es una forma de programar que trata
de encontrar una solución a estos problemas. Introduce nuevos conceptos,
que superan y amplían conceptos antiguos ya conocidos. Entre ellos
destacan los siguientes:
CLASE
Definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciación es la lectura de estas definiciones y la
creación de un objeto a partir de ellas.

HERENCIA
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. Por lo tanto, puede usar los
mismos métodos y variables públicas declaradas en C. Los
componentes registrados como privados (private) también se heredan,
pero como no pertenecen a la clase, se mantienen escondidos al
programador y sólo pueden ser accedidos a través de otros métodos
públicos. Esto es así para mantener hegemónico el ideal de OOP.

OBJETO
Entidad provista de un conjunto de propiedades o atributos (datos) y de
comportamiento o funcionalidad (métodos) los mismos que
consecuentemente reaccionan a eventos. Se corresponde con los
objetos reales del mundo que nos rodea, o a objetos internos del sistema
(del programa). Es una instancia a una clase.

MÉTODO
Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un mensaje. Desde el
punto de vista del comportamiento, es lo que el objeto puede hacer. Un
. método puede producir un cambio en las propiedades del objeto, o la
generación de un evento con un nuevo mensaje para otro objeto del

EVENTO
Es un suceso en el sistema (tal como una interacción del usuario con la
máquina, o un mensaje enviado por un objeto). El sistema maneja el
evento enviando el mensaje adecuado al objeto pertinente. También se
puede definir como evento, a la reacción que puede desencadenar un
objeto, es decir la acción que genera.

MENSAJE
Una comunicación dirigida a un objeto, que le ordena que ejecute uno
de sus métodos con ciertos parámetros asociados al evento que lo
generó.

11
PROGRAMACIÓN Y BASE DE DATOS 2

PROPIEDAD o ATRIBUTO
Contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se
define como sus características predeterminadas, y cuyo valor puede
ser alterado por la ejecución de algún método.

ESTADO INTERNO
Es una variable que se declara privada, que puede ser únicamente
accedida y alterada por un método del objeto, y que se utiliza para
indicar distintas situaciones posibles para el objeto (o clase de objetos).
No es visible al programador que maneja una instancia de la clase.

Componentes de un objeto
Atributos, identidad, relaciones y métodos.

Identificación de un objeto
Un objeto se representa por medio de una tabla o entidad que esté
compuesta por sus atributos y funciones correspondientes.

En comparación con un lenguaje imperativo, una variable, no es más que


un contenedor interno del atributo del objeto o de un estado interno, así
como la función es un procedimiento interno del método del objeto.

Características de la POO
Existe un acuerdo acerca de qué características contempla la orientación a
objetos, las características siguientes son las más importantes:

 Abstracción
Denota las características esenciales de un objeto, donde se capturan sus
comportamientos. Cada objeto en el sistema sirve como modelo de un
"agente" abstracto que puede realizar trabajo, informar y cambiar su estado,
y "comunicarse" con otros objetos en el sistema sin revelar cómo se
implementan estas características. Los procesos, las funciones o los
métodos pueden también ser abstraídos y cuando lo están, una variedad de
técnicas es requeridas para ampliar una abstracción.

El proceso de abstracción permite seleccionar las características relevantes


dentro de un conjunto e identificar comportamientos comunes para definir
nuevos tipos de entidades en el mundo real.

La abstracción es clave en el proceso de análisis y diseño orientado a


objetos, ya que mediante ella podemos llegar a armar un conjunto de clases
que permitan modelar la realidad o el problema que se quiere atacar.

12
PROGRAMACIÓN Y BASE DE DATOS 2

 Encapsulamiento
Significa reunir a todos los elementos que pueden considerarse
pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto
permite aumentar la cohesión de los componentes del sistema. Algunos
autores confunden este concepto con el principio de ocultación,
principalmente porque se suelen emplear conjuntamente.

 Principio de ocultación
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de
objeto expone una interfaz a otros objetos que específica cómo pueden
interactuar con los objetos de la clase. El aislamiento protege a las
propiedades de un objeto contra su modificación por quien no tenga
derecho a acceder a ellas, solamente los propios métodos internos del
objeto pueden acceder a su estado.

Esto asegura que otros objetos no pueden cambiar el estado interno de un


objeto de maneras inesperadas, eliminando efectos secundarios e
interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un
acceso directo a los datos internos del objeto de una manera controlada y
limitando el grado de abstracción. La aplicación entera se reduce a un
agregado o rompecabezas de objetos.

Historia de la programación
Gottfried Wilheml von Leibniz (1646-1716), quien aprendió matemáticas de
forma autodidacta (método no aconsejable en programación) construyó una
máquina similar a la de Pascal, aunque algo más compleja, podía dividir,
multiplicar y resolver raíces cuadradas.

Pero quien realmente influyó en el diseño de los primeros computadores


fue Charles Babbage (1793-1871). Con la colaboración de la hija de Lord
Byron, Lady Ada Countess of Lovelace (1815-1852), a la que debe su
nombre el lenguaje ADA creado por el DoD (Departamento de defensa de
Estados Unidos) en los años 70. Babbage diseñó y construyó la "máquina
diferencial" para el cálculo de polinomios.

Más tarde diseñó la "máquina analítica" de propósito general, capaz de resolver


cualquier operación matemática. Murió sin poder terminarla, debido al
escepticismo de sus patrocinadores y a que la tecnología de la época no era lo
suficientemente avanzada. Un equipo del Museo de las Ciencias de Londres,
en 1991, consiguió construir la máquina analítica de Babbage, totalmente
funcional, siguiendo sus dibujos y especificaciones.

13
PROGRAMACIÓN Y BASE DE DATOS 2

1. Investigue las características y acciones de las siguientes


ilustraciones.

Características

Acciones

Características

Acciones

2. Definición de Mensaje:

14
PROGRAMACIÓN Y BASE DE DATOS 2

 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. O dicho de
otro modo, las referencias y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un comportamiento en una
referencia producirá el comportamiento correcto para el tipo real del objeto
referenciado.

Cuando esto ocurre en tiempo de ejecución, esta última característica se


llama asignación tardía o asignación dinámica. Algunos lenguajes
proporcionan medios más estáticos (en tiempo de compilación) de
polimorfismo, tales como las plantillas y la sobrecarga de operadores de
C++.

 Herencia
Las clases no están aisladas, sino que se relacionan entre sí, formando una
jerarquía de clasificación. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele hacerse habitualmente
agrupando los objetos en clases y estas en árboles o enrejados que reflejan
un comportamiento común. Cuando un objeto hereda de más de una clase
se dice que hay herencia múltiple.

 Recolección de basura
La recolección de basura o garbage collector es la técnica por la cual el
entorno de objetos se encarga de destruir automáticamente, y por tanto
desvincular la memoria asociada, los objetos que hayan quedado sin
ninguna referencia a ellos.

Esto significa que el programador no debe preocuparse por la asignación o


liberación de memoria, ya que el entorno la asignará al crear un nuevo
objeto y la liberará cuando nadie lo esté usando. En la mayoría de los
lenguajes híbridos que se extendieron para soportar el Paradigma de
Programación Orientada a Objetos como C++ u Object Pascal, esta
característica no existe y la memoria debe desasignarse manualmente.

15
PROGRAMACIÓN Y BASE DE DATOS 2

Ejemplos de lenguajes de Programación Orientados a Objetos:

C# PEARL

C++ VISUAL
BASIC.NET

JAVA ACTIONCSRIPT

PHP DELPHI

Muchos de estos lenguajes de programación no son puramente orientados


a objetos, sino que son híbridos que combinan la POO con otros
paradigmas.

Las Clases
Las clases son la base de la Programación Orientada a Objetos, una clase
es una plantilla, molde o modelo para crear objetos. Una clase está
compuesta por características, propiedades o atributos (variables) y por su
comportamiento (métodos) que trabajan sobre las propiedades.
Sintaxis de una clase en Java.
class MiClase {
//Constructor de la Clase
//atributos de la clase
//métodos de la clase
}

Considera una clase como un molde, comparemos con una plantilla para
crear una solicitud de permiso, estas plantillas tienen toda la información, lo
único que se cambia son ciertos datos, con una sola plantilla yo podría crear
varias solicitudes.

De qué sirve esto, esto ayuda a no crear de nuevo una solicitud si no sólo
adaptarla a un nombre específico de acuerdo al solicitante. Así mismo son
las clases, a partir de una clase se pueden crear muchos objetos, cada
objeto tendrá sus propias características. Ejemplo:

Crear una clase celular, con sus atributos: color, modelo, marca, con dos
constructores y los métodos llamar, cortar llamada, informar características
y los métodos getters y setters que permiten acceder a los atributos de la
clase.
16
PROGRAMACIÓN Y BASE DE DATOS 2

Ejemplo de cómo crear una Clase en Java


public class Celular {
//atributos de la clase
private String marca;
private String modelo;
private String color;
// constructor con parámetros
public Celular (String marca, String modelo, String color);
this.marca = marca;
this.marca = modelo;
this.marca = color;

 Tipos de clases
Una parte muy importante de la Programación Orientada a Objetos son las
clases, si no fuera por ellas ni siquiera habría objetos. Cada una tiene sus
propias características y ventajas. Un programador que conoce estas
características sabe cuándo debe usar una y no otra, de manera que su
desarrolla un buen software. Los tipos de clases son:

Class. Public: Son muy comunes, accesibles desde


cualquier otra clase en la misma librería (de otro modo hay
que importarlas).

Class. Abstract: Aquellas que tienen por lo menos un


método abstracto. No implementan sus métodos, sino que
dan las bases para que sean implementados en la herencia.

Class. Final: Son las que terminan la cadena de herencia.


Útiles por motivos de seguridad y eficiencia de un programa,
ya que no permiten crear más sub-divisiones por debajo de
esta clase.

Class. Synchronizable: Especifica que sus métodos son


sincronizados, evitando problemas con los thread (hilo de
ejecución), de forma que estos no pueden empezar a correr
un método si no ha acabado el otro.

17
PROGRAMACIÓN Y BASE DE DATOS 2

1. Investigue que es Tiempo de 2. ¿Qué es Tiempo de


Ejecución Compilación?

3. A qué hace referencia 4. ¿Qué es Sintaxis, escriba un


herencia múltiple ejemplo?

5. Cite los tipos de Clases:

18
PROGRAMACIÓN Y BASE DE DATOS 2

 Características fundamentales

Nombre de la clase. Sirve para identificar a todos los objetos que


tengan unas determinadas características.

Conjunto de atributos. Datos miembros. El valor de los atributos


representa el estado de cada objeto.

Conjunto de métodos. Funciones miembro. Permite que los objetos


cambien de estado, dependiendo del estado anterior que tuviera el
objeto.

Niveles de acceso. Para proteger ciertos miembros de la clase.


Normalmente, se definirán como ocultos (privados) los atributos y
visibles (públicos) los métodos.

 Declaración
Las clases se declaran mediante la palabra clave class. El nivel de acceso
precede a la palabra clave class. Como, en este caso, se utiliza public,
cualquiera puede crear objetos a partir de esta clase. El nombre de la clase
sigue a la palabra clave class. El resto de la definición es el cuerpo de clase,
donde se definen el comportamiento y los datos. Los campos, propiedades,
métodos y eventos de una clase se conocen colectivamente como
miembros de clase. Aunque se utilizan a veces de forma intercambiable,
una clase y un objeto son cosas diferentes. Una clase define un tipo de
objeto, pero no es propiamente un objeto. Un objeto es una entidad concreta
basada en una clase y, a veces, se denomina instancia de una clase.

Función (Programación)
En computación, una subrutina o subprograma (también llamada
procedimiento, función o rutina), como idea general, se presenta como un
sub algoritmo que forma parte del algoritmo principal, el cual permite
resolver una tarea específica. Algunos lenguajes de programación, como
Visual Basic.NET o Fortran, utilizan el nombre función para referirse a
subrutinas que devuelven un valor.

Desde un punto de vista práctico, podemos decir que una función es una
parte de un programa (subrutina) con un nombre, que puede ser invocada
(llamada a ejecución) desde otras partes tantas veces como se desee.
Un bloque de código que puede ser ejecutado como una unidad funcional.
Opcionalmente puede recibir valores; se ejecuta y puede devolver un valor.

19
PROGRAMACIÓN Y BASE DE DATOS 2

Las funciones son la parte central de la programación. Algunos lenguajes,


como Pascal, distinguen entre procedimientos (Procedures) y funciones. En
C++ las funciones desempeñan ambos papeles, aunque en cierto modo, los
ficheros desempeñan algunas funcionalidades de lo que, en otros lenguajes
como Modula-2, se denominan módulos.

Otra diferencia substancial es que C++ no permite el anidamiento de


funciones, es decir, definir funciones dentro de otras. En C++ todas las
funciones se definen a nivel de fichero, con lo que tienen ámbito global al
fichero.

Existe una excepción a esta regla; se refiere a la función miembro de las


clases, que pueden ser declaradas y definidas dentro de las propias clases.
Aunque las clases no son por supuesto funciones en el sentido estricto, si
representan cierta compartimentación de datos y procedimientos (un tipo de
módulos).

Elementos de la declaración de una Función


Las declaraciones de funciones generalmente son especificadas por: Un
nombre único en el ámbito: Nombre de la función con el que se identifica y
se distingue de otras. No podrá haber otra función ni procedimiento con ese
nombre (salvo sobrecarga o polimorfismo en programación orientada a
objetos). Un tipo de dato de retorno: tipo de dato del valor que la función
devolverá al terminar su ejecución.

Una lista de parámetros: Especificación del conjunto de argumentos


(pueden ser cero, uno o más) que la función debe recibir para realizar su
tarea. El código u órdenes de procesamiento: conjunto de órdenes y
sentencias que debe ejecutar la función.

Funciones dentro de clases


En la jerga de la Programación Orientada a Objetos, las funciones dentro
de las clases se denominan funciones - miembro o métodos, y las variables
dentro de clases, variables - miembro o propiedades.

El sentido es el mismo que en la programación tradicional (la nomenclatura


es más una cuestión de gustos), si bien referirnos a propiedades y métodos
supone estar utilizando la programación orientada a objetos y que nos
referimos a miembros de una clase. En C++ esta aclaración puede ser
importante, porque es un lenguaje que podríamos llamar híbrido; en ciertas
partes puede utilizarse con técnicas de programación tradicional, y en otras
con técnicas de POO.

20
PROGRAMACIÓN Y BASE DE DATOS 2

1. Trabaje la siguiente ilustración con la información que corresponde.

CLASE

MÉTODO ATRIBUTO
OBJETO

MÉNSAJE

2. A qué hace referencia la declaración de las variables en la POO

3. Permite usar tanto la técnica de programación estructurada y como


la técnica de programación orientada a objetos. A qué tipo de
programación hace referencia:

4. Investigue la diferencia entre los lenguajes de programación:

Visual Basic.NET Java

21
PROGRAMACIÓN Y BASE DE DATOS 2

Una función de inicio


Cada programa debe tener una sola función externa denominada main (),
principal, que desde la óptica del programador define el punto de entrada al
programa. Las funciones se declaran en cabeceras (estándar o específicas
de usuario) o dentro de los ficheros fuente.

Estas declaraciones son denominadas prototipos. En ocasiones la


declaración y definición se realiza en el mismo punto (como ocurre con las
variables), aunque es normal colocar al principio de la fuente los prototipos
de las funciones que serán utilizadas en su interior, y las definiciones en
cualquier otro sitio (generalmente al final).

En el caso del ejemplo anterior, la declaración y definición de func1 se ha


realizado en el mismo punto, mientras que la declaración de func2 se realiza
dentro del cuerpo de la clase y la definición en el exterior de esta. La forma
general del prototipo de una función es: valor - devuelto nombre - función
(lista-de-argumentos); La forma general de la definición es:

valor-devuelto nombre-función (lista-de-argumentos) {


sentencias; // "cuerpo" de la función
}

Declaración de funciones

La declaración da a conocer la función al compilador, de forma que, a partir


del punto de declaración, ya se pueden realizar invocaciones a la misma. A
su vez, la definición estará en algún otro punto del programa, tal vez en una
librería externa (en forma ya compilada) o en otro módulo de programa
(como texto fuente).

Una función puede ser declarada varias veces en un mismo programa, y las
declaraciones pueden aparecer en cualquier orden; en un fichero fuente o
en varios, pero en cualquier caso antes de su uso, es decir: antes de
cualquier invocación a la función. Además de declarar el nombre de la
función y el tipo devuelto (por defecto se supone int) se declaran también el
tipo de los parámetros. Sintaxis:

[extern] <tipo-devuelto> nombre-funcion () // §2a


[extern] <tipo-devuelto> nombre-funcion (<tipo>, ...) // §2b
[extern] <tipo-devuelto> nombre-funcion (<tipo> <parametro>, ... ) // §2c

22
PROGRAMACIÓN Y BASE DE DATOS 2

Las declaraciones deben realizarse antes que cualquier uso de la


función. A su vez, las definiciones pueden estar en cualquier sitio,
aunque en algunos casos puede haber excepciones (sustitución inline).
Las declaraciones de funciones tienen un nombre específico: se
denominan prototipo.
El primero de los anteriores (§2a) es válido, aunque desaconsejado
(herencia del C); es el denominado estilo clásico Kernighan & Ritchie. El
segundo (§2b) y tercero (§2c), son los aceptados en C++. En la
declaración de parámetros no está permitido incluir funciones, es decir,
las funciones no pueden pasar como argumentos a otras funciones. Sin
embargo, C++ dispone de recursos cuando esto es necesario; pasar un
puntero o una referencia a la función.

El mecanismo anterior permite al compilador efectuar una comprobación de


tipos de los argumentos que pasan y del valor devuelto. Los lenguajes en
los que no se realizan estas comprobaciones, se denominan de débilmente
tipados (Weakly typed), tienen la desventaja de que no conocen
exactamente el tipo de código que ejecutarán.

Las funciones tienen ámbito global, y sus declaraciones (prototipos) aunque


suelen estar al principio (inmediatamente después de las directivas de
preprocesado), pueden aparecer en cualquier parte del fichero. Ponerlas al
principio tiene la ventaja de que sus nombres sean conocidos en la totalidad
del fichero, con lo que pueden ser invocadas desde cualquier punto desde
cualquier otra función, incluso main sin tener que declarar un prototipo
dentro de cada función que las invoque.

Ventajas de la Programación Orientada a Objetos


Reusabilidad. Cuando hemos diseñado adecuadamente las clases, se
pueden usar en distintas partes del programa y en numerosos proyectos.

Mantenibilidad. Debido a la sencillez para abstraer el problema, los


programas orientados a objetos son más sencillos de leer y comprender,
pues nos permiten ocultar detalles de implementación dejando visibles sólo
aquellos detalles más relevantes.

Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos objetos


nos permite hacer modificaciones de una forma muy sencilla.

Fiabilidad. Al dividir el problema en partes más pequeñas podemos


probarlas de manera independiente y aislar mucho más fácilmente los
posibles errores que puedan surgir.

23
PROGRAMACIÓN Y BASE DE DATOS 2

1. Mi interpretación del “Mensaje a García” es:


a) Debo culminar un objetivo a toda costa; mi meta es aprobar el curso de
POO, por lo tanto para alcanzar mi objetivo dado que no pude
prepararme adecuadamente para el examen voy a copiar durante el
mismo.
b) Debo culminar un objetivo a toda costa; debo aprobar todas las materias
y este semestre ha estado muy exigente, por lo tanto, como no he tenido
tiempo para estudiar POO, tengo el derecho a copiar.
c) Ninguno de los anteriores.

2. ¿Qué es un Objeto?
a) La abstracción encapsulada que tiene un estado interno dado por una
lista de atributos cuyos valores son únicos.
b) Una variable establecida por una estructura especial.
c) Ninguna de las 2 anteriores.

3. ¿Que sería la Programación Orientada a Objetos?


a) Simplemente el nombre que se da a la programación que utiliza una
variante de las estructuras.
b) Es la programación que establece a un C de la década de los 90's.
c) Es la programación en la que intervienen una colección de clases que
necesitan de una función principal que cree objetos y realice la ejecución
mediante la invocación de sus funciones o métodos.

5.- ¿Qué es una Clase?


a) Es un modelo que se utiliza para describir uno o más objetos del mismo
tipo.
b) Es la sección donde se pueden declarar las variables del programa.
c) Es un tipo de palabra reservada del sistema.

6. ¿Cuáles son las 4 propiedades especiales de la POO?


a) Métodos, mensajes, demonios e instancias.
b) Reutilización de código, poca inversión de dinero, lenguaje de desarrollo
unificado y poco tiempo de aprendizaje.
c) Herencia, Abstracción, Polimorfismo y Encapsulamiento.

7. ¿A que apunta el apuntador This?


a) A la memoria cache.
b) A un tipo especial de estructura de datos especificado con el
encapsulamiento.
c) Al objeto asociado con la invocación de la función miembro.

24
PROGRAMACIÓN Y BASE DE DATOS 2

Historia de Java
Tal vez la contribución más importante a la fecha, por parte de la revolución
del microprocesador, es que hizo posible el desarrollo de las computadoras
personales, que ahora suman cientos de millones a nivel mundial.

Muchas personas creen que la siguiente área importante en la que los


microprocesadores tendrán un profundo impacto, es en los dispositivos
electrónicos para uso doméstico. Al reconocer esto, Sun Microsystems
patrocinó en 1991 un proyecto interno de investigación denominado Green.
El proyecto desembocó en el desarrollo de un lenguaje basado en C++ al
que su creador, James Gosling, llamó Oak debido a un árbol de roble que
tenía a la vista desde su ventana en las oficinas de Sun.

Posteriormente se descubrió que ya existía un lenguaje de programación con


el mismo nombre. Fue entonces cuando un grupo de gente de Sun visitó una
cafetería local y surgió el nombre Java (una variedad de café) y así quedó,
como lo vemos en su icono. Como lenguaje de programación para
computadores, Java se introdujo a finales de 1995.

Java hoy en día


A día de hoy, podemos decir, que Java es uno de los lenguajes más
importantes del mundo. Con una comunidad extendida en todos los
componentes y más de 4 millones de desarrolladores, existen millones de
dispositivos que lo usan. Ademas, tras el surgimiento de android, java se
establecido como el lenguaje de programación para móviles más extendido
del planeta.

Curiosidades de JAVA
El nombre de JAVA tiene una gran polémica con respecto a su origen, se
discuten varias teorías:

 Una de las teorías más difundidas viene del café, se dice que una
cafetería cercana donde los desarrolladores tomaban café se llamaba
de la misma forma, de ahí vendría también su logo con una taza de
café humeante.

 Otra versión dice que viene del acrónimo: Just Another Vague
Acronym ("sólo otro acrónimo ambiguo más").

 Aparte de estas teorías, la versión más plausible es que se eligió su


denominación al azar de una lista de posibles nombres.

25
PROGRAMACIÓN Y BASE DE DATOS 2

Java es un potente lenguaje de programación que combina la Programación


Estructurada o Líneal y la Programación Orientada a Objetos, también
llamada: HIBRIDA.

A continuación, vamos a utilizar el Lenguaje de Programación Estructurada,


para lo cual cargue la aplicación y luego siga los siguientes pasos.

Pasos para crear un proyecto:


Siga los siguientes pasos:
Archivo  Proyecto Nuevo

Seleccionar proyecto:
Categorías: Java
Proyectos: Aplicación Java

Visualizamos la Nueva Aplicación de Java, que sirve para almacenar los


datos.
Nombre del proyecto: Ejercicio1
Ubicación del Proyecto: ruta (drive) donde se guardará la clase.
Carpeta proyecto: que generalmente es el nombre de la carpeta donde
se almacenará nuestra clase o ejercicio y clic en Terminar.

Nuevo Aplicación de escritorio

Borrar: .main

26
PROGRAMACIÓN Y BASE DE DATOS 2

Al finalizar el editor (Asistente) genera un archivo, donde se comenzará


escribir la codificación del proyecto.

Ventana de
comandos

Archivo a Trabajar
La codificación es = Código Fuente

Se procede a escribir en la Ventana de Comandos la siguiente codificación,


también llamado CÓDIGO FUENTE:

System.out.print (“BIENVENIDOS A LA PROGRAMACIÓN EN JAVA”);

NOTA: Todo mensaje debe ir entre comillas dobles.


Indica a la computadora que realice una acción, es decir, que presente,
que muestre o visualice la cadena de caracteres contenida entre los
caracteres de comillas dobles.

F6 es para ejecutar
o el siguiente botón:

System.out. Se conoce como objeto de salida estándar y permite a las


aplicaciones en Java mostrar conjuntos de caracteres en la ventana de
comandos, desde la cual se ejecuta la aplicación en Java.

El método System.out.print muestra, presenta, visualiza o imprime una


línea de texto en la ventana de comandos

El mismo que presenta un mensaje por consola, que es lo que está entre
comillas, recuerda que todo Mensaje debe ir entre comillas dobles.

27
PROGRAMACIÓN Y BASE DE DATOS 2

Como se dará cuenta el print, se concatena con otro texto, para que esto
no ocurra trabaje con la instrucción pritnln.

Print. Esta función presenta, visualiza, muestra o imprime una expresión.


Una expresión puede ser un mensaje, una variable, una función o cualquier
combinación de ellas. Si la expresión es un mensaje debe ir entre comillas,
ejemplo:

(“BIENVENIDOS A LA PROGRAMACIÓN EN JAVA ”);

Punto y coma. La utilidad de la instrucción punto y coma (;) al final de cada


una de estas líneas es la de separar dos instrucciones consecutivas; si
usted no la incluye al momento de ejecutar el programa presentará error.

Println Parecida a la instrucción print, pero con la diferencia de que, por


cada println, los mensajes se presentarán en una línea distinta, es como
que usted utilice la tecla enter.

Ventana de Comandos
Programa usado para escribir cualquier tipo de texto (sin formato, ej: bloc
de notas), en este caso, una codificación en “Java”.

Compiladores
Un grupo de programas que se encargan de revisar los errores de una
codificación (escritura de un programa, en nuestro caso una clase).

Programa Fuente o Código Fuente


Es la codificación original de un programa, en cualquier lenguaje de
Programación, en nuestro caso, en “Java”, el programa es una clase, y
cada clase en un archivo.

Programa Objeto o Código Objeto


Es el programa en “Java”, listo para ejecutar libre de errores, es decir, es
el resultado de la compilación de un programa Fuente.

Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos


que corresponden a cada código fuente compilado. Para obtener
un programa ejecutable se han de enlazar todos los archivos de código
objeto con un programa llamado enlazador (linker).

28
PROGRAMACIÓN Y BASE DE DATOS 2

Investigue:
1.- La reseña histórica de la institución educativa en la que se está
formado y escriba el programa fuente o código fuente.

2.- Cite el programa fuente o código fuente de la primera estrofa del


himno del colegio donde me estoy formando académicamente.

29
PROGRAMACIÓN Y BASE DE DATOS 2

Librería, Biblioteca o Paquete.


Es un conjunto de archivos que contienen una serie de funciones que serán
usadas en el presente programa, que generalmente deben ser importadas
dentro del compilador. Una librería, biblioteca o paquete es una colección
de clases de nombres, esto se lo conoce como bibliotecas de clase java o
la Interfaz de Programación de Aplicaciones de Java (API por sus siglas en
inglés).

Las librerías o paquetes del API, se dividen en básicos y opcionales. Los


nombres de la mayoría de las librerías del API de Java comienzan, ya sea
con “java” (paquetes básicos) o “javax” (paquetes opcionales), muchos de
ellos se incluyen como parte del Kit de desarrollo del software para Java.

Uso del paquete javax.swing.*;


Este paquete, contiene dos de los métodos más importantes, en cuanto a lo
que a entorno gráfico se refiere. Por ejemplo, si queremos mandar imprimir
en pantalla algún mensaje, por medio de una ventana, la sintaxis es la
siguiente:

JOptionPane.showMessageDialog (null, “Mensaje”);


En donde:

Null, es argumento que, SIMPRE lo pondremos en el método


MessageDialog
“Mensaje”, es la cadena de caracteres que queremos presentar o visualizar.

Trabajar con JOptionPane


Es habitual que el usuario tenga que ingresar datos, confirmar una acción o
pedirle algún dato sencillo, darle a elegir entre varias acciones o
simplemente mostrarle un aviso. Por lo tanto, es necesario abrir una ventana
secundaria, donde el usuario deba realizar alguna acción que se requiera y
cerrarla.

Método JOptionPane
Proporciona cuadros de diálogos previamente empaquetados, los cuales
permiten a los programadores mostrar ventanas que contengan mensajes
para los usuarios.

Comentarios //
Los comentarios no afectan la ejecución del programa. Son opcionales.
Todo comentario comienza con dos barras (//), y no es necesario
finalizarlas. Cualquier carácter entre estas marcas es ignorado por el
compilador de “Java”.

30
PROGRAMACIÓN Y BASE DE DATOS 2

Ejercicio de Aplicación 2
A continuación, se pone en práctica el uso de Librería, Biblioteca o Paquete
con la escritura del programa fuente o código fuente de un mensaje por
pantalla.

Pasos para crear un proyecto


Siga los siguientes pasos:
Archivo  Proyecto Nuevo

Seleccionar proyecto:
Categorías: Java
Proyectos: Aplicación Java

Línea 1,  Es un comentario.

Línea 2,  import javax.swing. JOptionPane;


Indica que el programa importara la librería javax.swing que utilizaremos
en la clase JOptionPane.

Línea 3,  Comienza la declaración de la clase ejercicio; el nombre de


archivo para esta clase public debe ser ejercicio

Línea 4,  Es el punto de toda aplicación en Java. Los paréntesis


después de main indican que este es un bloque de construcción del
programa, al cual se llama método. La palabra clave void indica que es un
método y que realizará una tarea (mostrará un texto).

(String args[ ]) es una parte requerida de la declaración del método main.

Línea 5,  Llama al método showMessageDialog de la clase


JOptionPane para mostrar un cuadro de dialogo que contiene un mensaje
y requiere de dos argumentos, el primero siempre será la palabra clave null
que debe ir separado por una coma (,) y el segundo es el mensaje a mostrar

31
PROGRAMACIÓN Y BASE DE DATOS 2

en el cuadro de dialogo. Finalmente presenta el siguiente mensaje por


pantalla:

Método showMessageDialog
Presenta una ventana de aviso, la misma que se cierra hasta que el usuario
realice una acción en la misma.
Ejercicio de Aplicación 3
El siguiente proyecto, visualiza un cuadro de dialogo con un mensaje en
varias líneas.

1. Trabaje el código fuente que presente el resulta de la multiplicación (hasta el


10) del número que tanto para la multiplicación y suma obtiene el mismo
resultado.

32
PROGRAMACIÓN Y BASE DE DATOS 2

Método showInputDialog()
Permite crear un campo de texto en la ventana para que el usuario pueda
ingresar de datos libremente, y estos son almacenados en una variable de
memoria.

Ejercicio de Aplicación 4
El siguiente proyecto solicita el ingreso de su nombre y edad, y luego
presenta los datos ingresados, en la misma línea.

Línea 2,
import javax.swing.JOptionPane;
Indica que el programa importara la librería de javax.swing que vamos a
trabajar, en este caso a JOptionPane, que sirve para los cuadros de
diálogos.

Línea 6,
String ed, nom; declaramos las variables de tipo cadena de caracteres, que
sirven para almacenar los datos ingresados.

Línea 8 y 10,
Las variables ed y nom almacenaran los datos ingresados y
showInputDialog crea un campo de texto, el mismo que utilizaremos para
ingresar los datos.

Línea 12,
JOptionPane.showMessageDialog, permite presentar un cuadro de
dialogo, acompañado de un mensaje y lo almacenado en sus variables
respectivas.
33
PROGRAMACIÓN Y BASE DE DATOS 2

1.- El API de Java proporciona herramientas para pedir datos al usuario a través
de ventanas. Un ejemplo de ello es el uso de la clase JOptionPane perteneciente
al paquete javax.swing.JOptionPane del API Java. El método showInputDialog
permite pedir un dato al usuario y almacena su respuesta en un objeto de tipo
String. Desarrolle un programa que pida al usuario un número y muestre por
pantalla el doble de ese número.

2.- Ingrese el nombre, apellido y edad de uno de sus compañeros, a continuación,


su edad debe ser convertida en días. Escriba el código fuente.

34
PROGRAMACIÓN Y BASE DE DATOS 2

Código fuente.
Código Fuente o también llamado Programa Fuente, se trata de las
instrucciones que un programa informático transmite a una computadora
para que pueda ejecutarse. El programador es quien se encarga de escribir
las instrucciones que son palabras técnicas en inglés.

Un lenguaje de programación es un conjunto de palabras reservadas,


denominadas instrucciones, mediante las cuales se diseñan los programas
para el computador. Así como el lenguaje: Español, Francés o Alemán, es
usado para que la gente se comunique entre sí, los programadores
necesitan a los lenguajes de programación para comunicarse con el
computador. Ejemplo:

A las instrucciones escritas se las conoce


como: CÓDIGO FUENTE

Compilación de código fuente en código objeto.


Después de escribir el programa, el usuario querrá que la computadora
ejecute las tareas que se especifican en el mismo. Lograrlo implica por lo
regular un proceso de dos pasos:
1) Ejecutar un comando de compilación.
2) Ejecutar un comando de ejecución.
Cuando se ejecuta un comando de compilación, se ordena a la computadora
traducir el código del programa fuente en código que la computadora pueda
ejecutar.

Cuando se realiza un comando de ejecución, se ordena a la computadora


ejecutar el código traducido y ejecutar las tareas especificadas en el código.
La computadora contiene un programa especial llamado compilador que
se encarga del proceso de traducción. Si se envía código fuente al
compilador, éste lo traduce a código que la computadora puede ejecutar.

De manera más formal, el compilador compila el código fuente y produce el


código objeto como resultado. El código objeto es un conjunto de
instrucciones en formato binario que puede ejecutarlo directamente la
computadora para resolver un problema. Una instrucción en código objeto
está conformada por 0 y 1 porque las computadoras sólo comprenden 0 y
1. He aquí una instrucción en código objeto:
0100001111101010
Programa en ejecución

35
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿Qué significan las siguientes 2. Pegue dos importantes


abreviaturas? dispositivos de cómputo de
entrada.
a) E/S
b) CPU
c) RAM
d) GHz
e) MB

3. Pegue dos importantes dispositivos 4. ¿Qué sucede cuando se compila


de cómputo de salida. un programa?

5. ¿Qué es código objeto? 6. La Portabilidad es..

7. ¿Qué es la máquina virtual de Java?

36
PROGRAMACIÓN Y BASE DE DATOS 2

PROGRAMACIÓN ORIENTA A OBJETO JAVA (FORMULARIOS)

Pasos para crear un proyecto

Archivo  Proyecto Nuevo:

A continuación se presenta un cuadro de diálogo, PROYECTO NUEVO


Escoja Categorías: Java Proyectos: Aplicación de Escritorio
Java

A continuación, se presenta el cuadro de diálogo: Nuevo aplicación de


escritorio

Nombre del Proyecto: Aquí va el nombre del ejercicio en este caso


Ejercicio 1

Ubicación del Proyecto: Ruta o lugar donde se almacenan los ejercicios.

Nuevo Aplicación de escritorio

37
PROGRAMACIÓN Y BASE DE DATOS 2

Al finalizar el editor (Asistente) genera 3 archivos:


1) El archivo de código de la clase base o principal
2) El formulario de la ayuda acerca de…, y
3) La clase interfaz, donde se diseña el formulario, con que vamos a
trabajar.

Ejercicio1 – NetBeans IDE 6.5

Los 3 archivos generados comienzan con el Nombre del proyecto o la


carpeta en la que se guardó los archivos (Ejemplo1).

El terminado en el archivo AboutBox.Java, es el cuadro de diálogo que


presenta la ayuda acerca de….;

App. Java, es el archivo de la clase principal y finalmente el View.Java que


contiene la codificación necesaria para ejecutar al formulario.

ARCHIVO, con el
que vamos
trabajar

38
PROGRAMACIÓN Y BASE DE DATOS 2

Diseño del Formulario


La barra de herramientas, como se le llama en otros editores de lenguajes
visuales aquí la llamamos Paleta, contiene los íconos a partir de donde se
dibujan los controles visuales en los formularios.

C
O
N
T
E
N
E
D
O
R

Contenedores Swing (Barra de Menú ->Ventana -> Paleta)

Son clases de objetos o controles parecidos


a los de otros lenguajes visuales, que sirven
para ingresar datos como: Etiqueta, Botón,
Casilla de Activación, Botón de opción,
Grupo de botones, Lista desplegable, Lista,
Campo de texto, entre otros.

Consideraciones en el diseño de formas


Para dibujar los objetos visuales sobre el
formulario damos (clic secundario sobre
el contenedor) y escogemos la opción
que más se acomode a nuestras
necesidades. Para este caso se
recomienda la de Diseño Absoluto que
permite colocar los objetos donde
deseamos y con mayor facilidad.

39
PROGRAMACIÓN Y BASE DE DATOS 2

Ventana de Propiedades

Permite modificar las propiedades de los


objetos que figuran en un formulario.
Una propiedad es una característica de
un objeto o control, como: su tamaño,
título, color, entre otros.

Una lista diferente aparecerá en la


ventana de Propiedades cada vez que
seleccione un control o al formulario
mismo.

Para visualizar esta ventana debe seleccionar un objeto o control:


Clic secundario  Propiedades.

Agregando objetos al contenedor.


Para agregar controles al contenedor, active la Paleta luego el Control
Swing, haga clic en el botón correspondiente al control que desee, sitúe el
puntero del mouse sobre el formulario y haga clic o arrástrelo para ajustar
su tamaño.

Controles más usados


label Etiqueta
 Control Etiqueta jLabel
Este control se utiliza para colocar texto no modificable por el usuario; como
títulos, mensajes, junto a los cuadros de texto, entre otros.

Título (text). Es el texto que aparecerá en el


formulario.

Para cambiar el valor a cualquier variable, es


suficiente dar clic sobre el valor actual
(jLabel1) y escribir el nuevo valor.

El resto de propiedades como alineación del


texto, fuente del texto, color del texto, se
debe dar clic sobre el botón de tres puntos
(…) luego escoger los valores que
deseamos, y en su caso desplegar la lista y
escoger el valor.

 Control Campo de Texto jTextField


Permite al usuario el ingreso de datos y su almacenamiento en variables de
memoria o campos; también permite mostrar información que el usuario
puede modificar.

Campo de Texto

40
PROGRAMACIÓN Y BASE DE DATOS 2

Para asignar nombres a las variables, seleccionamos el


campo de texto y recurrimos al menú emergente (clic
secundario) y escogemos la opción de Cambiar Nombre
de la Variable, y aparece la ventana de diálogo donde
digitamos el nuevo nombre de la variable, que será por
medio del cual será reconocido en el código o
programación.

Tamaño del campo de texto. Podemos definir el tamaño de


un campo desde la propiedad columns, que determinan el
tamaño por el número de caracteres que se pueden ver; y
por la propiedad Tamaño horizontal, donde el tamaño se
define en pixeles.

 Control Botón Comando JButton OK Botón

Este control se emplea para iniciar acciones tales como aceptar los valores
ingresados en un formulario, cerrar o mostrar una ventana, o cada una de las
opciones de una barra de tarea.

Propiedad text que es el título que aparecerá para que el usuario sepa cómo
identificar el botón a nivel de vista, mientras el nombre (al igual que las cajas de
texto) es la propiedad que ayuda a identificar al objeto al momento de programar.

1. Escriba una breve historia de Java

41
PROGRAMACIÓN Y BASE DE DATOS 2

2. Cite los pasos para crear un nuevo Proyecto

3. En el asistente Nueva Aplicación de Escritorio, que datos ingresamos

4. ¿Cuáles son los 3 archivos generados del Proyecto?

5. ¿En qué consiste el Diseño del Formulario?

6. Investigue a que hace referencia la siguiente ilustración:

42
UNIDAD 2

ESTRUCTURAS
DE
CONTROL
PROGRAMACIÓN Y BASE DE DATOS 2

Identificar los componentes de un


entorno de base de datos y modelo
entidad relación. Codificar y relacionar
la información en los diferentes sistemas
Escriba un concepto de estructura y un concepto de
informáticos.
control.

Escriba un concepto de estructura y un concepto de control.

44
PROGRAMACIÓN Y BASE DE DATOS 2

Estructuras de Control, Definición


Una Estructura de Control es una pregunta con tan sólo dos respuestas
posibles: Verdadero o Falso. Las Estructuras de Control se construyen a
partir de las condiciones. Una condición es una expresión lógica de la
siguiente forma:

Variable operador relacional Variable/valor

Operadores relacionales

Operador Relacional Significado Ejemplo


> Mayor que 10 > 4
< Menor que 30 < 60
== Igual 1 == 1
>= Mayor o igual que 40 >= 30
<= Menor o igual que 50<= 100
!= Distinto a 20 < > 70

En un programa las condiciones se representan mediante el símbolo de la


Estructura de Control indicando claramente cuáles serán las dos
alternativas: Verdadero o Falso.

Tipos de Estructura de Control

Estructura de Control Simple: (sintaxis)


if (condición)
Acción por Verdadero;

Estructura de Control Dobles: (sintaxis)


if (condición)
Acción por Verdadero;
else
Acción por Falso;

Estructura de Control Múltiples: (sintaxis)


if (condición1)
Acción por Verdadero;
else if (condición2)
Acción por Verdadero;
...
else
Acción por Falso n;

45
PROGRAMACIÓN Y BASE DE DATOS 2

Instrucción if

Utilizada para evaluar una condición. if evalúa el resultado de una


condición y dependiendo de su resultado (verdadero o falso) ejecuta
un enunciado simple o compuesto.

Enunciado Simple, utilizado para una sola instrucción:

if condición Si la condición es verdadera se


{ ejecutarán las instrucciones que se
(Acción por Verdadero) encuentren a continuación.
}

Enunciados Múltiples, utilizados para dos o procesos matemáticos y se


deben encerrar entre llaves:

if condición
{ Observe: La diferencia entre enunciados
(Acciones por Verdadero) Simple y Múltiples. La Simple sólo le permite
(Acciones por Verdadero) realizar una acción tanto por verdadero como
por falso. En las Múltiples usted puede
} realizar más de dos acciones ya sea por
else verdadero o por falso.
{
(Acciones por Falso)
(Acciones por Falso)
}

Estructura de Control Simple

Toda Estructura de Control tiene dos alternativas: verdadero y falso. Sin


embargo, las Estructuras de Control Simple sólo realizan acciones cuando
la Condición es Verdadera, cuando la Condición es Falsa no se realiza
ninguna acción, es decir, el programa continúa su flujo normal.

Las Estructuras de Control Simple son de la siguiente forma:

if (condición)
Acción por Verdadero

Observe que por Verdadero realiza una


acción, mientras que por Falso no hace
nada.

46
PROGRAMACIÓN Y BASE DE DATOS 2

Ejercicio de Aplicación 1
Elabore un programa que lea el nombre, el precio individual y el número de entradas
al cine a comprar. Adicionalmente ingrese la edad de la persona. Calcule y visualice
el total a pagar. Considere que si la persona es de la 3ra. Edad (65 años o más)
debe pagar sólo la mitad de todo.

Pasos para crear un proyecto

Archivo  Proyecto Nuevo:

A continuación se presenta un cuadro de diálogo, PROYECTO NUEVO


Escoja Categorías: Java Proyectos: Aplicación de Escritorio Java

A continuación, se presenta el cuadro de diálogo: Nuevo aplicación de escritorio

Nombre del Proyecto: Aquí va el nombre del ejercicio en este caso Ejercicio 1

Ubicación del Proyecto: Ruta o lugar donde se almacenan los ejercicios.

Nuevo Aplicación de escritorio

47
PROGRAMACIÓN Y BASE DE DATOS 2

El diseño para este


pre formulario sería el
siguiente, con los
can respectivos nombres de
eda las variables de los
Campos de Entrada.
tot

Para declarar las variables a utilizar siga los siguientes pasos:

Clic botón secundario sobre el campo de texto

Aquí asigne la variable pre

Así sucesivamente con las variables (can – eda - des – tot)

En el botón CALCULAR damos doble clic

2. Clic: Crear acción nueva

3. Asignar nombre del botón

1. Doble clic
4. Clic

48
PROGRAMACIÓN Y BASE DE DATOS 2

Después de dar clic en aceptar, se presenta


la siguiente ventana de comandos, donde se
escribe la codificación

Luego declaramos las variables que vamos a ingresar y las que van a contener
algún proceso matemático:
Ingresamos la edad, cantidad y el precio, del ingreso de estas variables vamos
a obtener el total a pagar

Declaramos, dos tipos de variables, una para


números enteros y otras para los tipos
double (números enteros con decimales).

Se realiza una pregunta, if ed >= 65 (años) por


verdadero realizamos un proceso, por falso
no ocurre nada.

Se ingresa el precio y el número de entradas a comprar. También se la


edad. Se calcula el total a pagar multiplicando el precio por la cantidad (tot
= can * pre)

A continuación, realizamos la Estructura Selectiva, preguntando si es una


persona de la 3ª edad, if ed >= 65 (años) por verdadero realizamos un
proceso.

Finalmente presentamos el total a pagar en la variable tot.

49
PROGRAMACIÓN Y BASE DE DATOS 2

Ahora vamos a codificar el botón Limpiar, regresamos al diseñador del


formulario:

CLIC

Dentro del diseñar de Formulario siga los siguientes pasos:

CLIC

Escoja (Crear Acción Nueva) y escriba


el nombre del Botón (Limpiar)

CLIC

Dentro del editor de texto, digite las siguientes instrucciones:

requestFocus, Sirve
para dar el enfoque a un
campo de texto, en
este caso al PRECIO de
la variable pre.

Dicho de otra manera, cuando presione el Botón LIMPIAR, los Campos de


Texto de las variables: pre, can, eda, tot; toman valores en blanco, como
esta en la codificación:
this.pre.SetText (“ ”

50
PROGRAMACIÓN Y BASE DE DATOS 2

Ejercicio de aplicación 2
Ingrese el nombre, el cargo, el sueldo por hora y las horas trabajadas por
un empleado. Sólo si el salario neto a recibir por el empleado es menor a
$200.00 páguesele por concepto de transporte $50.00 adicional. Visualice
el salario neto a recibir.

nom
car
hr
sh sn
bt
sr

Luego de ingresar el nombre, el cargo, el sueldo por hora y las horas


trabajadas, se efectúa el cálculo del salario neto (sn = ht * sh). Si dicho
salario es (sn < 200) se le suma al salario $ 50.

Ejemplo: sh * ht es 1.5 y sus horas trabajadas ht son 40, el salario neto a


recibir es (1.5 * 40) => 60; entonces la condición es verdadera. A los 60 le
sumamos los 50 del bono de transporte y nos da 110.

Realizamos la codificación del


botón Limpiar y damos el
enfoque con la instrucción:
requestFocus ( )

51
PROGRAMACIÓN Y BASE DE DATOS 2

1. La ley del anciano contempla un descuento del 50% en el valor de los servicios públicos y
privados para todas las personas mayores o iguales a 65 años. Realice un programa que lea
el nombre del abonado, el número de teléfono, y los minutos consumidos en llamadas locales
(0.05 * minuto), provinciales (0.12 * minuto), celulares (0.35 * minutos) e internacionales (0.50
* minuto). Luego visualice los subtotales por cada tipo de llamada y el total a pagar. Además,
debe ingresar la edad de la persona y procesar el debido descuento si es que lo tuviere.

2. Realice una aplicación que calcule el sueldo a recibir de un vendedor de sus tres ventas.
Si las ventas son mayores a $500.00 el vendedor recibirá las tres cuartas partes comisión del
total de las ventas.

52
PROGRAMACIÓN Y BASE DE DATOS 2

3. Mia Valeria Espinosa, va de compras al centro comercial Aventura Plaza y en el local de


Aromas y Recuerdos al momento de pagar, el cajero le dice, que por ser la primera cliente
del día recibirá un 20% de descuento, siempre y cuando sus compras superen los $200. Caso
contrario no tiene descuento. Determinar cuánto pagará el cliente.

4. Camilo Coronel va de compras a una tienda de tecnología a comprar un pen drive, y


visualiza la siguiente promoción: Precio del pen drive $30 c/u a partir de 4 y recibe un
descuento de las 1/4 del total de la compra, si la compra es menor no recibe descuento alguno.

53
PROGRAMACIÓN Y BASE DE DATOS 2

5. Comercial MULTIMEDIA tiene un nuevo Gerente de Ventas el Ing. Pablo Figueroa y


propone un proyecto para incrementar sus ventas, que consiste en aplicar un descuento del
15% sobre las ventas superiores a $300,00.

6. El Gran CHEF por aniversario ofrece a su distinguida clientela un descuento del 15% solo
a los consumos superiores a $50.00.asi como un 15% de recargo por concepto de servicio,
así como el Impuesto al Valor Agregado. Para los consumos inferiores no paga ningún tipo
de servicio, ni impuesto.

54
PROGRAMACIÓN Y BASE DE DATOS 2

7. Ediciones ESPINOSA, por apertura de su nuevo local ofrece una promoción a toda su
distinguida clientela, que consiste en girar una rueda de la suerte y si el número es mayor a
25 se le aplica un 1/8 del total de sus compras. Calcular el total a pagar y el descuento si es
que lo tuviere.

8. El Hornero por aniversario ofrece a su distinguida clientela un descuento del 25% sólo a
los consumos superiores a $50.00. Un 15% de recargo a todos sus valores, así como el
Impuesto al Valor Agregado.

55
PROGRAMACIÓN Y BASE DE DATOS 2

Estructuras de Control Dobles


Son aquellas en donde necesitamos usar la cláusula else, debido a que
debemos de efectuar una acción por verdadero y otra acción por falso.
Su sintaxis es:
If (condición1)
{
Acciones por verdadero; Tanto por Verdadero como por
} Falso deben ir entre llaves, ya que
else realizan operaciones matemáticas.
{
Acciones por falso;
}

Ejercicio de aplicación 3
Ejecute un programa que ingrese dos números determinados y visualice el
mayor de ellos.

pn

sn

men1

Declaramos las variables


int pn, sn;

Es necesario inicializar las variables a ingresar:


pn = Integer.parseInt(this.pn.getText( ));
sn = Integer.parseInt(this.sn.getText( ));

Luego realizar la pregunta if(pn > sn) y dependiendo de los números


ingresados se mostrará el mayor de ellos. En este caso vamos mostrar un
mensaje “EL Primer Número es el Mayor ” + el número almacenado en la
variable correspondiente (pn) o (sn)

56
PROGRAMACIÓN Y BASE DE DATOS 2

Ejercicio de aplicación 4
Ingrese las notas de los 3 trimestres de un estudiante, el nombre y el
paralelo. Visualice su suma. Si dicha suma es mayor o igual a 40 visualice
el mensaje “Aprobado”. Si la suma es menor a 40, visualice el mensaje
“Reprobado”.

nom
Para presentar el
par mensaje hemos
pt utilizado un control
Label, para variar
st
tt

men Etiqueta

Sumamos los tres trimestres. Sólo cuando la suma sea mayor o igual
a 40, por verdadero se mostrará el mensaje “Esta Aprobado,
Felicitaciones: “ + (la suma); caso contrario “Esta Reprobado:” + (la
suma);

Codificación del Botón


Limpiar, y al final de la
línea damos enfoque a la
variable NOM

57
PROGRAMACIÓN Y BASE DE DATOS 2

1. Realice un programa para determinar cuánto se debe pagar por equis cantidad de lápices
considerando que si son 1000 o más el costo es de $0,85; de lo contrario, el precio es de
$0,90

2. Almacenes “El harapiento distinguido” tiene una promoción: a todos los trajes que tienen
un precio superior a $250.00 se les aplicará un descuento de 15 %, a todos los demás se les
aplicará sólo 8 %. Realice un programa para determinar el precio final que debe pagar una
persona por comprar un traje y de cuánto es el descuento que obtendrá.

58
PROGRAMACIÓN Y BASE DE DATOS 2

3. “La langosta ahumada” es una empresa dedicada a ofrecer banquetes; sus tarifas son las
siguientes: el costo de platillo por persona es de $95.00, pero si el número de personas es
mayor a 200 pero menor o igual a 300, el costo es de $85.00. Se requiere un programa que
ayude a determinar el presupuesto que se debe presentar a los clientes que deseen realizar
un evento.

4. Realice el programa para determinar el costo y el descuento que tendrá un artículo.


Considere que si su precio es mayor o igual a $200 se le aplica un descuento de 15%, y si su
precio es mayor a $100 pero menor a $200, el descuento es de 12%.

59
PROGRAMACIÓN Y BASE DE DATOS 2

5. Realice un programa que permita determinar la cantidad del bono navideño que recibirá un
empleado de una tienda, considerando que si su antigüedad es mayor a cuatro años o su
sueldo es menor de dos mil, le corresponderá 25 % de su sueldo, y en caso contrario sólo le
corresponderá 20 % de éste.

6. El director de una escuela está organizando un viaje de estudios, y requiere determinar


cuánto debe cobrar a cada estudiante y cuánto debe pagar a la compañía de viajes por el
servicio. La forma de cobrar es la siguiente: si son 100 estudiantes o más, el costo por cada
uno es de $6,50; y si son menos 99 estudiantes, el costo es de $7,50.

60
PROGRAMACIÓN Y BASE DE DATOS 2

7. Cierta empresa proporciona un bono mensual a sus trabajadores, el cual puede ser por su
antigüedad o bien por el monto de su sueldo (el que sea mayor), de la siguiente forma:
Cuando la antigüedad es mayor a 2 años, pero menor a 5, se otorga 20 % de su sueldo;
cuando es de 5 años o más, 30 %.

8. Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes
condiciones: Si los ingresos del comprador son menores a $8.000; el enganche será del 15%
del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 10 años. Si los
ingresos del comprador son superiores a $8.000; el enganche será del 30% del costo de la
casa y el resto se distribuirá en pagos mensuales a pagar en 7 años.

61
PROGRAMACIÓN Y BASE DE DATOS 2

9. Una empresa requiere un programa que solicita el ingreso del: nombre, cargo, domicilio,
teléfono, número de horas laboradas, el sueldo por hora y el número de faltas de un
empleado. Visualice el salario del empleado y los datos ingresados. Si las faltas son más de
5 aplique una multa del 0.10% del total a recibir por cada falta, y si sus faltas son inferiores a
5 aplique la multa de 0.05%.

10. La Universidad de Guayaquil, ha implementado un programa que consiste en: si el


promedio obtenido en sus 3 módulos es >=7, se aplica un descuento del 25% sobre el total a
pagar y queda fuera del pago del IVA. Y si su promedio es menor a 7 no obtiene descuento
alguno y se debe incluir el Impuesto al Valor Agregado. El valor de cada módulo es de $200.
Ingrese el nombre del estudiante, el curso, la carrera y el nombre de sus 6 módulos con sus
respectivas calificaciones. Valor de la matrícula $300.

62
PROGRAMACIÓN Y BASE DE DATOS 2

11. Cada pelota de béisbol tiene el valor de $65,00 si se compran menos de una docena y
$45.00 si son más de 12 pelotas. Calcule el subtotal, el IVA, y el total a pagar. Adicionalmente
agregue el 15% de impuestos por servicio; así como un descuento sobre el total de la compra,
que consiste en 5% y 10% correspondiente.

12.- Realice un programa que permita determinar qué paquete se puede comprar una
persona con el dinero que recibirá en diciembre, considerando lo siguiente:
Paquete A. Si recibe $5000 o más se comprará una televisión, un modular, tres pares de
zapatos, cinco camisas y cinco pantalones.
Paquete B. Si recibe menos de $5000 se comprará una grabadora, tres pares de zapatos,
cinco camisas y cinco pantalones.

63
PROGRAMACIÓN Y BASE DE DATOS 2

Estructuras Selectivas Múltiples


Se dice que una Estructuras Selectivas es Múltiple cuando colocamos
varias Estructuras, una a continuación de otra.
Las Estructuras Selectivas Múltiples son de la siguiente forma:

V
CONDICIÓN PROCESO POR VERDADERO

V
CONDICIÓN
PROCESO POR VERDADERO

Donde podemos colocar una determinada cantidad de Estructuras


Selectivas, siempre una a continuación de otra. Su sintaxis es:

if(condicion1)
Acción 1;
elseif(condicion2)
Acción 2;
elseif(condicion3)
Acción 3;
...
else
Acción n;

Ejercicio de aplicación 5
Elabore un programa que lea el nombre, paralelo, jornada y las notas del
primer y segundo parcial de un estudiante de la Universidad. Calcule y
visualice su suma. Si dicha suma es mayor o igual a 14, visualice el
mensaje “APROBADO”; si la suma está entre 10 y 13 visualice el mensaje
“Suspenso”; y si la suma es menor o igual a 9 el mensaje “Reprobado”.

64
PROGRAMACIÓN Y BASE DE DATOS 2

65
PROGRAMACIÓN Y BASE DE DATOS 2

1. La política de la compañía telefónica “Chimefón” es: “Chismea + x -”. Cuando se realiza


una llamada, el cobro es por el tiempo que ésta dura, de tal forma que los primeros cinco
minutos cuestan $ 1.00 c/u, los siguientes tres, $0,80 c/u, los siguientes dos minutos, $0,70
c/u, y a partir del décimo minuto, $0,50 c/u. Además, se carga un impuesto de 3 % cuando
es domingo, y si es día hábil, en turno matutino, 15 %, y en turno vespertino, 10 %. Realice
un programa para determinar cuánto debe pagar por cada concepto una persona que realiza
una llamada.

2.- Una compañía de viajes cuenta con tres tipos de autobuses (A, B y C), cada uno tiene un
precio por kilómetro recorrido por persona, los costos respectivos son $2.0, $2.5 y $3.0. Se
requiere determinar el costo total y por persona del viaje considerando que cuando éste se
presupuesta debe haber un mínimo de 20 personas, de lo contrario el cobro se realiza con
base en este número límite.

66
PROGRAMACIÓN Y BASE DE DATOS 2

3. “El náufrago satisfecho” ofrece hamburguesas sencillas, dobles y triples, las cuales tienen
un costo de $2.00, $2.80 y $3.50 respectivamente. La empresa acepta tarjetas de crédito con
un cargo de 5 % sobre la compra. Suponiendo que los clientes adquieren sólo un tipo de
hamburguesa, realice un programa para determinar cuánto debe pagar una persona por N
hamburguesas.

4. El consultorio del Dr. Lorenzo T. Mata Lozano tiene como política cobrar la consulta con
base en el número de cita, de la siguiente forma: Las tres primeras citas a $200 c/u. Las
siguientes dos citas a $150 c/u. Las tres siguientes citas a $100.00 c/u. Las restantes a $50
c/u, mientras dure el tratamiento. Se requiere un programa para determinar: a) Cuánto pagará
el paciente por la cita. b) El monto de lo que ha pagado el paciente por el tratamiento.

67
PROGRAMACIÓN Y BASE DE DATOS 2

5. El banco “Pueblo desconocido” ha decidido aumentar el límite de crédito de las tarjetas de


crédito de sus clientes, para esto considera que, si su cliente tiene tarjeta tipo 1, el aumento
será de 25 %; si tiene tipo 2, será de 35 %; si tiene tipo 3, de 40 %, y para cualquier otro tipo,
de 50 %. Ahora bien, si la persona cuenta con más de una tarjeta, sólo se considera la de
tipo mayor o la que el cliente indique. Realice un programa para determinar el nuevo límite
de crédito que tendrá una persona en su tarjeta.

6. El dueño de un estacionamiento requiere un programa que le permita determinar cuánto


debe cobrar por el uso del estacionamiento a sus clientes. Las tarifas que se tienen son las
siguientes:
Las dos primeras horas a $5.00 c/u. Las siguientes tres a $4.00 c/u. Las cinco siguientes a
$3.00 c/u. Después de diez horas el costo por cada una es de dos dólares.

68
PROGRAMACIÓN Y BASE DE DATOS 2

7. Una compañía de seguros para autos ofrece dos tipos de póliza: cobertura amplia (A) y
daños a terceros (B). Para el plan A, la cuota base es de $1,200, y para el B, de $950. A
ambos planes se les carga 10% del costo si la persona que conduce tiene por hábito beber
alcohol, 5% si utiliza lentes, 5% si padece alguna enfermedad –como deficiencia cardiaca o
diabetes–, y si tiene más de 40 años, se le carga 20%, de lo contrario sólo 10%. Todos estos
cargos se realizan sobre el costo base. Realice programa para determinar cuánto le cuesta a
una persona contratar una póliza.

8. Los estudiantes de una escuela desean realizar un viaje de estudios, pero requieren
determinar cuánto les costará el pasaje, considerando que las tarifas del autobús son las
siguientes: si son más de 100 estudiantes, el costo es de $2; si son entre 50 y 100, $3,5; entre
20 y 49, $4, y si son menos de 20 estudiantes, $7 por cada uno. Realice un programa para
determinar el costo del pasaje de cada uno.

69
PROGRAMACIÓN Y BASE DE DATOS 2

9. Realice un programa que, con base en una calificación proporcionada (0-10), indique con
letra la calificación que le corresponde: 10 es “A”, 9 es “B”, 8 es “C”, 7 y 6 son “D”, y de 5 a 0
son “F”.

10. El secretario de educación ha decidido otorgar un bono por desempeño a todos los
profesores con base en la puntuación siguiente:
PUNTOS PREMIO
0 – 100 1 Salario
101 – 150 2 Salarios mínimos
151 – en adelante 3 Salarios mínimos

Realice un programa que permita determine el monto de bono que percibirá un profesor (debe
capturar el valor del salario mínimo y los puntos del profesor).

70
PROGRAMACIÓN Y BASE DE DATOS 2

11.- Realice un algoritmo y represéntelo mediante el diagrama de flujo, el pseudocódigo y


el diagrama N/S que permitan determinar qué paquete se puede comprar una persona con
el dinero que recibirá en diciembre, considerando lo siguiente:
Paquete A. Si recibe $50,000 o más se comprará una televisión, un modular, tres pares de
zapatos, cinco camisas y cinco pantalones.
Paquete B. Si recibe menos de $50,000 pero más (o igual) de $20,000, se comprará una
grabadora, tres pares de zapatos, cinco camisas y cinco pantalones.
Paquete C. Si recibe menos de $20,000 pero más (o igual) de $10,000, se comprará dos
pares de zapatos, tres camisas y tres pantalones.
Paquete D. Si recibe menos de $10,000, se tendrá que conformar con un par de zapatos,
dos camisas y dos pantalones.
.

12.- La secretaria de salud requiere un diagrama de flujo que le represente el programa que
permita determinar qué tipo de vacuna (A, B o C) debe aplicar a una persona, considerando
que si es mayor de 70 años, sin importar el sexo, se le aplica la tipo C; si tiene entre 16 y 69
años, y es mujer, se le aplica la B, y si es hombre, la A; si es menor de 16 años, se le aplica
la tipo A, sin importar el sexo.

71
PROGRAMACIÓN Y BASE DE DATOS 2

Estructura switch.- Cuando una variable es sometida a varias


condiciones, es recomendable usar la instrucción case.
La orden case permite evaluar varias condiciones y ejecuta la primera que
resulte verdadera. Su sintaxis es:

switch (condición)
{
case 1:
instrucciones 1;
break;

case 2:
instrucciones 2;
break;

case 3:
instrucciones 3;
break;

case n:
instrucciones n;
break
default:
}

En donde, la condición es la que, al evaluarla, nos indicará que camino


debemos seguir. Además, que, la condición constante que acompaña a la
palabra reservada case debe ser del mismo tipo que condición. La cláusula
default es opcional y puede omitirse en los programas que desarrollemos.

Se puede especificar cualquier número de case para las condiciones que


se requieran.

Instrucción break. Termina abruptamente la ejecución del ciclo,


ignorando todas las instrucciones después del mismo y finaliza el ciclo.

Ejercicio de aplicación 21
Una exportadora tiene los siguientes tipos de camarón:
CODIGO TIPO DE CAMARÓN PRECIO x LIBRA
1 EXTRA $5.00
2 PREMIUM $8.50
3 SUPER PREMIUM $12.50

Elabore un programa que ingrese el código del camarón y las libras a


exportar. Se debe de visualizar el tipo de camarón, el precio por libras y el
total a pagar.

72
PROGRAMACIÓN Y BASE DE DATOS 2

Instrucción switch, la utilizamos porque la variable (codcam) es sometida


a varias condiciones y por lo tanto es recomendable usar la instrucción
case.

Con un case preguntamos por el código ingresado. Dependiendo del


caso, se asigna el tipo de camarón, el precio. En cada case se realiza el
cálculo del Total a Pagar, multiplicando la cantidad por el precio para
cada tipo de camarón.
Al final de cada case utilizamos la instrucción break que sirve para
finalizar el ciclo.

73
PROGRAMACIÓN Y BASE DE DATOS 2

1. En una exportadora de banano, se rigen por la siguiente lista de precios por caja:
Código Tamaño Precio
1 Junior $8.00
2 Jumbo $12.00
3 Especial $17.00
Codifique una aplicación que ingrese el código de la caja del banano, visualice automáticamente
el tamaño y el precio. Luego solicite el número de cajas a comprar. Visualice el total a pagar.

74
PROGRAMACIÓN Y BASE DE DATOS 2

2. Realice un programa que, con base en un número proporcionado (1-7), indique el día de la
semana que le corresponde (L-D).

75
PROGRAMACIÓN Y BASE DE DATOS 2

3. El 14 de febrero una persona desea comprarle un regalo al ser querido que más aprecia en
ese momento, su dilema radica en qué regalo puede hacerle, las alternativas que tiene son las
siguientes:

Se requiere un programa que ayude a determinar qué


regalo se le puede comprar a ese ser tan especial por
el día del amor y la amistad.

76
PROGRAMACIÓN Y BASE DE DATOS 2

4. Una compañía de paquetería internacional tiene servicio en algunos países de América del
Norte, América Central, América del Sur, Europa y Asia. El costo por el servicio de paquetería
se basa en el peso del paquete y la zona a la que va dirigido.

Parte de su política implica que los paquetes con un peso superior a 5 kg no son transportados,
esto por cuestiones de logística y de seguridad. Realice un programa para determinar el cobro
por la entrega de un paquete o, en su caso, el rechazo de la entrega.

77
PROGRAMACIÓN Y BASE DE DATOS 2

5. Fábricas “El cometa” produce artículos con claves (1, 2, 3, 4, 5 y 6). Se requiere un programa
para calcular los precios de venta, para esto hay que considerar lo siguiente: Costo de
producción = materia prima + mano de obra + gastos de fabricación. Precio de venta = costo de
producción + 45 % de costo de producción. El costo de la mano de obra se obtiene de la
siguiente forma: para los productos con clave 3 o 4 se carga 75 % del costo de la materia prima;
para los que tienen clave 1 y 5 se carga 80 %, y para los que tienen clave 2 o 6, 85 %. Para
calcular el gasto de fabricación se considera que si el artículo que se va a producir tiene claves
2 o 5, este gasto representa 30 % sobre el costo de la materia prima; si las claves son 3 o 6,
representa 35 %; si las claves son 1 o 4, representa 28 %. La materia prima tiene el mismo
costo para cualquier clave.

78
PROGRAMACIÓN Y BASE DE DATOS 2

6. El presidente de la república ha decidido estimular a todos los estudiantes de una universidad


mediante la asignación de becas mensuales, para esto se tomarán en consideración los
siguientes criterios:
Para estudiantes mayores de 18 años con promedio mayor o igual a 9, la beca será de $2000;
con promedio mayor o igual a 7.5, de $1000; para los promedios menores de 7.5 pero mayores
o iguales a 6.0, de $500; a los demás se les enviará una carta de invitación incitándolos a que
estudien más en el próximo ciclo escolar. A los alumnos de 18 años o menores de esta edad,
con promedios mayores o iguales a 9, se les dará $3000; con promedios menores a 9 pero
mayores o iguales a 8, $2000; para los alumnos con promedios menores a 8 pero mayores o
iguales a 6, se les dará $100, y a los alumnos que tengan promedios menores a 6 se les enviará
carta de invitación.

79
PROGRAMACIÓN Y BASE DE DATOS 2

7. Este programa pide primeramente la cantidad total de compras de una persona. Si la cantidad
es inferior a $100.00, el programa dirá que el cliente no aplica a la promoción. Pero si la persona
ingresa una cantidad en compras igual o superior a $100.00, el programa genera de forma
aleatoria un número entero del cero al cinco. Cada número corresponderá a un color diferente
de cinco colores de bolas que hay para determinar el descuento que el cliente recibirá como
premio. Si la bola aleatoria es color blanco, no hay descuento, pero si es uno de los otros cuatro
colores, sí se aplicará un descuento determinado según la tabla que aparecerá, y ese descuento
se aplicará sobre el total de la compra que introdujo inicialmente el usuario, de manera que el
programa mostrará un nuevo valor a pagar luego de haber aplicado el descuento.

80
PROGRAMACIÓN Y BASE DE DATOS 2

8. Realice un algoritmo para resolver el siguiente problema: una fábrica de pantalones desea
calcular cuál es el precio final de venta y cuánto ganará por los N pantalones que produzca con
el corte de alguno de sus modelos, para esto se cuenta con la siguiente información:
a) Tiene dos modelos A y B, tallas 30, 32 y 36 para ambos modelos.
b) Para el modelo A se utiliza 1.50 m de tela, y para el B 1.80 m.
c) Al modelo A se le carga 80 % del costo de la tela, por mano de obra. Al modelo B
se le carga 95 % del costo de la tela, por el mismo concepto.
D) A las tallas 32 y 36 se les carga 4 % del costo generado por mano de obra y tela,
sin importar el modelo.
e) Cuando se realiza el corte para fabricar una prenda sólo se hace de un solo modelo
y una sola talla.
f) Finalmente, a la suma de estos costos se les carga 30%, que representa la ganancia
extra de la tienda.

81
PROGRAMACIÓN Y BASE DE DATOS 2

9. Ingrese un número del 1 al 12 y determine a que mes pertenece.

82
PROGRAMACIÓN Y BASE DE DATOS 2

10.- Desarrolle un programa que pida una letra y detecte si es una vocal.

83
PROGRAMACIÓN Y BASE DE DATOS 2

Desarrollo de programas.
Como se mencionó anteriormente, un programa es un conjunto de
instrucciones que pueden utilizarse para resolver un problema. A
menudo, el programa contiene muchas instrucciones, y por lo regular
son complicadas.

Por tanto, desarrollar un programa exitoso implica mucho esfuerzo y se


requiere planeación, una implementación cuidadosa y mantenimiento. A
continuación, una lista de los pasos del proceso de desarrollo:

El análisis de requerimientos sirve para determinar las necesidades y las


metas. El diseño es la elaboración del esquema del programa, la
implementación es la escritura misma del programa. La prueba es la
verificación de que el programa funciona. La documentación es la
escritura de la descripción de lo que el programa hace. El mantenimiento es
llevar a cabo las mejoras y prevenir los errores posteriores.

Los pasos están ordenados en una secuencia lógica en la que el usuario


ejecutaría, de forma normal, primero el análisis de requerimientos, en
segundo lugar, el diseño, etc. Pero algunos de estos pasos deberían
ejecutarse a través del proceso de desarrollo en lugar de hacerlo en un
tiempo determinado.

Por ejemplo, se debería trabajar en el paso de la documentación a través


del proceso de desarrollo, y también en la etapa de pruebas durante y
después de la implementación y después del mantenimiento. Es
importante saber que con frecuencia será necesario repetir la secuencia
de pasos conforme vayan surgiendo.

Por ejemplo, si una de las metas del programa cambiara, sería necesario
repetir todos los pasos en diferentes grados.

84
PROGRAMACIÓN Y BASE DE DATOS 2

Análisis de requerimientos
El primer paso en el proceso de desarrollo de un programa es el análisis de
los requerimientos, en el que se determinan las necesidades y metas del
programa. Es importante que el programador comprenda con exactitud lo
que el cliente desea.

Desafortunadamente, es muy común que los programadores produzcan


programas sólo para darse cuenta después de que era otra cosa lo que
el cliente quería. Esta circunstancia desafortunada quizá se deba a una
mala comunicación entre el cliente y el programador al inicio del
proyecto.

Si el cliente y el programador confían únicamente en la descripción


verbal de la solución, es muy fácil que se omitan detalles importantes,
más adelante, esos detalles omitidos pueden ser la causa del problema,
cuando el cliente y el programador se dan cuenta de que habían
asumido cosas distintas acerca de cómo se implementarían los detalles.

Para ayudar en el proceso de comunicación, el cliente y el programador


deberían crear capturas de pantallas de entrada de datos y de reportes
de salida. Una captura de pantalla es como un retrato de cómo
aparecerá dicha pantalla. Para crear capturas de pantalla se pueden
desarrollar pequeños programas que impriman reportes con resultados
hipotéticos. Como una manera alternativa se pueden hacer capturas de
pantalla con la ayuda de software de diseño o, si el usuario es un artista
en potencia, con lápiz y papel.

Diseño de programa
Después del paso de análisis de requerimientos, el segundo es el diseño
del programa, en el que se crea una versión del programa enfocado a la
lógica básica, no a los detalles de formulación. De forma más específica,
se escriben instrucciones coherentes y lógicamente correctas, pero no
hay que preocuparse de los pasos menores o de las faltas de ortografía.
Esta clase de programas se conoce como algoritmo.

Por ejemplo, la receta de un pastel es un algoritmo; contiene instrucciones


para resolver el problema de cómo hornearlo. Las instrucciones son
coherentes y lógicamente correctas, pero en ellas no se indican los pasos
sobre cómo debe cubrir sus manos el cocinero con protectores antes de
sacar el pastel del horno.

85
PROGRAMACIÓN Y BASE DE DATOS 2

1. Escriba los pasos del proceso de desarrollo de programas.

2. ¿Qué es el análisis de requerimiento?

3. ¿Para qué sirve el análisis de requerimiento?

4. ¿En qué consiste el diseño de programa?

86
PROGRAMACIÓN Y BASE DE DATOS 2

Pseudocódigo
Al escribir un algoritmo, hay que enfocar la atención en la organización
del flujo de instrucciones, y evitar empantanarse con los detalles, para
facilitar este enfoque, los programadores a menudo escriben las
instrucciones de un algoritmo haciendo uso del pseudocódigo. El
pseudocódigo es un lenguaje informal que utiliza términos del idioma
español común para describir los pasos de un programa.

Con un pseudocódigo preciso, la sintaxis de cómputo no es necesaria. La


sintaxis se refiere a las palabras, gramática y puntuación que conforman al
lenguaje Java. La sintaxis del pseudocódigo es benévola. El pseudocódigo
debe ser suficientemente claro para que pueda entenderse, pero las
palabras, gramática y puntuación no tienen que ser perfectas. Se menciona
la benevolencia para contrastarla con la precisión que se requiere en la
siguiente fase en el desarrollo de un programa.

Ejemplo: utilización del pseudocódigo para encontrar el promedio de


millas por minuto
Supongamos que al usuario se le solicita escribir un algoritmo para
encontrar el valor promedio de millas por hora para un determinado viaje en
auto. A continuación se buscará la solución a dicho problema.

Para determinar el promedio de millas por hora, se requiere dividir la


distancia total viajada entre el tiempo total. Asumiendo que se tiene que
calcular la distancia total para dos localidades dadas. Para determinar la
distancia total, es necesario tomar los dos puntos de ubicación finales,
llamados distancias finales y restar el punto de ubicación inicial, llamada
para ello distancia inicial. Asumiendo que se tiene que calcular el tiempo
total de la misma manera, es necesario restar el tiempo inicial del tiempo
final. Al poner todo esto junto, el pseudocódigo para calcular las millas
promedio por hora sería algo como lo siguiente:

1. Calcular la resta de la distancia final


menos la distancia inicial.
2. Poner el resultado en distancia total.
3. Al tiempo final restar el tiempo inicial.
4. Poner el resultado en el tiempo total.
5. Dividir la distancia total entre el tiempo
total.

Programación orientada a objetos, o POO, como se le conoce


comúnmente implica la idea de que cuando se diseña un programa es
necesario pensar primero en sus componentes (objeto), en lugar de sus
tareas.

87
PROGRAMACIÓN Y BASE DE DATOS 2

Documentación de programas

Es el conjunto de documentos (entendidos como manuales, ayuda, folletos,


guías) que se entrega con un determinado software, y que contienen las
instrucciones para que el usuario aprenda a manejarlo y conozca sus
funciones principales. En este sentido está claro que la documentación es
un concepto muy heterogéneo y que engloba desde un simple folleto de
ayuda, hasta enormes manuales para los programas más complejos.

La documentación puede ser, de diversos tipos: será con soporte en


papel si nos referimos a documentos impresos, o con soporte informático
si al programa lo acompañan otros documentos electrónicos que actúan
como manuales. Incluso según el tipo de documentos incluidos, podemos
hablar de documentación gráfica, multimedia (si incluye imágenes,
videos) o en texto.

También puede ser documentación en soporte físico, si la documentación


viene en forma de libros físicos o en CDs o memorias, o bien on-line, si debe
ser consultada a través de internet a un servidor remoto, como por ejemplo
un programa de ayuda en línea.

También podemos diferenciar entre documentación de ayuda (la cual tiene


como función explicar al usuario el manejo), documentación de soporte (que
intenta resolver y explicar los problemas más comunes), documentación
técnica (donde se incluyen las especificaciones técnicas del producto, así
como los requisitos de funcionamiento), documentación general (que
principalmente presenta el programa y sus funciones), documentación legal
(en donde suelen ir las condiciones legales de uso del producto, los
llamados en inglés disclaimers), y un largo etcétera, que puede incluir otros
documentos más específicos como FAQs (Frecuently Asked Questions),
una Guía de Uso e Instalación, un Glosario, etc. En la mayor parte de los
casos todos estos documentos se incluyen en uno sólo, llamado Manual de
Usuario ()

En general la documentación de un programa es una parte muy importante


que comienza justo tras la finalización de este y antes de su
comercialización. Evidentemente a más complejo el programa, mayor y más
extensa debe ser la documentación incluida, si bien en la actualidad se
tiende más que a incluir grandes manuales, a optar por un soporte en línea
y que el propio programa lleve incluidas rutinas de ayuda paso a paso
integradas en él, de tal modo que no se requiera que el usuario consulte la
documentación para aprender a realizar cada tarea.

88
PROGRAMACIÓN Y BASE DE DATOS 2

1. Realiza una sintaxis de: Cómo escribir documentación de software, en la


siguiente dirección electrónica:
https://es.wikihow.com/escribir-documentaci%C3%B3n-de-software

2. Determina qué información debe estar incluida.

3. Decide cuánto de la documentación debe estar dentro del código del


programa y cuánto debe estar aparte.

4. Elige la herramienta de documentación adecuada.

89
PROGRAMACIÓN Y BASE DE DATOS 2

Documentación para el usuario


La documentación para el usuario constituye un elemento de consulta para
toda aquella persona que va a usar el programa por primera vez o que
trata de saber si el programa servirá a sus objetivos. Igualmente es útil para
usuarios que ya realizan un manejo básico y quieren profundizar hacia un
conocimiento avanzado. Una documentación completa contendría:

Portada con el nombre del programa, versión y autor o autores.


Índice
Descripción muy breve de las funciones y posibilidades del
programa
Descripción breve del método de cálculo principal
Explicación breve de cómo debe usarse el programa y de los
datos de entrada, opciones y resultados
Ejemplos pasó a paso de uso del programa en número
suficiente para comprender las posibilidades que se brindan
Diagrama de flujo del programa de carácter sintético y
descriptivo
Especificación detallada de todas las opciones contenidas en
menús
Especificación detallada de todos los cálculos, principales y
secundarios

La extensión de la documentación para el usuario será variable en función


de la complejidad y características del programa: puede ir desde un párrafo
para programas muy sencillos y de fácil uso hasta centenares de páginas
para programas comerciales complejos. Los puntos contenidos en la
documentación también son variables, siendo los enumerados
anteriormente una orientación. Para programas sencillos puede reducirse a
un título, una explicación breve del funcionamiento, entradas y salidas y un
ejemplo de uso.

Documentación para mantenimiento


La documentación para mantenimiento constituye el elemento de
referencia para el programador que haya de realizar cambios o
ampliaciones del programa en el futuro. La necesidad de mantenimiento
deriva de:

 Solicitudes de los clientes o usuarios.


 Defectos del programa no detectados y que es necesario corregir.
 Cambios externos de índole política, técnica, social, etc. que afectan
al programa: normativa, moneda, novedades de un sistema operativo,
etc.

90
PROGRAMACIÓN Y BASE DE DATOS 2

El mantenimiento de un programa puede afectar a su esqueleto o diseño


básico, a funciones importantes pero desligadas del núcleo del programa o
a cuestiones meramente estéticas. De cualquier forma, el mantenimiento
debe considerarse como programación en todos sus sentidos, debiendo
partir del conocimiento del problema y avanzar con detenimiento siguiendo
las normas para una programación sólida. Es ideal un mantenimiento que
respete la filosofía y el estilo del programa que se mantiene, de modo que
un auditor no pudiera detectar qué parte del programa corresponde al
código original y qué parte a la ampliación o corrección.

Por desgracia esto muchas veces no se cumple, por descuido o porque


simplemente realizar un mantenimiento de calidad puede ser muy costoso
frente a una opción rápida y que funciona. El problema surge cundo diversas
operaciones de mantenimiento con distintas formas de construcción y
filosofía empiezan a afectar a la lógica e interconectividad entre las distintas
partes del programa. Veamos un símil gráfico:

Crecimiento Ordenado – Conserva el estilo

Crecimiento desordenado – No Conserva el estilo

No hace falta decir que si no se parte de un programa bien estructurado y


comentado el mantenimiento se complica enormemente. En ocasiones se
renuncia a un mantenimiento de calidad comenzando un proceso de
reparaciones puntuales rápidas; cada reparación introduce un poquito de
desorden y dificultad de seguimiento al programa hasta que se llega a un
punto en que el mantenimiento es imposible o demasiado costoso.

91
PROGRAMACIÓN Y BASE DE DATOS 2

Es el punto en que se nos cae la estructura que hemos ido cogiendo con
alfileres y en el que nos vemos obligados a desistir. Es el momento de hacer
una reestructuración total o incluso de olvidarnos del código de que
disponemos y empezar una nueva construcción.

No podemos decir que realizar un mantenimiento de calidad sea lo más


adecuado: hay ocasiones en que puede interesar un mantenimiento rápido.
El programador habrá de valorar varios factores, entre otros el tiempo
disponible, las perspectivas de futuro del programa, etc. Las casas de
software dedican ingentes cantidades de recursos al mantenimiento de
programas. A veces firman contratos con grandes clientes y les ofertan un
mantenimiento adaptado a sus necesidades.

En un año el programa puede avanzar de versión 6.30, 6.31, 6.32,


correspondiendo cada una a los esfuerzos de las casas de desarrollo de
software por mantener los programas con la máxima adaptación a los
requerimientos del cliente. Muchos programas de gran utilidad se pierden
porque ya no existe mantenimiento para adaptarlos a los avances del
hardware y los sistemas operativos. Una documentación de mantenimiento
completa puede contener:

1) Portada, número de versión, autor.


2) Índice.
3) Objeto y aspectos principales del programa.
4) Diagrama de flujo modular.
5) Diagrama de flujo para cada módulo, desarrollado y con enfoque a las
variables y procesos internos.
6) Código completo del programa.
7) Esquema o índice descendente del programa, actualizado.
8) Explicación de variables, datos, archivos.
9) Recomendaciones para el mantenimiento futuro.

Al igual que en el caso de la documentación para el usuario, la extensión y


contenido de la documentación para mantenimiento será variable en función
de la complejidad y características del programa.

Para programas sencillos puede reducirse a un título, una explicación breve


y unas recomendaciones, mientras que para programas comerciales puede
requerir cientos de páginas repartidas en varios tomos.

92
PROGRAMACIÓN Y BASE DE DATOS 2

1. Dialogue con su profesor y bajo los requerimientos necesarios desarrolle


el manual de procedimientos para el ingreso al laboratorio y el uso de los
equipos informáticos

2. Realice un collage para el ingreso al laboratorio

3. Requisitos para el uso de los equipos informáticos.

4. Prohibiciones de las estaciones de trabajo.

93
PROGRAMACIÓN Y BASE DE DATOS 2

5. Completa el siguiente cuadro acerca de la documentación para el usuario.

Índice
Descripción muy breve de las funciones y posibilidades del
programa

Diagrama de flujo del programa de carácter sintético y


descriptivo

6. La necesidad de mantenimiento deriva de:

94
UNIDAD 3

ANÁLISIS
ESTRUCTURADO
DE
SISTEMAS
PROGRAMACIÓN Y BASE DE DATOS 2

Análisis estructurado de sistemas:


Los sistemas de información pueden ser muy complejos y extensos lo que
dificulta su comprensión, por lo tanto se crearon métodos que facilitan el
análisis y diseño de los sistemas, sean estos manuales o automatizados,
que conducen al desarrollo de especificaciones de sistemas nuevos o para
efectuar modificaciones.

Análisis estructurado
Es un método para el análisis de sistemas manuales o automatizados, que
conduce al desarrollo de especificaciones para sistemas nuevos o para
efectuar modificaciones a los ya existentes. Cuando los analistas de
sistemas abordan una situación poco familiar, siempre existe una pregunta
sobre donde comenzar el análisis. Una situación dinámica siempre puede
ser vista como abrumadora debido a que muchas de las actividades se
llevan a cabo constantemente. El análisis estructurado permite el analista
conocer un sistema o proceso (actividad) en una forma lógica y manejable
el mismo tiempo que proporciona la base para asegurar que no se omite
ningún detalle pertinente.

Significado de estructurado
El objetivo que persigue el análisis estructurado es organizar las tareas
asociadas con la determinación de requerimientos para obtener la
comprensión completa y exacta de una situación dada. A partir de aquí
determina los requerimientos que serán la base de un sistema nuevo o
modificado, la palabra estructura significa:

1) Documentación del
sistema existente.

5) Dispositivos de 2) Detalles relevantes


comunicación que describe al
eficientes. Estructura sistema en uso.

4) Incluirá las mejoras 3) Es fácil verificar cuando se


soluciones y estrategias. han omitido detalles relevantes.

Componentes del análisis estructurado


El análisis estructurado hace uso de los siguientes componentes:

1. Símbolos gráficos.
Iconos y convenciones para identificar y describir los componentes de un
sistema junto con las relaciones entre estos componentes.

96
PROGRAMACIÓN Y BASE DE DATOS 2

2. Diccionario de datos.
Descripciones de todos los datos utilizados en el sistema. Puede ser manual
o automatizado (y estar incluido en el diccionario de un
proyecto más grande que quizá contenga las descripciones de los procesos
que integran al sistema).

3. Descripción de procesos y procedimientos.


Declaraciones formales que emplean técnicas y lenguajes que permiten a
los analistas describir actividades importantes que forman parte del
sistema.

4. Reglas.
Estándares para describir y documentar el sistema en forma correcta y
completa.
El método de análisis estructurado se ha convertido en sinónimo de análisis
de flujo de datos, que es una herramienta; quizá esto se deba a que la
herramienta es esencial para documentar el sistema existente y determinar
los requerimientos de información por medio del método estructurado.

Identificar las necesidades del Cliente.

Evaluar que conceptos tiene el cliente del sistema


para establecer su viabilidad. Objetivos
de un
Realizar un Análisis Técnico y económico.
Análisis
Asignar funciones al Hardware, Software, personal, de
base de datos, y otros elementos del Sistema. Sistemas
Establecer las restricciones de presupuestos y
planificación temporal.

Identificación del problema


El diseñador, generalmente, tiene una idea aproximada del problema, los
criterios del diseño y los requisitos que se deben satisfacer, cuando
empieza el problema. De esta manera, le resulta fácil concentrarse
prematuramente en una solución particular del problema antes de
analizarlo completamente, Más tarde, se dará cuenta de que su primera
impresión no tenía el fundamento adecuado o éste era inexacto, debido al
estudio incompleto de todos los factores.

En la primera etapa del proceso se debe identificar el problema de diseño.


La identificación es un ejercicio mental, que requiere que el diseñador
analice requisitos, limitaciones y otros parámetros.

97
PROGRAMACIÓN Y BASE DE DATOS 2

1. Completa la siguiente rueda de atributos referente al análisis


estructurado de sistemas.

Estructura

2. Enlista los objetivos de un análisis de sistema

3. Cuáles son los componentes del análisis estructurado.

98
PROGRAMACIÓN Y BASE DE DATOS 2

Requerimientos del sistema


Los Sistemas de Información por computadora normalmente están
integrados por muchos componentes. En la mayor parte de los casos, es
difícil para los analistas entender todos estos componentes aún mismo
tiempo; por lo tanto, los investigadores tienen que comenzar con preguntas
de tipo general con relación al propósito del sistema sus entradas y salidas
de los procesos incluidos.

Requisitos de Entradas
Es el enlace que une al sistema de información con el mundo y sus
usuarios, en esta existen aspectos generales que todos los analistas deben
tener en cuenta estos son:

1. Objetivos del Diseño de Entrada.

2. Captura de Datos para la Entrada.

1. Objetivo del Diseño de Entrada


Consiste en el desarrollo de especificaciones y procedimientos para la
preparación de datos, la realización de los procesos necesarios para poner
los datos de transacción en una forma utilizable para su procesamiento, así
como la entrada de los datos se logra al instruir a la computadora para que
lea ya sea documentos escritos, impresos o por personas que los escriben
directamente al sistema.

Existen cinco objetivos que controlan la cantidad de entrada requerida, a


enviar los retrasos, controlar los errores y mantener la sencillez de los
pasos necesarios, estos son:

Mantener la
Sencillez del
Evitar los Proceso
pasos
Evitar los adicionales
errores en
Evitar los los datos
Retrasos
Control de la
Calidad de
Entrada

Control de la Calidad de Entrada:


Existen varias razones por las cuales un buen diseñador debe control
la cantidad de datos en la entrada:

• Las Operaciones de preparación y entrada dependen de las


personas dado que los costos de mano de obra son altos y la
preparación de ingreso de los datos también lo son.

99
PROGRAMACIÓN Y BASE DE DATOS 2

• La fase de entrada puede ser un proceso lento que toma mucho más
tiempo que el que necesitan las computadoras para realizar sus
tareas.

Evitar los Retrasos:


También conocido con el nombre de cuello de botella es siempre uno
de los objetivos que el analista evita al diseñar la entrada, una forma
de evitarle es utilizar los documentos de retorno.

Evitar los errores en los datos:


La tasa de errores depende de la cantidad de datos, ya que entre
más pequeña sea esta, menores serán las oportunidades para
cometer errores. Es común encontrar en las operaciones de ventas
por lo menos un 3% de errores en las operaciones de entrada de
datos.

Evitar los Pasos Adicionales:


Algunas veces el volumen de transacciones y la cantidad de datos
en preparación es algo que no se puede controlar por ello el analista
experimentado, evitará diseños para la entrada que traigan una
mayor cantidad de pasos a seguir. Ya sea añadir o quitar pasos
cuando se alimenta un proceso muchas veces al transcurso de un
día.

Mantener la sencillez del Proceso:


El sistema mejor diseñado se ajusta a las personas que lo utilizarán
y al mismo tiempo proporcionarán métodos para el control de los
errores, la simplicidad funciona y es aceptada por cualquier usuario.
Cuesta trabajo que los usuarios acepten sistemas complejos o
confusos y que no exista ninguna garantía para el éxito al instalar
un sistema complejo y que domine.

2. Captura de datos para la Entrada:


En una transacción existen datos importantes y otros que no, el analista debe
saber cuáles utilizará y cuales en realidad deben formar la entrada. Existen
dos tipos de datos:

 Datos variables
 Datos de identificación

Datos Variables: Datos de Identificación:


Son aquellos que cambian Estos son los que identifican
para cada transacción o en forma única el artículo
toman de decisión. que está siendo procesado.

100
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿En qué consisten los objetivos del diseño de entrada?

2. Describe los objetivos de diseño de entrada.

3. ¿Qué son los datos variables?

101
PROGRAMACIÓN Y BASE DE DATOS 2

Requerimientos de Salida
Niveles de diseño, el diseño de sistema se representa a través de dos
fases: el diseño lógico y el diseño físico.
Cuando los analistas formulan un diseño lógico; escriben las
especificaciones detalladas del nuevo sistema; esto es, describen sus
características: las salidas, entradas, archivos y bases de datos y
procedimientos; todos de manera que cubran los requerimientos del
proyecto.

El diseño lógico de un sistema de información es como el plano de un


ingeniero para armar un automóvil: muestra las características
principales (motor, transmisión y área para los pasajeros) y como se
relacionan unas con otras (donde se conectan entre sí los componentes
del sistema o, por ejemplo, cuan separadas están las puertas.

El diseño lógico también especifica las formas de entrada y las


descripciones de las pantallas de todas las transacciones y archivos a fin
de mantener los datos de inventario, los detalles de las transacciones y los
datos del proveedor. Las especificaciones de los procedimientos
describen métodos para introducir los datos, corridas de informes copiados
de archivos y detección de problemas.

El diseño físico, actividad que sigue el diseño lógico, produce


programas de software, archivos y un sistema en marcha, las
especificaciones del diseño indican a los programadores que debe
hacer el sistema. Los programadores a su vez escriben los programas
que aceptan entradas por parte de los usuarios, procesan los datos,
producen los informes y almacenan estos datos en los archivos.

Utilización de los Datos de Requerimientos:


El alcance del diseño de sistemas se guía por el marco de referencia para
el nuevo sistema desarrollado durante el análisis. Los datos de los
requerimientos, recopilados durante la investigación, conforman las
actividades y componentes del sistema. Los analistas formulan un diseño
lógico que apoya los procesos y decisiones, los contenidos del sistema
pueden cambiar como resultado de un nuevo diseño.

El diseño lógico va de arriba hacia abajo, como lo hizo la determinación de


requerimientos. En primer lugar, se identifican las características generales,
como informes y entradas; en el diseño de la salida, por ejemplo, los
analistas deben conocer la longitud de campo de un dato específico para
establecer cuanto espacio dejar en la información, en la pantalla de
despliegue visual o archivo.

102
PROGRAMACIÓN Y BASE DE DATOS 2

Utilización de los datos de Requerimientos:

El alcance del diseño de sistemas se guía por el marco de referencia para


el nuevo sistema desarrollado durante el análisis. Los datos de los
requerimientos, recopilados durante la investigación, conforman las
actividades y componentes del sistema. Los analistas formulan un diseño
lógico que apoya los procesos y decisiones, los contenidos del sistema
pueden cambiar como resultado de un nuevo diseño.

El diseño lógico va de arriba hacia abajo, como lo hizo la determinación de


requerimientos. En primer lugar, se identifican las características generales,
como informes y entradas; en el diseño de la salida, por ejemplo, los
analistas deben conocer la longitud de campo de un dato específico para
establecer cuanto espacio dejar en la información, en la pantalla de
despliegue visual o archivo.

Participación de los Usuarios:

Los gerentes y usuarios del sistema también poseen un papel importante


en el diseño del sistema; no es solamente el proyecto del analista. Durante
el diseño, a algunos se les pide que revisen los borradores de los informes,
que examinen los formatos de entrada y que ayuden en la escritura de los
procedimientos para decirles a otras personas como utilizar el sistema en
forma apropiada.

La participación del usuario proporciona al analista una retroalimentación


importante conforme avanza en el diseño; además asegura a los usuarios
tengan un conocimiento no técnico de lo realizará o no el nuevo sistema.
Esta visión general del diseño de sistemas subraya los aspectos de diseño
que se verán más adelante en el diseño de la salida de sistema.

103
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿Cuáles son los niveles de diseño?, descríbelos.

2. ¿Qué es lo primero que de hace dentro del diseño lógico?

3. ¿Qué proporciona la participación del usuario?

104
PROGRAMACIÓN Y BASE DE DATOS 2

Fases de la implementación de un sistema

1. Revisión de hardware y software


Analizar si la infraestructura actual soportará el sistema nuevo. Si no la
soporta, explicar qué cambios son necesarios. Analizar si las PCs de los
usuarios soportarán el nuevo sistema.

2. Método de implantación
La elección del método depende de varios factores:
 Volumen de información
 Criticidad de la implementación
 Restricciones de tiempo
 Recursos humanos
 Restricciones de hardware

3. Puesta operativa
Es la fecha a partir de la cual el nuevo sistema entra en vigencia. A partir
de ese momento las decisiones se toman usando información del nuevo
sistema.
Deben estar listos:
 Migración de datos
 Capacitación
 Interfases definitivas
 Manual de Normas y Procedimientos

4. Migración de datos
Involucra tres partes:
a) Carga inicial
b) Conversión de datos
c) Depuración

Figura 1. Tipos de Datos

105
PROGRAMACIÓN Y BASE DE DATOS 2

a) Carga inicial
Volcado de información del sistema viejo al sistema nuevo.

Se debe decidir:
 Si es manual o automática
 Si se cargarán los datos históricos

b) Conversión de datos
Convertir datos de un formato al otro. Debe haber una tabla de conversión
de datos “de – para”. Esta tabla indica
cómo convertir cada tipo de dato desde el formato viejo al nuevo (ya que
probablemente sean distintos).

Se debe decidir:
 Si es manual o automática

c) Depuración de datos
El usuario clave es el que decide qué datos se van a depurar.

Se debe decidir:
 Si es manual o automática
Se debe asegurar:
 Que no se pierdan datos en la migración. ¡Realizar un backup de los
datos viejos!
 Que, si faltan datos, se los agregue
 Que, si hay datos incorrectos, se los corrija
 Que no haya datos duplicados
 Que los datos sean válidos en forma lógica (ejemplo: una dirección
que no existe no se debería permitir)
 Integridad de las referencias en las bases de datos. Aunque el
usuario quiera borrar ciertos datos, si los mismos se utilizan en otra
parte del sistema, no se pueden borrar.

5. Interfases

Definen la comunicación entre sistemas.

106
PROGRAMACIÓN Y BASE DE DATOS 2

6. Perfiles / roles
Cada perfil puede ejecutar una o más funciones del sistema.

Perfiles en el equipo de implantación:


 Líder
 Analistas funcionales
 Desarrolladores
 Testers
 Usuario clave

Perfiles en la organización: los define el nivel jerárquico de cada sector, pero


en general son:
 Usuarios que realizan altas y bajas de datos
 Supervisor: puede manejar información confidencial
 Usuarios que realizan consultas
 Seguridad: modifican permisos, usuarios, claves, etc.

Si cambia un perfil debe actualizarse el manual de normas y procedimientos,


y todo lo que se tiene como perfil tiene que aparecer en el manual de
usuario. Para definir el perfil de acceso del usuario se debe tener en cuenta
el Manual de Normas y Procedimientos y en caso de no existir se tendrá en
cuenta la tarea que desempeña, el sector donde se desempeña y las
responsabilidades que posee.

7. Plan de pruebas

¿Quién las elabora? ¿Quién las ejecuta? ¿Quién las aprueba? El


usuario clave.

 De hardware: probar si el hardware actual soportará el nuevo


sistema.
 Unitarias: están a cargo de los analistas. Se prueba cada módulo por
separado.
 Funcionales: están a cargo de los analistas. Probar las diversas
funciones del sistema (casos felices y casos
 erróneos, ver cómo se comporta el sistema). Probar la lógica de
negocio.
 De estrés: verificar cómo es el tiempo de respuesta del sistema ante
muchos usuarios. ¿Concurrencia?
 De volumen: verificar cómo es el tiempo de respuesta del sistema
ante muchísimos usuarios. ¿Carga?
 Integrales: verificar todo un circuito completo. Las debe realizar el
área usuaria.

107
PROGRAMACIÓN Y BASE DE DATOS 2

 De perfiles: probar que un usuario con perfil X que tiene autorizado


realizar Y no pueda realizar Z.
 De interfases: probar las interfaces entre los módulos o entre el
sistema nuevo y el viejo.
 Del plan de contingencia: al menos una vez al año.

Definir:
 Set de datos de prueba (siempre ficticios, excepto cuando se
implanta en paralelo)
 Salida esperada
 Persona responsable de ejecutar la prueba
 Ambiente de prueba (distinto del de producción)
 Automatización de las pruebas.

8. Capacitación

- Lugar: Fuera del área de trabajo, pero en un entorno similar.


- Logística: Transporte, fecha, hora, días para no reducir la capacidad
productiva del negocio.
- Temario:
• Evaluación de lo aprendido
• Clases prácticas o teóricas
• Uso del sistema (sólo lo que ese usuario va a usar)
• Cómo reportar errores

- Personas: Decidir si es mejor capacitar a todo el personal, o a


capacitadores que capacitarán (depende
de la cantidad de gente a capacitar).
- No es necesario que el manual de usuario ya esté listo para capacitar. Sí
es necesario que ya estén definidos los distintos perfiles.

9. Manual de usuario
Su objetivo es definir cómo ejecutar cada función del sistema. Existe un
manual por cada perfil.

10. Manual de normas y procedimientos


Su objetivo es establecer las tareas y responsabilidades que tienen a su
cargo todas las áreas de una empresa. Este manual debe estar listo antes
de la puesta operativa del sistema a implantar, para poder definir los perfiles.

108
PROGRAMACIÓN Y BASE DE DATOS 2

1. Enlista las fases de implementación de un sistema.

2. Realice un mapa conceptual referente a la migración de datos.

109
PROGRAMACIÓN Y BASE DE DATOS 2

3. ¿Dentro de las fases de implementación de un sistema que sucede


cuando se cambia el perfil?

4. Complete según corresponde la fase de la capacitación.

CAPACITACIÓN

- Lugar:___________________________________________________
___________________________________________________________

- Logística: Transporte, fecha, hora, días para no reducir la capacidad


productiva del negocio.
- Temario:

___________________________________________________________
___________________________________________________________
___________________________________________________________
___________________________________________________________

No es necesario que el ____________________ ya esté listo para


capacitar. Sí es necesario que ya estén definidos los distintos perfiles.

110
PROGRAMACIÓN Y BASE DE DATOS 2

Modelización de funciones y procesos


Un sistema de proceso de datos involucra tanto los datos como el proceso,
y no se puede construir un sistema exitoso sin considerar ambos
componentes. El aspecto de proceso de un sistema ciertamente es algo
importante de modelar y de verificar con el usuario. El modelado que
llevamos a cabo puede describirse en una variedad de maneras:

 ¿Qué funciones debe desempeñar el sistema?


 ¿Cuáles son las interacciones entre dichas funciones?
 ¿Qué transformaciones debe llevar a cabo el sistema?
 ¿Qué entradas se transforman en qué salidas?
 ¿Qué tipo de labor debe realizar el sistema?
 ¿De dónde obtiene la información para llevar a cabo dicha labor?
 ¿Dónde entrega los resultados de su labor?

La herramienta de modelado que utilizamos para describir la transformación


de entradas a salidas es un diagrama de flujo de datos. En la figura se
muestra un diagrama de flujo de datos típico. Los diagramas de flujo de
datos consisten en procesos, almacenes de datos, flujos y terminadores:
Los procesos se representan por medio de círculos, o " burbujas”, en el
diagrama. Representan las diversas funciones individuales que el sistema
lleva a cabo. Las funciones transforman entradas en salidas.

Los flujos se muestran por medio de flechas curvas. Son las conexiones
entre los procesos (funciones del sistema) y representan la información que
dichos procesos requieren como entrada o la información que generan
como salida. Los almacenes de datos se representan por medio de dos
líneas paralelas o mediante una elipse. Muestran colecciones (o almacenes)
de datos que

111
PROGRAMACIÓN Y BASE DE DATOS 2

1. Investiga y contesta las siguientes preguntas

a) ¿Qué funciones debe desempeñar el sistema?

b) ¿Cuáles son las interacciones entre dichas funciones?

c) ¿Qué transformaciones debe llevar a cabo el sistema?

112
PROGRAMACIÓN Y BASE DE DATOS 2

Modelización de datos

El modelado de datos es el proceso de documentar un diseño de sistema


de software complejo como un diagrama de fácil comprensión, usando texto
y símbolos para representar la forma en que los datos necesitan fluir. El
diagrama se puede utilizar como un mapa para la construcción de un nuevo
software o para la reingeniería de una aplicación antigua.
Un modelo de datos es un lenguaje orientado a hablar de una base de
datos. Típicamente un modelo de datos permite describir:

• Las estructuras de datos de la base: El tipo de los datos que hay en la


base y la forma en que se relacionan.
• Las restricciones de integridad: Un conjunto de condiciones que deben
cumplir los datos para reflejar la realidad deseada.
• Operaciones de manipulación de los datos: típicamente, operaciones de
agregado, borrado, modificación y recuperación de los datos de la base.

Otro enfoque es pensar que un modelo de datos permite describir los


elementos de la realidad que intervienen en un problema dado y la forma
en que se relacionan esos elementos entre sí.

Podemos decir entonces, que los objetivos del diseño de base de datos son:
 Representar los datos que requieren las principales áreas de
aplicación y los grupos de usuarios, y representar las relaciones entre
dichos datos.
 Proporcionar un modelo de datos que soporte las transacciones que
se vayan a realizar sobre los datos.
 Especificar un esquema que alcance las prestaciones requeridas
para el sistema.
No hay que perder de vista que una Base de Datos siempre está orientada
a resolver un problema determinado, por lo que los dos enfoques
propuestos son necesarios en cualquier desarrollo de software.

Tradicionalmente, los modelos de datos se han construido durante las fases


de análisis y diseño de un proyecto, para asegurar que los requisitos para
una nueva aplicación se entienden completamente. Un modelo de datos
puede ser pensado como un diagrama de flujo que ilustra las relaciones
entre los datos.

113
PROGRAMACIÓN Y BASE DE DATOS 2

A pesar de que la captura de todas las posibles relaciones en un modelo


de datos puede consumir mucho tiempo, es un paso importante que no
debería ser apresurado.

Los modelos de datos físicos, lógicos y conceptuales bien documentados


permiten que las partes interesadas identifiquen errores y hagan cambios
antes de que cualquier código de programación se haya escrito. Los
modeladores de datos suelen utilizar varios modelos para ver los mismos
datos y garantizar que todos los procesos, entidades, relaciones y flujos de
datos han sido identificados.

Pasos para el desarrollo del Modelo de Datos

1. Identificar las principales entidades: Comenzar identificando los objetos


de interés (a partir de los requisitos) y analizar cada uno para ver si son de
interés o no para el sistema. o Considerar algún ejemplo de ocurrencia para
comprobar que tiene sentido o pensar en el concepto que representa, una
misma representación puede significar diferentes conceptos para analistas
diferentes. o Nombrar, definir y documentar las entidades en el diccionario
de datos o en el documento de diseño correspondiente.

2. Determinar las relaciones entre entidades: Recordar que las relaciones


son los hechos de interés para el sistema, ya que proporcionan la conexión
entre las ocurrencias de dos o más entidades. o Existentes o de Posesión
(por ejemplo, un empleado tiene hijos) o Funcionales (El profesor explica a
los alumnos) o Sucesos (El cliente realiza pedidos) Reglas: o Identificar las
relaciones y darles un nombre. o Asignar cardinalidad o conectividad.

3. Definir identificadores: (claves primarias y foráneas) o Establecer


estándares de nomenclatura, abreviaturas, etc.

4. Añadir Atributos al Modelo de Datos: Un atributo es un hecho o una


unidad de información sobre una entidad que no se puede descomponer.

114
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿Qué permite describir un modelo de datos?

2. Describa los pasos para el desarrollo de modelo de datos.

115
PROGRAMACIÓN Y BASE DE DATOS 2

Modelo conceptual.

Los modelos de datos conceptuales son aquellos que describen las


estructuras de datos y restricciones de integridad. Se utilizan durante la
etapa de análisis de un problema dado y están orientados a representar los
elementos que intervienen y sus relaciones.

El primer paso en el diseño de una base de datos es la producción del


esquema conceptual. Normalmente, se construyen varios esquemas
conceptuales, cada uno para representar las distintas visiones que los
usuarios tienen de la información. Cada una de estas visiones suelen
corresponder a las diferentes áreas funcionales de la empresa como, por
ejemplo, producción, ventas, recursos humanos, etc.

Estas visiones de la información, denominadas vistas, se pueden identificar


de varias formas. Una opción consiste en examinar los diagramas de flujo
de datos, que se pueden haber producido previamente, para identificar cada
una de las áreas funcionales. La otra opción consiste en entrevistar a los
usuarios, examinar los procedimientos, los informes y los formularios, y
también observar el funcionamiento de la empresa.

A los esquemas conceptuales correspondientes a cada vista de usuario se


les denomina esquemas conceptuales locales. Cada uno de estos
esquemas se compone de entidades, relaciones, atributos, dominios de
atributos e identificadores. El esquema conceptual también tendrá una
documentación, que se irá produciendo durante su desarrollo. Las tareas a
realizar en el diseño conceptual son las siguientes:

 Identificar los tipos de entidad.


 Identificar los tipos de relación.

116
PROGRAMACIÓN Y BASE DE DATOS 2

 Identificar y asociar los atributos con los tipos de entidad y de


relación.
 Determinar los dominios de los atributos.
 Considerar el uso de conceptos de modelado avanzados (opcional).
 Comprobar si el modelo tiene redundancia.
 Validar el modelo conceptual, comprobando las transacciones de los
usuarios
 Repasar el modelo de datos conceptual con los usuarios.

¿En qué consiste el modelo conceptual de una base de datos?

El diseño conceptual parte de las especificaciones de requisitos de usuario


y su resultado es el esquema conceptual de la base de datos. Un esquema
conceptual es una descripción de alto nivel de la estructura de la base de
datos. Un modelo conceptual es un conjunto de conceptos que permiten
describir la realidad mediante representaciones lingüísticas y gráficas. Los
modelos conceptuales deben poseer una serie de propiedades:
expresividad, simplicidad, nominalidad y formalidad.

El objetivo del diseño conceptual es describir el contenido de información


de la base de datos y no las estructuras de almacenamiento que se
necesitarán para manejar esta información. En la metodología del diseño
conceptual se construye un esquema conceptual local para cada vista de
cada usuario o grupo de usuarios. Ejemplo:

El modelo entidad-relación

El modelo entidad-relación es el modelo conceptual más utilizado para el


diseño conceptual de bases de datos. Fue introducido por Peter Chen en
1976. El modelo entidad-relación está formado por un conjunto de
conceptos que permiten describir la realidad mediante un conjunto de
representaciones gráficas y lingüísticas (a través de diagramas).

Análisis Entidad – Relación

El análisis entidad-relación utiliza tres abstracciones principales para


describir datos estos son: entidad, relación, atributo. Habitualmente,
además de disponer de un diagrama que ayuda a entender los datos y como
se relacionan entre ellos, debe de ser completado con un pequeño resumen
con la lista de los atributos y las relaciones de cada elemento.

117
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿Cuáles son las tareas a realizar en el diseño conceptual?

2. ¿Cuál es el objetivo del diseño conceptual?

3. Completa las abstracciones principales que utiliza el análisis Entidad –


Relación.

Análisis
Entidad – Relación

118
PROGRAMACIÓN Y BASE DE DATOS 2

Elementos del modelo entidad-relación

Entidad

Las entidades representan cosas u objetos (ya sean reales o abstractos),


que se diferencian claramente entre sí.

Para poder seguir un ejemplo durante el artículo añadiré ejemplos sobre un


taller mecánico, donde se podría crear las siguientes entidades:

• Coches (objeto físico): contiene la información de cada taller.


• Empleado (objeto físico): información de los trabajadores.
• Cargo del empleado (cosa abstracta): información de la función
del empleado.

Estas entidades se representan en un diagrama con un rectángulo, como


los siguientes.

Cargo del
Coches Empleados
empleado

Atributos

Los atributos definen o identifican las características de entidad (es el


contenido de esta entidad). Cada entidad contiene distintos atributos, que
dan información sobre esta entidad. Estos atributos pueden ser de distintos
tipos (numéricos, texto, fecha, etc).

Siguiendo el ejemplo de antes podemos analizar los atributos de nuestra


entidad "Coches", que nos darán información sobre los coches de nuestro
supuesto taller.

Unos posibles atributos serían los siguientes: número de


chasis, matrícula, DNI del propietario, marca, modelo y muchos otros que
complementen la información de cada coche.

Los atributos se representan como círculos que descienden de una entidad,


y no es necesario representarlos todos, sino los más significativos, como a
continuación.

119
PROGRAMACIÓN Y BASE DE DATOS 2

En un modelo relacional (ya implementado en una base de datos) un


ejemplo de tabla dentro de una BBDD podría ser el siguiente.

Número de chasis Matrícula DNI del propietario


5tfem5f10ax007210 4817 BFK 45338600L
6hsen2j98as001982 8810 CLM 02405068K
5rgsb7a19js001982 0019 GGL 40588860J

Este ejemplo es con tres atributos, pero un coche podría tener cientos (si
fuese necesario) y seguirían la misma estructura de columnas, tras
implementarlo en una BBDD.

Relación

Es un vínculo que nos permite definir una dependencia entre varias


entidades, es decir, nos permite exigir que varias entidades compartan
ciertos atributos de forma indispensable.

Por ejemplo, los empleados del taller (de la entidad "Empleados") tienen un
cargo (según la entidad "Cargo del empleado"). Es decir, un atributo de la
entidad "Empleados" especificará que cargo tiene en el taller, y tiene que
ser idéntico al que ya existe en la entidad "Cargo del empleado".

Las relaciones se muestran en los diagramas como rombos, que se unen a


las entidades mediante líneas.

120
PROGRAMACIÓN Y BASE DE DATOS 2

Es en Cargo del
Empleados
el taller empleado

Yo, bajo mi punto de vista, entiendo mejor esto en una tabla (de una
implementación en una BBDD), por lo que voy a poner el ejemplo de cómo
se representaría (resaltada la relación, que posteriormente veremos cómo
se haría).

Empleados

Nombre DNI Cargo


Carlos Sánchez 45338600L 001

Pepe Sánchez 02405068K 002

Juan Sánchez 40588860J 002

Cargo del empleado

ID del cargo Descripción


001 Jefe de taller
002 Mecánico

El análisis entidad-relación utiliza tres abstracciones principales para


describir datos como ya sabemos: entidad, relación, atributo.

La idea del análisis entidad-relación se ilustra en la figura 1. Los objetos o


cosas se agrupan en conjuntos de entidades. En la figura 1 todas las
personas se han puesto en el conjunto de entidad PERSONAS, y todos los
proyectos en el conjunto de entidad PROYECTOS. Después se modelan
todas las interacciones entre las cosas de que hay en los conjuntos de
entidad. Supónganse las personas que trabajan en un proyecto.

En la figura 1, las personas que trabajan en un proyecto se modelan por el


conjunto de entidad TRABAJO. Este conjunto es un conjunto de
relación porque representa una relación entre cosas de diferentes conjuntos
de entidad. Cada ocurrencia del conjunto de TRABAJO es una persona que
trabaja en un proyecto.

121
PROGRAMACIÓN Y BASE DE DATOS 2

Figura 1

Los diagramas como el mostrado en la figura 1 no son particularmente útiles


para modelar. Imagínese tener que representar cada persona de una gran
organización por un símbolo personal.

En los diagramas entidad-relación (E-R) se utiliza una representación más


concisa. Los diagramas E-R no representan entidad ni relaciones
individuales, sólo representan conjuntos de entidad y relación. Para ello se
utilizan cajas rectangulares y rombos. Como se muestra en la figura 2, los
rectángulos representan conjuntos de entidad, con el mismo nombre de la
entidad situado dentro de la caja.

En esa figura hay dos conjuntos de entidad llamados PERSONAS y


PROYECTOS. Los rombos representan las relaciones entre entidades y el
nombre de la relación va dentro del rombo. La única relación en la figura 2
es TRABAJO.

Figura 2

122
PROGRAMACIÓN Y BASE DE DATOS 2

RESUELVE:
Ejercicio 1. La secretaría del MERCOSUR desea diseñar un sistema de
información sobre relaciones comerciales y diplomáticas entre países. Cada
país se identifica por su nombre, mientras que de cada producto se conoce su
nombre y una breve descripción. Se desea modelar que:
• Un país puede tener relaciones diplomáticas con varios países, interesando
saber en qué fecha se establecieron.
• Por otro lado interesa modelar el flujo de productos de un país a otro. (por ej.:
un país que exporta un producto, ¿hacia dónde lo hace?)

123
PROGRAMACIÓN Y BASE DE DATOS 2

Ejercicio 2. Se pretende modelar la cantidad de goles que hizo un jugador a lo


largo de su vida en cada equipo en que jugó. Tanto de los jugadores como de
los equipos se conoce su nombre. Discutir la posibilidad de representar las
siguientes opciones, marcando errores y corrigiéndolos en el MER propuesto:
1. Representar los goles realizados por un jugador en cada temporada
(identificada por el año)
2. Representar los goles realizados por un jugador en los distintos campeonatos
que jugó en cada equipo. Cada campeonato se identifica por un código y se
conoce su nombre y el año en que se jugó.

124
PROGRAMACIÓN Y BASE DE DATOS 2

Ejercicio 3. Se pretende modelar la siguiente realidad: Existe un conjunto de


empresas que producen varios productos, también hay un conjunto de
promotores que trabajan en las empresas. Cada promotor trabaja para una sola
empresa y vende un único producto de esta.
a) Dada la siguiente solución, ¿qué restricciones habría que agregar para que
represente la realidad descrita?

b) ¿Qué cambios deberían hacerse si todos los productos deben tener un


promotor asociado?
c) Describa otras alternativas para representar la realidad planteada sin tener
en cuenta la parte b y discutiendo las posibles anomalías.

125
PROGRAMACIÓN Y BASE DE DATOS 2

Elección de nombres de conjuntos de objetos

Recuérdese que uno de los objetivos del modelo E-R es producir un modelo
que sea fácilmente comprensible para los usuarios, además de para el
personal informático. Para esto se deben elegir nombres de conjuntos que
hagan el diagrama legible.

En un diagrama E-R, los conjuntos de entidad de relación se etiquetan con


verbos. También es posible tener diagramas E-R que modelen relaciones
estructurales entre entidades o relaciones que modelen cosas que suceden.

Por ejemplo, un edificio puede constar de habitaciones, o elementos


pueden estar formados por otros elementos. De forma similar, los elementos
pueden ser facturas de entrega, almacenes y proveedores.

En ese caso, el conjunto de relación generalmente se nombra con una


preposición tal como DE, POR o HACIA. Por ejemplo, el diagrama E-R de
la figura 3 modula ENTREGAS. Se verá que, en el diagrama, hay elementos
de facturas de entrega, proveedores y almacenes, todos ellos modelados
por conjuntos de entidad.

El diagrama E-R de la figura 3 describe cómo las entidades en esos


conjuntos de entidad se descomponen en entregas. Si se "lee" el diagrama
se verá que las entregas están formadas por ELEMENTOS entregados POR
los PROVEEDORES HACIA ALMACENES.

Figura 3

Después de identificar los conjuntos de entidades y relaciones,


determinaremos los atributos (o propiedades) de objetos en esos conjuntos.
Por ejemplo, ¿qué interesa sobre las personas? Puede ser NOMBRE,
DIRECCION o su identificador único, ID-PERSONA, en la organización.
Estas propiedades se escriben de arriba abajo al lado de las cajas del
diagrama E-R.

126
PROGRAMACIÓN Y BASE DE DATOS 2

Hay varios caminos alternativos para mostrar los atributos en un diagrama


E-R y se encontrarán en la práctica. Una de las alternativas sitúa los
atributos en círculos y los ata a las cajas del diagrama E-R. Otra, muestra
los atributos en una tabla o lista a continuación del diagrama.

Normalmente se elige uno de los atributos de un conjunto entidad o relación


como identificador. El identificador tiene una propiedad importante. El valor
del identificador identifica una única entidad del conjunto entidad. El atributo
identificador se subraya en el diagrama E-R.

Así, en la figura 4, ID-PERSONA es el identificador del conjunto entidad


PERSONAS. Cada persona del conjunto de entidad PERSONAS tiene un
único valor de ID-PERSONA. De igual forma ID-PROYECTO es el
identificador del conjunto de entidad PROYECTOS y cada proyecto tiene un
único valor de ID-PROYECTO.

Para la elección de identificadores para conjuntos de relaciones suelen


utilizarse los identificadores de las entidades que participan en la relación
como identificadores de relación.

En la mayor parte de los casos es necesario conocer el valor de ambos


identificadores para identificar una única relación. Así, en la figura 2 se
necesita conocer ambos valores, el identificador de persona, ID-PERSONA,
y el identificador del proyecto, ID-PROYECTO, para identificar una relación
particular del conjunto de relación TRABAJA.

Figura 4

Un valor de identificador de persona no es suficiente, porque la persona


puede trabajar en más de un proyecto y, por tanto, aparecer en más de una
relación.

127
PROGRAMACIÓN Y BASE DE DATOS 2

De igual forma, un valor de identificador de proyecto no sería suficiente,


porque puede haber más de una persona trabajando en un proyecto. En
algunos casos, sin embargo, es suficiente conocer un identificador para
identificar una relación.

Esto es así cuando las entidades de un conjunto se restringen a una


relación. Así, si una persona sólo pudiera trabajar en un proyecto, el valor
del identificador de persona sería suficiente para identificar una relación
trabaja.

1. Investiga y realiza dos ejemplos de elección de nombres de conjuntos de


objetos

128
PROGRAMACIÓN Y BASE DE DATOS 2

Programación con sistemas gestores de bases de datos relacionales

Una base de datos relacional es una base de datos que cumple con el
modelo relacional, el cual es el modelo más utilizado en la actualidad para
implementar bases de datos ya planificadas. Permiten establecer
interconexiones (relaciones) entre los datos (que están guardados en
tablas), y a través de dichas conexiones relacionar los datos de ambas
tablas, de ahí proviene su nombre: "Modelo Relacional". Tras ser postuladas
sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San
José (California), no tardó en consolidarse como un nuevo paradigma.

Características
 Una base de datos relacional se compone de varias tablas o
relaciones.
 No pueden existir dos tablas con el mismo nombre ni registro.
 Cada tabla es a su vez un conjunto de registros (filas y columnas).
 La relación entre una tabla padre y un hijo se lleva a cabo por medio
de las claves primarias y ajenas (o foráneas).
 Las claves primarias son la clave principal de un registro dentro de una
tabla y éstas deben cumplir con la integridad de datos.
 Las claves ajenas se colocan en la tabla hija, contienen el mismo valor
que la clave primaria del registro padre; por medio de éstas se hacen
las relaciones.

Elementos

En prácticamente cualquier base de datos actual existen cuatro elementos


esenciales: tablas, consultas, informes y formularios. Todos son
indispensables y necesarios:

 Las tablas permitirán almacenar los datos.


 Con las consultas podremos acceder a los datos almacenados,
ordenarlos y filtrarlos por diferentes criterios.
 Los informes serán la forma más eficaz de presentar nuestros datos.
 Con los formularios se facilitan las tareas de introducción de datos.

Restricciones
Una restricción es una condición que obliga el cumplimiento de ciertas
condiciones en la base de datos. Algunas no son determinadas por los
usuarios, sino que son inherentemente definidas por el simple hecho de
que la base de datos sea relacional. Algunas otras restricciones las puede
definir el usuario, por ejemplo, usar un campo con valores enteros entre 1
y 10.

129
PROGRAMACIÓN Y BASE DE DATOS 2

Las restricciones proveen un método de implementar reglas en la base de


datos. Las restricciones restringen los datos que pueden ser almacenados
en las tablas. Usualmente se definen usando expresiones que dan como
resultado un valor booleano, indicando si los datos satisfacen la restricción
o no.

Las restricciones no son parte formal del modelo relacional, pero son
incluidas porque juegan el rol de organizar mejor los datos. Las restricciones
son muy discutidas junto con los conceptos relacionales.

Dominios
Un dominio describe un conjunto de posibles valores para cierto atributo.
Como un dominio restringe los valores del atributo, puede ser considerado
como una restricción. Matemáticamente, atribuir un dominio a un atributo
significa "todos los valores de este atributo deben de ser elementos del
conjunto especificado".

Distintos tipos de dominios son: enteros, cadenas de texto, fecha, no


procedurales etc.

Claves
Clave única
Cada tabla puede tener uno o más campos cuyos valores identifican de
forma única cada registro de dicha tabla, es decir, no pueden existir dos o
más registros diferentes cuyos valores en dichos campos sean idénticos.
Este conjunto de campos se llama clave única.

Pueden existir varias claves únicas en una determinada tabla, y a cada una
de éstas suele llamársele candidata a clave primaria.

Clave primaria
Una clave primaria es una clave única elegida entre todas las candidatas
que define unívocamente a todos los demás atributos de la tabla, para
especificar los datos que serán relacionados con las demás tablas. La forma
de hacer esto es por medio de claves foráneas.

Sólo puede existir una clave primaria por tabla y ningún campo de dicha
clave puede contener valores NULL.

Clave foránea
Una clave foránea es una referencia a una clave en otra tabla, determina la
relación existente en dos tablas. Las claves foráneas no necesitan ser
claves únicas en la tabla donde están y sí a donde están referenciadas.

130
PROGRAMACIÓN Y BASE DE DATOS 2

Por ejemplo, el código de departamento puede ser una clave foránea en la


tabla de empleados. Se permite que haya varios empleados en un mismo
departamento, pero habrá uno y sólo un departamento por cada clave
distinta de departamento en la tabla de empleados.

Clave índice

Las claves índices surgen con la necesidad de tener un acceso más rápido
a los datos. Los índices pueden ser creados con cualquier combinación de
campos de una tabla. Las consultas que filtran registros por medio de estos
campos, pueden encontrar los registros de forma no secuencial usando la
clave índice.
Las bases de datos relacionales incluyen múltiples técnicas de
ordenamiento, cada una de ellas es óptima para cierta distribución de datos
y tamaño de la relación.
Los índices generalmente no se consideran parte de la base de datos, pues
son un detalle agregado. Sin embargo, las claves índices son desarrolladas
por el mismo grupo de programadores que las otras partes de la base de
datos.

Procedimientos almacenados

Conjunto de comandos que pueden ser ejecutados directamente en


el servidor, es decir, será ejecutado por el servidor de Base de Datos y no
por el programa cliente que lo accede, permitiendo la ejecución de una
acción o conjunto de acciones específicas.
Un procedimiento almacenado es código ejecutable que se asocia y se
almacena con la base de datos. Los procedimientos almacenados
usualmente recogen y personalizan operaciones comunes, como insertar
un registro dentro de una tabla, recopilar información estadística, o
encapsular cálculos complejos.

Características
Se almacenan en la propia Base de Datos y constituyen un objeto más
dentro de esta. Tienden a mejorar el rendimiento de los sistemas
producto a que reducen en intercambio entre cliente y servidor. Los
procedimientos almacenados son reutilizables, de manera que los
usuarios mediante la aplicación cliente no necesitan relanzar los
comandos individuales, sino que pueden llamar el procedimiento para
ejecutarlo en el servidor tantas veces como sea necesario.

131
PROGRAMACIÓN Y BASE DE DATOS 2

1. Elabore un mapa conceptual referente a Programación con sistemas


gestores de bases de datos relacionales (características, elementos y
restricciones).

132
PROGRAMACIÓN Y BASE DE DATOS 2

2. En la siguiente sopa de letras encuentra las palabras que es están


dentro del recuadro.

 Dominios  Sistemas
 Clave única  Base de datos
 Clave primaria  Relacional
 Clave foránea  Código
 Clave índice  Restricciones
 Procedimientos  Atributos
 Almacenados  Tabla

133
PROGRAMACIÓN Y BASE DE DATOS 2

Estructura
La base de datos se organiza en dos marcadas secciones; el esquema y los
datos (o instancia).

El esquema es la definición de la estructura de la base de datos y


principalmente almacena los siguientes datos:

 El nombre de cada tabla


 El nombre de cada columna
 El tipo de dato de cada columna
 La tabla a la que pertenece cada columna

Las bases de datos relacionales pasan por un proceso al que se le conoce


como normalización, el resultado de dicho proceso es un esquema que
permite que la base de datos sea usada de manera óptima.

Los datos o instancia es el contenido de la base de datos en un momento


dado. Es en sí, el contenido de todos los registros.

Manipulación de la información

Para manipular la información utilizamos un lenguaje relacional,


actualmente se cuenta con dos lenguajes formales el álgebra relacional y el
cálculo relacional. El álgebra relacional permite describir la forma de realizar
una consulta, en cambio, el cálculo relacional sólo indica lo que se desea
devolver.

El lenguaje más común para construir las consultas a bases de datos


relacionales es SQL (Structured Query Language), un estándar
implementado por los principales motores o sistemas de gestión de bases
de datos relacionales.

En el modelo relacional los atributos deben estar explícitamente


relacionados a un nombre en todas las operaciones, en cambio, el estándar
SQL permite usar columnas sin nombre en conjuntos de resultados, como
el asterisco taquigráfico (*) como notación de consultas.

Al contrario del modelo relacional, el estándar SQL requiere que las


columnas tengan un orden definido, lo cual es fácil de implementar en una
computadora, ya que la memoria es lineal.
Es de notar, sin embargo, que en SQL el orden de las columnas y los
registros devueltos en cierto conjunto de resultado nunca está garantizado,
a no ser que explícitamente sea especificado por el usuario.

134
PROGRAMACIÓN Y BASE DE DATOS 2

Manejadores de base de datos relacionales

Existe software exclusivamente dedicado a tratar con bases de datos


relacionales. Este software se conoce como SGBD (Sistema de Gestión de
Base de Datos relacional) o RDBMS (del inglés Relational Database
Management System).

Entre los gestores o manejadores actuales más populares encontramos:


MySQL, PostgreSQL, Oracle, DB2, INFORMIX, Interbase, FireBird, Sybase
y Microsoft SQL Server.

Ventajas y Desventajas

VENTAJAS

 Provee herramientas que garantizan evitar la duplicidad de


registros.
 Garantiza la integridad referencial, así, al eliminar un registro
elimina todos los registros relacionados dependientes.
 Favorece la normalización por ser más comprensible y
aplicable.

DESVENTAJAS

 Presentan deficiencias con datos gráficos, multimedia, CAD


y sistemas de información geográfica.
 No se manipulan de forma manejable los bloques de texto
como tipo de dato.
 Las bases de datos orientadas a objetos (BDOO) se
propusieron con el objetivo de satisfacer las necesidades de
las aplicaciones anteriores y así, complementar, pero no
sustituir a las bases de datos relacionales.

135
PROGRAMACIÓN Y BASE DE DATOS 2

1. ¿Cómo se estructura una base de datos y qué se almacena?

2. Investiga y pega los iconos de 6 manejadores de base de datos


relacionales

136
PROGRAMACIÓN Y BASE DE DATOS 2

Diseño de las bases de datos relacionales

El primer paso para crear una base de datos, es planificar el tipo de


información que se quiere almacenar en la misma, teniendo en cuenta dos
aspectos: la información disponible y la información que necesitamos.

La planificación de la estructura de la base de datos, en particular de las


tablas, es vital para la gestión efectiva de la misma. El diseño de la
estructura de una tabla consiste en una descripción de cada uno de los
campos que componen el registro y los valores o datos que contendrá cada
uno de esos campos. Los campos son los distintos tipos de datos que
componen la tabla, por ejemplo: nombre, apellido, domicilio. La definición
de un campo requiere: el nombre del campo, el tipo, el ancho, etc.

Los registros constituyen la información que va contenida en los campos de


la tabla. El modelo relacional de bases de datos se rige por algunas normas
sencillas:

 Todos los datos se representan en forma de tablas (también


llamadas “relaciones”.
 Las tablas están compuestas por filas (o registros) y columnas (o
campos) que almacenan cada uno de los registros (la información
sobre una entidad concreta, considerados una unidad).
 Las filas y las columnas, en principio, carecen de orden a la hora de
ser almacenadas. Aunque en la implementación del diseño físico de
cada SGBD esto no suele ser así. Por ejemplo, en SQL Server si
añadimos una clave de tipo "Clustered" a una tabla haremos que los
datos se ordenen físicamente por el campo correspondiente.
 El orden de las columnas lo determina cada consulta (que se realizan
usando SQL).
 Cada tabla debe poseer una clave primaria, esto es, un identificador
único de cada registro compuesto por una o más columnas.
 Para establecer una relación entre dos tablas es necesario incluir, en
forma de columna, en una de ellas la clave primaria de la otra. A esta
columna se le llama clave externa. Ambos conceptos de clave son
extremadamente importantes en el diseño de bases de datos.

Basándose en estos principios se diseñan las diferentes bases de datos


relacionales, definiendo un diseño conceptual y un diseño lógico, que luego
se implementa en el diseño físico usando para ello el gestor de bases de
datos de nuestra elección (por ejemplo, SQL Server).

137
PROGRAMACIÓN Y BASE DE DATOS 2

EJERCICIO:

BASE(codbase)
En esta tabla se almacenan los códigos de las bases donde
regresan pilotos y miembros de la tripulación y donde se realizan
las revisiones de mantenimiento a los aviones.

AVION(codavión,tipo,codbase)
AVION.codbase es clave ajena a BASE
Esta tabla almacena los datos de los aviones y la base en la que
se les hace el mantenimiento.

PILOTO(codpiloto,nombre,horas,codbase)
PILOTO.codbase es clave ajena a BASE
Esta tabla almacena los datos de los pilotos y la base a la que
regresan al final de la jornada.

MIEMBRO(codmiembro,nombre,codbase)
MIEMBRO.codbase es clave ajena a BASE
Esta tabla almacena los datos de los miembros de tripulación y
la base a la que regresan al final de la jornada.

VUELO(numvuelo,origen,destino,hora)
En esta tabla se almacena la información de los vuelos que se
realizan diariamente.

VIAJE(numvuelo,fecha,codavión,codpiloto)
VIAJE.numvuelo es clave ajena a VUELO
VIAJE.codavión es clave ajena a AVION
VIAJE.codpiloto es clave ajena a PILOTO
En esta tabla se almacena la información de cada viaje: vuelo
que realiza, avión y piloto.

TRIPULACION(numvuelo,fecha,codmiembro)
(TRIPULACION.numvuelo,TRIPULACION.fecha) es clave
ajena a VIAJE
TRIPULACION.codmiembro es clave ajena a MIEMBRO
En esta tabla se especifica qué miembros de tripulación han ido
en cada viaje.

Las siguientes especificaciones nos ayudarán a establecer las reglas de


comportamiento de las claves ajenas.

138
PROGRAMACIÓN Y BASE DE DATOS 2

 No se puede eliminar una base en la que se realiza el mantenimiento


a algún avión o a la que regresan pilotos o miembros tras los vuelos
de una jornada.

 Si se elimina un vuelo, se eliminan todos los viajes realizados en ese


vuelo y los que se han
 planificado.

 Si se elimina un avión, en los viajes que ha realizado o tiene


planificados, se pone la referencia al avión a nulo. Aquellos viajes
que están por realizar deberán ser asignados a otros aviones.

 Si se elimina un piloto, en los viajes que ha realizado o tiene


planificados, se pone la referencia al piloto a nulo. Aquellos viajes
que están por realizar deberán ser asignados a otros pilotos.

 Si se elimina un viaje, ya no se quiere conocer los miembros de la


tripulación asignados al mismo.

139
PROGRAMACIÓN Y BASE DE DATOS 2

1. Investiga y realiza dos ejemplos de diseños de base de datos relacionales.

140

También podría gustarte