Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

DISEÑO SOFTWARE TEORIA

Enviado por   •  17 de Enero de 2019  •  Apuntes  •  6.579 Palabras (27 Páginas)  •  460 Visitas

Página 1 de 27

TEMA 1: Introducción

Modelo

• Un modelo es una simplificación de la realidad que permite comprender mejor el sistema

que estamos desarrollando.

Ingeniería del Software (IEEE)

• Es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo,

operación y mantenimiento del software, es decir, la aplicación de la ingeniería al software.

Objetivos del diseño

• Modelo estático: Representa la estructura del programa en base a paquetes y objetos que se

relacionan.

• Modelo dinámico: Representa el comportamiento del programa en base a objetos que se

comunican entre sí.

Programación No Estructurada

• Un solo programa principal que contiene las instrucciones que modifican una serie de datos

globales

Programación Procedimental

• Procedimientos: Conjunto de instrucciones y datos internos identificados por un nombre.

Programación Estructurada

• Estructuras básicas de diseno: Secuencia, selección e iteración y eliminación de saltos

incondicionales

Programación Modular

• Módulos: Agrupan procedimientos con funcionalidades comunes. Incluyen procedimientos

y datos privados al módulo

Tipos Abstractos de Datos

• Instanciación: Se permite la instanciación de tipos propios definidos por el programador

Programación Orientada a Objetos

• Formado por objetos con un comportamiento y estado propios que se comunican

intercambiando mensajes

Similitudes entre Objetos y TADs

• En principio un objeto no es más que un tipo abstracto de datos. Simplemente se cambia la

notación y en vez de hablar de tipos y variables hablamos de clases y objetos.

• Los objetos mantienen características ya existentes en los TADs como abstracción,

encapsulación, modularidad, etc.

• Un objeto pertenece a una clase, mantiene un estado interno privado y ofrece al exterior

procedimientos y funciones (comunmente ́ denominados métodos) que permiten cambiar

dicho estadoHerencia

• Los objetos pueden heredar atributos y comportamiento definidos en otros objetos.

• A la herencia se anaden otras caracter ísticas asociadas como el polimorfismo o la ligadura

dinámica

• La herencia permite definir nuevas clases que hereden las características de sus clases padre

y anadan, a su vez, caracter ísticas especializadas propias.

• También puede usarse para generalizar en una superclase características comunes existentes

en las subclases

Ventajas de la Orientación a Objetos

• Reutilización Los objetos bien disenados pueden utilizarse como base de otros sistemas,

que se constituyen como una combinación de los objetos existentes

• Modularidad Los objetos son autocontenidos y tienen definido de forma clara sus

interfaces con otros objetos

• Comprensión Al estar los datos y procedimientos que conforman los objetos encapsulados

en un mismo compartimento, los objetos pueden ser desarrollados y probados en forma

independiente

• Extensibilidad La herencia permite que sea posible definir y utilizar de forma clara

módulos funcionalmente incompletos y, luego, permiten su extensión sin trastornar la

operación de los módulos cliente

• Escalabilidad Los disenos orientados a objetos, al ser fácilmente extensibles, permiten que

el esfuerzo no aumente exponencialmente con el tamano y la complejidad del proyecto, tal y

como sucede con los sistemas convencionales

• Naturalidad El análisis y el diseno que dividen un dominio en objetos, está más acorde con

la realidad que una descomposición funcional por refinamiento progresivo

Inconvenientes de la Orientación a Objetos

• Curva de aprendizaje Aprender un lenguaje orientado a objetos y dominar sus técnicas

fundamentales es más complejo que aprender un lenguaje imperativo

• Cambio de enfoque Los desarrolladores generalmente aprenden a programar con lenguajes

imperativos a través de una filosofía top-down y deben cambiar a una filosofía bottom-up

• Reutilizaciones ineficientes Los objetos en sí mismos no son reutilizables por ser objetos,

hay que programar pensando en la reutilización y no siempre se invierte el esfuerzo

necesario

• Orientación a objetos forzada “Si la unica herramienta que tienes es un martillo, entonces

tiendes a ver todos los problemas como si fueran clavos”. Forzar la utilización de objetos en

determinados entornos puede producir diseno no adecuados (ej. la clase Math no sigue la

OO)Tema

...

Descargar como  txt (48.4 Kb)   pdf (99.9 Kb)   docx (583.7 Kb)  
Leer 26 páginas más »
Disponible sólo en Essays.club