Tecnico
Tema 1
TACC II Curso 2008/09 1
Indice
Ciclo d Vid Ci l de Vida y Calidad del C lid d d l Software.
Paradigmas de Programación. Programación Orientada a Objetos. Conceptos de Programación Orientada a Objetos.
Clases y Objetos Encapsulamiento. Herencia. Herencia Polimorfismo. Frameworks y Notaciones.
2
Ciclo de Vida del SoftwareConjunto de fases por las que pasa el sistema que se está desarrollando desde que nace la idea inicial hasta que el software es retirado o reemplazado:
Análisis. Diseño. Codificación. Pruebas. Mantenimiento.
Construir Software no es sólo programar.
3
Ciclo de Vida del Software
Distribución del Esfuerzo
Distribución del esfuerzo durante el ciclo de vida
Im pl em en ta ci ón
di seño
Pr ue ba s
An ál is is
C or re gi r
4
Ad ap ta r
M ej or ar
Análisis ≈ 6% 6%. Diseño ≈ 5%. Codificación ≈ 7% 7%. Pruebas ≈ 15%. Mantenimiento ≈ 67% 67%.
45 40 35 30 25 20 15 10 5 0
Esfuerzo Relativo( o
40
11
15 7
13
14
y
Calidad del Software
Factores de Calidad
Eficiencia Efi i i Portabilidad Facilidad de prueba Integridad (protección contraprocesos sin derecho de acceso) Facilidad de uso Corrección Fiabilidad (situaciones anómalas) Extensibilidad Reutilización Compatibilidad ...
5
Indice
Ciclo d Vida C lid d del Software. Ci l de Vid y Calidad d l S ft
Paradigmas de Programación.
Programación Orientada a Objetos. Conceptos de Programación Orientada a Objetos.
Clases y Objetos Encapsulamiento. Herencia. Herencia Polimorfismo.Frameworks y Notaciones Notaciones.
6
Paradigmas de Programación g g
Abstracción
Capacidad para encapsular y aislar la j información del diseño y ejecución. Mecanismos en programación:
Procedimientos y f P di i t funciones i Tipos abstractos de datos (TAD) Clases: son TAD a los que se añaden mecanismos como herencia, métodos, etc.
7
Paradigmas de Programación
Estructurada.Estructurada
Fortran. Basic. Pascal. Pascal C. …
Funcional. Funcional
Lisp. …
Desde p c p os de los 70. esde principios os 0 Dificultad para el trabajo en grupo. No hay correspondencia estrecha entre datos d t reales y programas. l
Lógica. Lógica
Prolog. …
POO. POO
Smalltalk. C++. Java. Java …
8
Indice
Ciclo d Vida C lid d del Software. Ci l de Vid y Calidad d l S ft Paradigmasde Programación.
Programación Orientada a Objetos.
Conceptos de Programación Orientada a Objetos.
Clases y Objetos Encapsulamiento. Herencia. e e ca Polimorfismo. Frameworks y Notaciones.
9
Programación Orientada a Objetos
Ventajas de uso:
Reusabilidad (mecanismos de abstracción y ( herencia) En programación convencional: uso de funciones y procedimientos Adecuación a entornos de basesde datos datos. Idónea para tratamiento de Interfaces de Usuario. Adecuada en prototipos y simulación. Ad d t ti i l ió
10
Programación Orientada a Objetos g j
Características Generales
Construcción de sistemas complejos a p partir de componentes. p Modelado á fiel del M d l d más fi l d l mundo real. d l Estimación de reducción de 40% con respecto a la programación con encionalconvencional.
11
Programación Orientada a Objetos g j
Características
El modelo objeto (Booch, 1994):
Abstracción Las características esenciales del objeto: • Documento: insertar, borrar, ... insertar borrar • Una grapadora: rellenar, grapar, ... Encapsulamiento ( E l i t (ocultación d i f lt ió de información) ió ) • Una clase contiene: una interfaz pública. una implementación.
12Ejemplo
Persona Interfaz pública z
+mostrar() +setNombre(string) +getNombre(): string +setEdad(int) +getEdad(): int
Información privad da
Persona
- nombre - edad - id - setID() +mostrar() +setNombre(string) tN b ( t i ) +getNombre(): string +setEdad(int) +getEdad(): int getEdad():
Clases, Tipos Objetos, “instancias”
especificación ejecución p2 : Persona
- nombre=“María” - edad=25 -...
Regístrate para leer el documento completo.