INSTITUTO
        TECNOLÓGICO DE
         CHILPANCINGO
INGENIERÍA EN SISTEMAS
COMPUTACIONALES

FUNDAMENTOS DE DESARROLLO
 “INGENIERÍA DE SOFTWARE”
DE SISTEMAS
 PRESENTADO POR: RAFAEL DÍA
             CHILPANCINGO GRO., SEPTIEM
Contenido
   1. Ingeniería de software.
       1.1 Definición.
       1.2 Características.
       1.3 Ciclo de vida de un proyecto de software.
            1.3.1 Acciones.
   2. Paradigmas de la ingeniería software.
       2.1 Concepto.
       2.2 Enfoque estructurado.
            2.2.1 Diagrama de flujos de datos.
   3. Modelos de proceso de software.
       3.1 Concepto.
       3.2 Modelos evolutivos del proceso.
         3.2.1 Construcción de prototipo.
   4.Técnicas, herramientas y estudios previos.
       4.1 Entrevista.
       4.2 Cuestionario.
       4.3 Observación.
   5. Diseño y arquitectura de productos de software.
       5.1 Diseño de software.
       5.2 Modelo cliente/servidor.
       5.3 Diseño de software de tiempo real.
       Conclusión.
1.- INGENIERÍA DEL
     SOFTWARE
1.1 DEFINICIÓN.


 Es una disciplina de la ingeniería cuya meta es el
  desarrollo costeable de sistemas de software
  confiables que funcionen de modo eficiente y
  comprende todos los aspectos de la producción
  del software.
1.2 CARACTERÍSTICAS.

 El software consta de 3 elementos que lo
  definen:

 1. Los programas y/o algoritmos.
 2. Las estructuras de datos.
 3. Los documentos.
1.2 CARACTERÍSTICAS.

 Existen 2 tipos de productos de software
  cuando se desarrolla:

 1. Productos genéricos.


 2. Productos personalizados.
1.2 CARACTERÍSTICAS.
 Características esenciales para un buen
  diseño:

 * Mantenibilidad.         * Portabilidad.
 *Confiabilidad.           * Utilidad.
 * Costeable.              * Usabilidad.
 * Eficiencia.
1.3 CICLO DE VIDA DE UN
     PROYECTO DE SOFTWARE.


 Es una secuencia de diferentes acciones que
  toman lugar durante el desarrollo del
  software.
1.3.1 ACCIONES.

 1. La factibilidad.
 2. Los requerimientos.
 3. La planeación del proyecto.
 4. El diseño.
 5. La implementación.
 6. La prueba.
 7. La entrega.
 8. El mantenimiento.
2.- PARADIGMA Y
MODELO DE PROCESO
  DEL SOFTWARE
2.1 CONCEPTO.

Un software es un sistema basado en computadora que
 requiere para su desarrollo y construcción la aplicación
 de la ingeniería del software.

Empieza con una serie de tareas de modelado que llevan
 a una especificación de los requerimientos y una
 representación general del sistema de software a
 construir.
2.1 CONCEPTO.
El modelado de análisis es un conjunto de modelos
  donde se representan los objetos y sus interacciones
  bajo el contexto del dominio del problema.

Existen 2 filosofías del modelado del análisis:

• El análisis estructurado.
• El análisis orientado objetos.
2.2 ENFOQUE ESTRUCTURADO.


 El método general es mirar al problema y
  diseñar una solución de funciones y/o
  procedimientos que llevaran a cabo las tareas
  requeridas.

 Descomposición modular.
2.2 ENFOQUE ESTRUCTURADO.


 El diagrama de flujo de datos sirve para dos
  propósitos:
   1. Indicar cómo se transforman los datos a medida
    que se avanza en el sistema.
   2. Representar las funciones (y subfunciones) que
    transforman el flujo de datos.

  Análisis estructurado es una técnica del modelado
   del flujo y del contenido de la información.
2.2 ENFOQUE ESTRUCTURADO.

             Entidad externa




             Proceso de datos o burbuja



             Flujo de datos



             Almacenamiento de datos
3.- MODELOS DE
PROCESO DE SOFTWARE
3.1 CONCEPTO

 Los modelos de proceso definen un marco de
    trabajo genérico para el proceso el cual
    incluye :
   Comunicación
   Planeación.
   Modelado.
   Construcción.
   Despliegue.
3.2 MODELOS EVOLUTIVOS DEL
        PROCESO.
 Son iterativos y los caracteriza la forma en
  que permiten que los desarrolladores de
  software realizan el desarrollo de versiones
  mas completas del software.

 Los mas utilizados y conocidos son:
   * Modelo de construcción de prototipos.
   * Modelo en espiral.
3.2.1 CONSTRUCCIÓN DE
             PROTOTIPOS.
                     Comunicación

      Plan rápido     Planeación

                      Modelado      Diseño rápido

                     Construcción   Construcción
Desarrollo,                         de prototipo
Entrega y
Retroalimentación.    Despliegue
4.-
TÉCNICAS, HERRAMIEN
  TAS Y ESTUDIOS
      PREVIOS
4.1 ENTREVISTA.

 Es una técnica que permite obtener por
  medio del diálogo una serie de datos
  necesarios para la realización del proyecto.

 2 tipos de entrevistas:
   1. Las dirigidas.
   2. Las semidirigidas.
4.2 CUESTIONARIO.

 Es una técnica que permite obtener
  información por medio de preguntas bien
  establecidas y ordenadas.

 3 tipos de cuestionarios.
     1. Preguntas abiertas.
     2. Preguntas cerradas.
     3. Preguntas mixtas.
4.3 OBSERVACIÓN.

 Es una técnica por medio del cual el analista
  de sistemas está en posibilidad de cerciorarse
  con base a la experiencia práctica, de cual es
  el problema real que afecta el área sometida
  a estudio.

 2 tipos de observación:
   1. Participante
   2. No participante.
5.- DISEÑO Y
ARQUITECTURA DE
 PRODUCTOS DE
   SOFTWARE
5.1 DISEÑO DE SOFTWARE.


 Se divide en 6 capas:
   1. Diseño arquitectónico: subsistemas que
    conforman el software y su relación.
   2. Especificación abstracta: especificación de
    sus servicios y restricciones bajo los cuales
    opera.
   3. Diseño de la interfaz. Diseña y documenta
    su interacción con otros subsistemas.
5.1 DISEÑO DE SOFTWARE.

 4. Diseño de componentes: se asignan servicios a los
  diferentes componentes y la interfaz.
 5. Diseño de la estructura de datos: estructura de
  datos a utilizar.
 6. Diseño de algoritmos: algoritmos a utilizar.
5.2 MODELO CLIENTE/SERVIDOR.

 Es un modelo de sistemas distribuido que muestra
  como los datos y el procesamiento se distribuyen a lo
  largo de varios procesadores.

 Componentes principales:
   - conjunto de servidores independientes que ofrecen servicios
    a otros subsistemas.
   - conjunto de clientes que llaman a los servicios ofrecidos por
    los otros servidores.
   - una red que permite a los clientes acceder a estos servicios.
5.2 MODELO CLIENTE/SERVIDOR.


       Servidor             Servidor
          A                    B


                   Red


     Cliente      Cliente      Cliente
        1            2            3
5.3 DISEÑO DE SOFTWARE DE
            TIEMPO REAL
 Es aquel software que coordina, analiza y controla
  eventos del mundo real conforme estos ocurren.

 Una forma de visualizar este sistema es como un
  sistema de estimulo/respuesta.

 2 clases de estimulo:
   - los periódicos.
   - los aperiódicos.
5.3 DISEÑO DE SOFTWARE DE
       TIEMPO REAL
              Sensor          Sensor

 Sensor                                 Sensor




   Actuador            Actuador        Actuador
CONCLUSIÓN

La ingeniería de software es una disciplina de la ingeniería que nos ayudan a
desarrollar sistemas de software a tiempo y a la vez que se cumpla con las
expectativas de calidad y que permanezca dentro del presupuesto. Sus 3
elementos importantes son: algoritmos, estructura de datos y documentos.

El proyecto de software cumple con un ciclo de vida, para todo proyecto de
software se debe elegir el modelo en el que se trabajara, es muy importante
realizar prototipos de los productos de software para el mejor diseño y
entendimiento de lo que requiere el cliente.
Para esto necesitamos información adecuada, podemos utilizar cualquier
técnica de recopilación de información siempre y cuando se haga de la forma
correcta y constante comunicación con el cliente.
FUENTES CONSULTADAS


 Apuntes de Fundamentos de Desarrollo de
  Sistemas.
     Primera Edición, 2009.
Víctor Manuel Hernández Alarcón.
          Editorial Artesanal Educativa.
Ingenieria de software

Ingenieria de software

  • 1.
    INSTITUTO TECNOLÓGICO DE CHILPANCINGO INGENIERÍA EN SISTEMAS COMPUTACIONALES FUNDAMENTOS DE DESARROLLO “INGENIERÍA DE SOFTWARE” DE SISTEMAS PRESENTADO POR: RAFAEL DÍA CHILPANCINGO GRO., SEPTIEM
  • 2.
    Contenido  1. Ingeniería de software.  1.1 Definición.  1.2 Características.  1.3 Ciclo de vida de un proyecto de software.  1.3.1 Acciones.  2. Paradigmas de la ingeniería software.  2.1 Concepto.  2.2 Enfoque estructurado.  2.2.1 Diagrama de flujos de datos.  3. Modelos de proceso de software.  3.1 Concepto.  3.2 Modelos evolutivos del proceso.  3.2.1 Construcción de prototipo.  4.Técnicas, herramientas y estudios previos.  4.1 Entrevista.  4.2 Cuestionario.  4.3 Observación.  5. Diseño y arquitectura de productos de software.  5.1 Diseño de software.  5.2 Modelo cliente/servidor.  5.3 Diseño de software de tiempo real.  Conclusión.
  • 3.
  • 4.
    1.1 DEFINICIÓN.  Esuna disciplina de la ingeniería cuya meta es el desarrollo costeable de sistemas de software confiables que funcionen de modo eficiente y comprende todos los aspectos de la producción del software.
  • 5.
    1.2 CARACTERÍSTICAS.  Elsoftware consta de 3 elementos que lo definen:  1. Los programas y/o algoritmos.  2. Las estructuras de datos.  3. Los documentos.
  • 6.
    1.2 CARACTERÍSTICAS.  Existen2 tipos de productos de software cuando se desarrolla:  1. Productos genéricos.  2. Productos personalizados.
  • 7.
    1.2 CARACTERÍSTICAS.  Característicasesenciales para un buen diseño:  * Mantenibilidad. * Portabilidad.  *Confiabilidad. * Utilidad.  * Costeable. * Usabilidad.  * Eficiencia.
  • 8.
    1.3 CICLO DEVIDA DE UN PROYECTO DE SOFTWARE.  Es una secuencia de diferentes acciones que toman lugar durante el desarrollo del software.
  • 9.
    1.3.1 ACCIONES.  1.La factibilidad.  2. Los requerimientos.  3. La planeación del proyecto.  4. El diseño.  5. La implementación.  6. La prueba.  7. La entrega.  8. El mantenimiento.
  • 10.
    2.- PARADIGMA Y MODELODE PROCESO DEL SOFTWARE
  • 11.
    2.1 CONCEPTO. Un softwarees un sistema basado en computadora que requiere para su desarrollo y construcción la aplicación de la ingeniería del software. Empieza con una serie de tareas de modelado que llevan a una especificación de los requerimientos y una representación general del sistema de software a construir.
  • 12.
    2.1 CONCEPTO. El modeladode análisis es un conjunto de modelos donde se representan los objetos y sus interacciones bajo el contexto del dominio del problema. Existen 2 filosofías del modelado del análisis: • El análisis estructurado. • El análisis orientado objetos.
  • 13.
    2.2 ENFOQUE ESTRUCTURADO. El método general es mirar al problema y diseñar una solución de funciones y/o procedimientos que llevaran a cabo las tareas requeridas.  Descomposición modular.
  • 14.
    2.2 ENFOQUE ESTRUCTURADO. El diagrama de flujo de datos sirve para dos propósitos:  1. Indicar cómo se transforman los datos a medida que se avanza en el sistema.  2. Representar las funciones (y subfunciones) que transforman el flujo de datos. Análisis estructurado es una técnica del modelado del flujo y del contenido de la información.
  • 15.
    2.2 ENFOQUE ESTRUCTURADO. Entidad externa Proceso de datos o burbuja Flujo de datos Almacenamiento de datos
  • 16.
  • 17.
    3.1 CONCEPTO  Losmodelos de proceso definen un marco de trabajo genérico para el proceso el cual incluye :  Comunicación  Planeación.  Modelado.  Construcción.  Despliegue.
  • 18.
    3.2 MODELOS EVOLUTIVOSDEL PROCESO.  Son iterativos y los caracteriza la forma en que permiten que los desarrolladores de software realizan el desarrollo de versiones mas completas del software.  Los mas utilizados y conocidos son:  * Modelo de construcción de prototipos.  * Modelo en espiral.
  • 19.
    3.2.1 CONSTRUCCIÓN DE PROTOTIPOS. Comunicación Plan rápido Planeación Modelado Diseño rápido Construcción Construcción Desarrollo, de prototipo Entrega y Retroalimentación. Despliegue
  • 20.
    4.- TÉCNICAS, HERRAMIEN TAS Y ESTUDIOS PREVIOS
  • 21.
    4.1 ENTREVISTA.  Esuna técnica que permite obtener por medio del diálogo una serie de datos necesarios para la realización del proyecto.  2 tipos de entrevistas:  1. Las dirigidas.  2. Las semidirigidas.
  • 22.
    4.2 CUESTIONARIO.  Esuna técnica que permite obtener información por medio de preguntas bien establecidas y ordenadas.  3 tipos de cuestionarios.  1. Preguntas abiertas.  2. Preguntas cerradas.  3. Preguntas mixtas.
  • 23.
    4.3 OBSERVACIÓN.  Esuna técnica por medio del cual el analista de sistemas está en posibilidad de cerciorarse con base a la experiencia práctica, de cual es el problema real que afecta el área sometida a estudio.  2 tipos de observación:  1. Participante  2. No participante.
  • 24.
    5.- DISEÑO Y ARQUITECTURADE PRODUCTOS DE SOFTWARE
  • 25.
    5.1 DISEÑO DESOFTWARE.  Se divide en 6 capas:  1. Diseño arquitectónico: subsistemas que conforman el software y su relación.  2. Especificación abstracta: especificación de sus servicios y restricciones bajo los cuales opera.  3. Diseño de la interfaz. Diseña y documenta su interacción con otros subsistemas.
  • 26.
    5.1 DISEÑO DESOFTWARE.  4. Diseño de componentes: se asignan servicios a los diferentes componentes y la interfaz.  5. Diseño de la estructura de datos: estructura de datos a utilizar.  6. Diseño de algoritmos: algoritmos a utilizar.
  • 27.
    5.2 MODELO CLIENTE/SERVIDOR. Es un modelo de sistemas distribuido que muestra como los datos y el procesamiento se distribuyen a lo largo de varios procesadores.  Componentes principales:  - conjunto de servidores independientes que ofrecen servicios a otros subsistemas.  - conjunto de clientes que llaman a los servicios ofrecidos por los otros servidores.  - una red que permite a los clientes acceder a estos servicios.
  • 28.
    5.2 MODELO CLIENTE/SERVIDOR. Servidor Servidor A B Red Cliente Cliente Cliente 1 2 3
  • 29.
    5.3 DISEÑO DESOFTWARE DE TIEMPO REAL  Es aquel software que coordina, analiza y controla eventos del mundo real conforme estos ocurren.  Una forma de visualizar este sistema es como un sistema de estimulo/respuesta.  2 clases de estimulo:  - los periódicos.  - los aperiódicos.
  • 30.
    5.3 DISEÑO DESOFTWARE DE TIEMPO REAL Sensor Sensor Sensor Sensor Actuador Actuador Actuador
  • 31.
    CONCLUSIÓN La ingeniería desoftware es una disciplina de la ingeniería que nos ayudan a desarrollar sistemas de software a tiempo y a la vez que se cumpla con las expectativas de calidad y que permanezca dentro del presupuesto. Sus 3 elementos importantes son: algoritmos, estructura de datos y documentos. El proyecto de software cumple con un ciclo de vida, para todo proyecto de software se debe elegir el modelo en el que se trabajara, es muy importante realizar prototipos de los productos de software para el mejor diseño y entendimiento de lo que requiere el cliente. Para esto necesitamos información adecuada, podemos utilizar cualquier técnica de recopilación de información siempre y cuando se haga de la forma correcta y constante comunicación con el cliente.
  • 32.
    FUENTES CONSULTADAS  Apuntesde Fundamentos de Desarrollo de Sistemas. Primera Edición, 2009. Víctor Manuel Hernández Alarcón. Editorial Artesanal Educativa.