IngSoft 1-4

Embed Size (px)

Citation preview

  • 8/4/2019 IngSoft 1-4

    1/90

    M.C. Martn Olgun (C) 2004

    Anlisis Orientado a Objetos

    Ingeniera del Software

    M.C. Jos Martn Olgun Espinoza

  • 8/4/2019 IngSoft 1-4

    2/90

    M.C. Martn Olgun (C) 2004

    Contenido del Curso

    1.Introduccin a la Ingeniera de Software

    1.1. Definiciones de Ingeniera de Software

    1.2. Caractersticas del Software

    1.3. Aplicaciones del Software

    1.4. Fases bsicas del desarrollo del software

    (definicin, desarrollo, mantenimiento).

  • 8/4/2019 IngSoft 1-4

    3/90

    M.C. Martn Olgun (C) 2004

    Contenido del Curso

    2.Modelos de Proceso del Software

    2.1. Modelo en Cascada (ciclo de vida clsico)

    2.2. Modelo en V

    2.3. Modelo de Construccin de Prototipos

    2.4. Modelos Evolutivos

    2.4.1. Modelo Incremental

    2.4.2. Modelo Espiral2.4.3. Modelo Espiral WIN-WIN

  • 8/4/2019 IngSoft 1-4

    4/90

    M.C. Martn Olgun (C) 2004

    ...Contenido del Curso

    3.El Proceso Unificado de Desarrollo (RUP)

    3.1. Antecedentes

    3.2. Dirigido por casos de uso

    3.3. Centrado en la Arquitectura

    3.4. Iterativo e Incremental

  • 8/4/2019 IngSoft 1-4

    5/90

    M.C. Martn Olgun (C) 2004

    Contenido del Curso

    4.Administracin de proyectos de software

    4.1. Componentes de un proyecto de software

    4.2. Personal

    4.3. Producto

    4.4. Proceso

    4.5. Proyecto

  • 8/4/2019 IngSoft 1-4

    6/90

    M.C. Martn Olgun (C) 2004

    Contenido del Curso

    5.Conceptos del Paradigma OO

    5.1. El paradigma orientado a objetos

    5.2. Clases y Objetos

    5.3. Atributos

    5.4. Operaciones, mtodos y servicios

    5.5. Mensajes

    5.6. Encapsulamiento

    5.7. Herencia

    5.8. Polimorfismo

  • 8/4/2019 IngSoft 1-4

    7/90

    M.C. Martn Olgun (C) 2004

    Contenido del Curso

    6.El UML

    6.1. Vistas

    6.1.1. Vista de Casos de Uso

    6.1.2. Vista lgica

    6.1.3. Vista de Componentes

    6.1.4. Vista de la Implementacin

    6.1.5. Clasificadores y mecanismos deextensin

  • 8/4/2019 IngSoft 1-4

    8/90

    M.C. Martn Olgun (C) 2004

    ...Contenido del Curso

    6.2. Diagramas

    6.2.1. Diagramas de caso de uso

    6.2.2. Diagramas de clases

    6.2.3. Diagramas de objetos6.2.4. Diagramas de estado

    6.2.5. Diagramas de secuencia

    6.2.6. Diagramas de colaboracin

    6.2.7. Diagramas de actividad

    6.2.8. Diagramas de componentes

    6.2.9. Diagramas de implementacin

  • 8/4/2019 IngSoft 1-4

    9/90

    M.C. Martn Olgun (C) 2004

    ...Contenido del Curso

    7.Ingeniera de Requisitos y Anlisis OO

    7.1. Especificacin de Requisitos

    7.2. Modelo de Anlisis

    8.Diseo OO

    8.1. Modelo de Diseo

    8.2. Arquitectura del Software

    8.3. Patrones de Diseo

  • 8/4/2019 IngSoft 1-4

    10/90

    M.C. Martn Olgun (C) 2004

    ...Contenido del Curso

    9.Implementacin9.1. Programacin Orientada a Objetos

    9.2. Modelo de Implementacin

    10. Pruebas OO10.1. Conceptos

    10.2. Pruebas del modelo de anlisis y el de diseo

    10.3. Pruebas de unidad10.4. Pruebas de integracin

    10.5. Pruebas de validacin

  • 8/4/2019 IngSoft 1-4

    11/90

    M.C. Martn Olgun (C) 2004

    ...Contenido del Curso

    11. Mtricas OO

    11.1. Conceptos

    11.2. Mtricas para el modelo de diseo OO

    11.3. Mtricas orientadas a clases

    11.4. Mtricas orientadas a operaciones

  • 8/4/2019 IngSoft 1-4

    12/90

    M.C. Martn Olgun (C) 2004

    Bibliografa

    1. Ingeniera del Software: un enfoqueprctico. 5ta edicin.Roger Pressman

    McGraw-Hill2. Ingeniera de Software Orientado a Objetos

    Bernd Bruegge

    Pearson Educacin

    3. The Rational Unified ProcessPhilippe Krutchen

    Addison-Wesley

  • 8/4/2019 IngSoft 1-4

    13/90

    M.C. Martn Olgun (C) 2004

    ...Bibliografa

    1. The Unified Modeling Language. User Guide

    Grady Booch, James Rumbaugh, Ivar Jacobson

    Addison-Wesley

    2. Design PatternsErich Gamma

    Addison-Wesley

    3. El Proceso Unificado de Desarrollo de Software

    Ivar Jacobson, Grady Booch y James Rumbaugh

    Addison-Wesley

  • 8/4/2019 IngSoft 1-4

    14/90

    M.C. Martn Olgun (C) 2004

    Unidad 1

    Introduccin a la Ingeniera del

    Software

  • 8/4/2019 IngSoft 1-4

    15/90

    M.C. Martn Olgun (C) 2004

    Software

    Es el conjunto de programas de

    cmputo, documentos asociados y

    esquemas de configuracin necesariospara que estos programas operen.

    [Sommerville, 2001]

  • 8/4/2019 IngSoft 1-4

    16/90

    M.C. Martn Olgun (C) 2004

    Ingeniera del Software

    Definiciones del prlogo a la cuartaedicin en espaol de Ingeniera delSoftware: un enfoque prctico deRoger Pressman:

    Definicin 1: Ingeniera del Software es el estudio de los

    principios y metodologas para desarrollo ymantenimiento de sistemas de software.[Zelkovitz, 1978]

  • 8/4/2019 IngSoft 1-4

    17/90

    M.C. Martn Olgun (C) 2004

    Ingeniera del Software

    Definicin 2: Ingeniera del Software es la aplicacin

    prctica del conocimiento cientfico en eldiseo y construccin de programas decomputadora y la documentacin asociadarequerida para desarrollar, operar ymantenerlos. Se conoce tambin comodesarrollo de software o produccin desoftware. [Bohem, 1976]

  • 8/4/2019 IngSoft 1-4

    18/90

    M.C. Martn Olgun (C) 2004

    Ingeniera del Software

    Definicin 3:

    Ingeniera del software trata del

    establecimiento de los principios y mtodosde la ingeniera a fin de obtener software

    de modo rentable que sea fiable y trabaje

    en mquinas reales. [Bauer, 1972]

  • 8/4/2019 IngSoft 1-4

    19/90

    M.C. Martn Olgun (C) 2004

    Ingeniera del Software

    Definicin 4:

    1. La aplicacin de un enfoque sistemtico,

    disciplinado y cuantificable al desarrollo,operacin (funcionamiento) y

    mantenimiento del software; es decir, la

    aplicacin de ingeniera al software. 2. El

    estudio de enfoques como en (1) [IEEE,1993]

  • 8/4/2019 IngSoft 1-4

    20/90

    M.C. Martn Olgun (C) 2004

    Ingeniera del Software

    Definicin 5:

    Es una disciplina que comprende todos los

    aspectos de la produccin de softwaredesde las etapas iniciales de la

    especificacin del sistema, hasta el

    mantenimiento de ste despus de que se

    utiliza. [Sommerville, 2001]

  • 8/4/2019 IngSoft 1-4

    21/90

    M.C. Martn Olgun (C) 2004

    Ingeniera de Software e

    Ingeniera de Sistemas

    Ingeniera de

    Sistemas

    Ingeniera

    de

    Software

    Teora de Sistemas

  • 8/4/2019 IngSoft 1-4

    22/90

    M.C. Martn Olgun (C) 2004

    Sistema

    Un sistema es una coleccin de

    componentes interrelacionados que trabajan

    conjuntamente para cumplir algn objetivo.

  • 8/4/2019 IngSoft 1-4

    23/90

    M.C. Martn Olgun (C) 2004

    Ingeniera de Sistemas

    La ingeniera de sistemas consiste en la

    actividad de especificar, disear,

    implementar, validar, distribuir y mantener

    sistemas como un todo. Los ingenieros de sistemas no slo estn

    relacionados con el software, sino tambin

    con el hardware y las interacciones delsistema con los usuarios y su entorno.

  • 8/4/2019 IngSoft 1-4

    24/90

    M.C. Martn Olgun (C) 2004

    Caractersticas del Software

    El software se desarrolla, no se fabrica.

    El software no se descompone, se echa a

    perder.

    Aunque la industria tiende a ensamblar

    componentes, la mayora del software es

    hecho a la medida.

  • 8/4/2019 IngSoft 1-4

    25/90

    M.C. Martn Olgun (C) 2004

    Atributos de un buen software

    Mantenibilidad El software debe poder evolucionar para cumplir con las

    necesidades de cambio de los clientes.

    Confiabilidad El software debe ser fiable, seguro, no debe causar daos fsicos o

    econmicos en el caso de una falla del sistema.

    Eficiencia El software debe aprovechar al mximo los recursos del sistema.

    Usabilidad El software debe ser fcil de utilizar.

  • 8/4/2019 IngSoft 1-4

    26/90

    M.C. Martn Olgun (C) 2004

    Aplicaciones del Software

    Software de sistemas

    Software de tiempo real

    Software de gestin Software de ingeniera y cientfico

    Software empotrado

    Software de PCs Software basado en Web

    Software de IA

  • 8/4/2019 IngSoft 1-4

    27/90

    M.C. Martn Olgun (C) 2004

    Tarea

    Leer de Pressman la seccin 1.4 Mitos del

    Software y discutir en clase cada uno de los

    mitos presentados.

  • 8/4/2019 IngSoft 1-4

    28/90

    M.C. Martn Olgun (C) 2004

    Unidad 2

    Modelos de Proceso del Software

  • 8/4/2019 IngSoft 1-4

    29/90

    M.C. Martn Olgun (C) 2004

    Proceso de Software

    Es un conjunto de actividades y

    resultados asociados, que generan un

    producto de software, las cuales sonllevadas a cabo por los ingenieros de

    software.

  • 8/4/2019 IngSoft 1-4

    30/90

    M.C. Martn Olgun (C) 2004

    Actividades comunes a todo

    Proceso de Software

    Especificacin

    Diseo e implementacin

    Validacin

    Evolucin

    Distintos procesos organizan estas

    actividades de diferentes formas y las

    describen a diferente nivel de detalle. Organizaciones diferentes utilizan procesos

    diferentes

  • 8/4/2019 IngSoft 1-4

    31/90

    M.C. Martn Olgun (C) 2004

    Modelos de Proceso del

    software

    Es una descripcin de un proceso delsoftware que se presenta desde unaperspectiva particular. Es una abstraccin de

    un proceso real. Existe una gran variedad de modelos o

    paradigmas de desarrollo de software: Enfoque de Cascada

    Desarrollo Evolutivo

    Desarrollo Formal

    Desarrollo basado en la reutilizacin

  • 8/4/2019 IngSoft 1-4

    32/90

    M.C. Martn Olgun (C) 2004

    Modelo de Cascada

    Definicin de

    requerimientos

    Diseo de sistemas

    y de software

    Implementacin y

    Prueba de unidades

    Integracin y

    prueba del sistema

    Operacin y

    mantenimiento

    Royce, 1970

    Managing the development of

    Large software systems: Concepts

    And techniques

    IEEE Conference, Los Angeles

    Adoptado por el DoD

  • 8/4/2019 IngSoft 1-4

    33/90

    M.C. Martn Olgun (C) 2004

    Modelo en V

    Definicin derequerimientos

    Diseo de sistemas

    Diseo de

    programas

    Codificacin

    Pruebas de unidad

    Y de integracin

    Pruebas de sistema

    Pruebas deaceptacin

    Operacin y

    mantenimiento

  • 8/4/2019 IngSoft 1-4

    34/90

    M.C. Martn Olgun (C) 2004

    Desarrollo Evolutivo

    Modelo Construccin de prototipos

    Bosquejo de la

    descripcin

    Especificacin

    Desarrollo

    Validacin

    Versin inicial

    Versiones

    intermedias

    Versin final

    Versiones

    intermedias

    Versiones

    intermedias

  • 8/4/2019 IngSoft 1-4

    35/90

    M.C. Martn Olgun (C) 2004

    Modelo Incremental

    Bosquejo de

    los

    requisitos

    Definir

    incrementos

    Disear la

    arquitectura

    Disear

    incremento

    Validar

    incremento

    Integar

    incremento

    Validar

    sistema

    Sistem

    a

    finalOrigen del Extreme Programming (XP)

    The management of software engineering

    Mills et al., 1980

    I BM Systems Journal

    Embracing change with extreme programming

    Beck, K. 1999IEEE Computer

  • 8/4/2019 IngSoft 1-4

    36/90

    M.C. Martn Olgun (C) 2004

    Modelo en espiral

    A spiral model of software development and enhancement

    Bohem, 1988I EEE Computer

  • 8/4/2019 IngSoft 1-4

    37/90

    M.C. Martn Olgun (C) 2004

    Tarea

    Hacer un ensayo explicando las ventajas y

    desventajas de los modelos de proceso de

    software analizados en clase.

  • 8/4/2019 IngSoft 1-4

    38/90

    M.C. Martn Olgun (C) 2004

    Tarea

    Preparar una exposicin sobre los siguientes temas: Agile Methods

    Scrum

    XP

    Crystal

    Test-Driven Design

    Agile Modeling

    Referencia inicial:

    http://www.agilealliance.org/programs/roadmaps/Roadmap

    Presentacin el mircoles 25 de agosto

    CMM (C bilit M t it

  • 8/4/2019 IngSoft 1-4

    39/90

    M.C. Martn Olgun (C) 2004

    CMM (Capability Maturity

    Model)

    Desarrollado por el SEI (Software Engineering

    Institute)

    Es un modelo completo basado en un

    conjunto de funciones de ingeniera delsoftware que deberan de estar presentes

    conforme organizaciones alcanzan diferentes

    niveles de madurez de su proceso.

  • 8/4/2019 IngSoft 1-4

    40/90

    M.C. Martn Olgun (C) 2004

    ...CMM

    El enfoque del SEI proporciona una medida

    de la efectividad global de las prcticas de la

    ingeniera del software de una compaa y

    establece 5 niveles de madurez del proceso. Nivel 1: Inicial.

    Nivel 2: Repetible.

    Nivel 3: Definido. Nivel 4: Administrado.

    Nivel 5: Optimizacin.

  • 8/4/2019 IngSoft 1-4

    41/90

    M.C. Martn Olgun (C) 2004

    Nivel 1: Inicial

    El proceso se define ad hoc.

    Es catico.

    El xito depende del esfuerzo individual.

  • 8/4/2019 IngSoft 1-4

    42/90

    M.C. Martn Olgun (C) 2004

    Nivel 2: Repetible

    Se establecen los procesos de administracin

    del proyecto para dar seguimiento a los

    costos, la planificacin y la funcionalidad.

    Se toman en cuenta experiencias anteriorespara repetir las actividades necesarias en el

    proceso.

  • 8/4/2019 IngSoft 1-4

    43/90

    M.C. Martn Olgun (C) 2004

    Nivel 3: Definido

    Se documenta el proceso para las actividades

    de administracin y de ingeniera.

    Se estandariza e integra en un proceso para

    toda la organizacin.

    Todos los proyectos utilizan una versin

    documentada y aprobada del proceso.

  • 8/4/2019 IngSoft 1-4

    44/90

    M.C. Martn Olgun (C) 2004

    Nivel 4: Administrado

    Se implementan mtricas detalladas para los

    proyectos.

    Se establecen estndares de calidad.

    Mediante la utilizacin de las mtricas se

    comprenden y se controlan cuantitativamente

    tanto los productos como el proceso.

  • 8/4/2019 IngSoft 1-4

    45/90

    M.C. Martn Olgun (C) 2004

    Nivel 5: Optimizacin

    El proceso se mejora continuamente mediante

    la retroalimentacin cuantitativa del proceso,

    ideas y tecnologas innovadoras.

  • 8/4/2019 IngSoft 1-4

    46/90

    M.C. Martn Olgun (C) 2004

    Auditores CMM

    Requisitos:

    Haber participado en una evaluacin en los dos

    aos anteriores a su solicitud de cursos.

    Cursar las asignaturas. Ser lder en una evaluacin CMM a una

    organizacin dentro de los dos aos siguientes a

    los cursos, asesorado por un tutor certificado.

    Obtener la aprobacin del tutor.

  • 8/4/2019 IngSoft 1-4

    47/90

    M.C. Martn Olgun (C) 2004

    Tarea

    Investigar informacin sobre organizaciones

    de software con certificacin CMM.

    Tamao

    Tiempo requerido para lograr la certificacin Costo

  • 8/4/2019 IngSoft 1-4

    48/90

    M.C. Martn Olgun (C) 2004

    Unidad 3El Proceso Unificado de

    Desarrollo (RUP)

  • 8/4/2019 IngSoft 1-4

    49/90

    M.C. Martn Olgun (C) 2004

    El RUP

    Rational Unified Process

    El Proceso Unificado es un proceso de software

    genrico que puede ser utilizado para una gran

    cantidad de tipos de sistemas de software, paradiferentes reas de aplicacin, diferentes tipos de

    organizaciones, diferentes niveles de competencia

    y diferentes tamaos de proyectos.

  • 8/4/2019 IngSoft 1-4

    50/90

    M.C. Martn Olgun (C) 2004

    Estructura del RUP

  • 8/4/2019 IngSoft 1-4

    51/90

    M.C. Martn Olgun (C) 2004

    RUP y UML

    El Proceso Unificado usa el Lenguaje de

    Modelado Unificado (UML) en la preparacin

    de todos los planos del sistema. De hecho,

    UML es una parte integral del ProcesoUnificado, fueron desarrollados a la par.

  • 8/4/2019 IngSoft 1-4

    52/90

    M.C. Martn Olgun (C) 2004

    Caractersticas clave del RUP

    Dirigido por casos de uso (use-case

    driven).

    Centrado en la arquitectura(architecture-centric).

    Iterativo e incremental.

  • 8/4/2019 IngSoft 1-4

    53/90

    M.C. Martn Olgun (C) 2004

    Unidad 4

    Administracin de Proyectos

    Exito en proyectos de software

  • 8/4/2019 IngSoft 1-4

    54/90

    M.C. Martn Olgun (C) 2004

    Exito en proyectos de software

    en 1994

    Resolution Type 1, or project success:

    The project is completed on-time and

    on-budget, with all features and

    functions as initially specified.

    Resolution Type 2, or project

    challenged: The project is completed

    and operational but over-budget, over

    the time estimate, and offers fewer

    features and functions than originally

    specified.

    Resolution Type 3, or project impaired:

    The project is canceled at some point

    during the development cycle. Fuente: www.standishgroup.com

  • 8/4/2019 IngSoft 1-4

    55/90

    M.C. Martn Olgun (C) 2004

    Exito en Proyectos de Software en

    1998

    26%

    46%

    28%

    Fracaso Total

    Excedido (tiempo y/ocosto)

    Exitoso

    Fuente: Critical Succes Factors in Software ProjectsReel, J.S. IEEE Software mayo de 1999

    Administracin de proyectos

  • 8/4/2019 IngSoft 1-4

    56/90

    M.C. Martn Olgun (C) 2004

    Administracin de proyectos

    de software

    Implica la planificacin, supervisin y control

    del personal, del proceso y de los eventos

    que ocurren mientras evoluciona el software,

    desde la fase preliminar hasta laimplementacin operacional.

    Caractersticas de los

  • 8/4/2019 IngSoft 1-4

    57/90

    M.C. Martn Olgun (C) 2004

    Caractersticas de los

    proyectos de software

    El producto es intangible.

    No existen procesos de software estndar.

    Comnmente los proyectos grandes son

    nicos.

    Las cuatro P's de la

  • 8/4/2019 IngSoft 1-4

    58/90

    M.C. Martn Olgun (C) 2004

    Las cuatro P s de la

    administracin de proyectos

    Personal

    El factor humano

    Producto

    Objetivos y el mbito del producto

    Proceso

    Estructura de apoyo para la planeacin

    Proyecto Administracin de la complejidad

  • 8/4/2019 IngSoft 1-4

    59/90

    M.C. Martn Olgun (C) 2004

    Personal

    Sin duda el elemento ms valioso en la

    Ingeniera del Software

    Quines participan en un proyecto de

    software?

    Programadores Lder de proyecto

    Arquitectos de software Usuarios

    Analistas/Diseadores Clientes

    Ingenieros de requerimientos Ingenieros de proceso

    Ingenieros de pruebas

  • 8/4/2019 IngSoft 1-4

    60/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Cules son las caractersticas deseables de

    un lder de proyecto?

    Motivador

    Organizado Innovador

    Problem Solver

  • 8/4/2019 IngSoft 1-4

    61/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Cmo se organiza el equipo de trabajo? Marilyn Mantei en The effect of Programming

    Team Structures on Programming Tasks, 1981,

    sugiere tres tipos genricos de organizacin:

    Centralizado Controlado (CC): El jefe del equipo se

    encarga de la resolucin de problemas a alto nivel y la

    coordinacin interna del equipo. La comunicacin entre

    el jefe y los miembros del equipo es vertical.

  • 8/4/2019 IngSoft 1-4

    62/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Descentralizado Controlado (DC): Un jefe definido

    que coordina tareas especficas y jefes secundarios

    con responsabilidades sobre subtareas. La

    resolucin de problemas es una actividad del

    grupo, la comunicacin es horizontal y vertical. Descentralizado Democrtico (DD) o Egoless: No

    tiene un jefe permanente, se nombran de acuerdo a la

    tarea. La solucin de problemas se hacen por

    consenso. La comunicacin es horizontal.

  • 8/4/2019 IngSoft 1-4

    63/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Qu factores se deben considerar cuando se

    estructura un equipo de software?

    Complejidad del proyecto (dificultad del problema,

    tamao del software) Tiempo de desarrollo.

    Modularidad.

    Calidad.

    Comunicacin requerida.

  • 8/4/2019 IngSoft 1-4

    64/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Discusin sobre ventajas y desventajas de

    cada tipo de organizacin.

  • 8/4/2019 IngSoft 1-4

    65/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Cmo creamos un equipo de alto

    rendimiento?

    Segn Constantine, L. en Work Organization:

    Paradigms for Project Management andOrganization, 1993:

    Confianza entre los miembros del equipo.

    Distribucin de habilidades de acuerdo al problema.

    Los inconformistas deben ser excluidos.

  • 8/4/2019 IngSoft 1-4

    66/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Qu factores pueden contaminar el

    desempeo de un equipo?

    Segn Jackman, M. en Homeopathic Remedies

    for Team Toxicity, 1998: Atmsfera de trabajo frentica, malgastan energa y se

    descentran de los objetivos

    Alta frustracin causada por factores tecnolgicos, del

    negocio o personales que provocan friccin entre losmiembros del equipo.

  • 8/4/2019 IngSoft 1-4

    67/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Procedimientos coordinados pobremente o

    fragmentados o una definicin pobre o impropiamente

    elegida del modelo de procesos que se convierte en un

    obstculo a saltar.

    Definicin confusa de los papeles a desempearproduciendo una falta de responsabilidad y la

    acusacin correspondiente.

    Continua y repetida exposicin al fallo que conduce a

    una prdida de confianza y una cada de la moral.

  • 8/4/2019 IngSoft 1-4

    68/90

    M.C. Martn Olgun (C) 2004

    ...Personal

    Cmo evitamos las toxinas que afectan a los

    equipos de software?

    Cmo coordinar las acciones de los

    miembros del equipo?

  • 8/4/2019 IngSoft 1-4

    69/90

    M.C. Martn Olgun (C) 2004

    Tarea

    Leer el captulo 3 del Pressman 5ta. edicin

    Realizar los problemas 3.1, 3.4, 3.6 al 3.11

    Tareas de la Administracin de

  • 8/4/2019 IngSoft 1-4

    70/90

    M.C. Martn Olgun (C) 2004

    Tareas de la Administracin de

    Proyectos

    Estimacin del tamao del proyecto LDC

    PF

    COCOMOII Planificacin temporal Barras de Actividad

    Red de actividades

    Administracin del Riesgo

    Supervisin y Control

  • 8/4/2019 IngSoft 1-4

    71/90

    M.C. Martn Olgun (C) 2004

    Mtricas para Estimacin

    Se clasifican en dos:

    Medidas relacionadas al tamao

    Se relacionan con el tamao de la salida de alguna

    actividad. La mtrica ms comn es Lneas de Cdigo (LDC)

    Dependen del lenguaje de programacin y en general

    no es una buena medida para POO.

    Medidas relacionadas a la funcin

    Medidas Relacionadas a la

  • 8/4/2019 IngSoft 1-4

    72/90

    M.C. Martn Olgun (C) 2004

    Medidas Relacionadas a la

    Funcin

    Son medidas que se relacionan con la

    funcionalidad del software.

    Las ms comunes son:

    Puntos de Funcin (PF)

    Puntos de Objeto (PO)

  • 8/4/2019 IngSoft 1-4

    73/90

    M.C. Martn Olgun (C) 2004

    Puntos de Funcin

    Es una medida de la funcionalidad entregadapor la aplicacin.

    Es una medida indirecta, a diferencia de

    LDC. Propuesta por primera vez en: Albretch, A.J., Measuring Application

    Development Productivity, Proceedings IBM

    Application Development Symposium, Octubre1979.

    Consultar en www.ifpug.org versin 4.1

  • 8/4/2019 IngSoft 1-4

    74/90

    M.C. Martn Olgun (C) 2004

    Clculo de PF

    Factor de ponderacin

    Conteo Total (UFP)

    =[ ]x10[ ]x7[ ]x5Nmero de interfacesexternas

    =[ ]x15[ ]x10[ ]x7Nmero de archivos

    =[ ]x6[ ]x4[ ]x3Nmero de peticiones deusuario

    =[ ]x7[ ]x5[ ]x4Nmero de salidas deusuario

    =[ ]x6[ ]x4[ ]x3Nmero de entradas de

    usuario

    ComplejoMedioSimpleCuentaParmetros de

    medicin

  • 8/4/2019 IngSoft 1-4

    75/90

    M.C. Martn Olgun (C) 2004

    ...Clculo de PF

    El UFP (Unadjusted Function Point count) se

    multiplica por factores de complejidad del

    proyecto para obtener el PF final:

    PF = UFP x [0.65 + 0.01 x (Fi)]

    F

  • 8/4/2019 IngSoft 1-4

    76/90

    M.C. Martn Olgun (C) 2004

    Fi

    14. El diseo facilita los cambios y la usabilidad?

    13. El diseo incluye soporte para mltiples instalaciones en diferentes orgs.

    12. El diseo incluye conversin e instalacin?

    11. El diseo del cdigo es reutilizable?

    10. Es complejo el procesamiento interno?

    9. Son complejas las entradas, salidas, archivos y peticiones?

    8. Se actualizan los archivos maestros de forma interactiva?

    7. Las entradas interactivas se harn en mltiples pantallas y operaciones?

    6. Requiere el sistema entradas de datos interactivas?

    5. Se ejecutar el sistema en un entorno operativo existente y fuertemente utilizado?

    4. Es crtico el rendimiento?

    3. Existen funciones de procesamiento distribuido?

    2. Se requiere comunicacin de datos?

    0-51. Requiere el sistema copias de seguridad y de recuperacin fiables?

  • 8/4/2019 IngSoft 1-4

    77/90

    M.C. Martn Olgun (C) 2004

    Relacin entre LDC y PF

    12SQL

    16PowerBuilder

    32Visual Basic

    64C++

    90Pascal

    106FORTRAN

    106COBOL

    128C

    320Ensamblador

    LDC/PF (media)Lenguaje de Programacin

    Jones, C. Estimating Software Costs, McGraw-Hill, 1998

  • 8/4/2019 IngSoft 1-4

    78/90

    M.C. Martn Olgun (C) 2004

    Puntos de Objeto

    Tambin es una medida indirecta del

    software.

    NO es una medida de las clases necesarias

    para construir la aplicacin. Los elementos que toma en cuenta son:

    Pantallas

    Informes (reportes) Componentes (o cdigo en 3GL)

  • 8/4/2019 IngSoft 1-4

    79/90

    M.C. Martn Olgun (C) 2004

    Clculo de Puntos Objeto

    Peso de la complejidad

    Puntos Objeto

    =[ ]x10Componente 3GL

    =[ ]x8[ ]x5[ ]x2Informes

    =[ ]x3[ ]x2[ ]x1Pantallas

    ComplejoMedioSimpleTipo de Objeto

    Bohem, B., Anchoring de software process, IEEE Software, julio 1996

    Tcnicas de Estimacin de

  • 8/4/2019 IngSoft 1-4

    80/90

    M.C. Martn Olgun (C) 2004

    c cas de st ac de

    Costos

    Establece que el trabajo se expande para llenar el

    tiempo disponible. El costo se determina ms por los

    recursos disponibles que por los objetivos logrados.

    Ley de Parkinson

    Cuando se han completado proyectos del mismo

    dominio de la aplicacin se estima en base a la

    experiencia.

    Estimacin por

    analoga

    Se consultan expertos en las tcnicas de desarrollo

    propuestas y el dominio de la aplicacin. Cada unoestima el costo y se consensa despus de varias

    iteraciones.

    Opinin deexpertos

    Utiliza un modelo con informacin histrica de

    costos, relaciona una mtrica con el costo del

    proyecto. Se estima la mtrica y se predice el

    esfuerzo.

    Modelado del

    algoritmo de

    costos

  • 8/4/2019 IngSoft 1-4

    81/90

    M.C. Martn Olgun (C) 2004

    El modelo COCOMO

    Constructive Cost Model

    Es un modelo de estimacin emprico desarrolladopor Bohem.

    Se obtuvo recolectando datos de varios proyectosde software grandes.

    Como resultado del anlisis de los datos seobtuvieron frmulas y tablas que se ajustan a lasobservaciones.

    Es muy utilizado y ha tenido seguimiento desde suaparicin en 1981.

  • 8/4/2019 IngSoft 1-4

    82/90

  • 8/4/2019 IngSoft 1-4

    83/90

    M.C. Martn Olgun (C) 2004

    COCOMO II Nivel Inicial

    PM = (PO x (1 - Reutilizacin))/PROD

    Donde:

    PM = Esfuerzo Persona-Mes

    PO = Puntos Objeto

    Reutilizacin = %reutilizacin/100

    PROD = 4, 7, 13, 25, 50 dependiendo de la experiencia y

    capacidad de los desarrolladores y/o Madurez del proceso

    (Muy baja, baja, normal, alta, muy alta) dada en PO/mes

  • 8/4/2019 IngSoft 1-4

    84/90

    M.C. Martn Olgun (C) 2004

    ...COCOMO II

    Estimacin de calendario

    TC = 3 x PM(0.33+0.2*(B-1.01))

    Para el nivel inicial: B=1

    TC = 3 x PM(0.328)

    TC est dada en meses.

  • 8/4/2019 IngSoft 1-4

    85/90

    M.C. Martn Olgun (C) 2004

    Planificacin Temporal

    Es la actividad que distribuye el esfuerzo

    estimado a lo largo de la duracin prevista

    del proyecto.

    Evoluciona con el tiempo. El proyecto se ha completado en un 90%

  • 8/4/2019 IngSoft 1-4

    86/90

    M.C. Martn Olgun (C) 2004

    Grficas de Barras de Actividad

  • 8/4/2019 IngSoft 1-4

    87/90

    M.C. Martn Olgun (C) 2004

    Red de Actividades

  • 8/4/2019 IngSoft 1-4

    88/90

    M.C. Martn Olgun (C) 2004

    Administracin del Riesgo

    Etapas

    Identificacin de riesgos

    Anlisis de riesgos

    Valorar las probabilidades y consecuencias Planeacin de riesgos

    Planes para evitar o minimizar el impacto

    Supervisin de riesgos

    Valoracin constante, revisin de planes de

    mitigacin conforme se vaya presentando informacin

    del riesgo.

  • 8/4/2019 IngSoft 1-4

    89/90

    M.C. Martn Olgun (C) 2004

    Ejemplos de Riesgos

    NegocioCambio de tecnologa

    ProductoBajo desempeo de la herramienta CASE

    Proyecto y productoSubestimacin del tamao

    Proyecto y productoRetrasos en la especificacin

    Proyecto y productoCambio de requerimientos

    ProyectoNo disponibilidad del hardware

    ProyectoCambio de administracin

    ProyectoRotacin de personal

    TipoRiesgo

    Proceso de Administracin del

  • 8/4/2019 IngSoft 1-4

    90/90

    Riesgo

    Identificacin deRiesgos Anlisis deRiesgos Planeacin deRiesgos Supervisin deRiesgos

    Listado de Riesgos

    potenciales

    Listado de prioriza-

    cin de riesgos

    Anulacin de

    Riesgos y planes decontingencia

    Valoracin de

    Riesgos