Conceptos de Programacion I
-
Upload
gabrielinuz -
Category
Documents
-
view
216 -
download
0
Transcript of Conceptos de Programacion I
-
7/23/2019 Conceptos de Programacion I
1/4
Programacin I (Gabriel Pimentel), resumen de teora.
Conceptos(Resumen)
Computadora:
Como metamedio de representacin y expresin: Es capaz demodificar la comunicacin, es un medio que podemos modificarcon el lenguaje, la representacin concreta la construimosnosotros con observacin !n metamedio es un medio que se puede
transformar en otro medio !n amplificador de fantas"as: !n programa es una ilusin, una
fantas"a, es #til pero cuando apagamos la computadora ya noexiste
Es el proteo de las m$quinas %&eymour 'apert(: 'roteo es eldios de las )*** caras Entonces la computadora es un simuladoral cual, por ejemplo, le puedo decir que sea un reloj,escribiendo un mensaje %programa( de lo que yo imagino que esun reloj Es por eso la computadora es el 'roteo de lasm$quinas puede tomar muc+as formas
Lenguaje: Es lo que nos permite dar forma al medio
Mensaje: Es la simulacin de una idea
Idea: Es una jerarqu"a de abstracciones de la realidad
Abstraccin: Cita a ulf: -.osotros +emos desarrollado una t/cnicaexcepcionalmente potente para tratar con la complejidad .os abstraemos deella, la ignoramos 0ncapaces de manejar la totalidad de un objeto complejo,elegimos ignorar aquellos detalles no esenciales, tratando en lugar con unmodelo generalizado e idealizado de /l-
1bstraccin como proceso%verbo(: 1ccin de seleccionar losdetalles esenciales de una cosa o proceso, ignorando las noesenciales
1bstraccin como entidad %sustantivo(: 2esultado del proceso deabstraccin 34 5odelo, visin u otra representacinsimplificada de una cosa o grupo de estas
1bstraccin como cualidad %adjetivo(: Es la relacin con lacosa que permite calificarla como abstracta o concreta Essubjetiva%relativa al sujeto(
2ol de la 1bstraccin:El propsito de la abstraccin en la programacines -separar comportamiento de implementacinuna abstraccines definidapor especificacin e implementada por un mdulo-
6a especificacin establece qu/ es importante en una abstraccin, y laimplementacin resulta en una realizacin particular, una concrecin, en un
lenguaje determinado o m$s espec"ficamente en el $mbito de un sistema de tipodeterminado, de esa especificacin
Abstraccin, Ocultamiento de Informacin !ncapsulacin: son conceptosdiferentes pero fuertemente relacionados Laabstraccines la t/cnica que nosayuda a identificar que es significativo y que no lo es de un objeto !lOcultamiento de Informacin es la t/cnica que nos permite enfatizar, +acervisibles, que aspectos son esenciales a la entidad y cuales no Laencapsulacines la t/cnica que nos permite con lo significativo y lo que no loes, construir una entidad co+esiva, una capsula
Importante no confundir: la abstraccin es la t/cnica que nos permiteidentificar que no debe ser visible y ocultamiento de informacines la t/cnica
que nos permite que aquello que debe permanecer oculto, permanezca de esamanera
-
7/23/2019 Conceptos de Programacion I
2/4
"rogramacin:Es el proceso de construir modelos a partir de la realidad condistintos vocabularios 6o que pasa es que no existe un solovocabulario7lenguaje que exprese todas las realidades
8odo programa puede ser visto como un modelo de ciertos aspectos yprocesos de la realidad Como todo modelo, un programa es una abstraccin, unaidentificacin selectiva de las cualidades o propiedades importantes delfenmeno que se est$ modelando
Algoritmo: Especificacin precisa de la serie de pasos para resolver unproblema o alcanzar un determinado fin 9ebe:
&er 'reciso: 2elacin 1lgoritmo7Ejecutor &er .o ambiguo
&er inito
8ener 1bstraccin de alto nivel
#eorema de la estructura: 8odo programa propio puede expresarse en unacombinacin de ; estructuras
1. &ecuencia
2. &eleccin Mapeo de la realidad muy complejo.; 0teracin
Recursin: se dice que algo%objeto(es recursivo si est$ formado en parte por simismo o est$ definido en si mismo Cuando puedo representar un problema conrecursin encontr/ un lugar cerca del caos, por ejemplo encontrar unarepresentacin finita de un conjunto infinito %6os n#meros naturales(, por esoa los matem$ticos les encanta 6a recursin nos ubica en un lugar donde laestructura vence a la energ"a %entrop"a( 6a recursin +ay que evitarla dondeno se puede demostrar que el algoritmo termina, la recursin estructural esmejor , me permite econom"a, al tener estructura que expresa muc+o necesitopoca algoritmia 2ecursin y algoritmo es la aplicacin de un metodo en unsubespacio del problema +asta arrivar a una solucion
Resolucin de "roblemas:es la combinacin de diferentes procesos cognitivosorganizados para el logro de un objetivo
6a resolucin de problemas est$ caracterizada por dos aspectos: proceso
estructura$ 'roceso caracteriza a razonar o pensar acerca del problema y elresultado de ese razonamiento es lo que denominamos estructura
%orma de pensar acerca de "roblemas:
0nduccin: se relaciona con la experiencia
9educcin: constituye una forma de aprendizaje
Representacin de la !structura:
uncin: se representa cuando se codifica comportamiento
orma: se representa cuando se clasifican caracter"sticas
"aradigma: %la forma de pensar acerca de algo(Es un conjunto deconvenciones que utilizamos para comprender el mundo que nos rodea, unavisin del mundo, una perspectiva general, una forma de desmenuzar lacomplejidad
'aradigma uncional: &i las abstracciones son el resultado de pensaracerca de la funcin
'aradigma * gracias a
la investigaciones de 9ij?stra, los resultados de su trabajo, junto al deotros, sentaron las bases de la llamada 'rogramacin Estructurada
Ciclo de esarrollo: Es la descomposicin en fases del proceso de desarrollopara intentar tener un orden en el cual cada una de las fases da resultados oespecificaciones que servir$n como entrada a la fase siguiente
-
7/23/2019 Conceptos de Programacion I
3/4
!n ejemplo de ciclo de desarrollo es el modelo en cascada de 2oyce publicado enla decada del @*, aunque fue mal entendido, ya que promulgaron la idea de queun sof=are pod"a ser analizado completamente antes de ser diseAado, y que pod"aser diseAado antes de ser codificado
*ap 'em+ntico: Es la distancia que +ay entre los aspectos mas importantes de larealidad%las abstraciones identificadas( y su modelo en el espacio de lassoluciones
Isomorfismo !structural: 9ebe captarse la estructura in+erente del problema en
la solucin
Criterios de escomposicin:6a descomposicin funcional promueve una visin descendente o top do=n,desventajas:
6as metodolog"as 8op 9o=n no tienen en cuenta la evolucin del diseAo 34arquitecturas resultantes poco resistentes al cambio
El sistema es caracterizado por una #nica funcin o por un n#mero reducidode estas
Estas metodolog"as est$n basadas en una percepcin funcional se subestimanaspectos vinculados a la estructura de los datos
6as metodolog"as 8op 9o=n no promueven la reusabilidad%cumplen
descomposicin modular pero no composicin modular(
Le del Cambio Continuo: !n programa que es usado en un entorno real debecambiar o progresivamente se volver$ menos #til en ese entorno%5eir 5anny6e+man(
Le de entrop&a del softare: 1 medida que un programa evoluciona, deviene masy mas complejo y se requieren m$s y m$s recursos para preservar y simplificarsu estructura%5eir 5anny 6e+man(
Calidad:
9esde el punto de su especificacin: el grado en el cual el producto
satisface los requerimientos especificados 9esde la relacin de las personas con el producto: el grado en el cual se
satisfacen las necesidades o expectativas de los usuarios"Sin calidad interna no hay calidad eterna"
Calidad Externa: velocidad de uso%usuarios(, facilidad deuso%usuarios(, extensibilidad%contratantes de desarrollo(
Calidad 0nterna: modularidad, reusabilidad, entendibilidad%desarrolladores(
%actores de Calidad:
Correccin: es la +abilidad de una entidad de soft=are de ejecutarexactamente su tarea, tal como fue definida por especificacin yrequerimientos
Robuste: es la +abilidad de una entidad de soft=are de funcionar a#nen condiciones anormales %no especificadas(
!-tensibilidad: es la facilidad con la que una entidad de soft=arepuede ser adaptada a los cambios en las especificaciones 'recisa desimplicidad de diseo y descentralizacin.
Reusabilidad: es la +abilidad de una entidad de soft=are de ser re#sadaen conjunto o en parte en la construccin de nuevas entidades
Compatibilidad: es la facilidad con la que una entidad de soft=arepuede integrarse o ser combinada %interactuar( con otras
!ficiencia: es la caracter"stica de una entidad de soft=are de demandartan pocos recursos como sea posible de una plataforma de +ard=are
Otros %actores:
%iabilidad: unin de correccin y robustez
"ortabilidad: es la facilidad con la cual una entidad de soft=arepuede ser transferida a varios entornos de soft=are y +ard=are
.erificabilidad: es la facilidad con la que pueden prepararseprocedimientos de aceptacin y depuracin de una entidad de
-
7/23/2019 Conceptos de Programacion I
4/4
soft=are
Integridad: es la +abilidad de una entidad de soft=are para protegersus componentes contra accesos y modificaciones no autorizadas
%acilidad de uso: es la facilidad de aprender como usar un sistemade soft=are, operarlo, preparar los datos de entrada, interpretarresultados y recuperarse de errores
/alance de Calidad:Bay requerimientos que no son totalmente compatibles:integridad %protecciones y barreras( puede degradar facilidad de uso,eficiencia%adaptarse muc+o a un entorno particular( puede degradar
portabilidad y una perfecta adaptacin a la especificacin comprometereusabilidad y extensibilidad
Mantenimiento: !n producto de soft=are no se gasta por su uso repetido, as" queno necesita ser mantenido de manera convencional 6a parte noble delmantenimiento es la modificacin, a medidas que las especificaciones cambian6a parte menos noble es la depuracin, corregir errores que nunca deber"an+aber estado all"
Refinamiento 'ucesi0o