1. Dirección General de Educación Superior
Tecnológica
INSTITUTO TECNOLÓGICO DE SALINA CRUZ
TEMA: temas de la unidad 1
FACILITADOR:
MC. Susana Mónica Román Nájera
NOMBRE DEL ALUMNO:
Flores Ramos José Manuel
SEMESTRE: 1º
CARRERA: ING. EN TIC`S
GRUPO: E2
SALINA CRUZ, OAXACA
2. Los problemas que se plantean diariamente en el interior de una empresa,
ya sean de gestión, técnicos, matemáticos, etc. suelen ser resueltos
mediante el uso de la capacidad intelectual y la habilidad manual de las
personas. Diremos entonces que el problema ha sido resuelto en forma
manual.
Al utilizar la computadora para la resolución de problemas se emplea
laforma automática, la cual aporta grandes ventajas como: la rapidez de
ejecución y la fiabilidad en los resultados obtenidos.
Un gran número de problemas conllevan complicados cálculos, así como el
manejo de grandes cantidades de datos.
Si se trata de resolver el problema de una forma manual, en el primer caso,
el riesgo de equivocarse es grande, y en el segundo, el trabajo se convierte
en pesado y rutinario.
Sin embargo empleando la forma automática se eliminan los inconvenientes
que surgen al hacerlo de forma manual, ya que la capacidad de la
computadora se basa en las características: rapidez, memoria y precisión.
No obstante, la computadora por sí sola no podría resolver ni el más
sencillo problema que se nos pueda ocurrir. Es preciso describirle con
detalle y en su lenguaje todos los pasos que debe desarrollar para
encontrar la solución de un problema.
Esta descripción detallada es conocida con el nombre de Programa de
computadora y es el que dirigirá el funcionamiento de la misma, pero antes
de escribir ese programa se debe desarrollar un algoritmo que encuentre la
solución al problema y que posteriormente pueda ser transformado a ese
programa de computadora.
1.2 ¿QUÉ ES UN ALGORITMO?
Por Algoritmo, entenderemos la secuencia lógica de pasos que trata un
conjunto de datos para resolver un problema (de forma particular o general)
y obtener un resultado (información).
Por la naturaleza de los datos que presenta un problema y el objetivo que
se pretende lograr, los algoritmos pueden ser clasificados en tres tipos.
Tipos de Algoritmos:
3.
Numéricos.
No Numéricos.
Cotidianos.
Los Algoritmos Numéricos, están orientados a la solución de problemas que
requieren la capacidad de hacer cálculos, a través de la computadora.
Los Algoritmos No Numéricos, están orientados a la solución de problemas,
en donde se requiere la capacidad de la toma de decisiones de la
computadora más que de sus características (rapidez, memoria y
precisión).
Los Algoritmos Cotidianos, son aquellos que se desarrollan dentro de la
vida diaria de todo ser humano y que los hemos aprendido de una forma
empírica, es decir, sin darnos cuenta de ello.
Características de algoritmos:
1. Debe ser preciso.
2. Debe estar definido.
3. Debe ser finito.
1.3 ESTRUCTURA DE UN ALGORITMO.
Si un algoritmo consiste en una secuencia lógica de pasos que tratan un
conjunto de datos con la finalidad de obtener resultados.
Desde el punto de vista funcional la estructura de un algoritmo se compone
de:
Entrada (datos)
Proceso (operaciones aritméticas y lógicas)
Salida (información).
La Entrada, está formada por el conjunto de pasos que toman los datos de
un dispositivo externo y los depositan en la memoria central, ya depurados
y validados.
4. El Proceso, es el conjunto de pasos que resuelven el problema aplicando
operaciones aritméticas y lógica a los datos de entrada, dejando los
resultados (información) en la memoria central.
Y la Salida, la integran los pasos que hacen que la información sea
presentada a través de un dispositivo externo (un monitor, una impresora,
etc.).
1.4 CONCEPTOS BÁSICOS DEL MODELO ORIENTADO A
OBJETOS.
Un Clase, es el nombre que se le asigna a un conjunto de elementos
(objetos) que contienen las mismas características y comportamiento
(atributos y métodos) y se distinguen entre ellos por su estado específico.
Un Objeto, es considerado un elemento tangible o intangible que existe en
el mundo real y se crea a partir de una clase, por lo que forma parte de ella
y cuenta con sus atributos y métodos.
Un Método, define el comportamiento que tienen los objetos, es decir lo que
los objetos pueden hacer y es parte de una clase.
Un Atributo, es una característica o identificador que ayuda a describir un
objeto y es parte de una clase.
Tanto los métodos como los atributos son parte de un objeto y tienen un
tipo de acceso, lo que permite la comunicación con otros objetos, dichos
tipos de acceso pueden ser: privados (private -), protegidos(protected #)
y públicos (public +).
EJERCICIOS PROPUESTOS:
Objetos:
bicicleta, auto, camino, avión y motocicleta.
Clase:
Atributos:
Métodos:
Objetos:
triangulo, rectángulo, cuadrado y círculo.
5. Clase:
Atributos:
Métodos:
Objetos:
tienda, casa, edificio y bodega.
Clase:
Atributos:
Métodos:
Clase: Países.
Atributos:
Métodos:
Objetos:
Clase: Persona.
Atributos:
Métodos:
Objetos:
Clase: Operaciones.
Atributos:
Métodos:
Objetos:
1.5 METODOLOGÍA DE LAS 6’D PARA LA SOLUCIÓN DE
PROBLEMAS.
La metodología de las 6’D, consta de 6 etapas en donde cada una de ella
tiene su nombre que comienza con la letra “D”, dichas etapas son:
-
Descripción del problema.
Definición de la solución.
Diseño de la solución.
Desarrollo de la solución.
Depuración de la solución.
Documentación.
6. La primera etapa, Descripción del problema, consiste en identificar
claramente cuál es el problema que se quiere resolver, obtener una
descripción general del mismo y llegar a un enunciado claro y preciso del
problema.
La segunda etapa, Definición de la solución, su objetivo es encontrar las
especificaciones que ayuden en la solución del problema, definiendo el
resultado concreto que se quiere alcanzar, los datos que se deben ingresar
o generar para obtener el resultado y la forma en que los datos serán
procesados para transformarlos en información.
La tercera etapa, Diseño de la solución, busca encontrar el diagrama y
algoritmos que resuelvan el problema, para lo cual debe usar un lenguaje
de modelado como UML y definir el nombre del proyecto y los diagramas,
relaciones y clases que nos ayuden a llegar al desarrollo de los algoritmos.
Esta etapa se puede repetir en el caso de que el algoritmo no encuentre la
solución al problema encontrado en la etapa uno.
La cuarta etapa, Desarrollo de la solución, el objetivo de esta etapa es
obtener un programa, codificando el algoritmo desarrollado en la etapa
anterior, utilizando un lenguaje de programación y su serie de instrucciones
que nos ayuden a transformar los diagramas y algoritmos en programas de
computadora, cada programa desarrollado debe tener comentario que
ayuden a entender mejor su desarrollo y hacer copias de seguridad cada
vez que se pretenda desarrollar una prueba.
La quinta etapa, Depuración de la solución, una vez codificadas las clases y
programas deben ser puestas a prueba con la finalidad de corregir los
errores de sintaxis y de lógica que sean detectados con el fin de conseguir
el resultado deseado.
La sexta etapa, Documentación, busca obtener la serie de manuales
necesarios para el uso del programa, dichos manuales son: manual técnico,
manual de programación y manual del usuario. En el manual técnico se
debe incluir: la definición del problema, resultados esperados y datos
necesarios, diagramas UML y diagramas de flujo o pseudocódigo, pruebas
desarrolladas y lista de programas con sus comentarios internos.
7. 1.6 PRINCIPIOS DE LA PROGRAMACIÓN ORIENTADA A
OBJETOS.
Los principios de la programación orientada a objetos son una serie de
elementos que nos ayudan a que un software orientado a objetos tenga un
mejor desempeño, un buen estilo de programación y que ayude a que su
desarrollo sea más fácil, dichos principios son:
-
Abstracción.
Encapsulamiento.
Modularidad.
Jerarquía y Herencia.
Polimorfismo.
La Abstracción, es la descripción exterior de un objeto, que sirva para
separar su comportamiento esencial del no esencial, es decir el ¿qué hace?
pero no el ¿cómo lo hace?, y poder utilizar esa descripción en el momento
de su programación.
El Encapsulamiento, oculta los datos internos del funcionamiento de un
objeto y solo permite el acceso a esos datos por medio de sus interfaces
públicas (métodos), es decir restringe el acceso a los datos de la clase y
con ello evitar que el objeto se comporte de manera distinta a la esperada.
La Modularidad, es la propiedad que permite dividir una aplicación en
partes más pequeñas llamadas módulos, que son fáciles de resolver, cada
modulo debe ser tan independiente como sea posible de los demás y debe
tener la capacidad de comunicarse con los demás módulos por medio de su
interfaz.
La Jerarquía y Herencia. La jerarquía es la dependencia que tiene una
clase con respecto otra u otras clases, con la finalidad de formar la
estructura jerárquica de clases que manejan los lenguajes de programación
orientados a objetos. Los tipos de jerarquía más importantes en la
abstracción de un problema son:
-
Estructura de clases, conocida también como jerarquía de
generalización/especialización (es un).
Estructura de objetos, conocida también como jerarquía de agregación
(parte de ó tiene un).
8. Por otra parte la herencia, permite que un objeto sea construido a partir de
otro ya existente, con el fin de reutilizar sus atributos y comportamiento
visible, evitando la duplicación de código previamente desarrollado. La
herencia supone una clase base y una jerarquía de clases llamadas
derivadas, en donde las clases derivadas heredan las características y
comportamiento de las clases base que sean visibles (acceso público).
El Polimorfismo, es la propiedad que le permite a un objeto (referencia)
tener acceso a múltiples clases y comportarse de manera diferente ante un
mismo mensaje, generando una apariencia de que se usa el mismo código
pero su respuesta es diferente en cada momento o situación.
MÉTODO DE LAS 6`D
UN ENFOQUE ALGORÍTMICO.
Algunos problemas, tienen que ser resueltos en una computadora que
tienen una solución determinada que pueden ser muy sencillos y muy
complejos, lo cual es muy importante utilizar un método que debe ser fácil
de comprender y nos debe guiar paso a paso hasta la solución del
problema. Esto consta de 6 etapas para la solución del problema.
MÉTODO DE LAS 6`D
ETAPA 1:DESCRIPCIÓN PROBLEMA
Identificar cual es el problema que se desea resolver, comprenderlo a su
totalidad, saber cuál es el resultado que quieres llegar.
Identificación del problema
Descripción del problema
Enunciado claro y preciso del problema
Tendrás que llegar a un resultado de esta etapa que es
el ENUNCIADO claro del problema que se desea solucionar.
ETAPA 2:DEFINICIÓN Y SOLUCIÓN
Estudiara fondo el problema, saber exactamente en qué consiste y poder
descomponerlo en cada una de sus partes para facilitar su comprensión y
posterior solución. Después tiene que ser estudiado a fondo y plantear
diversas alternativas que permitan solucionar el problema para poder
seleccionar la alternativa más adecuada.
Definir el resultado deseado.
Determinar los datos que se deben ingresar o generar para obtener el
resultado deseado.
Determinar la forma en que los datos será procesados para transformarlos
en información.
Tendrás que llegar a un resultado de esta etapa que es
el ESPECIFICACIONES que se debe hacer para la solución del problema.
9. ETAPA 3: DISEÑO SOLUCIÓN
Diseñar la lógica modelando y desarrollando algoritmos. Para el modelado
de la solución del problema se utilizara el Lenguaje Unificado de Modelado
(UML) herramienta usada para describir clases, objetos y sus relaciones.
Pata el desarrollo de algoritmos se utiliza diagramas de flujo, los cuales son
utilizados para diseñar los métodos de una clase. Verificar si se a incluido
soluciones para todas las formas que se presenten que se le denomina
prueba de escrito.
Definir el problema para el proyecto
Definición de diagramas, relaciones y clases
Desarrollo de algoritmos
Tendrás que llegar a un resultado de esta etapa que es el DIAGRAMAS y
ALGORITMOS que especifican la solución del problema
Etapa 4: DESARROLLO DE LA SOLUCIÓN
Hacer la codificación del problema que involucra traducir los diagramas, las
especificaciones de UML y de DF, serán almacenadas en un proyecto o
archivo lógico y constituyen lo que la computadora podrá ejecutar.
Codificar el proyecto,
Desarrollar comentarios internos en los programas de computadoras.
Desarrollar copias de seguridad de los programas de computadoras.
Tendrás que llegar a un resultado de esta etapa que es
el PROGRAMASpara ser codificados en un lenguaje de programación, que
permiten solucionar el problema
Etapa 5: Depuración pruebas
Después de la codificación del programa deben ser probados mediante
ejecución conocido como corrida de programas, los cuales puede surgir
errores de de lógica y sintaxis .Corregir el programa como anula,
modificarlo crear nuevas sentencias, volver a probar el programa y
continuar con la corrección y pruebas para conseguir el resultado deseado.
Realizar la depuración y verificar la correcta estructura de
programas.
Realizar pruebas de sintaxis.
Realizar pruebas de lógica.
Tendrás que llegar a un resultado de esta etapa que es de PRUEBASque
registran el adecuado funcionamiento de solución del problema
10. ETAPA 6: DOCUMENTACIÓN
Se recopila toda la información generada en las etapas anteriores que sirve
como base para la elaboración del manual técnico, para el desarrollo de
bueno hábitos para el desarrollo de software en forma profesional. El
manual técnico debe incluir:
1.- Descripción del problema
2.- Resultados esperados y datos necesarios para generar dichos
resultados.
3.- Diagramas UML, DF.
4.- Pruebas desarrolladas
5.- Listado del programa con comentarios internos
Recopilar el material generado de cada una de las etapas anteriores.
Generar el manual del programa
Generar el manual de usuario
Tendrás que llegar a un resultado de esta etapa que es MANUALES que
permiten un adecuado manejo de la solución desarrollada.
INGENIERÍA REVERSA
Esto se puede realizar en las etapas 3, 4 y 5 que nos permite crear o
actualizar el modelo preliminar en la etapa 3, a partir del código realizado
de la etapa 4 y corregido en la etapa 5.
Con esto es posible programar o codificar algunas partes hasta llegar a su
correcto funcionamiento que no estén especificados en la etapa 3. A partir
de esta solución, se actualizaran los diagramas de la etapa 3 y se continua
con el proceso para llegar al a solución deseada.
Exportar proyectos como archivos class o java al disco de PC, si esta se
trabaja con IDE.
Importar proyecto a una herramienta CASE y se realizara la ingeniería
reversa.
Organizar el modelo obtenido en la herramienta CASE.
Resultado: DIAGRAMA ACTUALIZADOS.
16. SÍNTESIS DE LA UNIDAD
MÉTODO DE LAS 6’D
Está compuesto de seis etapas, cada una de las cuales consta de una serie
de pasos, los cuales se van modificando (ajustando) dependiendo del grado de
complejidad del problema y las herramientas que se utilicen para su solución.
Con la finalidad de recordar el método, se ha definido que el nombre de cada
una de las etapas del método comience con la misma letra, la letra “D”. Es
decir, el método tiene seis etapas y el nombre de cada una de las etapas
comienza con la letra “D”, de modo que este se pueda recordar como
el Método de las 6’D.
ETAPA 1: DESCRIPCIÓN DE PROBLEMA
Identificación del problema
Descripción general del problema
Enunciado claro y preciso del problema.
ETAPA 2: DEFINICIÓN DE LA SOLUCIÓN
Definir el resultado deseado
Determinar los datos que se deben ingresar o generar para obtener el
resultado deseado
Determinar la forma en que los datos serian procesados para
transformarlos en investigación.
ETAPA 3: DISEÑO DE LA SOLUCIÓN
Definir un nombre para el proyecto
Definición de diagramas, relaciones y clases
Desarrollo de algoritmo
ETAPA 4: DESARROLLO DE LA SOLUCIÓN
Codificar el proyecto
Desarrollar comentarios internos en los programas de computadora
Desarrollar copias de seguridad de los programas de computadora
17. ETAPA 5: DEPURACIÓN
Realizar la depuración y verificarla correcta escritura de los programas
Realizar pruebas de sintaxis
Realizar pruebas de lógica
ETAPA 6: DOCUMENTACIÓN
Recopilar el material generado en cada una de las etapas
anteriores
Generar el manual del programa
General el manual del usuario