Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Curso Ingeniería de Software Parte I
Curso Ingeniería de Software Parte I
Los Lagos
3
La Ingeniería del Software dentro del currículo de los
ingenieros en informática aporta la primera aproximación a
la práctica real del desarrollo de software
Proyectos realizados por equipos de desarrollo
Programación a gran escala (programming in large)
Obtención (elicitación) de los requisitos
Modelos de ciclo de vida
Gestión de la configuración
Calidad del software
Mantenimiento
……
¿Ingeniería? de Software
5
Ingeniería vs Métodos Tradicionales
Grandes Problemas Históricos
Retraso respecto al potencial de hardware
Insatisfacción de la demanda
Bajo cumplimiento de compromisos – costos, plazos
Baja calidad y satisfacción de clientes/usuarios
Mantención de sistemas legados
Percepciones de la Disciplina
Ineficiencia Altos costos
Baja confiabilidad
Escasa ingeniería
Crisis del Software
Origina la disciplina “Ingeniería de Software” en los 60s
Síntomas típicos
funcionalidad incorrecta
costos y plazos excedidos
insatisfacción de clientes y usuarios
poca o nula visibilidad de lo que ocurre
Crisis del Software
Algunas causas potenciales
carácter lógico del software
formación profesional (o falta de)
entrenamiento y actualización
resistencia al cambio
Solución potencial
incorporar enfoque ingenieril en la forma de un proceso de
software …
Crisis del Software
Algunos mitos bastantes arraigados también
estándares y procedimientos bastan
tecnología de punta basta
más gente para ponerse al día
programación inmediata
fácil acomodo de los cambios
programación: fin del trabajo
calidad: sólo del ejecutable
código es el único producto
Ingeniería de Software
“ Establecimiento y uso de principios con caracteres de
ingeniería apropiados para obtener, eficientemente,
software confiable, que opere eficaz y eficientemente
en máquinas reales “
Construcción
Análisis Diseño y Pruebas Pruebas
Unitarias
Mantención
Mantenimiento:
el software sufrirá cambios después de que se entrega al cliente, los
cambios ocurrirán debido a que hayan encontrado errores, a que el
software deba adaptarse a cambios del entorno externo (sistema
operativo o dispositivos periféricos), o debido a que el cliente requiera
ampliaciones funcionales o del rendimiento
Modelo V
Modelo V
La primera mitad es similar al Modelo en Cascada, y la
otra mitad tiene como finalidad hacer pruebas e
integración asociado a cada una de las etapas de la
mitad anterior.
Se puede identificar una ventaja principal con respecto
al Modelo Cascada más simple, y se refiere a que este
modelo involucra chequeos de cada una de las etapas
del modelo de cascada.
Modelo de Prototipación
Permite la construcción rápida del sistema (o parte de éste).
Usuario y desarrollador tienen una visión común.
Se reduce el riesgo y lo incierto del desarrollo
Modelo en Espiral
Se combinan las actividades de desarrollo con Análisis de
Riesgo.
El modelo es de tipo iterativo:
Planificación → Análisis de Riesgo → Ingeniería → Evaluación
→ Planificación →
..En cada iteración, se evalúan las diferentes alternativas y
se elige una.
Los gestores del proyecto intentan eliminar o minimizar el
riesgo.
Modelo en Espiral
RUP – Rational Unified Process
Su objetivo es asegurar la producción de software de
calidad dentro de plazos y presupuestos predecibles.
Dirigido por casos de uso, centrado en la arquitectura,
iterativo (mini-proyectos) e incremental (versiones)
Cada ciclo de vida del software abarca 4 fases en el
siguiente orden: concepción/planificación, elaboración,
construcción y transición
La esencia de RUP es la iteración, y cada iteración resulta
en un entregable preferentemente ejecutable
RUP – Rational Unified Process
Mapa Conceptual de RUP
37
Fases de RUP: Inception (Inicio)
Productos:
39
Fases de RUP: Inception (Inicio)
Hito:
Objetivos del
Ciclo de Vida
• Objetivos:
– Analizar el dominio del problema
– Establecer una arquitectura base sólida
– Desarrollar un plan de proyecto
– Eliminar los elementos de mayor riesgo para el desarrollo
exitoso del proyecto
41
Fases de RUP: Elaboración
Productos:
42
Fases de RUP: Elaboración
Productos:
43
Fases de RUP: Elaboración
Hito: Arquitectura de
Ciclo de Vida
45
Fases de RUP: Construcción
Productos:
• Manuales de usuario.
46
Fases de RUP: Construcción
Hito:
Capacidad
Operacional
48
Fases de RUP: Transición
Objetivos:
Producto
49
Métodos Ágiles
Interés creciente en los métodos ágiles (inicialmente
llamados ligeros, lightweight) en los últimos años
enfrentamiento de requerimientos cambiantes
tiempos de desarrollo escasos
clientes y usuarios cada vez más exigentes
Ingeniería
de Software
Estructuración
de los Procesos
Estructuración
de las Comuni
caciones
Ingeniería
de las
comunicaciones
Estructuración
de los Datos
Ingeniería
de la Información 59
Arquitectura de Sistemas Computacionales
Nivel
Lógico
(S.I.A)
Nivel
Físico
(Implementa
ción Compu
tacional)
60
61
ode
deDesarrollo.
Desarrollo.
an ninibebió
pan bebióagua.
agua.YYen
enlas
lastablas
tablasescribió
escribiólas
laspalabras
palabrasdel
delpacto,
pacto,los
lostrece
trecemandamientos:
mandamientos:
perativos.
perativos.
mente …”
nmente …”
es en
nes enun
unRequisito,
Requisito,las
lasmodelarás
modelaráscomo
comoatributos
atributosdel
delRequisito
Requisitoooen ennuevos
nuevosRequisitos,
Requisitos,pero
peronunca
nuncaenen
os en
dos enun
unRequisito
Requisitodificultan
dificultansu
sucomprensión
comprensiónyysu suposterior
posteriortrazabilidad.
trazabilidad.
ones se
ciones semezclarán
mezclaránsisiseseproporciona
proporcionademasiado
demasiadodetalle;
detalle;ese
esedetalle
detallese
seindicará
indicaráen
enCasos
Casosde deUso,
Uso,refin
ref
syypreviamente
previamentesesehaya
hayaaprobado
aprobadosusuuso.
uso.
elelde
depalabras
palabraspor
porfrase,
frase,usando “,” y “;” apropiadamente
usando “,” y “;” apropiadamenteen enlaladescripción
descripciónde
delos
losRequisitos
Requisitospara
parafome
fom
e medir.
de medir.En
Ensu
sulugar
lugarusarás
usarásunidades
unidadesfísicas
físicaspara
paramedir,
medir,por
porejemplo,
ejemplo,cómo
cómodederápido
rápidodebe
deberendir
rendirun
unR
o,abstente
abstentede
deexpresiones
expresionesdel
deltipo
tipo“sin
“sinsobrecargar
sobrecargardemasiado
demasiadoelelservidor”.
servidor”.
isión, claridad yyconcreción) como
cisión, claridad concreción) comoaatitimismo.
mismo.
62
Los
Los13
13Mandamientos
Mandamientosen
enelelProceso
Procesode
deDefinición
Definiciónde Requisitos
de Requisitos
Entonces
EntoncesJehovah
Jehovahdijo
dijoalalAnalista
AnalistaFuncional:
Funcional:
—
—Escribe
Escribeestas
estaspalabras,
palabras,porque
porqueconforme
conformeaaellas ellashehehecho
hechopacto
pactocontigo
contigoyyconconelelEquipo
Equipode deDesarroll
Desarrol
hovah cuarenta
ehovah cuarentadías
díasyycuarenta
cuarentanoches.
noches.No Nocomió
comiópan panninibebió
bebióagua.
agua.YYen enlas
lastablas
tablasescribió
escribiólaslaspalab
pala
No
Nopensarás
pensaráselelcómo,
cómo,tan tansólo
sóloelelqué
quéyyelelpor
porqué.
qué.
No
Notetepronunciarás
pronunciarásen entiempos
tiemposcondicionales;
condicionales;en entodo
todocaso,
caso,tetepronunciarás
pronunciarásen entiempos
tiemposimperativos.
imperativos.
Evitarás
Evitarásrecoger
recogerDetalles
DetallesdedeDiseño.
Diseño.
No
Notetepronunciarás
pronunciaráscon conexpresiones
expresionesvagas
vagasen ensignificado,
significado,como “generalmente
como “generalmente…”,“comúnmente
…”,“comúnmente…” …”
equisito. Si
Requisito. Siexisten
existendistintas
distintasopciones
opcionesen enununRequisito,
Requisito,laslasmodelarás
modelaráscomocomoatributos
atributosdeldelRequisito
Requisitoooene
a necesidad,
da necesidad,de deforma
formaindividual.
individual.Muchos
Muchosverbos
verbosconcentrados
concentradosen enununRequisito
Requisitodificultan
dificultansusucomprens
compren
uisito. Las
quisito. Lasnecesidades
necesidadesooinformaciones
informacionesse semezclarán
mezclaránsisise seproporciona
proporcionademasiado
demasiadodetalle;
detalle;ese
esedetalle
detal
alos
losAcrónimos,
Acrónimos,salvosalvoquequese serecojan
recojanenenGlosarios
GlosariosuuOntologías
Ontologíasde deTérminos
Términosyypreviamente
previamentese sehaya
hayaapa
mero
merode desílabas
sílabaspor
porpalabra
palabrayyelelde depalabras
palabraspor porfrase,
frase,usando “,” y “;” apropiadamente
usando “,” y “;” apropiadamenteen enlaladescripció
descripció
No
Nousarás
usaráspronombres.
pronombres.
No
Nousarás
usaráspseudocódigo: “si
pseudocódigo: “sifecha fechaes esmayor
mayorqueque…”, “iterar
…”, “iterarsobre
sobre…”,…”,etc.
etc.
e medir.
de medir.EnEnsu sulugar
lugarusarás
usarásunidades
unidadesfísicas
físicaspara
paramedir,
medir,por
porejemplo,
ejemplo,cómocómode derápido
rápidodebe
deberendir
rendirun
unR
uedan ser
puedan sermedidas
medidasde deforma
formasencilla.
sencilla.Como
Comocontraejemplo,
contraejemplo,abstente
abstentede deexpresiones
expresionesdel deltipo
tipo“sin
“sinsobr
sob
Estos
Estosdiez
diezmandamientos
mandamientosse seencierran
encierranen endos:
dos:
mbiguación y
mbiguación yaalo axiomático sobre
lo axiomático sobretodas todaslas lascosas
cosasyyaalaslas33C´s
C´s(concisión, claridad
(concisión, claridadyyconcreción
concreción
63