trabajos en altura 2024, sistemas de contencion anticaidas
Desarrollo de software: técnicas y herramientas
1. Dr. Ing. Uriel Quispe Mamani
Certificador Internacional CISCO
CIP. 106469
Puno – Perú Email: ingurielinnovar@Gmail.com
DESARROLLO DE
SOFTWARE
2. Definición de Términos Básicos
Desarrollo de Software:
Según Letelier, P. en su escrito «Proceso 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 se muestra en la siguiente figura:
Este proceso es intensamente intelectual, afectado por la
creatividad y juicio de las personas involucradas».
3. Desarrollo de Software:
Los proyectos de desarrollo de software presentan ciertas particularidades que los
diferencian del resto de los proyectos de ingeniería, a saber:
Definición de Términos Básicos
Un producto software en sí es complejo, es prácticamente inviable conseguir un 100% de
confiabilidad de un programa por pequeño que sea.
Un producto software es intangible y por lo general muy abstracto, esto dificulta la
definición del producto y sus requisitos, sobre todo cuando no se tiene precedentes en
productos 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 difícil automatizar todo un proceso de desarrollo de software.
4. Definición de Términos Básicos
Desarrollo de Software:
Empresa
IDEA, NECESIDAD O PROBLEMA
Requerimientos
«Es la solución ajustada a los
requerimientos de una empresa
u otro ente particular, surgiendo
de una idea, necesidad o
problema».
Solución
5. Definición de Términos Básicos
Técnica:
Es un procedimiento o conjunto de reglas, normas o protocolos, que tienen como
objetivo obtener un resultado determinado, ya sea en el campo de la ciencia, de la
tecnología, del arte, del deporte, de la educación o en cualquier otra actividad.
Según Arias, F. en su libro El Proyecto de Investigación:
«Se entenderá por técnica, el procedimiento o
forma particular de obtener datos o información».
La aplicación de una técnica conduce a la obtención de información, la cual debe ser
guardada en un medio material de manera que los datos puedan ser recuperados,
procesados, analizados e interpretados posteriormente.
6. Definición de Términos Básicos
Herramienta:
En un sentido amplio, una herramienta es un instrumento o recurso que se utiliza
para realizar una actividad o trabajo. Sin embargo, según el portal web
alegsa.com.ar (diccionario de términos informáticos), la palabra «herramienta»
también puede ser definida como:
«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».
8. Técnicas para el Desarrollo de Software
Existen tres tipos de técnicas dentro del proceso de desarrollo de software, que
son:
Técnicas para la recopilación de datos
Técnica de costo-beneficios
Técnica de planificación y control de proyectos
9. Técnicas para el Desarrollo de Software
Técnicas para la recopilación de datos
Son todos los medios o procedimientos posibles de los que se vale el
investigador para obtener la información necesaria para el desarrollo de una
investigación.
En este punto, podemos diferenciar entre dos tipos de información, según su
procedencia:
•Información obtenida
directamente de la
realidad.
Fuentes
Primarias
•Información obtenida
de investigaciones
pasadas.
Fuentes
Secundarias
10. Técnicas para el Desarrollo de Software
Técnicas para la recopilación de datos
a) Observación: «La observación es una técnica que consiste en visualizar o
captar mediante la vista, en forma sistemática, cualquier hecho, fenómeno o
situación que se produzca en la naturaleza o en la sociedad, en función de unos
objetivos de investigación preestablecidos». (Arias, F. «El Proyecto de
Investigación». 2006).
Tipos de Observación
1) 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 la
persona observada enteramente consciente de la observación.
3) Observar y a la vez estar en contacto con las personas observadas.
11. Realizar el proceso de observación propiamente
dicho, de manera cuidadosa y crítica.
Determinar la forma con que se van a registrar los
datos.
Determinar los objetivos de la observación (¿para
qué se va a observar?).
Determinar el objeto, situación o caso que se va a
observar.
Técnicas para el Desarrollo de Software
Pasos a seguir durante la observación
12. Técnicas para el Desarrollo de Software
Elaborar el informe de observación.
Elaborar conclusiones.
Analizar e interpretar los datos recolectados.
Registrar los datos obtenidos a partir de la
observación realizada.
Pasos a seguir durante la observación
13. Técnicas para el Desarrollo de Software
Técnicas para la recopilación de datos
b) Entrevista: «La entrevista, más que un simple interrogatorio, es una técnica
basada en un diálogo o conversación «cara a cara», entre el entrevistador y el
entrevistado acerca de un tema previamente determinado, de tal manera que el
entrevistador pueda obtener la información requerida». (Arias, F. «El Proyecto de
Investigación». 2006).
Tipos de Entrevistas
Estructuradas: se tiene una guía prediseñada con las preguntas a realizar.
No Estructuradas: no se dispone de una guía de preguntas elaboradas
previamente. El entrevistador debe improvisar, pero sin perder la coherencia.
Mixtas: aún cuando existe una guía de preguntas, el entrevistador puede realizar
otras adicionales que no estaban contempladas inicialmente.
14. Técnicas para el Desarrollo de Software
Técnicas para la recopilación de datos
c) Encuesta: «Se define la encuesta como una técnica que pretende
obtener información que suministra un grupo o muestra de sujetos
acerca de sí mismos, o en relación con un tema en particular». (Arias,
F. «El Proyecto de Investigación». 2006).
Características de la Encuesta
Estructuradas: se tiene una guía prediseñada con las preguntas a
realizar.
No Estructuradas: no se dispone de una guía de preguntas
elaboradas previamente. El entrevistador debe improvisar, pero sin
perder la coherencia.
Mixtas: aún cuando existe una guía de preguntas, el entrevistador
puede realizar otras adicionales que no estaban contempladas
La encuesta no es una observación 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 con que la investigación social
llegue a los aspectos subjetivos de los
miembros de la sociedad.
15. Técnicas para el Desarrollo de Software
Tipos de Encuestas
• Abarca a todas las unidades estadísticas que componen el
universo o población en estudio. Cuando una encuesta no es
exhaustiva, se denomina parcial.
Encuestas
exhaustivas y
parciales
• 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 correspondan al objetivo
principal de la encuesta.
Encuestas
directas e
indirectas
• Su misión es averiguar lo que el público en general piensa
acerca de una determinada materia o lo que considera que
debe hacerse en una circunstancia concreta.
Encuestas sobre
hechos y
encuestas de
opinión
16. Técnicas para el Desarrollo de Software
Técnicas para la recopilación de datos
d) Cuestionario: «Es la modalidad de encuesta que se realiza de forma
escrita mediante un instrumento o formato en papel contentivo de una
serie de preguntas». (Arias, F. «El Proyecto de Investigación». 2006).
inicialmente.
Investigación
ENCUESTADOS
Hechos o
aspectos
«El cuestionario es un conjunto
de preguntas sobre los hechos o
aspectos que interesan en una
investigación y son contestados
por los encuestados».
Preguntas
17. Técnicas para el Desarrollo de Software
Tipos de Cuestionarios
Según el tipo de preguntas que se presenten en el cuestionario, podemos
encontrar dos clasificaciones, a saber:
•Son los que no ofrecen opciones de
respuestas, sino que se da la libertad de
responder al encuestado, quien desarrolla
su respuesta de manera independiente.
Cuestionario de
preguntas abiertas
•Son aquellos que establecen previamente
las opciones de respuesta que puede
elegir el encuestado.
Cuestionario de
preguntas cerradas
Fuente: Arias, F. «El Proyecto de Investigación». 2006.
18. La revisión documental hace aportes al marco teórico y/o
conceptual.
Técnicas para el Desarrollo de Software
Técnicas para la recopilación de datos
d) Revisión documental: «Es un proceso basado en la
búsqueda, recuperación, análisis crítica e interpretación de datos
secundarios, es decir, los obtenidos y registrados por otros
investigadores en fuentes documentales: impresas, audiovisuales o
electrónicas». (Arias, F. «El Proyecto de Investigación». 2006).
Se busca por medio de esta técnica investigativa estar actualizado en el tema que se
explora.
19. Técnicas para el Desarrollo de Software
Técnica de Costo-Beneficio
Beneficios
Costo
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
Los costos y los
beneficios de la
intervención se
expresan en
unidades
monetarias
La aplicación de
esta técnica
puede ayudar en
un posterior
proceso de toma
de decisiones
Fuente: Sánchez, L. «Análisis de Costo/Beneficio de Soluciones de Software». 2008.
20. Técnicas para el Desarrollo de Software
Descripción del Modelo
A continuación, se describen los elementos que deberán contemplarse en la
evaluación de la situación:
1) Los costos
A- Precio del Software: Generalmente se contempla el Licenciamiento y Soporte.
B- Infraestructura: Todos los componentes de Hardware y Software requeridos.
C- Implantación: Consultoría para instalación y puesta en funcionamiento.
D- Entrenamiento: Dirigido a los Usuarios de la Aplicación.
Costo Total de la Solución (CTS) = A + B + C + D
21. Técnicas para el Desarrollo de Software
Descripción del Modelo
2) Los beneficios
A- Mejora de Procesos: Conducen a reducción de tiempo y recursos.
B- Disponer de Sistemas de Información: Mejora la toma de decisiones y obtención de
ingresos.
C- Personal Motivado: Creciente moral del personal al funcionar en un entorno de
herramientas modernas para el negocio.
D- Intangibles: Otros beneficios intangibles que sean identificados y cuantificables.
Beneficio Total de la Solución (BTS) = A + B + C + D
22. Técnicas para el Desarrollo de Software
Descripción del Modelo
3) Los resultados
CTS < BTS
CTS > BTS
Si…
Si…
Si CTS < BTS entonces la solución es viable. En caso contrario, no es recomendable
23. Técnicas para el Desarrollo de Software
Técnica de Planificación y Control de Proyectos
Información disponible en: http://www.bicgalicia.es/procedimientos/pdf/PG-06_Gesti%C3%B3n_de_Compras_y_Evaluaci%C3%B3n_de_Proveedores.pdf
La Planificación y Control de Proyectos de Software comprende una serie de
procedimientos. A continuación, se presentarán los más relevantes:
OBJETO
Se describen los
pasos a seguir y
las medidas de
control a
establecer
ALCANCE
Todas las
actividades
encaminadas a la
planeación,
programación y
control de cada
una de las fases
ENTRADAS
Planificación de
las actividades
bien sea para
desarrollar un
nuevo software,
o para modificar
uno existente
SALIDAS
Planeación, progr
amación y control
de cada una de
las actividades en
las que consistirá
el proyecto
DESARROLLO
Definir la
estructura en la
que se desglosan
cada una de las
tareas a realizar y
designar
responsabilidades
En este punto, no solamente se requiere la lista de las actividades o tareas a realizar, sino también una descripción
de dichas actividades. Para ello, se asume una estructura concreta con los detalles de la gestión y que se
desglosará en tres partes específicas:
24. Técnicas para el Desarrollo de Software
1) Planificación
Descomponer el proyecto en actividades distintas. Luego, se
determinan las estimaciones de tiempo para cada actividad y se
construyen diagramas de red para estas actividades.
2) Programación
Construir un gráfico de tiempo donde se muestran los tiempos de iniciación
y terminación para cada actividad y la relación con el resto de las actividades del
proyecto.
3) Control
Comprende el uso del diagrama de flechas y la gráfica de tiempo para hacer
reportes periódicos del progreso . Se debe analizar la secuencia de las actividades y, si
es necesario, determinar un nuevo programa para la parte restante del proyecto.
1
2
3
4 5
26. Herramientas para el Desarrollo de Software
Herramientas
Solución
Problemas
Proyectos
Aplicaciones informáticas
Plazos y presupuestos
incumplidos
Insatisfacción del usuario
Escasa productividad
Baja calidad de los desarrollos
«Las 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».
Información disponible en: http://www.monografias.com/trabajos73/herramientas-case-proceso-desarrollo-software/herramientas-case-proceso-desarrollo-software.shtml
27. Herramientas para el Desarrollo de Software
CASE
•Mejorar la calidad
4GL
•Mejorar la productividad
Computer Aided
Software Engineering
Ingeniería de Software
Asistida por Ordenador
Fourth Generation
Languages
Lenguajes de Cuarta
Generación
Algunas de las Herramientas de Ayuda al Desarrollo de Sistemas de Información 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 construcción, como es el caso de los
Lenguajes de Cuarta Generación.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
28. Herramientas para el Desarrollo de Software
Herramientas CASE
Métodos
Utilidades
Técnicas
Automatización Ciclo de vida Sistemas de Inf.
Completamente
Fases
«Las Herramientas 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».
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
29. Herramientas para el Desarrollo de Software
Herramientas CASE
El empleo de herramientas Case permiten integrar el proceso de ciclo de vida:
• Análisis de datos y procesos integrados mediante un repositorio.
• Generación de interfases entre el análisis y el diseño.
• Generación del código a partir del diseño.
• Control de mantenimiento.
Tipos de 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.
• La arquitectura de las aplicaciones que producen.
• Su funcionalidad.
30. Juegos de Herramientas:
orientadas al mantenimiento.
Automatizan una fase
dentro del ciclo de vida.
CASE inferior: dirigidas a las
últimas fases del desarrollo:
construcción
e implantación.
CASE superior: orientadas a la
automatización y soporte
de las actividades de la fase
inicial : análisis y diseño.
CASE integrado: abarcan
todas las fases del ciclo de
vida del desarrollo de
sistemas.
Herramientas para el Desarrollo de Software
Herramientas CASE
Clasificación de las Herramientas CASE según las fases del ciclo de vida abarcadas:
Herramientas
CASE
I-CASE U-CASE
L-CASEToolkits
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
31. Herramientas para el Desarrollo de Software
Herramientas CASE
Tabla comparativa de las Herramientas CASE según las fases del ciclo de vida abarcadas:
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
32. Herramientas para el Desarrollo de Software
Herramientas CASE
Clasificación de las Herramientas CASE según su funcionalidad:
1
•Herramientas de planificación de sistemas de gestión: Su objetivo principal es ayudar a
comprender mejor cómo se mueve la información entre las distintas unidades organizativas.
2
•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.
3
•Herramientas de programación: Se engloban aquí los compiladores, los editores y los
depuradores de los lenguajes de programación convencionales.
4
•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.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
33. Herramientas para el Desarrollo de Software
Herramientas CASE
Clasificación de las Herramientas CASE según su funcionalidad:
5
•Herramientas de gestión de prototipos: Los prototipos son utilizados ampliamente en el
desarrollo de aplicaciones, para evaluar las especificaciones de un sistema de información.
6
•Herramientas de mantenimiento: Esta categoría se puede subdividir en: Herramientas de
ingeniería inversa, herramientas de reestructuración y análisis de código, y de reingeniería.
7
•Herramientas 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.
8
•Herramientas de soporte: Se engloban aquí las herramientas que recogen las actividades
aplicables en todo el proceso de desarrollo: de documentación, de bases de datos, etc.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
34. Herramientas para el Desarrollo de Software
Herramientas
CASE
Soporte del
ciclo de
vida
Re-
ingeniería
Soporte
de
proyecto
Mejora
continua
de calidad
Repositorio
Otra clasificación, diferencia las funciones CASE en cinco grupos:
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
35. Herramientas
CASE
Soporte del
ciclo de
vida
Re-
ingeniería
Soporte
de
proyecto
Mejora
continua
de calidad
Repositorio
Herramientas para el Desarrollo de Software
Repositorio:
Funcionan entorno a un repositorio
central, siendo éste el núcleo
fundamental que contiene todas las
definiciones de objeto y sus
relaciones. Los objetos pueden ser
especificaciones del sistema en
forma de diagramas de flujo de
datos, diagramas entidad-relación,
esquemas de bases de datos,
diseños de pantallas, etc.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
36. Herramientas
CASE
Soporte del
ciclo de
vida
Re-
ingeniería
Soporte
de
proyecto
Mejora
continua
de calidad
Repositorio
Herramientas para el Desarrollo de Software
Soporte del ciclo de vida:
El ciclo de vida de una aplicación o de
un sistema de información se
compone de varias etapas, a saber:
Planeamiento, Análisis y Diseño,
Implantación y Mantenimiento y
actualización. Los sistemas Case
pueden cubrir la totalidad de estas
fases o bien especializarse en
alguna(s) de ellas.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
37. Herramientas
CASE
Soporte del
ciclo de
vida
Re-
ingeniería
Soporte
de
proyecto
Mejora
continua
de calidad
Repositorio
Herramientas para el Desarrollo de Software
Re-ingeniería:
Facilita la realización de
modificaciones en la fase más
adecuada en cada caso y su traslado
a las demás. Al conjunto de
facilidades proporcionadas por la
ingeniería «directa» e "inversa" se le
denomina "re-ingeniería".
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
38. Herramientas
CASE
Soporte del
ciclo de
vida
Re-
ingeniería
Soporte
de
proyecto
Mejora
continua
de calidad
Repositorio
Herramientas para el Desarrollo de Software
Soporte de proyecto:
Este tipo de funciones hace
referencia al soporte de actividades
que se producen durante el
desarrollo, derivadas
fundamentalmente del trabajo en
grupos, tales como facilidades de
comunicación, soporte a la
creación, modificación e
intercambio de documentación,
herramientas personales, controles
de seguridad, etc.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
39. Herramientas
CASE
Soporte del
ciclo de
vida
Re-
ingeniería
Soporte
de
proyecto
Mejora
continua
de calidad
Repositorio
Herramientas para el Desarrollo de Software
Mejora continua de calidad:
Determinados sistemas Case
introducen herramientas que
permiten ejercer un control intenso
de garantía de calidad del software
desarrollado desde las primeras
fases de su ciclo de vida.
Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/
40. Dr. Ing. Uriel Quispe Mamani
Certificador Internacional CISCO
CIP. 106469
Puno – Perú Email: ingurielinnovar@Gmail.com
DESARROLLO DE
SOFTWARE