40
Desarrollo de Software Técnicas y Herramientas Maturín, enero de 2013

Tecnicas y herramientas para el desarrollo de software

Embed Size (px)

DESCRIPTION

Técnicas y Herramientas para el Desarrollo de Software.

Citation preview

  • 1. Maturn, enero de 2013

2. Universidad de OrienteNcleo de Monagas Departamento de Ingeniera de SistemasAnlisis y Diseo de Sistemas de Informacin Desarrollo de Software:Tcnicas y HerramientasProfesor: Bachilleres:Ing. Jess Chaparro Arvalo, DanelysMayz, ReynaldoVerd, Roseln Maturn, enero de 2013 3. Definicin de Trminos BsicosDesarrollo de Software:Segn Letelier, P. en su escrito Proceso de desarrollo de software: Un proceso de desarrollo de software tiene como propsito la produccin eficaz y eficiente de un producto software que rena los requisitos del cliente. Dicho proceso, en trminos globales se muestra en la siguiente figura: Este proceso es intensamente intelectual, afectado por la creatividad y juicio de las personas involucradas. 4. Definicin de Trminos BsicosDesarrollo de Software:Los proyectos de desarrollo de software presentan ciertas particularidades que losdiferencian del resto de los proyectos de ingeniera, a saber: Un producto software en s es complejo, es prcticamente inviable conseguir un 100% de confiabilidad de un programa por pequeo que sea.Un producto software es intangible y por lo general muy abstracto, esto dificulta ladefinicin del producto y sus requisitos, sobre todo cuando no se tiene precedentes enproductos software similares. El proceso de desarrollo de software no es nico. No existe un proceso de software universal que sea efectivo para todos los contextos de proyectos de desarrollo. Debido a esta diversidad, es difcil automatizar todo un proceso de desarrollo de software. 5. Definicin de Trminos BsicosDesarrollo de Software:Solucin RequerimientosEmpresa Es la solucin ajustada a los requerimientos de una empresa u otro ente particular, surgiendo de una idea, necesidad o problema.IDEA, NECESIDAD O PROBLEMA 6. Definicin de Trminos BsicosTcnica:Es un procedimiento o conjunto de reglas, normas o protocolos, que tienen comoobjetivo obtener un resultado determinado, ya sea en el campo de la ciencia, de latecnologa, del arte, del deporte, de la educacin o en cualquier otra actividad.Segn Arias, F. en su libro El Proyecto de Investigacin:Se entender por tcnica, el procedimiento oforma particular de obtener datos o informacin. La aplicacin de una tcnica conduce a la obtencin de informacin, la cual debe ser guardada en un medio material de manera que los datos puedan ser recuperados, procesados, analizados e interpretados posteriormente. 7. Definicin de Trminos BsicosHerramienta:En un sentido amplio, una herramienta es un instrumento o recurso que se utilizapara realizar una actividad o trabajo. Sin embargo, segn el portal webalegsa.com.ar (diccionario de trminos informticos), la palabra herramientatambin puede ser definida como: Subprograma o mdulo encargado de funciones especficas y afines entre s para realizar una tarea. Una aplicacin o programa puede contar con mltiples herramientas a su disposicin. 8. Tcnicas parael Desarrollo de Software 9. Tcnicas para el Desarrollo de SoftwareExisten tres tipos de tcnicas dentro del proceso de desarrollo de software, queson:Tcnicas para la recopilacin de datos Tcnica de costo-beneficiosTcnica de planificacin y control de proyectos 10. Tcnicas para el Desarrollo de Software Tcnicas para la recopilacin de datos Son todos los medios o procedimientos posibles de los que se vale el investigador para obtener la informacin necesaria para el desarrollo de una investigacin. En este punto, podemos diferenciar entre dos tipos de informacin, segn su procedencia:Informacin obtenidaFuentesdirectamente de la Primarias realidad.Informacin obtenidaFuentesde investigacionesSecundariaspasadas. 11. Tcnicas para el Desarrollo de SoftwareTcnicas para la recopilacin de datosa) Observacin: La observacin es una tcnica que consiste en visualizar ocaptar mediante la vista, en forma sistemtica, cualquier hecho, fenmeno osituacin que se produzca en la naturaleza o en la sociedad, en funcin de unosobjetivos de investigacin preestablecidos. (Arias, F. El Proyecto deInvestigacin. 2006).Tipos de Observacin1) Observar a una persona o actitud sin que el observado se d cuenta.2) Observar una actividad o hecho sin intervenir para nada, pero estando lapersona observada enteramente consciente de la observacin.3) Observar y a la vez estar en contacto con las personas observadas. 12. Tcnicas para el Desarrollo de SoftwarePasos a seguir durante la observacin Determinar el objeto, situacin o caso que se va a observar. Determinar los objetivos de la observacin (para qu se va a observar?). Determinar la forma con que se van a registrar los datos. Realizar el proceso de observacin propiamente dicho, de manera cuidadosa y crtica. 13. Tcnicas para el Desarrollo de SoftwarePasos a seguir durante la observacinRegistrar los datos obtenidos a partir de laobservacin realizada.Analizar e interpretar los datos recolectados.Elaborar conclusiones.Elaborar el informe de observacin. 14. Tcnicas para el Desarrollo de SoftwareTcnicas para la recopilacin de datosb) Entrevista: La entrevista, ms que un simple interrogatorio, es una tcnicabasada en un dilogo o conversacin cara a cara, entre el entrevistador y elentrevistado acerca de un tema previamente determinado, de tal manera que elentrevistador pueda obtener la informacin requerida. (Arias, F. El Proyecto deInvestigacin. 2006).Tipos de EntrevistasEstructuradas: se tiene una gua prediseada con las preguntas a realizar.No Estructuradas: no se dispone de una gua de preguntas elaboradaspreviamente. El entrevistador debe improvisar, pero sin perder la coherencia.Mixtas: an cuando existe una gua de preguntas, el entrevistador puede realizarotras adicionales que no estaban contempladas inicialmente. 15. Tcnicas para el Desarrollo de SoftwareTcnicas para la recopilacin de datosc) Encuesta: Se define la encuesta como una tcnica que pretendeobtener informacin que suministra un grupo o muestra de sujetosacerca de s mismos, o en relacin con un tema en particular. (Arias,F. El Proyecto de Investigacin. 2006).Caractersticas de la EncuestaEstructuradas: se tiene una gua prediseada con las preguntas aLa encuesta no es una observacin directa derealizar.los hechos, sino por medio de lo que Es un mtodo preparado para la investigacin.manifiestan los interesados.No Estructuradas: no se dispone de una gua de preguntaselaboradas previamente. El entrevistador debe improvisar, pero sinperder la coherencia.masiva que mediantePermite una aplicacin Hace posible con que la investigacin social un sistema de muestreo pueda extenderse a llegue a los aspectos subjetivos de los una nacin entera.miembros de la sociedad.Mixtas: an cuando existe una gua de preguntas, el entrevistadorpuede realizar otras adicionales que no estaban contempladas 16. Tcnicas para el Desarrollo de SoftwareTipos de Encuestas Encuestas Abarca a todas las unidades estadsticas que componen elexhaustivas yuniverso o poblacin en estudio. Cuando una encuesta no esparcialesexhaustiva, se denomina parcial. La unidad estadstica se observa a travs de la investigacin Encuestas propuesta registrndose en el cuestionario. Ser indirecta directas e cuando los datos obtenidos no correspondan al objetivo indirectas principal de la encuesta. Encuestas sobre Su misin es averiguar lo que el pblico en general piensahechos y acerca de una determinada materia o lo que considera queencuestas de debe hacerse en una circunstancia concreta. opinin 17. Tcnicas para el Desarrollo de SoftwareTcnicas para la recopilacin de datosd) Cuestionario: Es la modalidad de encuesta que se realiza de formaescrita mediante un instrumento o formato en papel contentivo de unaserie de preguntas. (Arias, F. El Proyecto de Investigacin. 2006). inicialmente.PreguntasHechos o Investigacin aspectosEl cuestionario es un conjuntode preguntas sobre los hechos oaspectos que interesan en unaENCUESTADOSinvestigacin y son contestadospor los encuestados. 18. Tcnicas para el Desarrollo de SoftwareTipos de CuestionariosSegn el tipo de preguntas que se presenten en el cuestionario, podemosencontrar dos clasificaciones, a saber: Son los que no ofrecen opciones de Cuestionario derespuestas, sino que se da la libertad depreguntas abiertasresponder al encuestado, quien desarrollasu respuesta de manera independiente. Cuestionario deSon aquellos que establecen previamente preguntas cerradaslas opciones de respuesta que puede elegir el encuestado. Fuente: Arias, F. El Proyecto de Investigacin. 2006. 19. Tcnicas para el Desarrollo de SoftwareTcnicas para la recopilacin de datosd) Revisin documental: Es un proceso basado en labsqueda, recuperacin, anlisis crtica e interpretacin de datossecundarios, es decir, los obtenidos y registrados por otrosinvestigadores en fuentes documentales: impresas, audiovisuales oelectrnicas. (Arias, F. El Proyecto de Investigacin. 2006). La revisin documental hace aportes al marco terico y/o conceptual.Se busca por medio de esta tcnica investigativa estar actualizado en el tema que seexplora. 20. Tcnicas para el Desarrollo de Software Tcnica de Costo-Beneficio Fuente: Snchez, L. Anlisis de Costo/Beneficio de Soluciones de Software. 2008.Los costos y losCostoLa aplicacin debeneficios de la esta tcnicaintervencin se puede ayudar enexpresan enun posteriorunidadesproceso de tomamonetariasBeneficios de decisionesEl anlisis de costo- beneficio es una tcnica analtica que enumera y compara el costo neto de una intervencin con los beneficios quesurgen como consecuencia de aplicar dicha intervencin 21. Tcnicas para el Desarrollo de SoftwareDescripcin del ModeloA continuacin, se describen los elementos que debern contemplarse en laevaluacin de la situacin:1) Los costosA- Precio del Software: Generalmente se contempla el Licenciamiento y Soporte.B- Infraestructura: Todos los componentes de Hardware y Software requeridos.C- Implantacin: Consultora para instalacin y puesta en funcionamiento.D- Entrenamiento: Dirigido a los Usuarios de la Aplicacin.Costo Total de la Solucin (CTS) = A + B + C + D 22. Tcnicas para el Desarrollo de SoftwareDescripcin del Modelo2) Los beneficiosA- Mejora de Procesos: Conducen a reduccin de tiempo y recursos.B- Disponer de Sistemas de Informacin: Mejora la toma de decisiones y obtencin deingresos.C- Personal Motivado: Creciente moral del personal al funcionar en un entorno deherramientas modernas para el negocio.D- Intangibles: Otros beneficios intangibles que sean identificados y cuantificables.Beneficio Total de la Solucin (BTS) = A + B + C + D 23. Tcnicas para el Desarrollo de SoftwareDescripcin del Modelo3) Los resultados SiCTS < BTS SiCTS > BTS Si CTS < BTS entonces la solucin es viable. En caso contrario, no es recomendable 24. Tcnicas para el Desarrollo de SoftwareTcnica de Planificacin y Control de ProyectosInformacin disponible en: http://www.bicgalicia.es/procedimientos/pdf/PG-06_Gesti%C3%B3n_de_Compras_y_Evaluaci%C3%B3n_de_Proveedores.pdfLa Planificacin y Control de Proyectos de Software comprende una serie deprocedimientos. A continuacin, se presentarn los ms relevantes: Se describen losTodas lasPlanificacin dePlaneacin, progr Definir la DESARROLLO ENTRADASSALIDAS ALCANCEOBJETO pasos a seguir yactividadeslas actividades amacin y control estructura en la las medidas deencaminadas a la bien sea para de cada una deque se desglosan control a planeacin,desarrollar unlas actividades encada una de las establecerprogramacin y nuevo software, las que consistirtareas a realizar y control de cadao para modificarel proyecto designar una de las fases uno existente responsabilidadesEn este punto, no solamente se requiere la lista de las actividades o tareas a realizar, sino tambin una descripcin de dichas actividades. Para ello, se asume una estructura concreta con los detalles de la gestin y que sedesglosar en tres partes especficas: 25. Tcnicas para el Desarrollo de Software1) Planificacin2Descomponer el proyecto en actividades distintas. Luego, se14 5determinan las estimaciones de tiempo para cada actividad y se3construyen diagramas de red para estas actividades.2) Programacin Construir un grfico de tiempo donde se muestran los tiempos de iniciaciny terminacin para cada actividad y la relacin con el resto de las actividades delproyecto.3) ControlComprende el uso del diagrama de flechas y la grfica de tiempo para hacerreportes peridicos del progreso . Se debe analizar la secuencia de las actividades y, sies necesario, determinar un nuevo programa para la parte restante del proyecto. 26. Herramientas para el Desarrollo de Software 27. Herramientas para el Desarrollo de SoftwareLas Herramientas de Ayuda al Desarrollo de Sistemas deHerramientasInformacin, surgieron para intentar dar solucin a losproblemas inherentes a los proyectos de generacin deaplicaciones informticas: plazos y presupuestos incumplidos,insatisfaccin del usuario, escasa productividad y baja calidad Solucin de los desarrollos. ProblemasAplicaciones informticasPlazos y presupuestosincumplidosProyectosInsatisfaccin del usuarioEscasa productividadBaja calidad de los desarrollosInformacin disponible en: http://www.monografias.com/trabajos73/herramientas-case-proceso-desarrollo-software/herramientas-case-proceso-desarrollo-software.shtml 28. Herramientas para el Desarrollo de SoftwareComputer Aided Ingeniera de SoftwareSoftware Engineering CASEAsistida por Ordenador Mejorar la calidadFourth Generation4GL Lenguajes de Cuarta Languages Generacin Mejorar la productividad Algunas de las Herramientas de Ayuda al Desarrollo de Sistemas de Informacin se dirigen principalmente a mejorar la calidad, como es el caso de las herramientas CASE. Otras van dirigidas a mejorar la productividad durante la fase de construccin, como es el caso de los Lenguajes de Cuarta Generacin.Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 29. Herramientas para el Desarrollo de Software Herramientas CASE Mtodos CompletamenteUtilidadesAutomatizacinCiclo de vidaSistemas de Inf.Fases TcnicasLas Herramientas CASE son un conjunto de mtodos, utilidades ytcnicas que facilitan la automatizacin del ciclo de vida del desarrollode sistemas de informacin, completamente o en alguna de sus fases.Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 30. Herramientas para el Desarrollo de SoftwareHerramientas CASEEl empleo de herramientas Case permiten integrar el proceso de ciclo de vida: Anlisis de datos y procesos integrados mediante un repositorio. Generacin de interfases entre el anlisis y el diseo. Generacin del cdigo a partir del diseo. Control de mantenimiento.Tipos de CASENo existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcilincluirlas en una clase determinada. Podran clasificarse atendiendo a: Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad. 31. Herramientas para el Desarrollo de SoftwareHerramientas CASEClasificacin de las Herramientas CASE segn las fases del ciclo de vida abarcadas:CASE integrado: abarcan CASE superior: orientadas a latodas las fases del ciclo deautomatizacin y soportevida del desarrollo de I-CASE U-CASEde las actividades de la fasesistemas. inicial : anlisis y diseo. Herramientas CASEJuegos de Herramientas:CASE inferior: dirigidas a lasorientadas al mantenimiento. ltimas fases del desarrollo:Automatizan una faseToolkitsL-CASE construccindentro del ciclo de vida. e implantacin.Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 32. Herramientas para el Desarrollo de SoftwareHerramientas CASETabla comparativa de las Herramientas CASE segn las fases del ciclo de vida abarcadas: Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 33. Herramientas para el Desarrollo de SoftwareHerramientas CASEClasificacin de las Herramientas CASE segn su funcionalidad: Herramientas de planificacin de sistemas de gestin: Su objetivo principal es ayudar acomprender mejor cmo se mueve la informacin entre las distintas unidades organizativas. 1 Herramientas de anlisis y diseo: Permiten al desarrollador crear un modelo del sistema quese va a construir y tambin la evaluacin de la validez y consistencia de este modelo. 2 Herramientas de programacin: Se engloban aqu los compiladores, los editores y los 3depuradores de los lenguajes de programacin convencionales. Herramientas de integracin y prueba: Sirven de ayuda a la adquisicin, medicin, simulacin y 4prueba de los equipos lgicos desarrollados. Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 34. Herramientas para el Desarrollo de SoftwareHerramientas CASEClasificacin de las Herramientas CASE segn su funcionalidad: Herramientas de gestin de prototipos: Los prototipos son utilizados ampliamente en el 5desarrollo de aplicaciones, para evaluar las especificaciones de un sistema de informacin. Herramientas de mantenimiento: Esta categora se puede subdividir en: Herramientas de 6ingeniera inversa, herramientas de reestructuracin y anlisis de cdigo, y de reingeniera. Herramientas de gestin de proyectos: Se centran en un elemento especfico de la gestin del 7proyecto, en lugar de proporcionar un soporte global para la actividad de gestin. Herramientas de soporte: Se engloban aqu las herramientas que recogen las actividades 8aplicables en todo el proceso de desarrollo: de documentacin, de bases de datos, etc. Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 35. Herramientas para el Desarrollo de SoftwareOtra clasificacin, diferencia las funciones CASE en cinco grupos:Soporte delciclo devida Re-Repositorioingeniera Herramientas CASEMejora Soporte continua dede calidad proyecto Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 36. Herramientas para el Desarrollo de SoftwareSoporte delciclo devidaRepositorio:Funcionan entorno a un repositoriocentral, siendo ste el ncleofundamental que contiene todas lasRe- definiciones de objeto y sus Repositoriorelaciones. Los objetos pueden ser ingenieraespecificaciones del sistema enHerramientasforma de diagramas de flujo deCASEdatos, diagramas entidad-relacin,esquemas de bases de datos,diseos de pantallas, etc.MejoraSoporte continuadede calidadproyecto Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 37. Herramientas para el Desarrollo de SoftwareSoporte delciclo devidaSoporte del ciclo de vida:El ciclo de vida de una aplicacin o deun sistema de informacin secompone de varias etapas, a saber:Re- Planeamiento, Anlisis y Diseo, RepositorioImplantacin y Mantenimiento y ingenieraactualizacin. Los sistemas CaseHerramientaspueden cubrir la totalidad de estasCASEfases o bien especializarse enalguna(s) de ellas.MejoraSoporte continuadede calidadproyecto Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 38. Herramientas para el Desarrollo de SoftwareSoporte delciclo devidaRe-ingeniera:Facilitala realizacin demodificaciones en la fase msadecuada en cada caso y su trasladoRe- a las dems. Al conjunto de Repositoriofacilidades proporcionadas por la ingenieraingeniera directa e "inversa" se leHerramientasdenomina "re-ingeniera".CASEMejoraSoporte continuadede calidadproyecto Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 39. Herramientas para el Desarrollo de SoftwareSoporte delciclo devidaSoporte de proyecto:Este tipo de funciones hacereferencia al soporte de actividadesque se producen durante elRe- desarrollo, derivadas Repositoriofundamentalmente del trabajo en ingenieragrupos, tales como facilidades deHerramientascomunicacin, soporte a laCASEcreacin, modificacin eintercambio de documentacin,herramientas personales, controlesde seguridad, etc.MejoraSoporte continuadede calidadproyecto Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/ 40. Herramientas para el Desarrollo de SoftwareSoporte delciclo deMejora continua de calidad:vidaDeterminadossistemas Caseintroducen herramientas quepermiten ejercer un control intensoRe- de garanta de calidad del software Repositoriodesarrollado desde las primeras ingenierafases de su ciclo de vida.HerramientasCASEMejoraSoporte continuadede calidadproyecto Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/