Upload
rafael-perez-nicolas
View
218
Download
0
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