Este documento resume las técnicas y herramientas para el desarrollo de software. Explica brevemente las técnicas de recopilación de datos como entrevistas, encuestas y observación. También cubre técnicas como el análisis de costo-beneficio y la planificación y control de proyectos. Finalmente, describe las herramientas CASE para el desarrollo de software y su clasificación según las fases del ciclo de vida que abarcan.
Tecnicas y herramientas para el desarrollo de software
1. UNIVERSIDAD DE ORIENTE
NÚCLEO DE MONAGAS
PROGRAMA DE INGENIERÍA DE SISTEMAS
MATURÍN /ESTADO/ MONAGAS
Asesor : Bachilleres:
Ing. Jesús Chaparro Bravo, Yenifer
Hernández, Simón
Jimenéz, Francelys
2. CONTENIDO
1. TÉCNICAS
2. HERRAMIENTAS
3. DESARROLLO DE SOFTWARE
4. TÉCNICAS DE DESARROLLO DE SOFTWARE
4.1 Técnica para la recopilación de datos
4.2 Técnica de costo-beneficios
4.3 Técnica de planificación y control de proyectos
5. HERRAMIENTAS PARA DESARROLLO DE SOFTWARE
5.1 Herramientas para ingeniería de software asistido (CASE)
5.2 Características de las herramientas CASE
5.3 Clasificación de las herramientas CASE
3. TÉCNICAS
Procedimiento o conjunto de reglas, normas o protocolos, que tienen como objetivo
obtener un resultado determinado, en una actividad o campo.
4. Herramientas
Es un subprograma o módulo encargado
de funciones específicas y afines entre sí
para realizar una tarea. Una aplicación o
programa puede contar con múltiples
herramientas a su disposición.
5. Desarrollo de Software
Analista
Nuevas
Funciones
Desarrollo
Es la solución ajustada a los requerimientos
de una empresa u otro ente particular,
surgiendo de una idea, necesidad o
problema.
6. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Entrevistas
Observación
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.
7. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
• Fuentes 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.
8. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
•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.
Libros
Cuestionarios
9. 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.
10. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Tipos de Entrevista
Estructuradas: Consiste en realizar
preguntas estudiadas y bien definidas,
cuyas respuestas pueden ser:
oRespuestas abiertas: el entrevistado
responde libremente a las preguntas
realizadas por el entrevistador.
oRespuestas cerradas: el entrevistado
elige entre una serie predefinida de
respuestas.
11. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Tipos de Entrevista
No estructuradas: Donde tanto las
preguntas como las respuestas son
libres.
Mixta: Hacemos preguntas de los dos
tipos.
12. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Desarrollo de una 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.
13. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Desarrollo de una Entrevista
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)
14. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
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.
15. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
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 a un conjunto de la población estadística en estudio.
16. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Características de las Encuestas
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.
17. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Tipos de Encuestas
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.
18. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Tipos de Encuestas
2. 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 de los resultados de anteriores investigaciones estadísticas.
19. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Tipos de Encuestas
3. Encuestas sobre hechos y encuestas de
opinión
Es 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
20. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Cuestionario
Es un conjunto de preguntas sobre los hechos o
aspectos que interesan en una investigación y
son contestados por los encuestados
21. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
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.
22. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA PARA LA RECOPILACIÓN DE DATOS
Tipos de Observación
El analista de sistemas puede observar de tres maneras básicas:
1. Observar a una persona o actitud sin que el observado se dé cuenta y su
interacción por aparte del propio analista
2. El analista puede observar una operación sin intervenir para nada, pero estand
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.
23. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA 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.
Para esta técnica, los costos y los beneficios de la
intervención se expresan en unidades monetarias.
24. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA COSTO-BENEFICIOS
MODELO
Elementos que deberán contemplarse en la evaluación, así tenemos:
Entrenamiento
Precio
Costos:
Infraestructura Implantación
25. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA COSTO-BENEFICIOS
Beneficio:
Disponer de Sistemas de Información
Beneficio total de la solución
26. TÉCNICAS DE DESARROLLO DE SOFTWARE
TÉCNICA COSTO-BENEFICIOS
Resultado:
Cada uno de los elementos a incluirse debe ser
cuantificado y ponderado, de tal forma que el
agregado final determine un resultado tangible.
27. 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:
ALCANCE
OBJETOS
Todas las actividades encaminadas a la
Describe la sistemática a seguir para una planeación, programación y control de
correcta planificación del desarrollo de cada una de las fases requeridas para
una aplicación de software el desarrollo de Software
28. 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:
SALIDAS
Finaliza con la planeación, programación y
control de cada una de las actividades en las
que consistirá el proyecto.
ENTRADA
El proceso da comienzo con la necesidad de
desarrollar un nuevo software o modificar uno
existente (sub-proyecto)
29. 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:
DESARROLLO
En proyecto 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,
tomando en cuenta tres partes especificas.
30. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Ayudan 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
31. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
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
32. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
IMPORTANCIA
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.
33. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
IMPORTANCIA
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.
34. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
OBJETIVOS
• 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.
.
35. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
OBJETIVOS
• 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.
36. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (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.
37. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
Clasificación de las herramientas CASE en función de las fases
del ciclo de vida del desarrollo abarcadas
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.
38. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (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
39. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (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.
40. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (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
41. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
Clasificación de las herramientas CASE, utilizando la
funcionalidad como criterio principal
Herramientas de Gestión de Prototipos
Son utilizadas 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.
42. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (CASE)
Clasificación de las herramientas CASE, utilizando la
funcionalidad como criterio principal
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.
43. HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE
Herramientas para Ingeniería de Software Asistida por
Computadora (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.
• Herramientas de planificación de proyectos.
• Herramientas de seguimiento de requisitos.
• Herramientas de gestión y medida.
• Herramientas de soporte.