Вы находитесь на странице: 1из 40

Maturín, enero de 2013

Universidad de Oriente
Núcleo de Monagas
Departamento de Ingeniería de Sistemas
Análisis y Diseño de Sistemas de Información

Desarrollo de Software:
Técnicas y Herramientas

Profesor: Bachilleres:
Ing. Jesús Chaparro Arévalo, Danelys
Mayz, Reynaldo
Verdú, Roselín

Maturín, enero de 2013


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».
Definición de Términos Básicos

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:

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.
Definición de Términos Básicos

Desarrollo de Software:

Solución

Requerimientos

Empresa

«Es la solución ajustada a los


requerimientos de una empresa
u otro ente particular, surgiendo
de una idea, necesidad o
problema». IDEA, NECESIDAD O PROBLEMA
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.
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».
Técnicas para
el Desarrollo
de Software
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


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
Fuentes directamente de la
Primarias realidad.

•Información obtenida
Fuentes de investigaciones
Secundarias pasadas.
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.


Técnicas para el Desarrollo de Software

Pasos a seguir durante la observación

Determinar el objeto, situación o caso que se va a


observar.

Determinar los objetivos de la observación (¿para


qué se va a observar?).

Determinar la forma con que se van a registrar los


datos.

Realizar el proceso de observación propiamente


dicho, de manera cuidadosa y crítica.
Técnicas para el Desarrollo de Software

Pasos a seguir durante la observación

Registrar los datos obtenidos a partir de la


observación realizada.

Analizar e interpretar los datos recolectados.

Elaborar conclusiones.

Elaborar el informe de observación.


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.
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


La encuesta no es una observación directa de
realizar.
los hechos, sino por medio de lo que
Es un método preparado para la
investigación.
manifiestan los interesados.
No Estructuradas: no se dispone de una guía de preguntas
elaboradas previamente. El entrevistador debe improvisar, pero sin
perder
Permitela coherencia.
una aplicación masiva que mediante Hace posible con que la investigación social
un sistema de muestreo pueda extenderse a llegue a los aspectos subjetivos de los
una nación entera. miembros de la sociedad.
Mixtas: aún cuando existe una guía de preguntas, el entrevistador
puede realizar otras adicionales que no estaban contempladas
Técnicas para el Desarrollo de Software

Tipos de Encuestas

Encuestas • Abarca a todas las unidades estadísticas que componen el


exhaustivas y universo o población en estudio. Cuando una encuesta no es
parciales exhaustiva, se denomina parcial.

• La unidad estadística se observa a través de la investigación


Encuestas
propuesta registrándose en el cuestionario. Será indirecta
directas e
cuando los datos obtenidos no correspondan al objetivo
indirectas
principal de la encuesta.

Encuestas sobre
• Su misión es averiguar lo que el público en general piensa
hechos y
acerca de una determinada materia o lo que considera que
encuestas de
debe hacerse en una circunstancia concreta.
opinión
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.

Preguntas Hechos o Investigación


aspectos

«El cuestionario es un conjunto


de preguntas sobre los hechos o
aspectos que interesan en una ENCUESTADOS
investigación y son contestados
por los encuestados».
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


Cuestionario de respuestas, sino que se da la libertad de
preguntas abiertas responder al encuestado, quien desarrolla
su respuesta de manera independiente.

Cuestionario de •Son aquellos que establecen previamente


preguntas cerradas las opciones de respuesta que puede
elegir el encuestado.

Fuente: Arias, F. «El Proyecto de Investigación». 2006.


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).

La revisión documental 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.
Técnicas para el Desarrollo de Software

Técnica de Costo-Beneficio
Fuente: Sánchez, L. «Análisis de Costo/Beneficio de Soluciones de Software». 2008.

Los costos y los Costo La aplicación de


beneficios de la esta técnica
intervención se puede ayudar en
expresan en un posterior
unidades proceso de toma
monetarias Beneficios de decisiones

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
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


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


Técnicas para el Desarrollo de Software

Descripción del Modelo

3) Los resultados

Si… CTS < BTS


Si… CTS > BTS
Si CTS < BTS entonces la solución es viable. En caso contrario, no es recomendable
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:

Se describen los Todas las Planificación de Planeación, progr Definir la

DESARROLLO
ENTRADAS

SALIDAS
ALCANCE
OBJETO

pasos a seguir y actividades las actividades amación y control estructura en la


las medidas de encaminadas a la bien sea para de cada una de que se desglosan
control a planeación, desarrollar un las actividades en cada una de las
establecer programación y nuevo software, las que consistirá tareas a realizar y
control de cada o para modificar el proyecto designar
una de las fases uno existente 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:
Técnicas para el Desarrollo de Software

1) Planificación 2
Descomponer el proyecto en actividades distintas. Luego, se 1 4 5
determinan las estimaciones de tiempo para cada actividad y se
3
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.
Herramientas para
el Desarrollo de
Software
Herramientas para el Desarrollo de Software

«Las Herramientas de Ayuda al Desarrollo de Sistemas de


Herramientas 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
Solución de los desarrollos».

Problemas Aplicaciones informáticas

Plazos y presupuestos
incumplidos
Proyectos
Insatisfacción del usuario

Escasa productividad

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


Herramientas para el Desarrollo de Software

Computer Aided Ingeniería de Software


Software Engineering
CASE Asistida por Ordenador

•Mejorar la calidad

Fourth Generation 4GL Lenguajes de Cuarta


Languages Generación
•Mejorar la productividad

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/


Herramientas para el Desarrollo de Software

Herramientas CASE

Métodos
Completamente

Utilidades Automatización Ciclo de vida Sistemas de Inf.

Fases
Técnicas

«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/
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.
Herramientas para el Desarrollo de Software

Herramientas CASE
Clasificación de las Herramientas CASE según las fases del ciclo de vida abarcadas:

CASE integrado: abarcan CASE superior: orientadas a la


todas las fases del ciclo de automatización y soporte
vida del desarrollo de I-CASE U-CASE de las actividades de la fase
sistemas. inicial : análisis y diseño.
Herramientas
CASE
Juegos de Herramientas: CASE inferior: dirigidas a las
orientadas al mantenimiento. últimas fases del desarrollo:
Automatizan una fase Toolkits L-CASE construcción
dentro del ciclo de vida. e implantación.

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


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/


Herramientas para el Desarrollo de Software

Herramientas CASE
Clasificación de las Herramientas CASE según su funcionalidad:

•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.
1

•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.
2

•Herramientas de programación: Se engloban aquí los compiladores, los editores y los


3 depuradores de los lenguajes de programación convencionales.

•Herramientas de integración y prueba: Sirven de ayuda a la adquisición, medición, simulación y


4 prueba de los equipos lógicos desarrollados.

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


Herramientas para el Desarrollo de Software

Herramientas CASE
Clasificación de las Herramientas CASE según su funcionalidad:

•Herramientas de gestión de prototipos: Los prototipos son utilizados ampliamente en el


5 desarrollo de aplicaciones, para evaluar las especificaciones de un sistema de información.

•Herramientas de mantenimiento: Esta categoría se puede subdividir en: Herramientas de


6 ingeniería inversa, herramientas de reestructuración y análisis de código, y de reingeniería.

•Herramientas de gestión de proyectos: Se centran en un elemento específico de la gestión del


7 proyecto, en lugar de proporcionar un soporte global para la actividad de gestión.

•Herramientas de soporte: Se engloban aquí las herramientas que recogen las actividades
8 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/


Herramientas para el Desarrollo de Software

Otra clasificación, diferencia las funciones CASE en cinco grupos:

Soporte del
ciclo de
vida

Re-
Repositorio
ingeniería
Herramientas
CASE

Mejora Soporte
continua de
de calidad proyecto

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


Herramientas para el Desarrollo de Software

Soporte del
ciclo de
vida Repositorio:
Funcionan entorno a un repositorio
central, siendo éste el núcleo
fundamental que contiene todas las
Re- definiciones de objeto y sus
Repositorio relaciones. Los objetos pueden ser
ingeniería
especificaciones del sistema en
Herramientas forma de diagramas de flujo de
CASE datos, diagramas entidad-relación,
esquemas de bases de datos,
diseños de pantallas, etc.

Mejora Soporte
continua de
de calidad proyecto

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


Herramientas para el Desarrollo de Software

Soporte del
ciclo de
vida 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:
Re- Planeamiento, Análisis y Diseño,
Repositorio Implantación y Mantenimiento y
ingeniería
actualización. Los sistemas Case
Herramientas pueden cubrir la totalidad de estas
CASE fases o bien especializarse en
alguna(s) de ellas.

Mejora Soporte
continua de
de calidad proyecto

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


Herramientas para el Desarrollo de Software

Soporte del
ciclo de
vida Re-ingeniería:
Facilita la realización de
modificaciones en la fase más
adecuada en cada caso y su traslado
Re- a las demás. Al conjunto de
Repositorio facilidades proporcionadas por la
ingeniería
ingeniería «directa» e "inversa" se le
Herramientas denomina "re-ingeniería".
CASE

Mejora Soporte
continua de
de calidad proyecto

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


Herramientas para el Desarrollo de Software

Soporte del
ciclo de
vida Soporte de proyecto:
Este tipo de funciones hace
referencia al soporte de actividades
que se producen durante el
Re- desarrollo, derivadas
Repositorio fundamentalmente del trabajo en
ingeniería
grupos, tales como facilidades de
Herramientas comunicación, soporte a la
CASE creación, modificación e
intercambio de documentación,
herramientas personales, controles
de seguridad, etc.
Mejora Soporte
continua de
de calidad proyecto

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/


Herramientas para el Desarrollo de Software

Soporte del
ciclo de
Mejora continua de calidad:
vida
Determinados sistemas Case
introducen herramientas que
permiten ejercer un control intenso
Re- de garantía de calidad del software
Repositorio desarrollado desde las primeras
ingeniería
fases de su ciclo de vida.
Herramientas
CASE

Mejora Soporte
continua de
de calidad proyecto

Disponible en: http://www.alipso.com/monografias/desarrollo_de_sistemas_de_informacion/

Вам также может понравиться