técnicas y herramientas para el desarrollo de software

47
Técnicas y herramientas para el desarrollo de Software Universidad de Oriente Departamento de Ingeniería de Sistemas Análisis y Diseño de Sistemas de Información – Unidad IV Nombre del equipo: Cáncer Integrantes del equipo: Osluanny Barreto. Aurimar Requena. Ocmary Renautt Responsable asignado por el equipo: Ocmary Renautt

Upload: ocma-xdd

Post on 26-Jan-2015

116 views

Category:

Documents


1 download

DESCRIPTION

Técnicas y herramientas para el desarrollo de Software

TRANSCRIPT

Page 1: Técnicas y herramientas para el desarrollo de Software

Técnicas y herramientas para el desarrollo

de Software

Universidad de OrienteDepartamento de Ingeniería de Sistemas

Análisis y Diseño de Sistemas de Información – Unidad IV

Nombre del equipo: Cáncer

Integrantes del equipo:Osluanny Barreto.Aurimar Requena.Ocmary Renautt

Responsable asignado por el equipo: Ocmary Renautt

Page 2: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Un proceso de desarrollo de software tiene como propósito la producción eficaz y eficiente de un producto software que reúna los requisitos del cliente. Dicho proceso, en términos globales. Este proceso es intensamente intelectual, afectado por la creatividad y juicio de las personas involucradas. Aunque un proyecto de desarrollo de software es equiparable en muchos aspectos a cualquier otro proyecto de ingeniería, en el desarrollo de software hay una serie de desafíos adicionales, relativos esencialmente a la naturaleza del producto obtenido.

Page 3: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilació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, los cuales pueden ser la entrevistas, la encuesta, el cuestionario, la observación, el diagrama de flujo y el diccionario de datos.

Page 4: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la Recopilación de Datos

- Fuente de información primaria

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.

- Fuente de información secundaria

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 5: Técnicas y herramientas para el desarrollo de Software

 Técnicas  de desarrollo de software

Técnica para la recopilación de datos

-Entrevista.Es una técnica de obtención de información

mediante el diálogo mantenido en un encuentro formal y planeado, entre una o más personas entrevistadoras y una o más entrevistadas, en el que se transforma y sistematiza la información conocida por éstas, de forma que sea un elemento útil para el desarrollo de un proyecto de software. La entrevista se utiliza para recabar información en forma verbal, a través de preguntas que propone el analista. El analista puede entrevistar al personal en forma individual o en grupos algunos analistas prefieren este método a las otras técnicas que se estudiarán más adelante.

Page 6: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de datos

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.

Page 7: Técnicas y herramientas para el desarrollo de Software

 Técnicas  de desarrollo de software

Técnica para la recopilación de

datos

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)

Page 8: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

 Técnica para la recopilación de

datos

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.

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.

- Post entrevista.

Page 9: Técnicas y herramientas para el desarrollo de Software

 Técnicas  de desarrollo de software

Técnica para la recopilación de datos

Encuesta.

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.Las encuestas se pueden realizar sobre el total de la población o sobre una parte representativa de la misma que llamaremos muestra.

Page 10: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de

datos

Es un método preparado para la investigación

La encuesta es una observación no directa de los hechos sino por medio de lo que manifiestan los interesados.

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.

Características fundamentales de una encuesta.

Page 11: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de

datos

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.

Encuestas sobre hechos y encuestas de opinión: Hay un tipo de encuestas cuya misión es averiguar lo que es 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.

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 o bien son deducidos d los resultados de anteriores investigaciones estadísticas.

Tipos de encuestas.

Page 12: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de

datos¿Qué preguntas hacemos?

Los participantes pueden ser preguntados si han oído ó leído sobre algún asunto… qué saben sobre él..su opinión…con cuanta firmeza sienten y por qué… su experiencia sobre el asunto… y ciertos datos personales que ayudará al analista a clasificar sus respuestas (tal como edad, género, estado civil, ocupación y lugar de residencia). Las preguntas pueden ser abiertas ("¿Por qué siente así?"), o cerradas ("¿Aprueba usted o desaprueba?"). Los entrevistadores pueden solicitar al participante que evalúe un candidato político o un producto usando alguna escala, o pueden solicitarle que ordene varias alternativas.

Page 13: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de

datos

Cuestionario.

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.

Page 14: Técnicas y herramientas para el desarrollo de Software

Técnicas de desarrollo de software

Técnica para la recopilación de datos

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.

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.

El cuestionario se puede presentar bajo dos esquemas.

Page 15: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de datos

-Cuestionario Abierto.Al 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.

-Cuestionario Cerrado.El 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.

Page 16: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Observación.

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

Técnica para la recopilación de datos

Page 17: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Tipos de Observación.

El analista de sistemas puede observar de tres maneras básicas: Primero, 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. Segundo, el analista puede observar una operación sin intervenir para nada, pero estando la persona observada enteramente consciente de la observación. Por último, 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écnica para la recopilación de datos

Page 18: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Pasos Que Debe Tener La Observación.1. 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 datos4. Observar cuidadosa y críticamente5. Registrar los datos observados6. Analizar e interpretar los datos7. Elaborar conclusiones8. 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écnica para la recopilación de datos

Page 19: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica para la recopilación de datos

Revisión Documental.

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.

Page 20: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica de Costo-Beneficios 

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.

Lo relevante es que podemos estar en condiciones de tomar decisiones oportunas con un nivel de certeza muy

razonable, sin invertirle tiempo valioso en analizar muchas ideas cuando pocas son acogidas e

implementadas

Al estimar tomamos en cuenta no solo el procedimiento técnico a utilizar en el proyecto,

sino que se toma en cuenta los recursos, costos y planificación.

Page 21: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica de Costo-Beneficios 

Modelo: Con 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

Costos:• 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 

Page 22: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

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

Resultado: Si 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-Beneficios 

Page 23: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica de planificación y

control de proyectos.La 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: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.

Entradas: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 24: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica de planificación y

control de proyectos.Salidas: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.

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

Page 25: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

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 (flechas) para estas actividades.El diagrama de flechas completo da una representación gráfica de las relaciones entre las actividades del proyecto. La ventaja de esta etapa es que permite conocer con detalle las diversas actividades o fases del proyecto y de esta manera se pueden sugerir mejoras antes de que el proyecto se ejecute.

Page 26: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Técnica de planificación y

control de proyectos.EL diagrama debe comprender como mínimo las siguientes fases:

a) Establecimiento de objetivos: en esta fase se describirá qué se pretende obtener con el proyecto, cuáles son los requisitos de partida (establecidos por el demandante de la aplicación de software o por el director/jefe de proyecto) y cuáles serán los mecanismos generales para obtener los resultados buscados.b) Identificación de actividades principales: se identificarán aquellas fases necesarias para crear la aplicación. Este punto estará referido al diseño y desarrollo de la aplicación y a la puesta en común de las necesidades de recursos. Éstas como mínimo deberían ser:• Diseño de la arquitectura.• Diseño técnico.• Implementación.• Revisión y verificación de diseño.• Creación documentación (manuales de usuario, de instalación, etc.).• Implantación cliente.c) 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.d) Estimación de tiempos de actividad.e) Análisis y aprobación del plan.

Page 27: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

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.

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.

Page 28: Técnicas y herramientas para el desarrollo de Software

Técnicas  de desarrollo de software

Herramientas para el Desarrollo de

SoftwareLas Herramientas de Ayuda al Desarrollo de Sistemas de

Información, surgieron para intentar dar solución a los problemas inherentes a los proyectos de generación de aplicaciones informáticas: plazos y presupuestos incumplidos, insatisfacción del usuario, escasa productividad y baja calidad de los desarrollos. Algunas de estas herramientas se dirigen principalmente a mejorar la calidad y otras van dirigidas a mejorar la productividad durante la fase de construcción.

CASE (Computer Aided Software Engineering-Ingeniería de Software

Asistida por Ordenador).

(lenguajes de cuarta generación 4GL-Fourth Generation Language).

Calidad Productividad

Page 29: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para diseñar software

• Existe al menos 20 herramientas libres para diseñar software totalmente libres.• Todas utilizan la notación UML• El 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.• Generación de código en java, c++, python y php.• Algunas entidad-relación (pero ninguna lo suficientemente avanzada)• Pocas herramientas permiten ingeniería reversa, y si lo hacen solo es de lenguajes tipo java o c++.

Page 30: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para modelar bases de

datos.

• Algunas de las herramientas case libres permiten modelar bajo Entidad-Relación, sin embargo su funcionalidad es bastante limitada.• Básicamente existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre).• Permiten hacer ingeniería reversa de la db para las que fueron diseñadas, algunas otras soportan UnixODBC/Odbc según sea el caso.• Existen algunos modeladores en línea.• La documentación que generan es bien básica.

Page 31: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para modelar bases de datos

• Algunas de las herramientas case libres permiten modelar bajo Entidad-Relación, sin embargo su funcionalidad es bastante limitada.• Básicamente existen herramientas orientadas a una db en especifico y estas son MySql y PostgreSQL, el de MySql (MySql WorkBench no es libre).• Permiten hacer ingeniería reversa de la db para las que fueron diseñadas, algunas otras soportan UnixODBC/Odbc según sea el caso.• Existen algunos modeladores en línea.• La documentación que generan es bien básica.

Page 32: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

• Uno de los principales problemas en todos los proyectos de desarrollo de software es el “versionaje”.• 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.• 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.• 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 33: Técnicas y herramientas para el desarrollo de Software

 Herramientas para desarrollo de software

Son un conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.

El empleo de herramientas Case permiten integrar el proceso de ciclo de vida:

1• Análisis de datos y procesos

integrados mediante un repositorio. 

2• Generación de interfaces entre el

análisis y el diseño. 

3• Generación del código a partir del

diseño

4 • Control de mantenimiento. 

      Herramientas para ingeniería de software

asistido          (CASE)

Page 34: Técnicas y herramientas para el desarrollo de Software

 Herramientas para desarrollo de software

La base de datos del proyecto (también denominada biblioteca del proyecto o depósito de software), está disponible a través de un servidor de archivos en red que es accesible desde todas las estaciones de trabajo. Un sistema operativo que gestiona el hardware, la red y las herramientas, mantiene todo el entorno unido

La arquitectura de entorno, compuesta por la plataforma hardware y el soporte del sistema operativo (incluida la red y la gestión de la base de datos), constituye la base del CASE. Pero el entorno CASE, en sí mismo, necesita otros componentes.

El marco de integración es un conjunto de programas especializados que permite a cada herramienta CASE comunicarse con las demás, para crear una base de datos de proyectos y mostrar una apariencia homogénea al usuario final (el ingeniero de software).

      Herramientas para ingeniería de software

asistido          (CASE)

Page 35: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)

Case.

• Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.• La sigla genérica para una serie de programas y una filosofía de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.• Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización. Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales.

Page 36: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)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.

En un mercado altamente competitivo, esto puede hacer la diferencia entre el éxito y el fracaso. 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 principal ventaja de la utilización de una herramienta CASE, es la mejora de la calidad de los desarrollos realizados y, en segundo término, el aumento de la productividad

Page 37: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)Evolución de las herramientas CASE

• Ayuda en la documentación por computadora. Diagramación asistida por computadora. Herramientas de análisis y diseño.

A inicios de los 80’s

Page 38: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)Objetivos de las Herramientas CASE.

• Mejorar la productividad en el desarrollo y mantenimiento del software.• Aumentar la calidad del software.• Reducir el tiempo y coste 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.

Page 39: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (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. Podrían clasificarse atendiendo a:

Las plataformas que soportan.

Las fases del ciclo de vida del desarrollo de sistemas que cubren.

Su funcionalidad.

Page 40: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)Clasificación de las herramientas CASE, en función de las fases del ciclo de vida del desarrollo abarcadas.

1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado), abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench.

2. Herramientas de alto nivel, U-CASE (Upper CASE – CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño.

3. Herramientas de bajo nivel, L-CASE (Lower CASE – CASE inferior) o back-end, dirigidas a las últimas fases del desarrollo: construcción e implantación.

4. Juegos de herramientas o Tools-Case, son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.

Page 41: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)

Clasificación de las herramientas CASE, utilizando la funcionalidad como criterio principal.

-Herramientas de planificación de sistemas de gestión.

Sirven para modelizar los requisitos de información estratégica de una organización. Proporcionan un "metamodelo" del cual se pueden obtener sistemas de información específicos. Su objetivo principal es ayudar a comprender mejor cómo se mueve la información entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se diseñan nuevas estrategias para los sistemas de información y cuando los métodos y sistemas actuales no satisfacen las necesidades de la organización.

Page 42: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)

Clasificación de las herramientas CASE, utilizando la funcionalidad como criterio principal.

Herramientas de análisis y diseño:

Permiten al desarrollador crear un modelo del sistema que se va a construir y también la evaluación de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Se tienen:

• Herramientas de análisis y diseño (Modelamiento).• Herramientas de creación de prototipos y de simulación.• Herramientas para el diseño y desarrollo de interfaces.• Máquinas de análisis y diseño (Modelamiento).• Herramientas de programación. Se engloban aquí los compiladores, los editores y los depuradores de los lenguajes de programación convencionales

Page 43: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)

Clasificación de las herramientas CASE, utilizando la funcionalidad como criterio principal.

Herramientas de integración y prueba:

Sirven de ayuda a la adquisición, medición, simulación y prueba de los equipos lógicos desarrollados. Entre las más utilizadas están:• Herramientas de análisis estático.• Herramientas de codificación de cuarta generación.• Herramientas de programación orientadas a los objetos

.

Page 44: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)

Clasificación de las herramientas CASE, utilizando la funcionalidad como criterio principal.

.

Herramientas de gestión de prototipos:

Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluación de especificaciones de un sistema de información, o para un mejor entendimiento de cómo los requisitos de un sistema de información se ajustan a los objetivos perseguidos

Herramientas de mantenimiento:

La categoría de herramientas de mantenimiento se puede subdividir en:• Herramientas de ingeniería inversa.• Herramientas de restructuración y análisis de código.• Herramientas de reingeniería.

Page 45: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)

Clasificación de las herramientas CASE, utilizando la funcionalidad como criterio principal.

.

Herramientas de gestión de proyectos:

La mayoría de las herramientas CASE de gestión de proyectos, se centran en un elemento específico de la gestión del proyecto, en lugar de proporcionar un soporte global para la actividad de gestión. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duración, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc

Page 46: Técnicas y herramientas para el desarrollo de Software

Herramientas para desarrollo de software

Herramientas para Ingeniería de Software

Asistido (CASE)Clasificación de las herramientas CASE, utilizando la funcionalidad como criterio principal.

.

Existen también herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones técnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes:

• Herramientas de planificación de proyectos.• Herramientas de seguimiento de requisitos.• Herramientas de gestión y medida.• Herramientas de soporte. Se engloban en esta categoría las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuación:1. Herramientas de documentación.2. Herramientas para software de sistemas.3. Herramientas de control de calidad.4. Herramientas de bases de datos.

Page 47: Técnicas y herramientas para el desarrollo de Software

GRACIAS POR SU ATENCION