SlideShare une entreprise Scribd logo
1  sur  47
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
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.
Técnicas de desarrollo de software



         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.
Técnicas de desarrollo de software



- 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.
Técnicas de desarrollo de software


-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.
Técnicas de desarrollo de software



                         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.
Técnicas de desarrollo de software



    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)
Técnicas de desarrollo de software



  - Post entrevista.
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.
Técnicas de desarrollo de software



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.
Técnicas de desarrollo de software



Características fundamentales de una encuesta.

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.
Técnicas de desarrollo de software

   Técnica para la
recopilación de datos
  Tipos de encuestas.

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.
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.
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.
Técnicas de desarrollo de software

     Técnica para la
  recopilación de datos

El cuestionario se puede presentar bajo dos esquemas.
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.
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. 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é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: 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écnicas de desarrollo de software

   Técnica para la
recopilación de datos
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.
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.
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
Técnicas de desarrollo de software

     Técnica de Costo-
        Beneficios

                                                 Resultado: Si CTS < BTS entonces la
Beneficios                                       Solución es Viable, caso contrario
• Mejora de Procesos.- Conducen a                no es recomendable.
reducción de tiempo y recursos.                  Cada uno de los elementos a
• Disponer de Sistemas de Información.-          incluirse debe ser cuantificado y
Mejora la toma de decisiones y obtención         ponderado, de tal forma que el
de ingresos.                                     agregado final determine un
• Personal Motivado.- Creciente moral del        resultado tangible. La utilización de
personal al funcionar en un entorno de           estos criterios puede variar de una
herramientas modernas para el negocio            realidad a otra, es decir, se tiene
. • Intangibles.- Otros beneficios intangibles   libertad para cambiar el listado
que sean identificados y cuantificables.         cuidando no perder el equilibrio,
• Beneficio Total de la Solución (BTS) = A + B   que fácilmente se altera al
+C+D                                             modificar el modelo.
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:                      Alcance:                   Entradas:
En este procedimiento se     Todas las actividades      El proceso da comienzo
describe la sistemática a    encamina das a la          con la necesidad de
seguir para una correcta     planeación,                desarrollar un nuevo
planificación          del   programación y control     software o modificar uno
desarrollo     de     una    de cada una de las         existente (sub-proyecto)
aplicación de software y     fases requeridas para el   y, por tanto, de realizar
de las medidas de control    desarrollo    de    una    una planificación de las
a    establecer   por   el   aplicación de software     actividades necesarias
gabinete               de    específica.                para realizar dicha
programación                                            aplicación .
Técnicas de desarrollo de software
Técnica de planificación
 y control de proyectos.
                           Desarrollo:
  Salidas:                 Para ejecutar un
  Este proceso finaliza    proyecto basado en
  con la planeación,       el desarrollo de
  programación y           software es preciso
  control de cada          definir la estructura en
  una de las               que se desglosan
  actividades en las       cada una de las
  que consistirá el        actividades o tareas a
  proyecto de              realizar para,
  desarrollo de una        finalmente, asignar a
  aplicación de            cada miembro del
  software específica.     equipo su
                           correspondiente
                           cuota de gestión
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.
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.
Técnicas de desarrollo de software

Técnica de planificación
 y control de proyectos.

 Programación: Se
 construye un gráfico de        Control: Es la fase final de la planificación y
 tiempo donde se muestran       administración del proyecto de desarrollo de
 lo s tiempos de iniciación y   software, ésta incluye el uso del diagrama de
 terminación para cada          flechas y la gráfica de tiempo para hacer
 actividad y la relación con    reportes periódicos del progreso. La
                                secuencia de actividades debe analizarse y,
 el resto de las actividades
                                si es necesario, determinar un nuevo
 del proyecto. El programa      programa para la parte restante del
 señala las actividades         proyecto.
 críticas, es decir, aquéllas
 que requerirán de una
 atención especial.
Técnicas de desarrollo de software

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


                Calidad                             Productividad

   CASE (Computer Aided Software               (lenguajes   de   cuarta
  Engineering-Ingeniería de Software           generación     4GL-Fourth
       Asistida por Ordenador).                Generation Language).
Herramientas para desarrollo de 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
Herramientas para   funcionalidad :
 diseñar software   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++.
Herramientas para desarrollo de software




                    • 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
Herramientas para   una db en especifico y estas son MySql y
modelar bases de    PostgreSQL, el de MySql (MySql WorkBench no es
     datos.         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.
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.
Herramientas para desarrollo de software


Gestión de la configuración.



• 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
Herramientas para desarrollo de software

        Herramientas para
ingeniería de software asistido
               (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.

El empleo de herramientas Case permiten integrar el proceso de ciclo de
vida:
     • Análisis de datos y procesos integrados mediante un
1      repositorio.

     • Generación de interfaces entre el análisis y el diseño.
2

     • Generación del código a partir del diseño
3

4    • Control de mantenimiento.
Herramientas para desarrollo de software

        Herramientas para
ingeniería de software asistido
               (CASE)
          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 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.
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
Herramientas para desarrollo de software

  Herramientas para
Ingeniería de Software
   Asistido (CASE)
                         Evolución de las herramientas CASE

                                                                               A inicios
    • Ayuda en la                A mediados                                   delos 90’s
     documentac                   delos 80’s
     ión por
     computador                                • Generación              • Metodologia
                          • Diseño               automática de
     a.                                                                    Inteligente.
                            automático           código desde
     Diagramació                                                           Interface de
                            de análisis y        especificaciones
     n asistida por                                                        Usuario
                            pruebas.             de diseño
     computador                                                            reusable
                            Repositorios
     a.                                                                    como una
                            automáticos
     Herramientas                                                          metodología
                            de
     de análisis y                                      Al final delos     desarrollo.
                            información
     diseño.                                                  80’s
                            de sistemas.
      A inicios de los
            80’s
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.
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.

        La arquitectura de las aplicaciones que
        producen


              Su funcionalidad.
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.
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.
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
Herramientas de análisis ydiseño:    (Modelamiento).
Permiten al desarrollador crear un   • Herramientas de creación de prototipos y de
modelo del sistema que se va a       simulación.
construir y también la evaluación    • Herramientas para el diseño y desarrollo de
de la validez y consistencia de      interfaces.
este modelo. Proporcionan un         • Máquinas de análisis y diseño
grado de confianza en la             (Modelamiento).
representación del análisis y        • Herramientas de programación. Se engloban
ayudan a eliminar errores con        aquí los compiladores, los editores y los
anticipación. Se tienen:             depuradores de los lenguajes de programación
                                     convencionales
.




       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
.




       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
    Herramientas de gestión de  prototipos:          mantenimiento:
             Los   prototipos    son    utilizados   La categoría de herramientas
    ampliamente      en    el    desarrollo     de   de mantenimiento se puede
    aplicaciones, para la evaluación de              subdividir en:
    especificaciones    de    un   sistema      de   • Herramientas de ingeniería
    información, o para un mejor entendimiento       inversa.
    de cómo los requisitos de un sistema de          • Herramientas de
    información se ajustan a los objetivos           restructuración y análisis de
    perseguidos                                      código.
                                                     • Herramientas de
                                                     reingeniería.
.




        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
.




        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
    Existen también herramientas      proyectos.
                                      • Herramientas de seguimiento de
    que permiten al comprador
                                      requisitos.
    del desarrollo de un sistema,
                                      • Herramientas de gestión y medida.
    hacer un seguimiento que va
                                      • Herramientas de soporte. Se engloban
    desde los requisitos del pliego
    de prescripciones técnicas        en esta categoría las herramientas que
                                      recogen las actividades aplicables en
    inicial, hasta el trabajo de
                                      todo el proceso de desarrollo, como las
    desarrollo que convierte estos
                                      que se relacionan a continuación:
    requisitos en un producto
                                      1. Herramientas de documentación.
    final. Se incluyen dentro de
                                      2. Herramientas para software de
    las herramientas de control de
                                      sistemas.
    proyectos las siguientes:
                                      3. Herramientas de control de calidad.
                                      4. Herramientas de bases de datos.
Técnicas y herramientas para el desarrollo de Software

Contenu connexe

Tendances

Introducción al análisis y diseño de sistemas de informacion
Introducción al análisis y diseño de sistemas de informacionIntroducción al análisis y diseño de sistemas de informacion
Introducción al análisis y diseño de sistemas de informacionJosé Alfonso Mena Adame
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesJaqueline Luna
 
Lista de chequeo software
Lista de chequeo softwareLista de chequeo software
Lista de chequeo softwareJhonny Díaz
 
mapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdfmapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdfCarlosEspinel10
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareMoises Medina
 
Diseño de Propuesta de Sistema de Información
Diseño de Propuesta de Sistema de InformaciónDiseño de Propuesta de Sistema de Información
Diseño de Propuesta de Sistema de Informaciónkatherine Gaspare
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosSaraEAlcntaraR
 
Presentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datosPresentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datosYarquiri Claudio
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaIsrael Rey
 
Cuadro comparativo metodos
Cuadro comparativo metodosCuadro comparativo metodos
Cuadro comparativo metodosivansierra20
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup finalMariaC7
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de softwaremonik1002
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientosCarlos Alonso
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
Análisis de requerimientos
Análisis de requerimientosAnálisis de requerimientos
Análisis de requerimientosGustavo Araque
 

Tendances (20)

Introducción al análisis y diseño de sistemas de informacion
Introducción al análisis y diseño de sistemas de informacionIntroducción al análisis y diseño de sistemas de informacion
Introducción al análisis y diseño de sistemas de informacion
 
Rational rose
Rational roseRational rose
Rational rose
 
Metodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móvilesMetodologías para el desarrollo de aplicaciones móviles
Metodologías para el desarrollo de aplicaciones móviles
 
Lista de chequeo software
Lista de chequeo softwareLista de chequeo software
Lista de chequeo software
 
mapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdfmapa mental sobre ingeniería de requisitos.pdf
mapa mental sobre ingeniería de requisitos.pdf
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
Diseño de Propuesta de Sistema de Información
Diseño de Propuesta de Sistema de InformaciónDiseño de Propuesta de Sistema de Información
Diseño de Propuesta de Sistema de Información
 
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de RequisitosTema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
Tema N° 6 Técnicas para el Levantamiento y Recolección de Requisitos
 
Presentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datosPresentación de fases de diseño de base de datos
Presentación de fases de diseño de base de datos
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Requerimientos de usuario y del sistema
Requerimientos de usuario y del sistemaRequerimientos de usuario y del sistema
Requerimientos de usuario y del sistema
 
Cuadro comparativo metodos
Cuadro comparativo metodosCuadro comparativo metodos
Cuadro comparativo metodos
 
Metodología rup final
Metodología rup finalMetodología rup final
Metodología rup final
 
Proyecto de software
Proyecto de softwareProyecto de software
Proyecto de software
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Qué es un documento de requerimientos
Qué es un documento de requerimientosQué es un documento de requerimientos
Qué es un documento de requerimientos
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Análisis de requerimientos
Análisis de requerimientosAnálisis de requerimientos
Análisis de requerimientos
 
Caso práctico
Caso prácticoCaso práctico
Caso práctico
 
Casos De Uso
Casos De UsoCasos De Uso
Casos De Uso
 

Similaire à Técnicas y herramientas para el desarrollo de Software

Clase 4 desarrollo_de_software
Clase 4 desarrollo_de_softwareClase 4 desarrollo_de_software
Clase 4 desarrollo_de_softwareDr.Ing. Uriel
 
Semana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de swSemana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de swedithua
 
RecoleccióN Y Analisis De InformacióN
RecoleccióN Y Analisis De InformacióNRecoleccióN Y Analisis De InformacióN
RecoleccióN Y Analisis De InformacióNdavid smith
 
Desarrollo de proyectos capitulo i jav
Desarrollo de proyectos capitulo i javDesarrollo de proyectos capitulo i jav
Desarrollo de proyectos capitulo i javJavsrosales
 
Técnicas de recolección de información (1).docx
Técnicas de recolección de información (1).docxTécnicas de recolección de información (1).docx
Técnicas de recolección de información (1).docxKerly91
 
Técnicas de recolección de información (2).docx
Técnicas de recolección de información (2).docxTécnicas de recolección de información (2).docx
Técnicas de recolección de información (2).docxKerly91
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Gustavo Gualsema
 
Trabajo requerimientos
Trabajo requerimientosTrabajo requerimientos
Trabajo requerimientosedward2815
 
Trabajo requerimientos
Trabajo requerimientosTrabajo requerimientos
Trabajo requerimientosedward2815
 
Recoleccion de informacion
Recoleccion de informacionRecoleccion de informacion
Recoleccion de informacionDuvan Zuluaga
 
Técnicas de Recolección de datos Aplicadas en Proyectos de Investigación
Técnicas de Recolección de datos Aplicadas en Proyectos de InvestigaciónTécnicas de Recolección de datos Aplicadas en Proyectos de Investigación
Técnicas de Recolección de datos Aplicadas en Proyectos de Investigaciónkarina maita
 
Tecnicas de recolección de datos
Tecnicas de recolección de datosTecnicas de recolección de datos
Tecnicas de recolección de datosTomoky Sakuray
 
Investigacion de recopilacion_de_datos_9
Investigacion de recopilacion_de_datos_9Investigacion de recopilacion_de_datos_9
Investigacion de recopilacion_de_datos_9NellyZoto
 
Herramientasderecopilacin
HerramientasderecopilacinHerramientasderecopilacin
HerramientasderecopilacinManuel Murcia
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareYenifer Bravo
 
Técnicas e instrumentos de recolección de datos
Técnicas e instrumentos de recolección de datosTécnicas e instrumentos de recolección de datos
Técnicas e instrumentos de recolección de datosAngel Giraldo
 
Manuel - Perez - Cuadro sinóptico
Manuel - Perez - Cuadro sinópticoManuel - Perez - Cuadro sinóptico
Manuel - Perez - Cuadro sinópticorattur
 
Universidad de oriente- Técnicas y herramientas de desarrollo de software
Universidad de oriente- Técnicas y herramientas de desarrollo de softwareUniversidad de oriente- Técnicas y herramientas de desarrollo de software
Universidad de oriente- Técnicas y herramientas de desarrollo de softwareRosmar Pinto
 

Similaire à Técnicas y herramientas para el desarrollo de Software (20)

Clase 4 desarrollo_de_software
Clase 4 desarrollo_de_softwareClase 4 desarrollo_de_software
Clase 4 desarrollo_de_software
 
Semana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de swSemana 8 técnicas y herramientas para el desarrollo de sw
Semana 8 técnicas y herramientas para el desarrollo de sw
 
RecoleccióN Y Analisis De InformacióN
RecoleccióN Y Analisis De InformacióNRecoleccióN Y Analisis De InformacióN
RecoleccióN Y Analisis De InformacióN
 
Desarrollo de proyectos capitulo i jav
Desarrollo de proyectos capitulo i javDesarrollo de proyectos capitulo i jav
Desarrollo de proyectos capitulo i jav
 
Técnicas de recolección de información (1).docx
Técnicas de recolección de información (1).docxTécnicas de recolección de información (1).docx
Técnicas de recolección de información (1).docx
 
Técnicas de recolección de información (2).docx
Técnicas de recolección de información (2).docxTécnicas de recolección de información (2).docx
Técnicas de recolección de información (2).docx
 
Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)Tecnicas y herramientas de desarrollo de software(1)
Tecnicas y herramientas de desarrollo de software(1)
 
Trabajo requerimientos
Trabajo requerimientosTrabajo requerimientos
Trabajo requerimientos
 
Trabajo requerimientos
Trabajo requerimientosTrabajo requerimientos
Trabajo requerimientos
 
Recoleccion de informacion
Recoleccion de informacionRecoleccion de informacion
Recoleccion de informacion
 
Técnicas de Recolección de datos Aplicadas en Proyectos de Investigación
Técnicas de Recolección de datos Aplicadas en Proyectos de InvestigaciónTécnicas de Recolección de datos Aplicadas en Proyectos de Investigación
Técnicas de Recolección de datos Aplicadas en Proyectos de Investigación
 
Tecnicas de recolección de datos
Tecnicas de recolección de datosTecnicas de recolección de datos
Tecnicas de recolección de datos
 
Investigacion de recopilacion_de_datos_9
Investigacion de recopilacion_de_datos_9Investigacion de recopilacion_de_datos_9
Investigacion de recopilacion_de_datos_9
 
Herramientasderecopilacin
HerramientasderecopilacinHerramientasderecopilacin
Herramientasderecopilacin
 
Tecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de softwareTecnicas y herramientas para el desarrollo de software
Tecnicas y herramientas para el desarrollo de software
 
Técnicas e instrumentos de recolección de datos
Técnicas e instrumentos de recolección de datosTécnicas e instrumentos de recolección de datos
Técnicas e instrumentos de recolección de datos
 
Manuel - Perez - Cuadro sinóptico
Manuel - Perez - Cuadro sinópticoManuel - Perez - Cuadro sinóptico
Manuel - Perez - Cuadro sinóptico
 
Cuestionario 9
Cuestionario 9Cuestionario 9
Cuestionario 9
 
Recopilacion de datos
Recopilacion  de   datosRecopilacion  de   datos
Recopilacion de datos
 
Universidad de oriente- Técnicas y herramientas de desarrollo de software
Universidad de oriente- Técnicas y herramientas de desarrollo de softwareUniversidad de oriente- Técnicas y herramientas de desarrollo de software
Universidad de oriente- Técnicas y herramientas de desarrollo de software
 

Técnicas y herramientas para el desarrollo de Software

  • 1. 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
  • 2. 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.
  • 3. Técnicas de desarrollo de software 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.
  • 4. Técnicas de desarrollo de software - 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.
  • 5. Técnicas de desarrollo de software -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.
  • 6. Técnicas de desarrollo de software 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.
  • 7. Técnicas de desarrollo de software 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)
  • 8. Técnicas de desarrollo de software - Post entrevista. 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.
  • 9. Técnicas de desarrollo de software 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.
  • 10. Técnicas de desarrollo de software Características fundamentales de una encuesta. 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.
  • 11. Técnicas de desarrollo de software Técnica para la recopilación de datos Tipos de encuestas. 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.
  • 12. 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.
  • 13. 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.
  • 14. Técnicas de desarrollo de software Técnica para la recopilación de datos El cuestionario se puede presentar bajo dos esquemas.
  • 15. 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.
  • 16. 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. 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
  • 17. 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: 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.
  • 18. Técnicas de desarrollo de software Técnica para la recopilación de datos
  • 19. 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.
  • 20. 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.
  • 21. 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
  • 22. Técnicas de desarrollo de software Técnica de Costo- Beneficios Resultado: Si CTS < BTS entonces la Beneficios Solución es Viable, caso contrario • Mejora de Procesos.- Conducen a no es recomendable. reducción de tiempo y recursos. Cada uno de los elementos a • Disponer de Sistemas de Información.- incluirse debe ser cuantificado y Mejora la toma de decisiones y obtención ponderado, de tal forma que el de ingresos. agregado final determine un • Personal Motivado.- Creciente moral del resultado tangible. La utilización de personal al funcionar en un entorno de estos criterios puede variar de una herramientas modernas para el negocio realidad a otra, es decir, se tiene . • Intangibles.- Otros beneficios intangibles libertad para cambiar el listado que sean identificados y cuantificables. cuidando no perder el equilibrio, • Beneficio Total de la Solución (BTS) = A + B que fácilmente se altera al +C+D modificar el modelo.
  • 23. 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: Alcance: Entradas: En este procedimiento se Todas las actividades El proceso da comienzo describe la sistemática a encamina das a la con la necesidad de seguir para una correcta planeación, desarrollar un nuevo planificación del programación y control software o modificar uno desarrollo de una de cada una de las existente (sub-proyecto) aplicación de software y fases requeridas para el y, por tanto, de realizar de las medidas de control desarrollo de una una planificación de las a establecer por el aplicación de software actividades necesarias gabinete de específica. para realizar dicha programación aplicación .
  • 24. Técnicas de desarrollo de software Técnica de planificación y control de proyectos. Desarrollo: Salidas: Para ejecutar un Este proceso finaliza proyecto basado en con la planeación, el desarrollo de programación y software es preciso control de cada definir la estructura en una de las que se desglosan actividades en las cada una de las que consistirá el actividades o tareas a proyecto de realizar para, desarrollo de una finalmente, asignar a aplicación de cada miembro del software específica. equipo su correspondiente cuota de gestión
  • 25. 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.
  • 26. 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.
  • 27. Técnicas de desarrollo de software Técnica de planificación y control de proyectos. Programación: Se construye un gráfico de Control: Es la fase final de la planificación y tiempo donde se muestran administración del proyecto de desarrollo de lo s tiempos de iniciación y software, ésta incluye el uso del diagrama de terminación para cada flechas y la gráfica de tiempo para hacer actividad y la relación con reportes periódicos del progreso. La secuencia de actividades debe analizarse y, el resto de las actividades si es necesario, determinar un nuevo del proyecto. El programa programa para la parte restante del señala las actividades proyecto. críticas, es decir, aquéllas que requerirán de una atención especial.
  • 28. Técnicas de desarrollo de software Herramientas para el Desarrollo de Software 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. 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. Calidad Productividad CASE (Computer Aided Software (lenguajes de cuarta Engineering-Ingeniería de Software generación 4GL-Fourth Asistida por Ordenador). Generation Language).
  • 29. Herramientas para desarrollo de 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 Herramientas para funcionalidad : diseñar software 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++.
  • 30. Herramientas para desarrollo de software • 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 Herramientas para una db en especifico y estas son MySql y modelar bases de PostgreSQL, el de MySql (MySql WorkBench no es datos. 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.
  • 31. 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.
  • 32. Herramientas para desarrollo de software Gestión de la configuración. • 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
  • 33. Herramientas para desarrollo de software Herramientas para ingeniería de software asistido (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. El empleo de herramientas Case permiten integrar el proceso de ciclo de vida: • Análisis de datos y procesos integrados mediante un 1 repositorio. • Generación de interfaces entre el análisis y el diseño. 2 • Generación del código a partir del diseño 3 4 • Control de mantenimiento.
  • 34. Herramientas para desarrollo de software Herramientas para ingeniería de software asistido (CASE) 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).
  • 35. 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.
  • 36. 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
  • 37. Herramientas para desarrollo de software Herramientas para Ingeniería de Software Asistido (CASE) Evolución de las herramientas CASE A inicios • Ayuda en la A mediados delos 90’s documentac delos 80’s ión por computador • Generación • Metodologia • Diseño automática de a. Inteligente. automático código desde Diagramació Interface de de análisis y especificaciones n asistida por Usuario pruebas. de diseño computador reusable Repositorios a. como una automáticos Herramientas metodología de de análisis y Al final delos desarrollo. información diseño. 80’s de sistemas. A inicios de los 80’s
  • 38. 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.
  • 39. 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. La arquitectura de las aplicaciones que producen Su funcionalidad.
  • 40. 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.
  • 41. 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.
  • 42. 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 Herramientas de análisis ydiseño: (Modelamiento). Permiten al desarrollador crear un • Herramientas de creación de prototipos y de modelo del sistema que se va a simulación. construir y también la evaluación • Herramientas para el diseño y desarrollo de de la validez y consistencia de interfaces. este modelo. Proporcionan un • Máquinas de análisis y diseño grado de confianza en la (Modelamiento). representación del análisis y • Herramientas de programación. Se engloban ayudan a eliminar errores con aquí los compiladores, los editores y los anticipación. Se tienen: depuradores de los lenguajes de programación convencionales
  • 43. . 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
  • 44. . 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 Herramientas de gestión de prototipos: mantenimiento: Los prototipos son utilizados La categoría de herramientas ampliamente en el desarrollo de de mantenimiento se puede aplicaciones, para la evaluación de subdividir en: especificaciones de un sistema de • Herramientas de ingeniería información, o para un mejor entendimiento inversa. de cómo los requisitos de un sistema de • Herramientas de información se ajustan a los objetivos restructuración y análisis de perseguidos código. • Herramientas de reingeniería.
  • 45. . 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
  • 46. . 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 Existen también herramientas proyectos. • Herramientas de seguimiento de que permiten al comprador requisitos. del desarrollo de un sistema, • Herramientas de gestión y medida. hacer un seguimiento que va • Herramientas de soporte. Se engloban desde los requisitos del pliego de prescripciones técnicas en esta categoría las herramientas que recogen las actividades aplicables en inicial, hasta el trabajo de todo el proceso de desarrollo, como las desarrollo que convierte estos que se relacionan a continuación: requisitos en un producto 1. Herramientas de documentación. final. Se incluyen dentro de 2. Herramientas para software de las herramientas de control de sistemas. proyectos las siguientes: 3. Herramientas de control de calidad. 4. Herramientas de bases de datos.