Академический Документы
Профессиональный Документы
Культура Документы
Sesiones 1 y 2
AyDSI3
Agenda del da
Objetivos/Informaciones de la materia El Paradigma OO Desarrollo Iterativo y el Proceso Unificado
AyDSI3
Objetivo de la Materia
Profundizar la utilizacin de herramientas, procedimientos y mtodos formales de especificacin de sistemas informticos, mediante el desarrollo terico-prctico de una nueva metodologa para las actividades de anlisis y diseo de sistemas de informacin del ciclo de vida del software.
AyDSI3
Metodologa
Se propone una metodologa participativa en la que el Instructor acta como facilitador para dirigir el desarrollo de las clases, en las cuales se otorgar un alto valor a la participacin activa de los alumnos
AyDSI3
Evaluacin
3 Exmenes Parciales y un examen final
1er. Parcial
Trabajo Prctico Principal (10%) Examen (90%)
2do. Parcial
Trabajo Prctico Principal (20%) Examen (80%)
3er. Parcial
Trabajo Prctico Principal (30%) Examen (70%)
Examen Final
Trabajo Prctico Principal (40%) Examen (60%)
Calificacin Final = suma del 50% del promedio de los tres exmenes parciales ms el 50% de la calificacin del Examen Final
AyDSI3
SINO
Presentan propuesta de trabajo a realizar sujeto a aprobacin del profesor (incluyendo Desc. de Alcance)
FINSI
El enunciado del trabajo lo encontrarn en el ecampus. Presentacin impresa acumulativa, por computadora, de manera pulcra usando CASE especificado.
6
AyDSI3
Bibliografa Bsica
LARMAN, Craig;
UML y Patrones. Una introduccin al anlisis y diseo orientado a objetos y al proceso unificado (2da edicin); PRENTICE HALL, 2003. Costo en Librera UAA No tienen Costo en ETP Gs. 272.000.(Tel. 496-778, Dir.: Blas Garay 106 esq. Ind. Nacional)
Estrategias Estrategias
Las estrategias OO cubren tanto los requisitos como el anlisis, diseo y programacin. Anlisis Orientado a Objetos (OOA) Diseo Orientado a Objetos (OOD) Programacin Orientada a Objetos (OOP)
Mtodos Mtodos
Las metodologas ms importantes de anlisis y diseo de sistemas, orientado a objetos, han terminado confluyendo en lo que es el UML (www.uml.org), bajo el respaldo del Object Management Group (www.omg.org). Algunas de las principales metodologas, pioneras que han terminado confluyendo en el UML son: Object-Oriented Design (OOD), Booch. Object Modeling Technique (OMT), Rumbaugh. Object Oriented Analysis (OOA), Coad/Yourdon. Hierarchical Object Oriented Design (HOOD), ESA. Object Oriented Structured Design (OOSD), Wasserman. Object Oriented Systems Analysis (OOSA), Shaler y Mellor. Responsibility Driven Design (RDD), Wirfs-Brock, entre otros.
10
AyDSI3
El Paradigma OO
objetos
11
AyDSI3
Conceptos Claves OO
clases y jerarquas de clases
13
AyDSI3
Clases
El pensamiento orientado a objetos comienza con la definicin de clases tambin definidos como:
Plantilla (template) descripcin generalizada patrones Prototipos (blueprint) ... describiendo colecciones de items similares
Los metaclases (tambin llamados superclases) son colecciones de clases Solo cuando una clase de objeto es definida, una especfica instancia de la clase (subclase) puede ser definida
14
AyDSI3
atributos: operaciones:
15
AyDSI3
Qu es una Clase?
ocurrencias o eventos Cosas Entidad externa roles Unidades organizacionales lugares estructuras
operaciones:
16
AyDSI3
Encapsulacin/Ocultamiento
El objeto encapsula los datos y la lgica de procedimiento requerida para manipular el dato
mtodo #1
mtodo #2 Dato
mtodo #6
mtodo #5
mtodo #4
AyDSI3
Jerarquas de Clase
Muebles (superclase)
Mesa
Silla
Escritorio
sillesa"
instancias de silla 18
AyDSI3
Procedimiento ejecutable que es encapsulado en una clase y es diseada para operar con uno o mas atributos que son definidos como parte de la clase. El mtodo es invocado por medio del paso de mensajes.
19
AyDSI3
Mensajes
Objeto Emisor Atributos:
Operaciones:
20
10
AyDSI3
Nuestra realidad
Dilbert
21
AyDSI3
22
11
AyDSI3
23
AyDSI3
24
12
AyDSI3
El desarrollo de Software tiene una construccin predecible Cascada Grandes especificaciones minuciosas Planeamiento Predictivo
El desarrollo de Software es el desarrollo de un nuevo producto Iterativo Especificaciones evolutivas Planeamiento adaptable
25
AyDSI3
13
AyDSI3
AyDSI3
OOD-Object-Oriented Design
Enfatiza una solucin conceptual que satisface los requerimientos (no en su implementacin) Necesita definir objetos de software y como ellos colaboran para cumplir los requisitos Por ejemplo, en el sistema de informacin de librera, el objeto de software libro puede tener un atributo Ttulo y un mtodo Obtener captulo El Diseo es implementado en un lenguaje de programacin En el ejemplo, vamos a tener una clase Libro en Java 28 Se resume en: HACERLO CORRECTAMENTE
14
AyDSI3
AOO Y DOO
public class Libro { private String ttulo; public Capitulo getCapitulo(int) {...} }
29
AyDSI3
30
15
AyDSI3
31
AyDSI3 UML y el pensamiento de la bala de plata Error fundamental: creer que hay una herramienta o tcnica de software que hace una diferencia dramtica en productividad, cerodefectos, confiabilidad o simplicidad.
32
16
AyDSI3
33
AyDSI3
Specification or Implementation Perspective (design class diagram) Raw UML class diagram notation used to visualize software elements.
34
17
AyDSI3
35
AyDSI3
El proceso es un conjunto semi-ordenado de pasos pensados para alcanzar una meta En la ingeniera de Software, la meta es desarrollar un producto de software eficiente y predecible que cumpla las necesidades del negocio El proceso de desarrollo de software describe un enfoque para la construccin, desarrollo y mantenimiento de software El proceso Unificado (UP) es un proceso para construir sistemas orientados a objetos La meta del UP es posibilitar la produccin de software de alta calidad que cumpla las necesidades de los usuarios dentro cronogramas y presupuestos predecibles
36
18
AyDSI3
37
AyDSI3
Desarrollo Iterativo
El Desarrollo est organizado en una serie de mini-proyectos cortos de duracin fija llamados iteraciones. El resultado de cada iteracin es un sistema incompleto que puede ser probado, integrado y ejecutado Una iteracin representa un ciclo de vida completo: que incluye sus propias actividades de anlisis de requisitos, diseo, implementacin y pruebas La retroalimentacin cclica y la adaptacin son los elementos principales principales que llevan 38 hacia un sistema adecuado
19
AyDSI3
Desarrollo Iterativo
[iteracin N] Requerimientos Anlisis - Diseo- Implementacin - Pruebas
Feedback de iteracin N nos lleva a refinar y adaptar los Requisitos y Diseo de la iteracin N+1.
39
AyDSI3
40
20
AyDSI3
tiempo
Un proyecto UP organiza el trabajo y las iteraciones en cuatro fases fundamentales: Inicio (Inception) Visin aproximada, anlsis del negocio, alcance, estimaciones del proyecto Elaboracin (Elaboration) Visin refinada, especificacin de caractersticas Construccin (Construction) Construccin del producto Transicin (Transition) - Transicin del producto dentro de la comunidad del usuario final
41
AyDSI3
Iteracin Preliminar
Iter. #1 Iter.
Iter. #2 Iter.
Hito
Release
Cada fase e iteracin tiene algn enfoque de mitigacin de riesgo, y concluye con un hito bien definido La revisiones de hitos proporcionan un punto en el tiempo para saber que tan bien fueron cumplidas las metas y donde el proyecto debe ser reestructurado de alguna forma para continuar El final de cada iteracin es una pequea versin o release, un sub-conjunto estable y ejecutable del producto final
42
21
AyDSI3
Disciplinas de Soporte
Adm Configuracin Gestin Proy, Entorno
Iteraciones Iter. Preliminares #1 Iter. #2 Iter. #n Iter. Iter. #n+1 #n+2 Iter. #m Iter. #m+1
Iteraciones
43
AyDSI3
Disciplinas de Soporte
Adm Configuracin Gestin Proy, Entorno
Iteraciones Iter. Preliminares #1 Iter. #2 Iter. #n Iter. Iter. #n+1 #n+2 Iter. #m Iter. #m+1
Iteraciones
44
22
AyDSI3
Disciplinas de Soporte
Adm Configuracin Gestin Proy, Entorno
Iteraciones Iter. Preliminares #1 Iter. #2 Iter. #n Iter. Iter. #n+1 #n+2 Iter. #m Iter. #m+1
Iteraciones
45
AyDSI3
requirements
requirements
software
software
90%
90%
50% 20% 2% Iteration 1 30% 5% Iteration 2 a 3-week iteration 8% Iteration 3 10% Iteration 4 20% Iteration 5
week 1 M T W Th F
week 2 M T W Th F
week 3 M T W Th F
final check-in and codefreeze for the iteration baseline Use-case modeling during the workshop
46
23
AyDSI3
Permite cambios
El sistema puede adaptarse a los problemas
AyDSI3
Lecturas de inters
Iterative and Incremental Development: A brief history. Modelo de espiral de Bohem. No silver bullet. Understanding and controlling software costs. Product Development practices that work.
48
24
AyDSI3
Fin
49
25