sesión 01 introducción a ingeniería de software

28
Ing. Lenin Huayta Flores Sesión 01: Introducción a la Ingeniería de Software Ingeniería de Software

Upload: john-ever-maron-puma

Post on 04-Sep-2015

15 views

Category:

Documents


4 download

DESCRIPTION

proyecto

TRANSCRIPT

  • Ing. Lenin Huayta Flores

    Sesin 01:Introduccin a la Ingeniera de Software

    Ingeniera de Software

  • Ingeniera de Software

    Introduccin a la Ingeniera de Software

    Objetivos

    Tener una nocin general de lo que es la Ingeniera de

    Software y de sus objetivos y conceptos bsico relacionados.

    Lectura recomendada

    Captulo 1 (Software and Software Engineering) del libro

    Software Engineering A Practioners Approach (Roger

    Pressman).

    Captulo 1 (Introduction) del libro Software Engineering (Ian

    Sommerville).

    2

  • Ingeniera de Software

    Ingeniera de Software

    Las economas de los pases desarrollados dependen

    en gran parte del software.

    Mas y ms sistemas son actualmente controlados

    por software.

    El gasto en la Ingeniera de Software, representa un

    alto porcentaje del PIB de los pases desarrollados.

    3

  • Ingeniera de Software

    Qu es la Ingeniera de Software?

    La Ingeniera de Software es una disciplina de la

    Ingeniera que concierne a todos los aspectos de la

    produccin de software

    Los Ingenieros de Software adoptan un enfoque

    sistemtico para llevar a cabo su trabajo y utilizan

    las herramientas y tcnicas necesarias para resolver

    el problema planteado, de acuerdo a las

    restricciones de desarrollo y recursos disponibles.

    4

  • Ingeniera de Software

    Objetivo general

    Producir software de alta calidad de forma

    industrial

    5

  • Ingeniera de Software

    Objetivos especficos

    Calidad de software

    Productividad en el desarrollo, operacin y

    mantenimiento de software

    Calidad versus Productividad

    Permitir que profesionales tengan control sobre el

    desarrollo de software dentro de costos, plazos y

    niveles de calidad adecuados

    6

  • Ingeniera de Software

    Diferencia entre Ingeniera de Software y Computacin

    La computacin concierne a la teora y fundamentos

    de cualquier sistema de computo, sea de hardware

    o de software.

    La Ingeniera de software concierne solo al

    desarrollo de sistemas o productos de software.

    La Ingeniera de Software todava esta lejos de ser

    como la Ingeniera Qumica, la Ingeniera Civil o la

    Ingeniera Electrnica.

    7

  • Ingeniera de Software

    Ingeniera de Sistemas e Ingeniera de Software

    La Ingeniera de Sistemas concierne a todos los

    aspectos del desarrollo de sistemas basados en

    cmputo, que incluyen hardware, software y el

    proceso de Ingeniera. La Ingeniera de Software es

    solo parte de este proceso.

    8

  • Ingeniera de Software

    Qu es el Software?

    Programas y su documentacin asociada

    Sistemas o Productos de software grandes y

    complejos.

    Qu contiene el software?

    Qu tipos de software hay?

    Cul es el costo del software?

    Cmo se desarrolla el software?

    Cmo saber si un software tiene calidad?

    9

  • Ingeniera de Software

    Productos de Software

    Productos genricos

    Productos que son producidos por una organizacin para

    ser vendidos al mercado.

    Productos hechos a medida.

    Sistemas que son desarrollados bajo pedido a un

    desarrollador especfico.

    La mayor parte del gasto del software es en

    productos genricos, pero hay ms esfuerzo en el

    desarrollo de los sistemas hechos a medida.

    10

  • Ingeniera de Software

    Caractersticas de los Productos de Software

    Mantenibilidad.

    Debe ser posible que el software evolucione y que siga

    cumpliendo con sus especificaciones.

    Confiabilidad.

    El software no debe causar danos fsicos o econmicos en el

    caso de fallos.

    Eficiencia.

    El software no debe desperdiciar los recursos del sistema.

    Utilizacin adecuada.

    El software debe contar con una interfaz de usuario

    adecuada y su documentacin.

    11

  • Ingeniera de Software

    Importancia de las caractersticas del producto

    La importancia relativa de las caractersticas

    depende en el tipo de producto y en el ambiente en

    el que ser utilizado.

    En algunos casos, algunos atributos pueden

    dominar.

    En sistemas de seguridad crticos de tiempo real, los

    atributos clave pueden ser la confiabilidad y la eficiencia.

    Los costos tienden a crecer exponencialmente si son

    requeridos altos niveles de alguna caracterstica.

    12

  • Ingeniera de Software

    Calidad de Software (un ejemplo para una tienda)

    Correcto

    La tienda no puede dejar de cobrar por productos

    comprados por el consumidor

    Robusto y altamente disponible

    La tienda no puede parar de vender

    Eficiente

    El consumidor no puede esperar

    La empresa quiere invertir poco en recursos

    computacionales (CPU, memoria, red)

    13

  • Ingeniera de Software

    Calidad de Software (un ejemplo para una tienda)

    Amigable y fcil de usar

    La empresa quiere invertir poco en entrenamiento

    Altamente extensible y adaptable

    La empresa tiene siempre nuevos requisitos (para ayer!)

    La empresa quiere el software personalizado (interfase,

    teclado, idioma, moneda, etc.)

    Reusable

    Varias empresas precisan usar partes de un mismo sistema

    14

  • Ingeniera de Software

    Calidad de Software (un ejemplo para una tienda)

    Abierto, compatible, de fcil integracin con otros

    sistemas

    La empresa ya tiene control de stock, fidelizacin, etc.

    Portable e independiente de la plataforma (hardware

    y software)

    La empresa opta por una determinada plataforma

    Bajo costo de instalacin y actualizacin

    La empresa tiene un gran nmero de PDVs

    15

  • Ingeniera de Software

    Productividad

    Costo de desarrollo reducido

    La empresa consumidora quiere invertir poco en software

    La empresa productora tiene que ofrecer software barato

    Tiempo de desarrollo reducido

    Soporte rpido a las necesidades del mercado

    16

  • Ingeniera de Software

    Software Barato

    No depende tanto el resultado de costos bajos de

    desarrollo, mas principalmente de la distribucin de

    los costos entre varios clientes.

    Reuso, extensibilidad y adaptabilidad son esenciales

    para viabilizar tal distribucin.

    17

  • Ingeniera de Software

    Relevancia de la Ingeniera de Software

    Calidad de software y productividad garantizan:

    Disponibilidad de servicios esenciales

    Seguridad de personas

    Competitividad de las empresas Productores

    Consumidores

    18

  • Ingeniera de Software

    Pero, en la realidad, tenemos una Crisis de SW

    25% de los proyectos son cancelados

    El tiempo de desarrollo es mucho mayor de lo que

    se ha estimado

    75% de los sistemas no funcionan como planificado

    El mantenimiento y reutilizacin son difciles y

    costosos

    Los problemas son proporcionales a la complejidad

    de los sistemas

    19

  • Ingeniera de Software

    Causas de la Crisis del Software

    Esenciales

    Complejidad de los sistemas

    Dificultad de formalizacin

    Accidentes

    Mala calidad de los mtodos, lenguajes, herramientas,

    procesos y modelos de ciclo de vida

    Falta de calificacin tcnica

    20

  • Ingeniera de Software

    Elementos y Actividades de la Ingeniera de Software

    Elementos

    Modelos del ciclo de vida del

    software

    Lenguajes

    Mtodos

    Herramientas

    Procesos

    Actividades

    Modelamiento del negocio

    Elicitacin de requisitos

    Anlisis y Diseo

    Implementacin

    Pruebas

    Distribucin

    Planeamiento

    Gerenciamiento

    Gerencia de Configuracin

    y Cambios

    Mantenimiento

    21

  • Ingeniera de Software

    Crticas hechas al software

    El software es caro

    La capacidad del software es menor de la prometida

    y esperada

    La entrega del software es hecha generalmente con

    mucho retraso

    A menudo ocurren sobre costos y generalmente don

    debidos a retrasos

    La documentacin es inapropiada e inadecuada

    Utilizar el software es a menudo difcil y su

    interaccin con el usuario es deficiente

    22

  • Ingeniera de Software

    Crticas hechas al software

    El mantenimiento es caro y lleno de errores

    Los productos de software no pueden ser integrados

    El desempeo es poco confiable

    Los requerimientos pocas veces se adecuan a las

    necesidades de los usuarios

    El producto no se ejecuta de acuerdo a las

    especificaciones

    23

  • Ingeniera de Software

    Mtodo

    Descripcin sistemtica de como se debe realizar

    una determinada actividad o tarea

    La descripcin es normalmente hecha a travs de

    padrones y guas

    Ejemplos: Booch, BON, Pim

    24

  • Ingeniera de Software

    Herramienta

    Provee soporte computacional a un determinado

    mtodo o lenguaje

    Ambiente de desarrollo: conjunto de herramientas

    integradas (CASE)

    Ejemplos: Rational Rose, Inprise Jbuilder,

    Enterprice Architect

    25

  • Ingeniera de Software

    Proceso

    Conjunto de actividades

    bien definidas

    con responsables

    con artefactos de entrada y salida

    con dependencias entre las mismas y orden de ejecucin

    con modelo de ciclo de vida

    26

  • Ingeniera de Software

    Metodologa

    Conjunto de mtodos + proceso

    27

  • Ingeniera de Software

    Introduccin a la Ingeniera de Software

    Lectura adicional

    Daniel M. Berry. Myths and Realities in Software

    Development.

    W. Wayt Gibbs. Software's chronic crisis. Scientific

    American, September 1994.

    Alan Joch. How software doesn't work. Byte, December

    1995.

    28