Title: Object Oriented Software Engineering
1- Object Oriented Software Engineering
- Ivar Jacobson
- UML
2Ingeniería de Software
- Es una disciplina o área de la informática o
ciencias de la computación, que ofrece métodos y
técnicas para desarrollar y mantener software de
calidad.
3Calidad Cualidades externas
- Corrección, habilidad del software de realizar
sus tareas como fueran definidas en la
especificación de requerimientos - Fortaleza, confiabilidad, habilidad del software
de funcionar a pesar de estar condiciones
anormales - Extensión, facilidad con la que se adapta a los
cambios de especificación (se agrava en
programing in de large). Dos principios son
esenciales para mejorar este aspecto simplicidad
en el diseño y descentralización (módulos
autónomos). - Reusabilidad es la habilidad de los productos
de software de ser reusados, en general o en
partes, en nuevas aplicaciones - Compatibilidad es la facilidad de los productos
de software para ser combinados con otros.
4Calidad Cualidades externas
- Eficiencia es el buen uso de los recursos de
hardware - Portabilidad posibilidad de usarlo en diferentes
ambientes de software o hardware. - Verificalidad facilidad del software para
preparar test de datos, procesos para detectar
fallas - Integridad la habilidad de los sistemas de
proteger sus componentes de accesos y
modificaciones no autorizadas. - Facilidad de uso facilidad de aprender a usar un
sistema, preparar los datos de entrada,
interpretar sus resultados, recovering
5Calidad Cualidades internas
Tipo Abstracto de Dato
Clases Herencia Polimorfismo
Orientación a Objetos
6Cuál es el problema más grande?
- El mantenimiento
- Solución Realizar decisiones de que faciliten
la reusabilidad.
7Qué se entiende por Reusabilidad?
- Desarrollar sistemas de componentes de un tamaño
razonable y usarlas. Luego extender la idea de
sistemas de componentes a los Requerimientos,
Análisis, Diseño, Testing. Todos productos del
proceso de desarrollo, son factibles de ser
usados.
8Cualés son los obstáculos ?
- Ingeniería
- Proceso
- Organización
- Negocio
9Reuso requiere un cambio en procesos
- El reuso sistemático de software tiene como
objetivo la creación, Administración, soporte y
el reuso de activos.
10Ingeniería de Dominio
- Se aplica a una Familia de sistemas.
- El proceso de ingeniería de dominio
- identifica los aspectos comunes y diferenciados
del dominio - define la arquitectura para las aplicaciones y
componentes - desarrolla un conjunto apropiado de componentes
11Proceso Industrial
Se ha utilizado con frecuencia el proceso
industrial, en especial el de la construcción
para entender algunas de las características
esenciales del proceso eficiente de desarrollo de
software a gran escala.
12Arquitectura
- Entendemos los conceptos y técnicas seleccionadas
que definen las características estructurales del
diseño
13Método, Proceso y Herramientas
- El método define explícitamente paso a paso los
procedimientos que deben seguirse para aplicar la
arquitectura a los proyectos. - El proceso hace posible aplicar el método a gran
escala. - Las herramientas soporta las actividades de la
arquitectura, método y proceso.
14Analogías directas con la industria del software
- El Proceso debe producir un resultado
previsible, independiente de la persona que
realiza el trabajo. - El volumen de salida no debe modificar el proceso
- Debe ser posible asignar partes del proceso a
diversos subcontratistas - Debe ser posible hacer uso de bloques
constructores ya existentes o componentes - Debe ser posible planear y calcular el proceso
con gran precisión - Cada persona entrenada para una operación debe
realizarla en la misma forma
15Services packages
- DEBEN SER DISEÑADOS DE TAL FORMA QUE PUEDAN SER
UTILIZADOS EN OTROS PRODUCTOS - LAS APLICACIONES VAN A SER EL RESULTADO DE LA
ADECUADA COMBINACIÓN DE PAQUETES - COMPONENTES GENERALES Y RELATIVAS A LAS
PALICACIONES - COMPONENTES PUEDEN EXISTIR EN STOCK, Y PUEDE SER
NECESARIO CREAR NUEVAS COMPONENTES
16Productos
17 reusabilidad
Debe ser una consecuencia del diseño Bloques
Reusables -Partes Reusables-Construcción
Elemontos Prefabricados- Ventanas/Puertas BLOQUE
S CONSTRUCTORES COMPONENTES
18desarrollo del sistema
Testing
19Se Define la Arquitectura en la Fase de Análisis
- Un enfoque racional de desarrollo de sistemas,
provisto por OOSE se puede resumir en - El Análisis tiene que ser independiente del
ambiente de implementación. Los cambios en el
ambiente de implementación no van a afectar el
resultado del análisis. - El modelo de análisis debe ser orientado a la
aplicación, se lo realiza en un ambiente ideal. - El modelo de Análisis debe describir los
elementos de la aplicación en conceptos relativos
a la aplicación. La estructura de la
implementación refleja la estructura del problema - El modelo de análisis no tiene que tener una
alto nivel de formalización, dado que debe ser
adaptado al ambiente de implementación
20- A COMPONENTS INDUSTRY
- COULD BE INMENSELY
- SUCCESSFUL