Vous êtes sur la page 1sur 31

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.
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
f
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
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
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
p p q q g p
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:
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
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
f d d dif i dif lid
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
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
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
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.
p

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


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
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


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.