Tecnicas y herramientas de desarrollo de software(1)

54
UNIVERSIDAD DE ORIENTE DEPARTAMENTO DE INGENIERÍA DE SISTEMAS ANÁLISIS Y DISEÑO DE SISTEMAS DE INFORMACIÓN –UNIDAD IV TECNICAS Y HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE Nombre del equipo: Escorpión Integrantes: Gustavo Serrano C.I:18.595.529 Virginia Henríquez C.I:20.138.334. Carlos Rivas C.I:19.663.032

description

 

Transcript of Tecnicas y herramientas de desarrollo de software(1)

Page 1: Tecnicas y herramientas de desarrollo de software(1)

UNIVERSIDAD DE ORIENTEDEPARTAMENTO DE INGENIERÍA DE SISTEMAS

ANÁLISIS Y DISEÑO DE SISTEMAS DE INFORMACIÓN –UNIDAD IV

TECNICAS Y HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE

Nombre del equipo: Escorpión

Integrantes:

Gustavo Serrano C.I:18.595.529

Virginia Henríquez C.I:20.138.334.

Carlos Rivas C.I:19.663.032

Page 2: Tecnicas y herramientas de desarrollo de software(1)

CONTENIDO DE LA UNIDAD V:

Técnicas de desarrollo de software• Técnica para la recopilación de datos• Técnica de costo-beneficios• Técnica de planificación y control de proyectos

Herramientas para desarrollo de software• Herramientas para ingeniería de software asistido

(CASE)• Características de las herramientas CASE• Clasificación de las herramientas CASE• Tipos de herramientas CASE

Page 3: Tecnicas y herramientas de desarrollo de software(1)

TECNICAS DE DESARROLLO DE SOFTWARE:

Técnicas de recolección de datos:La recolección de datos se refiere al uso de una gran diversidad de técnicas y herramientas que pueden ser utilizadas por el analista para desarrollar los sistemas de información.

Todas estos instrumentos se aplicará en un momento en particular, con la finalidad de buscar información que será útil a una investigación en común.

Existen dos tipos de recolección de datos:

Primarios Secundarios

Es aquella información que se obtiene directamente de la realidad misma, sin sufrir ningún proceso de elaboración previa. Son las que el investigador recoge por si mismo en contacto con la realidad.

Son registros escritos que proceden también de un contacto con la realidad, pero que han sido recogidos y muchas veces procesados por sus investigadores.

Page 4: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICAS DE RECOLECCIÓN DE DATOS

La Observación La entrevista La Encuesta Cuestionario

Primarios

Page 5: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICAS DE RECOLECCIÓN DE DATOS

Es una técnica que consiste en observar atentamente el fenómeno, hecho o caso, tomar información y registrarla para su posterior análisis. La observación es un elemento fundamental de todo proceso investigativo; en ella se apoya el investigador para obtener el mayor número de datos. Gran parte del acervo de conocimientos que constituye la ciencia ha sido lograda mediante la observación.

La Observación

Page 6: Tecnicas y herramientas de desarrollo de software(1)

Tipos de Observación1. El analista de sistemas puede observar de tres maneras

básicas: Puede observar a una persona o actitud sin que el observado se dé cuenta y su interacción por aparte del propio analista. Quizá esta alternativa tenga poca importancia para el análisis de sistemas, puesto que resulta casi imposible reunir las condiciones necesarias.

2. El analista puede observar una operación sin intervenir para nada, pero estando la persona observada enteramente consciente de la observación.

3. Puede observar y a la vez estar en contacto con las personas observas. La interacción puede consistir simplemente en preguntar respecto a una tarea específica, pedir una explicación, entre otros.

TÉCNICAS DE RECOLECCIÓN DE DATOS

La Observación

Page 7: Tecnicas y herramientas de desarrollo de software(1)

Pasos Que Debe Tener La Observación1. Determinar el objeto, situación, caso, etc (que se va a

observar)

2. Determinar los objetivos de la observación (para qué se va a observar)

3. Determinar la forma con que se van a registrar los datosObservar cuidadosa y críticamente

4. Registrar los datos observados

5. Analizar e interpretar los datos

6. Elaborar conclusiones

7. Elaborar el informe de observación (este paso puede omitirse si en la investigación se emplean también otras técnicas, en cuyo caso el informe incluye los resultados obtenidos en todo el proceso investigativo)

TÉCNICAS DE RECOLECCIÓN DE DATOS

La Observación

Page 8: Tecnicas y herramientas de desarrollo de software(1)

CONDUCCIÒN DE LA OBSERVACIÓN 1. Familiarizarse con los componentes físicos del área

inmediata a observar.

2. Mientras se observa, medir el tiempo en forma periódica.

3. Anotar lo que se observa lo más específicamente posible, evitando las generalidades y las descripciones vagas.

4. Si se está en contacto con las personas observadas, es necesario abstenerse de hacer comentarios cualitativos o que implique un juicio de valor.

5. Observar las reglas de cortesía y seguridad.

La Observación

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 9: Tecnicas y herramientas de desarrollo de software(1)

SEGUIMIENTO DE LA OBSERVACIÓN

1. Documentar y organizar formalmente las notas e impresiones entre los analistas.

2. Revisar los resultados y conclusiones junto con la persona observada, el supervisor inmediato y posiblemente otro analista.

TÉCNICAS DE RECOLECCIÓN DE DATOS

La Observación

La observación le permite al analista de sistemas generar experiencia en cuanto a observar y como observar.Se recomienda el uso de la observación con otras técnicas para maximizar su efectividad, sobre todo cuando se trata de analistas con poca experiencia.

Page 10: Tecnicas y herramientas de desarrollo de software(1)

La entrevista es una conversación dirigida, con un propósito especifico y que usa un formato de preguntas y respuestas.

Con la entrevista se busca obtenerla opinión y sentimientos del entrevistado acerca del sistema actual, los objetivos de la organización y los personales.

En ocasiones las opiniones de la persona pueden ser mas importantes y mas reveladoras que los hechos, debido a que el entrevistado conoce mejor la organización que el analista.

La Entrevista

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 11: Tecnicas y herramientas de desarrollo de software(1)

Tipos de entrevistas Estructuradas: Consiste en realizar preguntas

estudiadas y bien definidas, cuyas respuestas pueden ser:

Respuestas abiertas: el entrevistado responde libremente a las preguntas realizadas por el entrevistador. Respuestas cerradas: el entrevistado elige entre una serie predefinida de respuestas.

No estructuradas: Donde tanto las preguntas como las respuestas son libres.

Mixta: Hacemos preguntas de los dos tipos.

La Entrevista

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 12: Tecnicas y herramientas de desarrollo de software(1)

Preparación de la entrevista1. Determinar la posición que ocupa en la

organización el futuro entrevistado, sus responsabilidades básicas, actividades, etc.

2. Preparar las preguntas que van a plantearse, y los documentos necesarios.

3. Fijar un limite de tiempo y preparar la agenda para la entrevista.

4. Hacer la cita con la debida anticipación.

La Entrevista

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 13: Tecnicas y herramientas de desarrollo de software(1)

Desarrollo de la entrevista• No hacer nunca preguntas demasiado directas.• Evitar que el interlocutor se salga del tema, pero sin

interrumpiéndole jamás.• Mostrar atención: el interlocutor sabrá valorarlo.• Dirigir la entrevista, pero de forma muy flexible.• Permitir que sea él (no nosotros mismos) el que responda.• Crear ocasiones para destensar el ambiente.• Hacer, periódicamente, el balance mental de los problemas

evocados.• No abusar de la terminología técnica.• Tomar nota con discreción, sin distraer al entrevistado.• No superar el límite de tiempo establecido (nunca más de una

hora)

La Entrevista

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 14: Tecnicas y herramientas de desarrollo de software(1)

Post entrevista• Respetar el plazo de envío de la memoria o informe.• Enviar los documentos prometidos en los plazos

fijados.• Completar las notas que se han tomado durante la

entrevista y resumirlas.• Agradecer al jefe del interlocutor la calidad de la

entrevista y hacerle llegar un ejemplar de la memoria o informe ya revisado por el interlocutor.

La Entrevista

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 15: Tecnicas y herramientas de desarrollo de software(1)

Una encuesta es un estudio en el cual el investigador obtiene los datos a partir de realizar un conjunto de preguntas normalizadas dirigidas a una muestra representativa o al conjunto total de la población estadística en estudio, formada a menudo por personas, empresas o entes institucionales, con el fin de conocer estados de opinión, características o hechos específicos.

La Encuesta

TÉCNICAS DE RECOLECCIÓN DE DATOS

Las encuestas se pueden realizar sobre el total de la población o sobre una parte representativa de la misma que llamaremos muestra.

Page 16: Tecnicas y herramientas de desarrollo de software(1)

Diversos motivos inducen a tomar muestras de las poblaciones, entre las que caben destacar:

• Cuando la población es muy grande.• Por motivo económicos.• Por falta de personal adecuado.• Por motivo de calidad de los resultados.• Por mayor rapidez en recoger los datos y presentar los resultados.

No obstante también se presentan unas limitaciones a la toma de muestras representativas, que se pueden resumir en:

1. Cuando se necesita información de todos los elementos de la población.

2. Cuando no se domina la técnica de muestreo.

3. Cuando la población es muy pequeñina.

La Encuesta

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 17: Tecnicas y herramientas de desarrollo de software(1)

Características fundamentales de una encuesta• La encuesta es una observación no directa de los

hechos sino por medio de lo que manifiestan los interesados.

• Es un método preparado para la investigación.• Permite una aplicación masiva que mediante un

sistema de muestreo pueda extenderse a una nación entera.

• Hace posible que la investigación social llegue a los aspectos subjetivos de los miembros de la sociedad.

La Encuesta

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 18: Tecnicas y herramientas de desarrollo de software(1)

Tipos de encuestas

Las encuestas se pueden clasificar atendiendo el ámbito que abarcan, a la forma de obtener los datos y al contenido, de la siguiente manera:1. Encuestas exhaustivas y parciales. Se denomina exhaustiva cuando abarca

a todas las unidades estadísticas que componen el colectivo, universo, población o conjunto estudiado. Cuando una encuesta no es exhaustiva, se denomina parcial.

2. Las encuestas directas e indirectas. Una encuesta es directa cuando la unidad estadística se observa a través de la investigación propuesta registrándose en el cuestionario. Será indirecta cuando los datos obtenidos no corresponden al objetivo principal de la encuesta pretendiendo averiguar algo distinto.

3. Encuestas sobre hechos y encuestas de opinión. Hay un tipo de encuestas cuya misión es averiguar lo que el público en general piensa acerca de una determinada materia o lo que considera debe hacerse en una circunstancia concreta. Se realizan con un procedimiento de muestreo y son aplicadas a una parte de la población ya que una de sus ventajas es la enorme rapidez con que se obtienen los resultados.

La Encuesta

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 19: Tecnicas y herramientas de desarrollo de software(1)

El cuestionario es un conjunto de preguntas sobre los hechos o aspectos que interesan en una investigación y son contestados por los encuestados. Se trata de un instrumento fundamental para la obtención de datos.

El cuestionario se debe redactar una vez que se ha determinado el objetivo de la encuesta se han desarrollado los objetivos específicos, de tal modo que las preguntas que se hagan respondan a la información que se desea obtener. No debe precipitarse el investigador en la confección del cuestionario porque es la pieza esencial en la obtención de los fines propuestos.

Cuestionario

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 20: Tecnicas y herramientas de desarrollo de software(1)

El cuestionario se puede presentar bajo dos esquemas

1. Cuestionario individual. Es el que el encuestado conteste de forma individual por escrito y sin que intervenga para nada el encuestador. Se suele enviar por correo y se presenta en forma de boletín o cuadernillo en donde se enumeran las preguntas dejando espacio para cada contestación.

2. Cuestionario-lista. Es cuestionario es preguntado por al encuestador en una entrevista por uno de los especialistas de la investigación. En una entrevista el encuestador va preguntando al encuestado, anotando las respuestas en unas hojas que contienen una especie de cuadriculas, reservando una columna cada pregunta y una fila a cada uno de los encuestados.

Cuestionario

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 21: Tecnicas y herramientas de desarrollo de software(1)

Tipos de preguntas en el cuestionarioUn cuestionario está formado por una serie de

preguntas. Si estas están formuladas adecuadamente, el cuestionario será válidos.

Las preguntas se deben hacer de tal forma que las respuestas que se ofrezcan reúnan dos condiciones imprescindibles, el de ser excluyentes y exhaustivas para que de esta forma el encestador no pueda elegir dos respuestas a la misma pregunta, y al mismo tiempo, que en las respuestas se presenten todas las posibilidades para que ningún encuestado la deje sin contestar por no encontrar la respuesta.

Cuestionario

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 22: Tecnicas y herramientas de desarrollo de software(1)

Cuestionario AbiertoAl igual que las entrevistas, los cuestionarios pueden ser abiertos y se

aplican cuando se quieren conocer los sentimientos, opiniones y experiencias generales; también son útiles al explorar el problema básico, por ejemplo, un analista que utiliza cuestionarios para estudiar los métodos de verificación de crédito, es un medio.

El formato abierto proporciona una amplia oportunidad para quienes respondan escriba las razones de sus ideas.

Cuestionario

TÉCNICAS DE RECOLECCIÓN DE DATOS

Ejemplo:

¿Cuales son los problemas mas frecuentes que presenta su sistema de información?a_______________________________________________________________________________________b_______________________________________________________________________________________c_______________________________________________________________________________________

De los problemas listados anteriormente, ¿cual es el que se presenta con mayor frecuencia?_______________________________________________________________________________________________

¿Porque?_______________________________________________________________________________________________

Page 23: Tecnicas y herramientas de desarrollo de software(1)

Cuestionario CerradoEl cuestionario cerrado limita las respuestas posibles del

interrogado. Por medio de un cuidadoso estilo en la pregunta, el analista puede controlar el marco de referencia. Este formato es el método para obtener información sobre los hechos. También fuerza a los individuos para que tomen una posición y forma su opinión sobre los aspectos importantes.

Ejemplo:

De acuerdo a sus necesidades marque con una cruz el nombre del software que usa para sus actividades diarias con mayor frecuencia:

[ ] Word [ ]visual fox[ ]Excell [ ] Turbo c[ ]Power point [ ] Arena

Cuestionario

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 24: Tecnicas y herramientas de desarrollo de software(1)

Es una técnica de revisión y de registro de documentos que fundamentan el propósito de la investigación y permite el desarrollo del marco teórico y/o conceptual, que se inscribe en el tipo de investigación exploratoria, descriptica, etnográfica, teoría fundamentada, pero que aborda todo paradigma investigativo (cuantitativo, cualitativo y/o multimétodo) por cuanto hace aportes al marco teórico y/o conceptual.

Se busca por medio de esta técnica investigativa estar actualizado en el tema que se explora. Es requisito de la revisión documental, indagar en los archivos de bibliotecas y hemerotecas, archivos digitales clasificados, revistas y publicaciones registradas y certificadas, archivos documentales de instituciones y/o grupos reconocidos en el campo de investigación, entre otros.

Revisión Documental

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 25: Tecnicas y herramientas de desarrollo de software(1)

El analista de sistemas busca:

Es la información que no puede ser obtenida por las técnicas señaladas anteriormente.

Revisión Documental

TÉCNICAS DE RECOLECCIÓN DE DATOS

Hechos y cifras

Información Financiera

Contexto organizacional

Tipos de documentos y

problemas

Page 26: Tecnicas y herramientas de desarrollo de software(1)

Análisis de Documentos Cuantitativos

Se dispone de una gran variedad de documentos para su interpretación en cualquier negocio. Y estos incluyen:

• Reportes usados para la toma de decisiones.• Reportes de desempeño.• Registros.• Formas para captura de datos.

Revisión Documental

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 27: Tecnicas y herramientas de desarrollo de software(1)

Análisis de Documentos CualitativosMuchos documentos que circulan dentro de las organizaciones no son cuantitativos y están relacionados para la comprensión de la manera que los miembros de la organización engranan en el proceso o en la organización. Y pueden ser:• Memorándum.• Reglamentos.• Manuales de procedimientos.• Manuales de políticas.• Publicación de noticias en carteleras de trabajo.

Revisión Documental

TÉCNICAS DE RECOLECCIÓN DE DATOS

Page 28: Tecnicas y herramientas de desarrollo de software(1)

Las bibliotecas son la mejor opción que se presenta al investigador, en especial en cuanto se refiere a libros, revistas científicas y boletines informativos. Tampoco deben dejarse de registrar otros lugares que pueden reunir información de este tipo: archivos y bibliotecas privadas, de organismos e instituciones públicas o privadas, librerías, puestos de venta de periódicos, etc. También las redes informáticas hacen posible una búsqueda sistemática de los materiales bibliográficos existentes.

TÉCNICAS DE RECOLECCIÓN DE DATOS

Secundarios

Page 29: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE COSTO-BENEFICIO

El análisis de costo-beneficio es una técnica analítica que enumera y compara el costo neto de una intervención con los beneficios que surgen como consecuencia de aplicar dicha intervención. Para esta técnica, los costos y los beneficios de la intervención se expresan en unidades monetarias.

La evaluación puede ser realizada desde dos ópticas diferentes:

La evaluación privada

La evaluación social

Evaluación económica

Evaluación financiera

También llamada evaluación socioeconómica de proyectos, pretende medir el impacto que la ejecución de un proyecto - versus no ejecutarlo- tiene sobre la disponibilidad total de bienes y servicios en un país

Page 30: Tecnicas y herramientas de desarrollo de software(1)

ModeloCon esta introducción de lo que interviene en un

Análisis de Costo-Beneficio, se describen a continuación los elementos que deberán contemplarse en la evaluación, así tenemos:

• Precio del Software.- Generalmente se contempla el Licenciamiento y Soporte.

• Infraestructura.- Toda los componentes de Hardware y Software requeridos.

• Implantación.- Consultoría para instalación y puesta en funcionamiento.

• Entrenamiento.- Dirigido a los Usuarios de la Aplicación • Costo Total de la Solución (CTS) = A + B + C + D

TÉCNICA DE COSTO-BENEFICIO

Costo

Page 31: Tecnicas y herramientas de desarrollo de software(1)

Beneficios• Mejora de Procesos.- Conducen a reducción de tiempo y recursos.• Disponer de Sistemas de Información.- Mejora la toma de decisiones y

obtención de ingresos.• Personal Motivado.- Creciente moral del personal al funcionar en un

entorno de herramientas modernas para el negocio• Intangibles.- Otros beneficios intangibles que sean identificados y

cuantificables.• Beneficio Total de la Solución (BTS) = A + B + C + D

ResultadoSi CTS < BTS entonces la Solución es Viable, caso contrario no es

recomendable.

Cada uno de los elementos a incluirse debe ser cuantificado y ponderado, de tal forma que el agregado final determine un resultado tangible. La utilización de estos criterios puede variar de una realidad a otra, es decir, se tiene libertad para cambiar el listado cuidando no perder el equilibrio, que fácilmente se altera al modificar el modelo.

TÉCNICA DE COSTO-BENEFICIO

Page 32: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOSLa Planificación y Control de Proyectos de Software comprende una serie de procedimientos, sin embargo, se mencionaran solo los más complejos y/o significativos, los cuales son:

Objeto

En este procedimiento se describe la sistemática a seguir para una correcta planificación del desarrollo de una aplicación de software y de las medidas de control a establecer por el gabinete de programación.

Alcance

Entradas

Todas las actividades encamina das a la planeación, programación y control de cada una de las fases requeridas para el desarrollo de una aplicación de software específica

El proceso da comienzo con la necesidad de desarrollar un nuevo software o modificar uno existente (sub-proyecto) y, por tanto, de realizar una planificación de las actividades necesarias para realizar dicha aplicación.

Page 33: Tecnicas y herramientas de desarrollo de software(1)

Entradas

Salidas

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

El proceso da comienzo con la necesidad de desarrollar un nuevo software o modificar uno existente (sub-proyecto) y, por tanto, de realizar una planificación de las actividades necesarias para realizar dicha aplicación.

Este proceso finaliza con la planeación, programación y control de cada una de las actividades en las que consistirá el proyecto de desarrollo de una aplicación de software específica.

Page 34: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Desarrollo

Para ejecutar un proyecto basado en el desarrollo de software es preciso definir la estructura en que se desglosan cada una de las actividades o tareas a realizar para, finalmente, asignar a cada miembro del equipo su correspondiente cuota de gestión. No solamente se requiere la lista, sino también una descripción de las actividades. Para ello, se asume una estructura concreta con los detalles de la gestión y que se desglosará en tres partes específicas.

Page 35: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Desarrollo

Planificación

Programación

Control

Page 36: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Planificación

Se inicia descomponiendo el proyecto en actividades distintas, después se determinan las estimaciones de tiempo para cada actividad, se construye un diagrama de red para estas actividades.

EL diagrama debe comprender como mínimo las siguientes fases:Establecimiento de objetivos: se describirá qué se pretende obtener con el proyecto.Identificación de actividades principales: se identificarán aquellas fases necesarias para crear la aplicación. Creación de la estructura de proyecto: se definirán los responsables de ejecutar las actividades planeadas, y se asignarán los recursos necesarios para cada una de ellas.Estimación de tiempos de actividad.Análisis y aprobación del plan.

Page 37: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Programación

Se construye un gráfico de tiempo donde se muestran lo s tiempos de iniciación y terminación para cada actividad y la relación con el resto de las actividades del proyecto. El programa señala las actividades críticas, es decir, aquéllas que requerirán de una atención especial; para las actividades no críticas, el programa debe de mostrar los tiempos de holgura que deben usarse cuando algunas actividades se demoran, ya que esto permitirá el uso eficiente de recursos limitados.

Page 38: Tecnicas y herramientas de desarrollo de software(1)

TÉCNICA DE PLANIFICACIÓN Y CONTROL DE PROYECTOS

Control

Es la fase final de la planificación y administración del proyecto de desarrollo de software, ésta incluye el uso del diagrama de flechas y la gráfica de tiempo para hacer reportes periódicos del progreso. La secuencia de actividades debe analizarse y, si es necesario, determinar un nuevo programa para la parte restante del proyecto. De esta manera se conseguirá organizar eficazmente la ejecución de proyectos de desarrollo de software, pues da la posibilidad de interrelacionar todas las actividades y funciones de todos y cada uno de los participantes en la creación de la aplicación.

Page 39: Tecnicas y herramientas de desarrollo de software(1)

HERRAMIENTAS PARA DESARROLLO DE SOFTWARE

Herramientas para diseñar software Herramientas para modelar bases de datos Gestión de la configuración

En el desarrollo de software se conjugan muchas habilidades, personas, conocimientos, áreas, entre muchas otras cosas; y como es de esperarse también se necesitan muchas herramientas diferentes.

Page 40: Tecnicas y herramientas de desarrollo de software(1)

o Todas utilizan la notación UMLEl nivel de avance entre una y otra es notable, casi todas ofrecen como funcionalidad:• Diagramas de caso de uso.• Diagramas de clases.• Diagramas de secuencia.o Generación de código en java, c++, python y php.o Algunas entidad-relación (pero ninguna lo suficientemente

avanzada)o Pocas herramientas permiten ingeniería reversa, y si lo hacen

solo es de lenguajes tipo java o c++.

Existe al menos 20 herramientas libres para diseñar software totalmente libres.

Herramientas para diseñar software

HERRAMIENTAS PARA DESARROLLO DE SOFTWARE

Page 41: Tecnicas y herramientas de desarrollo de software(1)

HERRAMIENTAS PARA DESARROLLO DE SOFTWARE

o Algunas de las herramientas case libres permiten modelar bajo Entidad-Relación, sin embargo su funcionalidad es bastante limitada.

o Básicamente existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre).

o Permiten hacer ingeniería reversa de la db para las que fueron diseñadas, algunas otras soportan UnixODBC/Odbc según sea el caso.

o Existen algunos modeladores en línea.o La documentación que generan es bien básica.

Herramientas para modelar bases de datos

Page 42: Tecnicas y herramientas de desarrollo de software(1)

HERRAMIENTAS PARA DESARROLLO DE SOFTWARE

o Uno de los principales problemas en todos los proyectos de desarrollo de software es el “versionaje”.

o El versionaje nos permite llevar un control de los cambios en nuestro código, quien y cuando lo hizo, porque lo hizo, que cambio a razón de que.

o Existe muchas alternativas libres en el mercado que unidos a otros productos permiten tener incluso hasta los historiales, hacer comparaciones, manejar tickets, llevar métricas, etc.

o Casi todas las opciones cuentan con soporte de GUI para administración y/o soporte Web lo que hace mucho mas cómodo trabajar en equipos de desarrollo distribuidos en varios lugares.

Gestión de la configuración

Page 43: Tecnicas y herramientas de desarrollo de software(1)

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software.

La principal ventaja de la utilización de las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) , es la mejora de la calidad de los desarrollos realizados y, en segundo término, el

aumento de la productividad.

Page 44: Tecnicas y herramientas de desarrollo de software(1)

Importancia de las herramientas CASE

La mejor razón para la creación de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron desarrollar sistemas sin encarar el problema detener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo.

Las herramientas CASE también permiten a los analistas tener más tiempo para el análisis y diseño y minimizar el tiempo para codificar y probar. La introducción de CASE integradas está comenzando a tener un impacto significativo en los negocios y sistemas de información de las organizaciones.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Page 45: Tecnicas y herramientas de desarrollo de software(1)

Objetivos de las herramientas CASE Mejorar la productividad en el desarrollo y mantenimiento del

software. Aumentar la calidad del software. Reducir el tiempo y costo de desarrollo y mantenimiento de los

sistemas informáticos. Mejorar la planificación de un proyecto Aumentar la biblioteca de conocimiento informático de una empresa

ayudando a la búsqueda de soluciones para los requisitos. Automatizar el desarrollo del software, la documentación, la

generación de código, las pruebas de errores y la gestión del proyecto. Ayuda a la reutilización del software, portabilidad y estandarización de

la documentación Gestión global en todas las fases de desarrollo de software con una

misma herramienta. Facilitar el uso de las distintas metodologías propias de la ingeniería

del software.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Page 46: Tecnicas y herramientas de desarrollo de software(1)

1. Proporcionar topologías de aplicación flexibles.

2. Proporcionar aplicaciones portátiles.

3. Control de Versión.

4. Crear código compilado en el servidor.

5. Trabajar con una variedad de administradores de recurso

6. Trabajar con una variedad de software intermedios.

7. Soporte multiusuario.

8. Seguridad.

9. Desarrollo en equipo, repositorio de librerías compartidas.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Características de las Herramientas CASE

Page 47: Tecnicas y herramientas de desarrollo de software(1)

Podrían clasificarse atendiendo a:

o Las plataformas que soportan.o Las fases del ciclo de vida del desarrollo de sistemas

que cubren.o La arquitectura de las aplicaciones que producen.o Su funcionalidad.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada

Page 48: Tecnicas y herramientas de desarrollo de software(1)

CASE es una combinación de herramientas software y de metodologías de desarrollo:

La herramienta permite automatizar el proceso de desarrollo del software.

La metodología define los procesos automatizados.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

Page 49: Tecnicas y herramientas de desarrollo de software(1)

En función de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente:

Upper CASE (U-CASE): herramientas que ayudan en las fases de planificación, análisis de requisitos y estrategia del desarrollo, usando, entre otros diagramas UML.

Middle CASE (M-CASE): herramientas para automatizar tareas en el análisis y diseño de la aplicación.

Lower CASE (L-CASE) : herramientas que semi-automatizan la generación de código, crean programas de detección de errores, soportan la depuración de programas y pruebas. Además automatizan la documentación completa de la aplicación.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

Page 50: Tecnicas y herramientas de desarrollo de software(1)

Existen otros nombres que se le dan a este tipo de herramientas:

o Integrated CASE (I-CASE), herramientas que engloban todo el proceso de desarrollo software, desde análisis hasta implementación.

o MetaCASE, herramientas que permiten la definición de nuestra propia técnica de modelado.

o CAST (Computer-Aided Software Testing), herramientas de soporte a la prueba de software.

o IPSE (Integrated Programming Support Environment), herramientas que soportan todo el ciclo de vida.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

Page 51: Tecnicas y herramientas de desarrollo de software(1)

Considerando su amplitud :

o TOOLKIT: es una colección de herramientas integradas que permiten automatizar un conjunto de tareas de algunas de las fases del ciclo de vida del sistema informático: Planificación estratégica, Análisis, Diseño, Generación de programas.

o WORKBENCH: Son conjuntos integrados de herramientas que dan soporte a la automatización del proceso completo de desarrollo del sistema informático. Permiten cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en código ejecutable y su documentación.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

Page 52: Tecnicas y herramientas de desarrollo de software(1)

Por funcionalidad podríamos diferenciar algunas como:

o Herramientas de generación semiautomática de código.o Editores UML.o Herramientas de Refactorización de código.o Herramientas de mantenimiento como los sistemas de

control de versiones.

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

Page 53: Tecnicas y herramientas de desarrollo de software(1)

Otra clasificación, diferencia las funciones CASE en cinco grupos: Repositorio: El repositorio es un concepto más amplio que el de

diccionario de datos y soporta a los demás grupos de funciones. Re-ingeniería: permiten establecer una relación estrecha y fuerte

entre los productos generados, permitiendo actuar en el sentido especificaciones-código (ingeniería "directa") y también en el contrario (ingeniería "inversa").

Soporte del ciclo de vida: Ciclo de vida de una aplicación o de un sistema de información se compone de varias etapas, que van desde la planificación de su desarrollo hasta su implantación, mantenimiento y actualización

Soporte de proyecto. Este tipo de funciones hace referencia al soporte de actividades que se producen durante el desarrollo.

Mejora continua de calidad. Aunque frecuentemente se asocia a los sistemas Case con la mejora de la productividad en el desarrollo de aplicaciones

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Clasificación de las herramientas CASE

Page 54: Tecnicas y herramientas de desarrollo de software(1)

AllFusion ERWin ArgoUML Blue Ink BPWin CASE Studio 2 CASEWise Database Designer for

MySQL DBDesigner 4 DMS Software

Reengineering Toolkit EasyCase

Eclipse Embarcadero

ER/Studio Enterprise

Architect eREQUIREMENTS GeneXus GNU Ferret INNOVATOR iRise IRqA

HERRAMIENTAS PARA INGENIERÍA DE SOFTWARE ASISTIDA POR COMPUTADORA (CASE)

Lista