Está en la página 1de 15

INSTITUTO TECNOLOGICO SUPERIOR DE ALVARADO Campus Medelln

INGENIERA INDUSTRIAL
Materia: Algoritmos Y Lenguajes De Programacion.

Semestre - Grupo - Sistema: 4 Semestre - Grupo B Semiescolarizado.

Producto Acadmico: Investigacin Documental U3 Metodologas Para El Diseo De Software

Presenta: Calles Murillo Nancy Prez Banda Vicente Arturo. Castillo Lara Gerardo. Alarcn Fernndez Alder. Docente: I.S.C: Gregorio Martnez Vsquez
MEDELLIN DE BRAVO, VER. FEB. JUN. 2013
1

INDICE

ndice ........................................................................................................................... 2 Objetivo del trabajo ..................................................................................................... 3 Introduccin ................................................................................................................. 4 Metodologas Para El Desarrollo De Software ............................................................ 5 Tipo De Metodologas ............................................................................................. 7 Metodologa Estructurada ............................................................................... 7 Metodologa Orientada A Objetos ................................................................... 8 Tipos De Programacin ............................................................................................... 9 Programacin Modular .................................................................................... 9 Programacin Estructurada........................................................................... 10 Tcnicas Principales De Diseo De Algoritmos De Programacin............................ 11 Top Down ...................................................................................................... 11 Bottom Up ..................................................................................................... 12 Diferencias Entre Top Down Y Bottom Up .................................................... 13 Conclusin................................................................................................................. 14 Bibliografas............................................................................................................... 15

OBJETIVO

El presente trabajo tiene la finalidad de dar a conocer los tipos de metodologas utilizadas frecuentemente en la estructuracin de software con base a las caractersticas que esta poseen. Bsicamente se pretende ilustrar al lector en el mbito de algoritmos y programacin, haciendo hincapi a los elementos principales como lo son, las metodologas de diseo, los tipos de programacin, y las tcnicas de diseo de algoritmos; con la finalidad de plantear un previo conocimiento dentro de este mbito con generalidades diversas.

INTRODUCCION

Actualmente el campo de la tecnologa ha tenido un crecimiento notorio en gran variedad de mbitos incorporados a la sociedad, pues este campo hace que las tareas a realizar sean ms fciles de desarrollar, por lo cual hoy en da los algoritmos y la programacin juegan un rol importante en las implantaciones que se incorporan a la solucin de problemas da a da. En el presente trabajo se podr encontrar el como parte la programacin atraves de ciertas metodologas fundamentales las cuales tienes diversas tareas segn su caso de aplicacin y en donde se toma en cuenta de manera estricta el tipo de programacin ms apto para la solucin del problema planteado. Tambin se hace mencin de los tipos de tcnicas de diseo de algoritmos y de cmo estas son importantes para la programacin en gran escala, as como se ara mencin de la diferencia que prevalecen entre estas.

Esperemos que esta informacin sea de gran utilidad y sobretodo les ayude a tener una mejor compresin de los conceptos de programacin presentes en esta redaccin.

ENHORABUENA Y MUCHA SUERTE!

METODOLOGAS PARA EL DESARROLLO DE SOFTWARE

Metodologa de desarrollo de software se describe como el conjunto de herramientas, tcnicas, procedimientos y soporte documental para el diseo de Sistemas de informacin. Es decir particularmente, una metodologa se basa en una combinacin de los modelos de proceso genricos para obtener como beneficio un software que soluciones un problema, pues bsicamente un proceso de software detallado y completo se denomina Metodologa.

En Ingeniera de software cuando se habla de desarrollo de software se habla de desarrollo de programas y por lo tanto se considera como una tarea de ingeniera, en el cul se debe ejecutar una serie de fases, etapas para obtener un programa que funcione de acuerdo con mtodos ya establecidos en otras disciplinas de ingeniera.

Las actividades que los ingenieros de software realizan se encuentran asociadas a un proceso de software donde intervienen diferentes elementos (fases, actividades, producto, roles, agentes) que permiten la definicin del software a producir (producto), el desarrollo o el diseo del software, la validacin del software tanto lo interno (requerimientos especficos) como lo externo (expectativas del cliente), y la evolucin del software donde se modifica para adaptarlo a los cambios.

Con base

esto se dice que adicionalmente una metodologa debe definir con

precisin de los artefactos, roles y actividades, junto con prcticas, tcnicas recomendadas y guas de adaptacin de la metodologa al proyecto. Sin embargo, la complejidad del proceso de creacin de software es netamente dependiente de la naturaleza del proyecto mismo, por lo que la seleccin de la metodologa estar acorde al nivel de aporte del proyecto, ya sea pequeo, mediano o de gran nivel.

Como se ha mencionado, las metodologas se basan en una combinacin de los modelos de proceso genricos (cascada, evolutivo, incremental, espiral entre otros), en donde habitualmente se utiliza el trmino mtodo para referirse a tcnicas, notaciones y guas asociadas, que son aplicables a una (o algunas) actividades del proceso de desarrollo, por ejemplo, suele hablarse de mtodos de anlisis y/o diseo segn el tipo de proyecto en cuestin, planteando as alternativas de solucin correspondientes.

TIPOS DE METODOLOGIAS

La comparacin y/o clasificacin de metodologas no es una tarea sencilla debido a la diversidad de propuestas y diferencias en el grado de detalle, informacin disponible y alcance de cada una de ellas. A grandes rasgos, si tomamos como criterio las notaciones utilizadas para especificar artefactos producidos en actividades de anlisis y diseo, podemos clasificar las metodologas en dos grupos:

Metodologas Estructuradas Metodologas Orientadas a Objetos.

METODOLOGAS ESTRUCTURADAS

Los mtodos estructurados comenzaron a desarrollarse a fines de los 70s con la Programacin Estructurada, para que posteriormente a mediados de los 70s se desarrollaran las tcnicas para el diseo, como lo son el Diagrama De Estructura y posteriormente para el anlisis como lo son los Diagramas De Flujo De Datos. Estas metodologas son particularmente apropiadas para la generacin de proyectos en donde se utilizan la implementacin lenguajes de 3ra y 4ta generacin ya que en esta los programas estn divididos en distintos bloques, los cuales tienen funciones que se van confeccionado en forma de arriba-abajo, empezando desde las generales hasta las particulares, hasta llegar a detallar cada uno de los procedimientos y su interaccin

METODOLOGAS ORIENTADAS A OBJETOS

Esta metodologa se basa en la manipulacin de los procesos y datos de manera conjunta. Esta comienza a mediados de los aos 80 con los lenguajes de programacin Orienta a Objetos. La orientacin a objetos empieza, como se mencion anteriormente, con los lenguajes de programacin orientada a objetos; en los que se daba nfasis a la abstraccin de los datos para los que se adjuntaba un conjunto de operaciones. Algunos ejemplos de este lenguaje son C++, Java.

En esta metodologa el sistema se organiza como una coleccin de objetos que interactan entre s y que contienen tanto estructuras de datos como un comportamiento ya que comprende dividir un programa en clases, donde estas clases estarn estructuradas por propiedades, atributos, variables, pretendiendo simular y describir de manera conceptual a un objeto. Esto se opone a la programacin convencional (programacin de los aos 50s), en la cual las estructuras de datos y el comportamiento solamente estn relacionadas de forma dbil, ya que estos se enfocan principalmente a las funciones.

TIPOS DE PROGRAMACION
PROGRAMACION MODULAR
La programacin modular es uno de los mtodos de diseo ms flexibles y potentes para mejorar la productividad de un programa. En programacin modular el programa se divide en mdulos (partes independientes), cada una de las cuales ejecuta una nica actividad o tarea y se codifican independientemente de otros mdulos. Cada uno de estos mdulos se analizan y se codifican por separado.

Cada programa contiene un mdulo denominado programa principal (denominado tambin raz), que controla todo lo que sucede y el cual transfiere el control a submdulos (posteriormente se denominan subprogramas), de modo que ellos puedan ejecutar sus funciones; sin embargo, cada submdulo devuelve el control al mdulo principal cuando termina su tarea. Si la tarea asignada a cada submdulo es demasiado compleja, ste deber dividirse en otros mdulos ms pequeos.

El proceso sucesivo de subdivisin de mdulos contina hasta que cada mdulo tenga solamente una tareas especfica que ejecutar.

Raz

Los mdulos son independientes en el sentido de que ningn mdulo puede


Mdulo 3

Mdulo 1

Mdulo 2

tener acceso directo a cualquier otro mdulo excepto el mdulo al que llama

Mdulo 11

Mdulo 12

Mdulo 31

y a sus propios submdulos.

Sin

embrago, los resultados producidos


Mdulo 21 Mdulo 22

por un mdulo pueden ser utilizados por cualquier otro mdulo cuando se

Mdulo 211

Mdulo 212

transfiera a ellos el control.

Dado que los mdulos son independientes, diferentes programadores pueden trabajar simultneamente en diferentes partes del mismo programa. Esto reducir el tiempo del diseo del algoritmo y de la posterior codificacin. Adems un mdulo se puede modificar radicalmente sin afectar a otros mdulos.

PROGRAMACION ESTRUCTURADA
El trmino programacin estructurada se refiere a un conjunto de tcnicas que aumentan considerablemente la productividad del programa, reduciendo en elevado grado el tiempo requerido para escribir, verificar, depurar y mantener los programas. La programacin estructurada utiliza un nmero limitado de estructuras de control que minimizan la complejidad de los programas y, por consiguiente, reducen los errores lo cual hace a los programas ms fciles de escribir, verificar, leer y mantener.

En este tipo de programacin, los programas estn divididos en distintos bloques, los cuales tienen funciones que se van confeccionado en forma de arriba-abajo, empezando desde las generales hasta las particulares, hasta llegar a detallar cada uno de los procedimientos y su interaccin

Bsicamente la programacin estructurada significa escribir un programa de acuerdo a las siguientes reglas: El programa tiene un diseo modular Los mdulos son diseados de modo descendente Cada mdulo se codifica utilizando las tres estructuras de control bsicas: secuencia, seleccin y repeticin.

10

TCNICAS PRINCIPALES DE DISEO DE ALGORITMOS DE PROGRAMACIN

TOP DOWN
Tambin conocida como de arriba-abajo, esta tcnica establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solucin al problema. Consiste en efectuar una relacin entre las etapas de la estructuracin de forma que una etapa jerrquica y su inmediato inferior se relacionen mediante entradas y salidas de informacin. Este diseo bsicamente se refiere a una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa.

La utilizacin de la tcnica de diseo Top-Down tiene los siguientes objetivos bsicos:

Simplificacin problema y de

del los

subprogramas de cada descomposicin.

Las diferentes partes del problema pueden ser programadas de modo independiente e incluso por diferentes personas.

El programa final queda estructurado en forma de bloque o mdulos lo que hace ms sencilla su lectura y mantenimiento.

BOTTOM UP
11

La tcnica de diseo bottom-up hace referencia a las partes individuales que se disean con detalle y luego se enlazan para formar componentes ms grandes, que a su vez se enlazan hasta que se forma el sistema completo. Las estrategias basadas en el flujo de informacin "bottom-up" se caracterizan potencialmente necesarias y suficientes porque se basan en el conocimiento de todas las variables que pueden afectar los elementos del sistema.

Bsicamente se refiere a la identificacin de aquellos procesos que necesitan computarizarse conforme vayan apareciendo, su anlisis como sistema y su codificacin, o bien, la adquisicin de paquetes de software para satisfacer el problema inmediato.

Cuando la programacin se realiza internamente y haciendo un enfoque ascendente, es difcil llegar a integrar los subsistemas al grado tal de que el desempeo global, sea fluido. Los problemas de integracin entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programacin alcanza la fecha lmite para la integracin total del sistema, ya que en ese tiempo se cuenta con muy poco tiempo, presupuesto y/o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran.

Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente. Uno de ellos es la duplicacin de esfuerzos para acceder el software y ms an al introducir los datos. Otro es, la introduccin de datos carentes de valor al sistema y un tercero y tal vez el ms serio inconveniente del enfoque ascendente, es que los objetivos globales de la organizacin no fueron considerados y en consecuencia no se satisfacen.

12

DIFERENCIAS ENTRE EL TOP DOWN Y EL BOTTOM UP


La diferencia entre estas dos tcnicas de programacin se fundamenta en el resultado que presentan frente a un problema dado.

Por ejemplo:

Imagine una empresa, la cual se compone de varios departamentos (contabilidad, mercadeo,), en cada uno de ellos se fueron presentando problemas a los cuales se le dieron una solucin basados en un enfoque ascendente (Bottom Up): creando programas que satisfacan slo el problema que se presentaba.

Cuando la empresa decidi integrar un sistema global para suplir todas las necesidades de todos los departamentos se dio cuenta que cada una de las soluciones presentadas no era compatible la una con la otra, no representaba una globalidad, caracterstica principal de los sistemas.

Como no hubo un previo anlisis, diseo de una solucin a nivel global en todos sus departamentos, centralizacin de informacin, que son caractersticas propias de un diseo descendente (Top Down) y caractersticas fundamentales de los sistemas; la empresa no pudo satisfacer su necesidad a nivel global por lo tanto con base a esto la creacin de algoritmos es basado sobre la tcnica descendente, la cual brinda el diseo ideal para la solucin de un problema.

13

CONCLUSIONES

En conclusin podemos agregar que una metodologa se basa en una combinacin de los modelos de proceso genricos para obtener como beneficio un software que soluciona un problema determinado ya que las trascendencias de estas se ha hecho notorias, pasando de solo programar, a establecer funciones en etapas o mdulos, as como tambin en objetos, agilizando as el desarrollo del software para la disminucin de los costos en estos. En resumen las metodologas as como tambin los tipos de programacin y las tcnicas de diseo de algoritmos, son elementos de gran importancia dentro del mbito de la tecnologa pues su conocimiento previo hace ms fcil el entendimiento de la programacin as como tambin nos permite tener una mejor perspectiva del avance tecnolgico ya que estos elementos informticos son en parte, el primer paso para la innovacin tecnolgica empleada a la solucin de problemas. Por tanto tener en cuenta estos conomientos, nos permitir tener mejores opciones para la solucin de un problema pues hoy en da la aplicacin de software es uno de los mtodos solucin ms frecuente lo que hace que su conocimiento sea escencial y aplicable.

14

BIBLIOGRAFIA

http://procesosdesoftware.wikispaces.com/METODOLOGIAS+PARA+DESARROLLO +DE+SOFTWARE http://www.iesjuandelacierva.com/paginade/fupro/apuntes/ut10.htm http://wiki.monagas.udo.edu.ve/index.php/Metodolog%C3%ADas_para_el_desarrollo _de_software http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_terminados/PolilibroFC/U nidad_III/Unidad%20III_8.htm http://www.slideshare.net/VicenteArturoPerezBanda/savedfiles?s_title=metodologapara-el-diseo-de-software&user_login=Adark http://sedici.unlp.edu.ar/bitstream/handle/10915/3835/2__Metodolog%C3%ADas_de_dise%C3%B1o_de_hardware.pdf?sequence=4 http://programacionfacil.wikispaces.com/file/view/Parte_4.pdf

15