INTRODUCCIÓN A LA PROGRAMACIÓN

La algoritmia es la ciencia que se encarga de realizar algoritmos para la resolución de un problema planteado.

Un algoritmo es la sucesión de una serie de pasos para la realización de una tarea especifica.

La programación es un conjunto de técnicas para resolver dilemas. Los pasos para desarrollar una apliacación son:

  • Estudiar el problema
  • Realizar el algoritmo
  • Pasarlo a un lenguaje de programación
  • Ejecución y verificación
  • Documentación

La ecuación matemática de un programa es:

 PROGRAMA = ALGORITMO + ESTRUCTURA DE DATOS

Un algoritmo bien hecho debe de ser:

  • preciso
  • finito

Las tres partes de un programa son:

  • entrada de datos a procesar
  • procesamiento de dichos datos
  • salida del resultado correspondiente

 

 

La algoritmia se emplea para resolver problemas de la vida diaria.  Los diagramas de flujo muestran los algoritmos de forma gráfica.

Hay dos  aspectos fundamentales en el posible desarrollo de una aplicación:

  • La búsqueda de técnicas para resolver la cuestión plateada
  • El coste que supone el desarrollo de dicha aplicación

Los algoritmos pueden ser de dos tipos:

  • cualitativos: describen los pasos usando palabras.
  • cuantitativos: describen el proceso usando numeros.

La tecnica para resolver problemas tiene los siguientes pasos:

  • Definición de la solución
  • Análisis del problema
  • Diseño del algoritmo

 

Las caracteristicas de un buen algoritmo son las siguientes:

  1. 1.    Debe tener un punto de incio
  2. 2.   Debe ser definido
  3. 3.   Debe ser general
  4. 4.   Debe ser finito

La efectividad por el tiempo y el esfuerzo empleado para realizar una aplicación es una caracteristica importante en programación.

A la vez el algoritmo tiene que ser correcto en su constitución gracias a los diagramas de flujo, con un punto de entrada bien definido y una salida muy marcada, teniendo el mismo mecanismo que una formula en matemáticas.

Las técnicas de secuencias de instrucciones finitas y los recursos que se emplean en la constitución de los mismos, ofrecen la oportunidad de probar diferentes algoritmos ante la solución de un dilema.

A la hora de hacer una buena aplicación son necesarias dos bases fundamentales:

  • Capacidad de organizar y planificar
  • una buena estrategia de trabajo repartido en equipo
  • capacidad de analisis y sintesis del dilema planteado

El diseño de un buen algoritmo tiene que tener un grado de corrección y eficiencia óptimo para implementarlo en cualquier sistema informático.

De las tripas de un buen algoritmo se extrae un modelo diseñado para pasarlo a un lenguaje de programación concreto, compilado o interpretado da lugar a una aplicación, que si es optima se podrá ejecutar en cualquier sistema.

Las aplicaciones o programas se diseñan para diferentes própositos como las hojas de calculo, procesadores de textos, bases de datos, juegos , sistemas operativos, etc.

El software que origina estas aplicaciones son compiladores o interpretes, standarizados por microsoft y otras compañias de software.

Aunque ultimamente se ha diseñado software para mobiles y otro tipo de dispositivos.

Las aplicaciones mas usados son windows y el paquete office en la historia de la programación. Otro software muy utilizado es el destinado a los mac de apple.

Ultimamente la tendencia es a desarrollar aplicaciones táctiles en todo tipo de dispositivos y sistemas mobiles o informáticos, tendiendose a la desaparición de dispositivos como el teclado o el ratón.

El software más importante de un pc es el sistema operativo que gestiona y optimiza los recursos del mismo, haciendo posible la comunicación entre el usuario y la máquina.

A lo largo de la historia de los sistemas operativos microsoft ha lanzado los siguientes sistemas operativos:

  1. 1.    MS-DOS
  2. 2.   WINDOWS Y SUS VERSIONES
  3. 3.   WINDOWS XP
  4. 4.   WINDOWS VISTA
  5. 5.   WINDOWS 7

Otro paquete de software muy utilizado es office de microsoft, que contiene otros programas que permiten desarrollar tareas demandadas en la vida diaria. Estos programas son:

  • Microsoft Word
  • Microsoft Access
  • Microsoft Excel
  • Microssoft Powerpoint

Microsoft Word es un procesador de textos capaz de redactar cualquier tipo de documento.

Microsoft Acess es un software destinado a diseñar bases de datos partiendo de  una información determinada.

Microsoft Excel son hojas de calculo que trata información financiara.

Micrisoft Powerpoint realiza presentaciones sobre información mediante diapositivas.

Otro software standarizado es internet explorer que permite navegar por las páginas de la red con el propòsito de la busqueda de información de un tema concreto.

La páginas se reestructuran en secciones donde la información está organizada y visualmente preparada para ser utilizada.

Microsoft Frontpage se dedica a crear esas páginas para mostar la INFORMACIÓN EN LA WEB, de forma estructurada con plantillas ya definidas sin necesidad de utilizar código.

Los buscadores son páginas que introduciendo un palabra muestran webs relativa a la misma, tanto como imagenes o videos.

Los motores de busqueda son webs que utilizan a su vez varios buscadores para buscar información sobre un tema concreto.

Los más utilizados son google y yahoo, sacando recientemente microsoft bing con las mismas utilidades que msn.

Otras páginas más utilizadas recientemente en internet son youtube o facebook, dando a red más usos como visor de videos o red social virtual.

Centrandose en lo que es la metodologia de la programación, lo primero se definir los bloques de un programa:

  • Entrada de información
  • procesamiento de la información
  • salida de la información procesada.

Volviendo al tema de los algoritmos la ecuación de todo algoritmo es:

SOLUCIÓN = ACCIONES + ORDEN + DATOS

Los algoritmos son independientes al lenguaje de programación utilizado.

Si un algoritmo es eficaz se mide por los siguientes parametros:

  • medida de la complejidad
  • análisis por casos

La medida de la complejidad nos proporciona un buen algoritmo, dentro de un grupo de ellos que dan respuesta a un mismos dilema.

La complejidad de un programa tiene dos costes en su contra:

  • coste temporal, siendo mejor menos tiempo empleado a la hora de ejecutarlo.
  • coste espacial, siendo mejor que ocupe menos espacio de almacenamiento en memoria.

Los pasos para entender la complejidad de un problema son:

  • entender el problema
  • trazar un plan
  • ejecutar el plan
  • revisar

Estos pasos traducidos a programación sería:

  • Analizar el problema
  • diseñar un algoritmo
  • traducir el algoritmo
  • depurar un programa

Teoricamente la programación soluciona dilemas, para resolverlos surgen una serie de instrucciones que dan lugar a la solución.

Los lenguajes de programación son temporales y dependen de cada epoca. Un buen compilador o interprete genera programas que se ejecutan en muy poco tiempo y ocupan poca memoria.

Un programa bien realizado tiene las siguientes caracteristicas:

  • legibilidad
  • flexibilidad
  • portabilidad
  • fiabilidad
  • eficiencia

La programación orientada a objetos crea una programación modular para la resolución de enigmas. Las ventajas de las POO son las siguientes:

  • uniformidad
  • compresión
  • flexibilidad
  • reutilización

Un programa orientado a objetos viene definido por la ecuación:

OBJETOS + MENSAJES = PROGRAMA

La programación orientada al evento es el resultado de la programación orientada al objeto.

Las aplicaciones de los lenguajes de programación se pueden clasificar en diversos tipos:

  • negocios
  • cientifica
  • sistemas
  • inteligencia artificial
  • edición
  • proceso
  • nuevos paradigmas
  • internet ( usuario o servidor)

Una tecnica muy utilizada hoy en programación es top-down donde se descompone el programa principal en dos partes:

  • programa principal
  • subprogramas

Debido a esto nacen terminos como:

  • parámetros o datos que metes al subprograma
  • procedimientos o subprograma que devuelve mas de resultado
  • funciones o subprograma que devuelve un resultado
  • recursividad donde un programa se llama a si mismo.

Los subprogramas pueden ser invocados en cualquier parte del programa principal, pero tienen su zona de programación.

Los programas desarrollados sin unas técnicas de programación predeterminadas tienen los siguientes errores:

  • son rígidos
  • mucho tiempo verificando errores
  • poca comunicación entre programadores provoca que los escritos por otros no vayan en otros sistemas
  • cada programador tiene su propio estilo de programación
  • las modificaciones en las aplicaciones son muy dificiles de realizar
  • deficiencias en las documentación
  • facilitar la compresión del programa
  • permitir el mantenimiento del mismo, a lo largo de su vida útil

El método más utilizado para simplificar las aplicaciones es el descendente o la división de un dilema en unos niveles de refinamiento secuenciales. Se descompone la cuestión planteada en niveles preestablecidos y cada nivel tiene dos puntos de vista: que realiza y cómo lo lleva a la práctica.

La POO es la que posee un punto de entrada y uno de salida, donde posee tres estructuras de control: la secuencial, la alternativa y la repetitiva.

La programación orientada a objetos tiene las siguientes ventajas sobre otras tecnicas:

  • uniformidad
  • compresión
  • flexibilidad
  • reutilización

Un ejemplo de la OOP es el sistema operativo Windows, que se caractetiza por su interface de usuario gráfico.

Uno de los lenguajes mas utilizados hoy en dia es el visual basic,

estando desarrollado su entorno con la tecnica OOP.

La POO da lugar a varios tipos de interfaz que facilitan la comunicación con el usurio:

  • interfaz de preguntas y respuestas
  • interfaz de menú simple
  • interfaz orientada a ventanas
  • interfaz de la cuarta generación

Los elementos de un programa son:

  • objetos
  • identificadores
  • datos
  • constantes
  • variables
  • operadores
  • expresiones
  • sentencias

La OOP presenta la siguientes ventajas respecto a otro tipo de tecnicas:

  • modelar el mundo real
  • interactuar con el computacional
  • construir componentes software y bibliotecas
  • modificar y ampliar la implementación de los mismos.

Los elementos fundamentales que configuran el paradigma OOP son siete:

  • forma modular basado en objetos
  • abstracción de datos
  • gestión automática de memoria
  • clases
  • herencia
  • polimorfismo y enlace dinamico
  • herencia múltiple y repetida

La programación tiene una evolución en el tiempo con unas fases muy determinadas:

  • primera generación  (fortran). Este lenguaje de programación era muy rudimentario.
  • segunda generación (algol-60). Es más estructurado que el anterior.
  • tercera generación (pascal). Está basado en la programación modular.
  • cuarta generación (ada). Presenta caracteristicas similares a cobol.
  • programación orienta a objetos ( smalltalk y c++). son los primeros lenguajes de programación orientados a objetos..

Los lenguajes los podemos clasificar en dos criterios:

  • lenguajes de propósito general
  • lenguajes de propósito específico

Los conceptos base en programación son:

  • código fuente
  • código objeto
  • enlazador
  • tiempo de compilación

Dos conceptos importantes OOP:

  • encapsulamiento es el objeto de autocontenido
  • herencia se pueden crear nuevas clases que compartan caracteristicas de otras ya existentes.

La programación estructurada siempre tiene un único punto de entrada y un único punto de salida, utilizando tres estructuras de control:

  • estructura secuencial
  • estructura selectiva o alternativa
  • estructura repetitivas

Las caracteristicas más esenciales de un buen lenguaje de programación:

  1. 1.    una forma clara, sencilla y exacta
  2. 2.   ortogonalidad
  3. 3.   tener facilidad al codificar el algoritmo
  4. 4.   apoyo para la abstracción
  5. 5.   la capacidad de verificar programas
  6. 6.   el entorno de programación
  7. 7.   portabilidad de los mismos hacia otros sistemas
  8. 8.   el costo según su uso

La programación tiene un paradigma que se enfoca desde tres angulos:

  1. 1.    procedimental ( o imperativo)
  2. 2.   funcional
  3. 3.   declarativo y orientado a objetos

Este paradigma se asocia a la OOP, que se basa en construir algoritmos constituidos por datos y operaciones, manipuladores de datos.

La estructura secuencial posee un solo punto de entrada y uno de salida, consta de una serie de labores, que poseen un solo punto de entrada y salida, donde cada labor sigue a la otra.

La estructura selectiva o alternativa es aquella donde se evalúa una condicion, en función del resultado se lleva acabo una alternativa u otra.

En la estructura repetitiva el conjunto de instrucciones se repite una o varias veces según la evaluación de una condición.

Los lenguajes visuales desarrollan aplicaciones mediante formularios e informes. El más conocido es visual basic.

En el software Script hacen más atractivo el código de las páginas HTML. Un ejemplo de estos lenguajes es java.

Otro tipo de porgramas son los lenguajes de código especifico que tiene una naturaleza muy determinada.

Otras caracteristicas de estos lenguajes son:

  • entorno de procesamiento por lotes
  • entorno interactivo
  • entorno incrustados
  • entornos de programación
  • entornos de marcos de ambiente.

Las cualidades de los lenguajes de última generación son:

  • simple
  • seguro
  • portable
  • orientado a objetos
  • robusto
  • multihilo
  • arquitectura neural
  • interpretado
  • distribuido

Uno de los lenguajes más utilizados ultimamente por los programadores es visual basic. Este presenta las sigueintes caracteristicas:

  • una biblioteca de clases con los siguientes soportes:
  1. i.     ventanas
  2. ii.   cuadros de texto

iii.  botones de pulsación

iv.  casillas de verificación

  1. v.    listas desplegables

vi.  listas combinadas

vii.marcos

viii.etiquetas

  • un entorno de desarrollo integrado:

ix. editor de texto

  1. x.   interpet

xi. depurador

xii.examinador de objetos

xiii.explorador de proyectos

xiv.compilador

  • dispone de asistencia para:

xv.aplicaciones

xvi.barras de herramientas

xvii.formularios de datos

xviii.empaquetado y distribución

xix.crear la interfaz pública de controles ACTIVEX

xx.objetos de datos

xxi.generador de clases

xxii.diseñador de comnplementos

  • objetos vinculados e incrustados
  • creación de bibiotecas dinámicas
  • soporte para:

xxiii.aplicaciones de internet

xxiv.estandar com.

  • acceso a bases de datos utilizando:

xxv.controles ODBC

xxvi.OLEDB

xxvii.controles ADO y DATA.

  • biblioteca para SQL que permite la manipulación de bases de datos relacionales.
  • un administrador visual de datos para manipular base de datos
  • utilidad para crear ficheros de ayuda estilo windows.

La orientación a OOP proporciona mejores herramientas para:

  • modelar el mundo real
  • interactuar con un entorno computacional
  • construir componentes reutilizables de software
  • modificar y ampliar la implementación de estos componentes

Los pasos a seguir en la creación de un programa en cualquier lenguaje de programación son tres:

  1. 1.    creación del programa
  2. 2.   compilación del programa
  3. 3.   enlace del programa con todas las funciones que se necesitan de la biblioteca del software de programación

Un programa se define como propio cuando cumple tres requisitos:

  1. a.   posee solo un punto de entrada y uno de salida o fin para control de programa
  2. b.   existen caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas las partes del programa
  3. c.   todas las intrucciones son ejecuables y no existen lazos o bucles infinitos

Los principales errores de un programa son:

  • datos de entrada incorrectos que producen una parada del sistema
  • bucles mal definidos que producen un funcionamiento continuo del programa
  • datos de salida incorrectos por un mal desarrollo del mismo

Los lenguajes de los últimos años son similares practicamente al humano. Se clasifican en dos:

  • generadores de código o generadores de programas de alto nivel
  • petición o en el manejo de bases de datos.

Lenguaje de programación es un conjunto de reglas que permiten al programador poder expresar el pensamiento de datos y sus estructuras en un pc, usando una gramatica y sintaxis determinada.

Programa es un conjunto de órdenes o instrucciones que dan solución a un dilema concreto basado en un lenguaje de programación.

El PC ejecuta automaticamente los programas en lenguaje máquina.

Un programa fuente, escrito por un programador, que es traducido por un compilador o intérprete da lugar a un programa objeto, escrito en leguaje máquina.

El concepto fundamental de la OOP es generar programas usando objetos software. Un objeto es una entidad independiente con sus datos. Todos los lenguajes de porgramación utilizan dos tipos de elementos: código y datos. Las técnicas de programación se organizan en software con objetos discretos que incrustan estructuras de datos de comportamiento. Son estructuras dinámicas.

Cada objeto es una estructura compleja en cuyo interior hay datos y código, interrelacionados entre ellos en una cápsula. Esto hace que la OOP sea buena en la reutilización de software. Los objetos surgen en la división de un programa completo en pequeñas entidades autónomas u objetos, lo que reduce la complejidad y aumenta la calidad del software. Un objeto tiene mecanismos que son implescindibles para operar las estructuras de datos que están adjuntos a los códigos para formar una unidad inseparable. A esto se llama encapsulación.

En la elaboración de un programa es muy importante la documentación según su usoi o distribución. Esta se clasifica en dos clases:

  • interna. esta se refiere a la actualización del programa.
  • externa. se refiere a las condiciones técnicas para su funcionamiento.

Toda documentación es una tarea tediosa . Esta tarea es en estos momentos más precisa y concreta.

ESTRUCTURA DE UN PROGRAMA E INSTRUCCIONES

Una vez introducidos los conceptos básicos de la metodologia de la programación hay que tener claro el esquema básico de un programa, que se divide en tres bloques:

  • entrada de datos
  • proceso o algoritmo
  • salida de datos

CLASES DE INSTRUCCIONES

Una instrucción es un suceso de duración limitada. Hay de varios tipos:

  • definición de datos:

dicen al procesador el espacio que tienen que guardar en memoria para almacenar un dato.

  • primitivas:

1. de entrada : recogen un dato de u  periférico o dispositivo de entrada.

2. de asignación: almacenan un dato para evaluar una expresión.

3. de salida: recogen datos de variables o expresiones evaluadas.

  • compuestas: no se ejecutan por el procesador.
  • de control:

4. de salto: alteran el curso normal del programa

  1. 5.   condicionales: su ejecución depende de una condición

Dentro de las condicionales hay dos tipos:

  • alternativa simple:

 

 

 

 

 

  • alternativa doble:

 

 

 

 

 

 

  • alternativa multiple:

es igual a la anterior pero con más salidas.

3. Instrucciones de salto

Varian el orden de un programa , ejecutandose otras instrucciones según una condición.

  • estructura mientras : se ejecutan un grupo de instrucciones 0 o n veces.
  • estructura repetir-mientras: se ejecutan un grupo de instrucciones 1 o n veces.
  • estructuta para: se ejecutan un grupo de instrucciones un número determinado de veces.

El desarrollo de una buena aplicación tiene tres puntos a tener en cuenta:

  1. 1.    el tipo de los datos
  2. 2.   cada usuario tiene unos datos especificos
  3. 3.   la utilización de los datos de la aplicación

El esquema lógico es una fuente de información fisica contenida en algún tipo de soporte almacenada.

ELEMENTOS AUXILIARES DE PROGRAMACIÓN

Son variables o conjuntos de variables creadas por el programador para solucionar dilemas.  Estas son:

  1. 1.    Contadores: aumentan o disminuyen una cantidad
  2. 2.   acumuladores: cambian su valor según una formula matématica.
  3. 3.   interruptores: toma un valor entre dos posibles
  4. 4.   estructura de datos: conjunto de datos del mismo tipo.
    - estructuras de datos internas: son los denominados arrays. Estos son de varios tipos:
  • unidimensionales o vectores
  • bidimensionales o matrices
  • multidimensionales o poliedros

- estructuras de datos externas: son los denominados archivos o ficheros.

ALGORITMOS PARA LA ORDENACIÓN DE TABLAS O DE BÚSQUEDA

La ordenación o clasificación da lugar a la aparición del siguiente código:

  1. 1.    ordenación por selección directa
  • ordenación por intercambio directo
  1. 2.   búsqueda secuencial
  2. 3.   búsqueda binaria o dicotómica

FACTORES EN LA CALIDAD DEL SOFTWARE

  • eficiencia
  • transportabilidad
  • verificabilidad
  • integridad
  • fácil de utilizar
  • corrección
  • robustez
  • extensibilidad
  • reutilización
  • compatibilidad

VERIFICACIÓN Y DOCUMENTACIÓN DE UN PROGRAMA:

La verificación de un programa es el procedimiento que constata que la aplicación no tiene error. Los errores pueden ser de varios tipos:

  • errores de compilación
  • errores de ejecución

errores lógicos
La documentación es describir el manejo al usuario del programa.

PROCESO DE DEPURACIÓN DE UN PROGRAMA

Se escribe el fichero con el programa interprete o compilador. Se compila el mismo y se corrigen los errores. Después se da lugar al ejecutable, dando lugar a la aplicación que queremos realizar.

Los principales errores que nos podemos encontrar son:

  • no cumplimiento de las reglas de sintasis del lenguaje de programación.
  • los errores de la mala construcción del algoritmo
  • otro error es al que se debe al de tiempo en ejecución.

Un buen programador debe evitar los errores y ser rápido a la hora de corregirlos. También es importante terner un estilo propio al programar.

El estilo de programación define al programador. Debe ser personalizado  y portable a otros equipos.
Las tres claves del buen programador son: preciso, finito y rapido.

CICLO DE DESARROLLO DE UNA APLICACIÓN:

Un standard a la hora de desarrollar una aplicación tiene los siguientes beneficios:

  • vocabulario general
  • mantenimiento
  • identidad global
  • seguridad

La primera fase de la realización de una aplicación desde el punto de vista del usuario son el análisis y los requerimientos de usuario, teniendo en cuenta los estándares y principios. Esto da lugar al diseño, siguiendo un protocolo que mediane la herramienta MB-UID esta se implementa, dando lugar a su evaluación. Todo ello bajo unos métodos formales.

DISEÑO DE LA PRESENTACIÓN DE LA INFORMACIÓN AL USUARIO

La forma de presentación de la información al  usuario y su aspecto es vital a la hora de desarrollar una aplicación :

  • similitud
  • cierre
  • continuidad

proximidad
Estos cuatro puntos de vista determinan las formas y las ventanas de una aplicación, es decir, a los siguientes elementos:

  • botones
  • elementos de menú
  • organización general del interfaz

 

 

DIAGRAMAS DE FLUJO

 

 

Plasman el camino logico y operacional que se llevan a cabo en el desarrollo de una aplicación. Un ordinograma debe plamas tres puntos:

  • un principio que indica el inicio del programa
  • la secuencia de operaciones
  • un fin que marca la corecta ejecución del programa

Un programa sigue un conjunto de reglas para su constitución:

  1. todos los símbolos deben estar unidos mediante lineas de flujo
  2. no se permite el cruce de las mismas
  3. un simbolo tiene varias entradas pero solo una salida
  4. en el simbolo de inicio no le llega nunguna linea, pero de el solo sale una
  5. El simbolo de fin recibe muchas lineas de flujo pero de el no sale ninguna.

 

PSEUDOCÓDIGO

Son metodos que através de unas determinadas reglas se desarrolla  de forma lógica una aplicación.

El pseudocodigo utiliza el diseño descendente como una tecnica para desarrollar programas.

Este tolera las siguientes acciones:

  • instrucciones de entrada/salida
  • instrucciones de proceso
  • las sentencias de control de flujo de ejecución
  • acciones compuestas que hay que refinar posteriormente
  • cualquier proceso relacionado con los datos:
  1. 1.    describir datos
  2. 2.   definir tipos de datos
  3. 3.   definir y usar constantes y variables
  4. 4.   archivos
  5. 5.   objetos

Las acciones simples se ejecutan de forma automatica:

  • asignación
  • entrada
  • salida
  • variable_valor
  • leer variable
  • escribir expresión

Las sentecias de control regulan el control de las intrucciones:

  • secuencial: todas tienen el mismo orden de ejecución
  • alternativa:
  1. simple
  2. doble
  3. múltiple
  • repetitiva
  1. mientras
  2. repetir
  3. para

Las acciones compuestas se desarrollan dentro del algoritmo.Son los subprogramas o programas dentro de los programas.

Los comentarios son explicaciones para comprender el funcionamiento del programa.

Los datos de un programa es informacion manipulada por un programa para ser resultado de un dilema.

Un programa es el resultado de una cuestión.

LA PROGRAMACIÓN ORIENTADA A OBJETOS

La OOP utilliza objetos para construir aplicaciones. Los objetos se usan en muchas aplicaciones. Estos están formados por código y datos. Cuando estos dos elementos tan simples se complicaron nació el termino OOP.

La OOP son métodos donde los objetos se fusionan con mensajes para solucionar dilemas. Las aplicaciones se transforman en interfaces gráficos que intentan imitar al mundo real.

El software se organiza en una fila de elementos discretos que tienen estructuras de datos. Estos objetos son:

  • abstracción
  • encapsulación
  • herencia
  • polimorfismo
  • clase
  • objeto
  • método
  • mensajes
  • identidad
  • reutilización
  • jerarquía
  • concurrencia
  • modularidad

Ahora se aplica la teoria de los objetos para la organización de eventos,  que desde su denominación en si mismo, su clase, su poliformismo, el proceso de ebcapsulación, la herencia que sucede a otro objeto, los mensajes, el método, su identidad, su reutilización, el orden jerarquizado, su abstracción, moduliridad y concurencia.

  • descomposición algorítmica , descompone el dilema en subproblemas.

descomposición orientada a objetos, señala el dominio del problema. Se diferencian tres terminos:

  • análisis orientado a objetos
  • diseño orientado a objetos

programación orientada a objetos
A esta nueva se le llama encapsulación y el resultado es un objeto de software. Los procedimientos encapsulados se denominan métodos.

LAS VENTAJAS DE LA PROGRAMACIÓN ESTRUCTURADA

Estos programas suelen presentar las siguientes desventajas:

  • son programas rígidos
  • se pasa mucho tiempo corrigiendo el problema
  • un programa enfocado por programadores diferentes tiene diferentes salidas para un mismo dilema.
  • cada programador realiza su propio proyecto
  • las modificaciones y actualizaciones son dificiles de llevar a cabo.

deficiencias en la documentación

Pero presentan dos ventajas respecto a los siguientes métodos:

                  1.  facilitar la comprensión del programa

permitir el fácil mantenimiento del mismo, a lo largo de vida.
Todos estos programas cumplen tres puntos importantes:

  1. a.   tiene que haber un punto de entrada y salida
  2. b.   el camino va de la entrada a la salida recorriendo un único camino
  3. c.   las instrucciones son ejecutables, no existen ni lazos ni bucles infinitos.

ESTÁNDARES
Los stándares se aplican a los interfaces de usuario. Desarrollandolos se consiguen aplicaciones fáciles y seguras. Sus principales reglas son:

  • un vocabulario general
  • un mantenimiento y evolución común
  • una identidad igual
  • reducción en la formación
  • seguridad

Hay dos tipos de stándares: iure y de facto. Los primeros son legales y apayadas por los gobiernos. Las segundas tienen gran éxito en el mercado.

EL MÉTODO DE LAS IDEAS

El método para solucionar un dilema es empezar a imaginar la solución. Después se crea y jugando mediante la reflexión, que lleva a la compartición grupal de la respuesta.

Se desarrollan ideas de manera independiente o grupal que se ponen a prueba para experimentar opciones, las cuales originan nuevos conceptos o soluciones a preguntas.

El método en espiral de pensamiento consiste en:

  • proponer ideas
  • ver mis puntos de vista y compararlos con los otros
  • corregir mis puntos de vista

OBJETOS

El objeto es un recurso que optimiza las funciones de una aplicación. También se denomina clase.

Un programa puede tener una lista de procedimientos, que son portables a otro software de otro sistema.  La identidad es el termino que diferencia una clase de otra. Estas propiedas son:

  1. 1.    identidad
  2. 2.   comportamiento
  3. 3.   estado

El objeto hace referencia a  una cosa especifica. El estado es el conjunto de valores en un momento especifico.  Las relaciones entre  objetos son:

  • unidireccional
  • bidireccional

La composición es una realación que establece dos objetos en una comunicación continua. La composición es una relación particular.

La estructura de un objeto se divide en tres aspectos:

  • relaciones
  • propiedades
  • metodos

Las relaciones se insertan en la estructura de los punteros.

Los propiedades forman parte de las misma organización y valores se ligan de la propiedad referida. Las propiedades de un objeto de heredan de padres a hijos.

Los métodos son operaciones que se relacionan con el objeto. Las relaciones enlazan a otros objetos de la misma organización. Las relaciones son jerárquicas o semánticas. Las propiedades son propias y heredadas, dependiendo de la situación.

Un objeto consta de tres caracteristicas importantes:

  • tiempo de vida
  • estado
  • comportamiento

Las clases son abstracciones de un conjunto de objetos en un interfaz común.

En las OOP las propiedades dependen de cada función.

El principio de jerarquia muestra el mundo de las clases mediante una estructura jerarquica.  Los objetos de una aplicación se reagrupan a traves de una jerarquia. Esta se muestra a traves de los árboles de herencia. Al acto de pasar propiedades a la siguiente generación de clases se llama herencia.

En resumen, una clase es parecido a una estructura.

FORMAS DE SOLUCIONAR DILEMAS

Solucionar problemas conlleva pensar algoritmos parecidos para reducir el código de aplicación, facilitando la compresión y errores de ejecución.

Se pueden crear soluciones para el mismo problema.  Intentar comprender las similitudes de dos programas en enterder cuál es el que presenta la mejor alternativa al dilema.

Hante un problema hay que analizar las estructuras que se van a utilizar y los bucles que se repiten. Después de hacer una sintexis global  se debe hacer un esquema de pasos.

OBJETOS, METODOS Y CLASES

Objeto es algo que tiene propiedades relacionadas con el mundo real.

Este obedece a la siguiente ecuación:

OBJETO = DATOS + OPERACIONES

Los datos del objeto se ocultan.

Los objetos se comunican entre si mediante mensajes. Una clase es una descripción de un grupo de objetos.

La herencia es la adaptabilidad de un objeto para usar estructuras.

GENERADOR DE IDEAS

Para solucionar un dilema hay que generar ideas.

Después se pasan a algoritmo, siendo las más rentables las más rápidas en modo ejecución. 

Siempre hay una idea a un problema planteado. Los proyectos son la innovación y el desarrollo del mundo globalizado mediante la fabricación y distribución., generando empleo.

Los recursos mejoran la productividad de las operaciones aumentando la eficiencia. Los métodos para hacer el trabajo atractivo anima a los empresarios a mejorar el rendimiento.

El generador de ideas es una combustión de elementos para conseguir una gama interesante de soluciones para desarrollar software.

INSTRUCCIONES MAS UTILIZADAS PARA LA CONSTRUCCION DE SOFTWARE:

Las ordenes más usadas para realizar algoritmos son:

  • instrucción de asignación
  • instrucción de entrada o de salida
  • inicio o fin de aplicación
  • instrucciones de control
  • llamada a un subprograma
  • indica el orden de las acciones del algoritmo
  • conector de reagrupamiento de una instrucción de control

Después de esto algoritmo se define como grupo de ordenes que explica el camino para solucionar un dilema determinado.

ejemplo 1:

INICIO

Levante la bocina

Espere tono

Marque el número

Espere con otra persona

Cuelgo la bocina

FIN

ejemplo 2:

INICIO

Cogo un huevo

Cogo un cuenco

Meto el huevo dentro del cuenco

Bato el huevo

Cogo una sartén

Echo el huevo en la sartén

Hago la tortilla

Hecho la tortilla en un plató

Coloco el plato en la mesa

FIN

ejemplo 3:

INICIO

Cogo un vaso

Cogo una botella de agua del armario

Hecho el agua en el vaso

Bebo el agua del vaso

Meto la botella en el armario

Lavo el vaso

Dejo el vaso en la mesa

FIN

ejemplo 4:

INICIO

Salgo de la estación de tren

LLamó un taxi

El taxista me recoge las maletas

Me monto en el taxi

Le indico la calle donde voy

Le pago el trayecto

Me lleva a mi destino

Me bajo del coche

Me da las maletas

Voy a mi casa

FIN

ejemplo 5:

INICIO

Cogo una taza

Hecho azucar en ella

Hecho el café en la cafetera

Doy al botón del café

La cafetera hace el café

Hecho el café en la taza

Bebo el café

Lavo la taza

Limpio la cafetera

Dejo la taza en el armario

FIN

EL PENSAMIENTO LÓGICO

La generación de ideas surge de la mente humana. La idea es el concepto de un proyecto a ser realizable. El mundo real y sus resultados dirán si es viable.

Hay que distinguir entre lo real y lo ideal, es decir, entre práctica y teoria. Sobreviviendo lo que más se ha acercado a la realidad.

Cuando una persona pide que se realice un proyecto, el programador tendrá que ver si es realizable y cómo, observando el campo de actuación de viabilidad del mismo. Por lo tanto, se requiere un fase de prueba para combrobar su funcionamiento.

Para comprobar que el resultado es óptimo o se ajusta al mundo real, según las necesidades del usuario. Después se documenta el programa, explicando su uso paso a paso en un vocabulario entendible por el cliente.

Nunca se debe entregar el fichero fuente. El ejecutable si incluido el manual de usuario con una presentación correcta y legible.

EL PROYECTO VIABLE

" UN PROYECTO VIABLE ES AQUEL QUE REALIZADO, VERIFICADO Y CORRECTAMENTE DOCUMENTADO CUMPLE CON LOS REQUISITOS EXIGIDOS POR EL CLIENTE."

La viabilidad es una variable determinada por el mundo real.

SOFTWARE REALIZABLE

" UN PROGRAMA ES REALIZABLE CUANDO REVISANDO LAS NECESIDADES DEL USUARIO SE PUEDE DESARROLLAR EN EL MUNDO REAL"

SOFTWARE VERIFICAFLE

" UNA APLICACIÓN ES VERIFICAFLE ,CUANDO SIENDO REALIZABLE,  SE HA DOCUMENTADO CORRECTAMENTE AL CLIENTE Y HA SUFRIDO UNA PRUEBA DE BUEN FUNCIONAMIENTO."

SOFTWARE REALIZABLE = SOFTWARE VERIFICABLE= APLICACIÓN COMERCIAL

La aplicación comercial ha pasado todos las pruebas, estando lista para su distribución en vista a usarla en cualquier sistema.

Esta es rentable si supera como mínimo el volumen de ventas calculado. El cliente decide la aparición de nuevas versiones y el ciclo de vida de la misma en el mercado, así como su usabilidad.

Un programa es rentable si se actualiza dando lugar a más de una versión, manteniendo en cada una de ellas el volumen de ventas mínimo. Por lo que, el ciclo de vida de un programa depende de mantener el vvm.

El vvm es el volumen de ventas minimo,siendo una aplicación rentable la que mantiene el vvm mímino tres versiones.

Un ejemplo sería nero, que superó la quita versión, o avast que tiene más de doce versiones, siendo el programa gratuito más rentable al ser el más descargado de la red.

REDEFINICIÓN DE ALGORITMO

Un algoritmo es un flujo de instrucciones con un resultado satisfactorio. Esta da una respuesta positiva o negativa, según la verdad del enunciado de entrada.

El concepto de algoritmo es fundamental en programación. Tener las ideas claras para realizar los diagramas de flujo es importante a la hora de enfocar el programa.

Los diagramas de flujo se enfocan a pseudocódigo y luego se pasan a un lenguaje de programación determinado, verificandose el correcto funcinamiento, para luego preparar la documentación  y pasarla al cliente.

Realizar un buen manual donde se explica el manejo del programa, explicando paso a paso las propiedades del mismo.

MÉTODOS DEL BUEN PROGRAMADOR

Los métodos que utiliza un buen programador son los siguientes:

  • Ensayo y error
  • Iluminación
  • Heurística, que son reglas empíricas para consiguir una conclusión.
  • Algoritmos
  • Modelo de procesamiento de información
  • Análisis de medios y fines
  • Razonamiento analógico
  • Lluvia de ideas
  • Sistemas de producción
  • pensamiento lateral. Este se basa en el pensamiento razionalizado.

Estas técnicas aplicables a los algoritmos, originan programas más portables a otros computadores.

La idea es realizar una aplicación comercial con pocas instrucciones, atractiva visualmente y que en memoria ocupe poco espacio, siendo de facil uso para el cliente.

DECISIÓN ALTERNATIVA

Un mismo problema puede tener varias soluciones, pero la elejida al azar es la definitiva.

El azar es el instrumento para elegir el algoritmo de una aplicación comercial, pasando los controles de verificación y calidad.

El planteamiento del mismo determinará el ciclo de vida en el mundo del software, siendo más largo o más corto dependiendo de la aceptación de los usuarios. Si es largo se actualizará  con vista a preparar nuevas versiones a lo largo de su existencia útil.

 Las versiones modificaran la aplicación original incorporando nuevas utilizadas a la misma, dandola un aspecto diferente.

La duración de su ciclo de vida dependerá de la aceptación de los compradores y el diseño de interface, dos claves para su éxito en el campo comercial del software.

El ciclo de vida de una aplicación tiene las siguientes etapas:

  • fase inicial, el programa se lanzá al mercado esperando una aceptación mínima rentable.
  • fase de crecimiento, una vez superada las ventas minimas rentables las ventas suben de forma expectacular, teniendo la aplicación gran aceptación entre los usuarios.
  • fase de maduración, la aplicación está en su mejor momento. Esta se mejora, actualizando y lanzando nuevas versiones de la aplicación. Aunque el crecimiento de las ventas empieza a decrepitar.
  • fase de envejecimiento, el crecimiento de las ventas comienza a bajar hasta que el producto se retira del mercado.

El ciclo de vida de la aplicación mide la duración comercial en el tiempo de un software determinado, desde su nacimiento hasta su declive.

Las mejores aplicaciones tienen un ciclo de vida largo y un interface atractivo para el usuario con un algoritmo compacto de instrucciones reducidas, ocupando en memoria el menor espacio posible.

CARACTERISTICAS DE UNA APLICACIÓN CORRECTA

Un buen programa posee una lista de propiedades que lo distingue de los demás:

  • un algoritmo bien diseñado
  • las instrucciones de la aplicación son las minimas posibles
  • tamaño compacto
  • muy portable a otros equipos
  • poco espacio en memoria
  • ciclo de vida medio o largo
  • actualizaciones y nuevas versiones asegurando su correcto funcionamiento.

Estas son las propiedades de una aplicación informáticamente correcta.

DOCUMENTACIÓN DE UN PROGRAMA

A  la hora de desarrollar el manual de una aplicación se tiene que utilizar un vocabulario muy técnico.

La documentación de un software concreto es importante para que el usuario comprenda el funcionamiento del programa y sus utilidades.

Las caracteristicas para  constitutir un buen manual son:

  • vocabulario técnico
  • expresión clara
  • estilo objetivo
  • explicaciones sencillas

El manual no es necesario que sea un gran tocho. Lo mejor es documentar  las utilidades de una aplicación usando el menor número de folios hipoteticos. 

Puede haber más de un manual para explicar un software especifico. Por ejemplo, un manual explicando el manejo del programa y sus respectivos comandos y otro con sus librerias y listado de errores.

Por lo que, el vocabulario de un buen manual de software tiene que ser:

  • claro
  • objetivo
  • técnico
  • sencillo

Los tipos de manuales depende del uso final de la aplicación, adaptandose a las necesadades de todo tipo de usuario.

Las aplicaciones dependen del proposito para el cual han sido creadas con el fin de realizar correctamente tareas concretas, con vistas a realizar una determinada actividad. Por lo que, el manual tiene que describir de una forma concesa y presica los comandos y funciones de la misma para su perfecto funcionamiento.

El usuario tiene que tener un dominio completo de las funciones del programa para la realización de proyectos concretos, gracias al uso del manual.

Este tiene que ser lo suficientemente claro, para conseguir un dominio de la aplicación  en un porcentaje alto, con un lenguaje explicado de una forma sencilla sin palabras tecnicas.

El método del libro correcto es plasmar los conocimientos de una forma  facil y amena sin ser aburrida, presentandolo todo de manera agradable, para asimilar en poco tiempo muchos conocimientos.

Los conocimientos se transmiten mejor con colores, letras grandes y tonos claros., siendo los párrafos cortos y sencillos.

El nivel de absorción de datos es mayor de cero a cuarenta años, siendo el declive a los cincuenta.

La información se clasifica atraves de ficheros de datos, ordenada tematicamente por temas. El orden puede ser secuencial o directo.

A la hora de hacer el indice de los temas es mejor la clasificación númerica a la alfabetica de menor a mayor, haciendo subdivisiones en los temas que corresponda en el mismo orden, siempre de forma secuencial.

¿QUE SON LAS ESTRUCTURAS DE DATOS?

Son diagramas lógicos para gestionar datos. Estas son de dos tipos:

  • estáticas: el almacenamiento es permanente
  • dinamicas: el almacenamiento no es estable.

Por lo que, es fundamental saber manipular los datos para utilizarlos con un fin concreto. Ejemplo de estructuras de datos son los arrays y ficheros. Pero las más utilizadas son las últimas, conteniendo en su interior información vital para las empresas y otros organismos.

Los arrays funcionan como una base de datos, una vez hecha la estructura se introducen los datos. Un conjunto de arrays es un fichero. Un conjunto de ficheros se almacena en memoria o dispositivos de almacenamiento exterior.

Un conjunto de los mismos forma un archivo de un tema determinado. Y un conjunto de archivos constituye una carpeta o directorio.

Los directorios o carpetas se encuentran en el directorio de windows 7, clasificados por el criterio de ordenación seleccionado. El explorador de windows se encarga de gestionarlos.

Los directorios se organizan en estructura de arbol, los principales cuelgan de la raiz principal y los subdirectorios del directorio padre conteniendo información relativa al mismo.

Esta estructura tiene su origen en MS-Dos.

¿ QUE ES UN SISTEMA OPERATIVO?

Es una aplicación que gestiona y optimiza los recursos de un ordenador, pudiendo hacer posible la comunicación con el usuario mediante comandos o ordenes para llevar a cabo determinadas tareas.

El sistema operativo más utilizado es windows. Hay otros sistemas operativos con linux, os/2 con cierto prestigio.

Windows es un sistema operativo visual, teniendo el usuario que utilizar el ratón para indicar al sistema operativo lo que tiene que hacer.

El interface o interprete de comandos es el elemento que tenemos para interactuar con el sistema operativo.

Las tareas a cometer se llevan a cabo mediante un listado de comandos, que colocandolos en las posiciones correctas realizan determinadas acciones previamente programadas.

Windows es el sistema operativa más facil de manejar al no tener que usar un interprete de comandos.

 

Comparte este Goo:

¿Tiene contenido inapropiado?

Comparte este goo con un amigo: