Professional Documents
Culture Documents
Yaskelly Yedra
I-2012
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Que es la IS ?
Ingeniera del SW: rea de la Ciencia de la
Computacin, que ofrece Mtodos y
Tcnicas para DS, estudia el conjunto de
actividades relacionadas con el ciclo de
desarrollo de SW, en particular se enfoca en
SW de Calidad.
Que es la IS ?
La aplicacin de un enfoque sistemtico,
disciplinado y cuantificable del desarrollo,
la operacin y el mantenimiento del
software; esto es, la aplicacin de la
ingeniera al software.
IEEE Std 610-1990
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
reas de conocimiento
Requisitos
Diseo
Construccin
Pruebas
Mantenimiento
Gestin de la Configuracin
Gestin de la Ingeniera Soft.
Procesos
Herramientas y Mtodos
Calidad
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Lneas de investigacin
Metodologa orientado a objeto de
desarrollo de software
Modelos, Mtodos, Tcnicas y
Herramientas de desarrollo de software.
Sistemas de reescritura.
Interacin Humano - Computador
Patrones de diseo
Programacin orientada a aspectos
Lneas de investigacin
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Disciplinas relacionadas
Ingeniera de Computadores
Ciencia de la Computacin
Gestin
Matemticas
Gestin de Proyectos
Gestin de la Calidad
Ergonoma del Software
Ingeniera de Sistemas
Sistemas de Informacin
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
...codificar y depurar...
Actividad de grupo
Desarrollo de software para mercadeo
Resolver problemas complejos en diferentes
dominios, adems de cientficos y de
ingeniera
Programacin orientada a funcin.
Desarrollo de la tecnologa
Actividad de grupo
Hardware:
computadores
personales, primeras
estaciones de trabajo,
redes locales
Lenguajes: C, Ada
Paradigma de
programacin:
programacin
estructurada, modular,
tipos de datos
abstractos
Herramientas
interactivas, interfaces
grficas (GUI)
Hardware: Aumento
considerable de la venta y
uso de computadores
personales, estaciones de
trabajo, redes locales y
globales, Internet,
arquitecturas avanzadas
Lenguajes: C++, Standard ML
Paradigma de
programacin: irrumpe la
programacin OO
Computacin clienteservidor
19
Resumen
un poco de historia
primeras dcadas:
desarrollar el hardware
desarrollo de la microelectrnica
1965 - 1975
Multiusuario
Tiempo real
Bases de datos
Software como
producto
Mayores gastos
de mantenimiento
1975 - 1989
Sistemas distribuidos
Inteligencia Artificial
Hardware de bajo
coste
Impacto en el
consumo
Redes area local
y global
Gran demanda
1989 -
Potentes sistemas
de sobremesa
Tecnologa de objetos
Sistemas expertos
Redes neuronales
Cliente/servidor
Tecnologas de
Internet.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Desde la dcada 70
Desde la dcada 70
Software libre
Tecnologas
Emergentes
Redes de
Computadores
Interfaces de usuario.
Tiempo de desarrollo
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
herramientas
Methodologies
metodologas
mtodos
y tcnicas
Principles
principios
1.
2.
3.
4.
5.
6.
Rigor y formalidad
Abstraccin
Modularidad
Anticipacin al cambio
Generalidad
Incrementalidad.
Significa ...
seguir procesos sistemticos y verificables
en el proceso de desarrollo de software
IMPLICACIONES:
La formalidad es la base de
automatizacin de procesos
Principio esencial para obtener
productos reusables
Producto
Analisis matemtico de correctitud de
programas
Test sistemtico y riguroso
Proceso
Rigurosa documentacin ayuda a la gestin
del proyecto y asegura los tiempos de
respuesta
Significa...
IMPLICACIONES:
percepcin del qu/ cm o (la separacin de
intereses )
percepcin del todo/ partes (modularidad)
En procesos
Cuando realizamos estimacin de costos
solo tomamos en cuenta algunos factores
En producto
Los tipos de datos abstractos
permite:
descomponer en partes un sistema complejo
(descomposicin)
Problema
Solucin. 1 solucin. 2
solucin. 3 solucin. 4
Solucin
Subprob. 1
Subprob. 2
Subprob. 3 Subprob. 4
Significa:
La capacidad de prever cmo y dnde
pueden ocurrir los cambios
Significa:
buscar la solucin ms amplia
(que englobe los casos especficos)
Significa:
Construccin del producto por
aproximaciones sucesivas y/o por
componentes (partes)
Desarrollo de prototipos para los
componentes crticos
til para desarrollo de
aplicaciones no precisas, donde
no estn bien definidos los
requisitos.
Ejemplos
Liberar subconjuntos de un sistema
muy tempranamente para encontar el
feedback del usuario, y luego agregar
incrementalmente nuevas
caractersticas
Liberar un primer prototipo e
incrementalmente ir transformando el
prototipo en el producto.
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
Caractersticas de Calidad de
software (Normas ISO 9126) :
53
Caractersticas
(ISO 9126)
Subcaractersticas
Funcionalidad
Adecuacidad (Suitability),
exactitud/precisin ( Accurateness),
Interoperabilidad, (Conformidad Compliance )
Seguridad
Confiabilidad
Usabilidad
comprensibilidad (Understandability ),
aprendizaje (Learnability ),
Operabilidad
Eficiencia
Rendimiento en tiempo,
rendimiento de Recurso.
Mantenibilidad
Portabilidad
Correcto
Se comporta acorde a su especificacin
Confiable
Se comporta de acuerdo a lo esperado por
el usuario
Robusto
Se comporta razonablemente an en
cirscunstancias no contempladas
(tolerante a fallas).
construcciones correctas
si ellas satisfacen las
especificaciones
en un movimiento
ssmico unas colapsan
(no son robustas)
otras construcciones sufren
pequeos daos tolerables o
previsibles
(son confiables).
Reusable
Componentes reusables:
Libreras cientficas
Libreras para el desarrollo de
interfaces (MFC de Windows)
Patrones
Especificaciones
Clases.
....en el futuro
las aplicaciones
sern construdas
ensamblando
componentes..
Interoperable
Software Eficiente:
Usa los recursos computacionales
econmicamente (memoria, tiempo de
. procesamiento, comunicacin..)
complejidad de algoritmos
evaluacin de la eficiencia
(monitoreo, simulacin,..).
Qu es Usabilidad ?
Usabilidad es una cualidad del software que
tiene mltiples componentes y
tradicionalmente es asociado con:
Aprendizaje
ISO 9127
Eficiencia
Usabilidad: se
refiere al esfuerzo
Memorizacin
requerido por un
conjunto de
Baja rata de errores
usuarios para el uso
del sw
Satisfaccin
Usabilidad
Usable
Tipos de Mantenimiento
Correctivo
(remocin de errores)
Adaptativo
(cambios para adecuarlos a
modificaciones de su ambiente)
Perfectivo
(cambios para mejorar la calidad -satisfacer
nuevos requisitos, aumentar la eficiencia,
modificar funcionalidades, etc)
Al usuario le
interesa que el
software sea fcil
de usar, confiable,
robusto...
Al equipo de desarrollo
le interesa que el
software sea
comprensible, portable,
mantenible, verificable ...
Contenido
1.
2.
3.
4.
5.
6.
7.
8.
9.
se relacionan conformando :
un modelo
se desarrollan aplicando :
un mtodo
principios
herramientas
Actividades usuales
Anlisis de
requisitos
Prototipaje
Especificacin
Implementacin
Mtodo 1
Mtodo n
Un ejemplo
CONCEPTOS GENERALES
CICLO DE VIDA: Conjunto de etapas que se han de llevar a cabo
para crear, explotar y mantener un Sistema Informtico.
METODOS: Son las normativas que marcan las directrices que se
han de seguir para llevar a cabo una tarea. Responde a la
pregunta QU.
TECNICAS: Es un modo de representacin para la solucin de un
problema concreto. Responde a la pregunta CMO.
METODOLOGIA: Es un conjunto coherente de mtodos y tcnicas
que cubren ms de una etapa del ciclo de vida.
HERRAMIENTAS: Proporcionan un soporte automtico o semiautomtico para el proceso y para los mtodos.