Академический Документы
Профессиональный Документы
Культура Документы
Unidad 1:
Introduccin
especificacin de requisitos.
Documento tcnico.
Organizacin y clasificacin de los requisitos.
La especificacin de requisitos describe
el
anlisis
basado
en
escenarios.
Modelo de Objetos: diagramas de clases y
objetos.
objetivos.
uso.
Clases que pertenecen al espacio de la solucin
vs. espacio del problema.
Aislar los sustantivos:
Entidades externas: producen o consumen informacin
desarrolladores.
Una ficha por cada clase relevante.
Se identifican sus responsabilidades.
Divisin de responsabilidades, relaciones de
colaboracin.
Jerarquas de
generalizacin/especializacin.
intentan
Abstraccin.
Ocultamiento de informacin.
Modularidad.
de la interfaz: Establece la
interfaz del objeto, definiendo los mensajes que
puede recibir el objeto y las operaciones que
puede realizar cuando el objeto recibe el
mensaje.
En
iterativo
dirigido
por
los
iterativo
dirigido
por
el
Como
ya
mencionamos
la
recomendada es: 1 a 6 semanas.
longitud
Las
complejidad:
la
investigacin
ha
demostrado que pasos de complejidad baja
se realizan ms productivamente.
Forza
tempranamente
a
tomar
decisiones difciles y de compensacin:
se obliga a ser realista en lo que se har y
en lo que no se har. Obliga al manejo de
prioridades.
La
tiempo fijo
cumplirse
haciendo
parcial) de
requisitos.
de 3 a 12 meses.
incremental.
difciles de predecir.
evolutivo
iterativo
timeboxed.
Planeacin adaptativa.
Promueven entregas evolutivas.
Incluyen otros valores y prcticas que
motivan la agilidad-respuestas rpidas y
flexibles al cambio.
Su lema es: Enfrentar el cambio.
Su punto estratgico es: Maniobrabilidad
son
de planes y objetivos
Aunque podramos imaginar mtodos IID nogiles, la mayora (por no decir todos) estn
adoptando los valores y prcticas giles es
raro que alguien promueva la no-agilidad.
mtodos
por
gente
del
negocio
y
los
desarrolladores deben trabajar en
conjunto
diariamente a lo largo del
proyecto.
5. Construye el proyecto con gente
motivada. Dales el ambiente y soporte
necesario y confa en que harn bien el
trabajo.
6. El mtodo ms eficiente y efectivo para
conllevar informacin hacia y dentro el
equipo de desarrollo es la conversacin
cara-a-cara.
trabajando es la medida
principal de progreso.
8. Los
procesos
giles
promueven
el
desarrollo sustentable.
9. Los
patrocinadores, desarrolladores y
usuarios deben mantener una paz
constante indefinidamente.
10. Atencin constante a la excelencia
tcnica y el buen diseo aumenta la
agilidad.
arte de maximizar el
monto de trabajo no hecho-es esencial.
12. Las mejores arquitecturas, requisitos y
diseos emergen a partir de equipos
auto-organizados.
13. A
intervalos
regulares,
el
equipo
reflexiona sobre como ser ms efectivo,
acorde
a
lo
cual
ajusta
su
comportamiento.
giles
ms
Scrum:
XP:
Introduccin
Qu es Ingeniera de Software ?
El establecimiento y uso de principios de
ingeniera robustos, orientados a obtener software
econmico que sea fiable y funcione de manera
eficiente sobre mquinas reales. (Fritz Bauer 1969)
La ingeniera de software es la aplicacin de un
enfoque sistemtico, disciplinado y cuantificable al
desarrollo, operacin y mantenimiento del software.
[IEEE93]
Introduccin
Orientacin a Objetos
Vivimos en un mundo de objetos. Estos objetos
existen en la naturaleza, en entidades hechas por el
hombre, en los negocios y en los productos que
usamos.
Pueden
ser
clasificados,
descritos,
organizados, combinados, manipulados y creados.
Por eso no es sorprendente que se proponga una
visin orientada a objetos para la creacin de
software de computadora, una abstraccin que
modela el mundo de forma tal que nos ayuda a
entenderlo y gobernarlo mejor.
Introduccin
Orientacin a Objetos
El trmino orientado a objetos significa que el
software se organiza como una coleccin de objetos
que contienen tanto estructuras de datos como
comportamiento.
Introduccin
OBJETOS BICICLETA
Bicicleta
Se hace una
abstraccin
que resulta
en
Tam.del cuadro
Tam. De la
rueda marchas
material
Cambiar
marcha()
mover()
reparar()
Introduccin
Orientacin a Objetos
El atractivo intuitivo de la orientacin a objetos es
que proporciona conceptos y herramientas con las
cuales se modela y representa el mundo real tan
fielmente como sea posible. Estos conceptos y
herramientas orientados a objetos son tecnologas
que permiten que los problemas del mundo real
sean expresados de modo fcil y natural.
Introduccin
Programar es divertido, pero desarrollar software de
calidad es difcil.
Entre las ideas esplndidas, los requisitos y un
producto software funcionando, hay mucho ms que
slo programar:
Debemos realizar los planos (anlisis y diseo) que
Introduccin
Qu es el anlisis?
Es el estudio de un dominio que da como resultado
los modelos que describen sus caractersticas
estticas y dinmicas. Se centra en las cuestiones
del que en lugar del como. Pone nfasis en una
investigacin del problema y los requisitos, en vez
de ponerlos en una solucin.
Anlisis es un trmino amplio, es ms adecuado
calificarlo como anlisis de requisitos (un estudio de
los requisitos) o anlisis de objetos (estudios de
objetos del dominio)
Qu es el anlisis orientado a objetos?
Es un mtodo de anlisis que examina los requisitos
desde la perspectiva de las clases y objetos que se
Introduccin
Anlisis Orientado a Objetos.
Se presta especial atencin a encontrar y
describir los objetos en el dominio del
problema. Ejemplos:
En el caso del sistema de renta de auto:
Introduccin
Diseo:
Pone nfasis en una solucin conceptual que satisface los
ESPACIO DE LA SOLUCIN
Objeto
LIBRO
Titul
o
GetCap(int
c)
Atribut
o
Operacin
Introduccin
Anlisis y Diseo Orientado a Objetos.
Plane
tailNumber
domain concept
representation in an
object-oriented
programming language
visualization of
domain concept
Introduccin
Anlisis y Diseo Orientado a Objetos.
El anlisis y diseo se han resumido en las
freses:
Hacer lo correcto
(anlisis)
Hacerlo correcto
(diseo)
Proceso de desarrollo de
software
Un proceso de desarrollo de software es un
Requerimientos
del usuario
Proceso de Desarrollo de
Software
Sistema Software
Proceso de desarrollo de
software
Hoy en da la tendencia del software es hacia
Proceso de desarrollo de
software
La comunidad de desarrollo de software
Es decir:
El PU centrado en la
arquitectura
El rol de la arquitectura del software
El PU centrado en la
arquitectura
La arquitectura est influenciada por otros factores
tales como:
La plataforma sobre la cual se va a ejecutar el
sistema.
Bloques reusables disponibles.
Consideraciones de distribucin.
Sistemas
heredados
y
requerimientos
funcionales.
no
El PU centrado en la
arquitectura
A un sistema se le puede pedir que muestre en tiempo
real la cantidad de datos de una base de datos: se es
un requerimiento funcional. En cunto tiempo debera
el sistema actualizar su verificacin interna de cantidad
de datos es, en cambio, un requerimiento no funcional.
Cmo se relacionan los casos de uso y la arquitectura?
Cada producto tiene funcin y forma. Uno o el otro no
es suficiente.
Estas dos fuerzas deben estar
balanceadas par obtener un producto exitoso. En este
caso la funcin corresponde a los casos de uso y la
forma a la arquitectura. Se necesita, por lo tanto, la
interaccin entre los casos de uso y la arquitectura.
El PU centrado en la
arquitectura
El arquitecto moldea el sistema en una
El PU es iterativo e
incremental
Bajo
El PU es iterativo e
incremental
El
Requisitos
Requisitos
Diseo
Diseo
Implementacin &
Prueba & Integracin & ms diseo
TIEMPO
Implementacin &
Prueba & Integracin & ms diseo
La retroalimentacin
de la iteracin N
nos lleva a refinar
y adaptar los
requisitos y diseo
de la iteracin N+1.
El sistema crece
de manera incremental
El PU es iterativo e
incremental
El resultado de cada iteracin es un sistema
ejecutable, pero incompleto; no est preparado
par ser
puesto en produccin. El sistema
estara listo despus de muchas iteraciones por
ejemplo, 10 o 15.
La salida de una iteracin no es un prototipo
El PU es iterativo e
incremental
Los desarrolladores basan la seleccin de lo
que ser desarrollado en cada iteracin
tomando en cuenta dos factores:
Primero: La iteracin trata con un grupo
requisitos,
objetivos,
EN RESUMEN
Los conceptos:
Dirigido por casos de uso.
Centrado en la arquitectura.
El desarrollo es iterativo e incremental.
La vida del PU
Cada fase esta subdividida en iteraciones
Inicio
Iter.
#1
Elaboracin
Construccin
Iter.
# 2..
Transicin
Iter.
#n-1
versiones
Un ciclo con sus fases y sus iteraciones
Iter.
#n
The UP Disciplines
Process Disciplines
Phases
Inception Elaboration
Construction
Transition
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting Disciplines
Configuration Mgmt
Management
Environment
Preliminary
Iteration(s)
Iter.
#1
Iter.
#2
Iter.
#n
Iter. Iter.
#n+1 #n+2
Iterations
Iter.
#m
Iter.
#m+1
una disciplina es un
conjunto de actividades (y artefactos
relacionados) en un rea determinada
como las actividades en el anlisis de
requisitos.
En el PU, un artefacto es el trmino
general para cualquier producto del
trabajo: cdigo, grficos Web, esquema de
base de datos, documento de texto,
diagramas, modelos, etctera.
Nos
centraremos en 3 disciplinas:
modelado del negocio, requisitos y diseo.
Disciplinas del PU
modelado del
negocio
Disciplinas del PU
modelado del
negocio
Disciplinas del PU
modelado del
negocio
Disciplinas del PU
modelado del
negocio
Anlisis.
El propsito de esta disciplina es examinar y refinar
los requisitos. Al hacerlo se logra la comprensin
detallada de los requisitos que deben tener para
desarrollar
correctamente
un
sistema
de
informacin y darle mantenimiento con facilidad.
por qu tener la disciplina de anlisis?
El punto clave es que los artefactos de la disciplina
de requisitos deben expresarse en el lenguaje del
cliente, es decir en un idioma natural (espaol,
ingls, armenio,), pero todos los lenguajes
naturales de alguna manera son imprecisos y
conducen a malas interpretaciones.
Disciplinas del PU
Anlisis
Disciplinas del PU
Diseo.
En esta disciplina se refina los artefactos del
anlisis hasta que el material est en una
forma en que los programadores puedan
implementar.
Adems una serie de requisitos necesitan
familiarizarse en este momento, incluyendo
la eleccin del lenguaje de programacin,
as como la reutilizacin y los problemas de
portabilidad.
Disciplinas del PU
Implementacin.
El objetivo de esta disciplina es instaurar el
sistema de informacin deseado en el
lenguaje deseado.
En cuanto el componente se ha codificado,
el programador lo prueba, una vez que el
programador est seguro de que el
componente es correcto, se pasa al grupo
de aseguramiento de la calidad para una
prueba posterior.
Disciplinas del PU
Pruebas.
Esta disciplina es responsabilidad del grupo de
aseguramiento
de
la
calidad.
Cada
componente que se ha terminado se prueba, a
esto se le llama prueba de unidad.
Al final de cada iteracin se realiza la prueba
de integracin. Aqu los componentes que se
han completado y a los cuales se les han
aplicado las prueba de unidad, se compilan y
se ligan y luego se prueban con varios casos
de prueba.
Cuando el producto parece estar completo, se
prueba en conjunto: a esto se llama prueba de
producto.
Disciplinas y
modelos en el PU
Requerimientos
Modelo de
casos de uso
Anlisis
Modelo de
anlisis
Diseo
Modelo de
diseo
Modelo de
distribucin
Implementacin
Modelo de
implementacin
Prueba
Modelo de
pruebas