G. Semana 8 - HazelMartinez/Portafolio- GitHub Wiki
EL profesor da dos ejemplos para representar el concepto de empírico y profesional Representación de una casa como empírico Plano de una casa como profesional
*Metodologías de manejo de proyectos *Desarrollo de metodologías
Tiene una estrecha relación con el paradigma orientado a objetos.
Metodos son las operaciones en data. Nos conectamos por medio de mensajes.
Evitar el acceso directo con el usuario. Ocultar los detalles de la implementación.
Nombre, los para metros y la salida.
Conjunto de firmas.
*Se crea por un proceso de instanciación.
Transmitir atributos de una clase padre a una clase hija. Se extiende una clase padre. Una subclase debe acceder a todos los atributos definidos.
Define una interfaz común para las clases.
Instancias que hacen de la clase abstracta. Se crean instancias de la clase hija.
Capacidad de tomar un método de la clase padre y modificarlo a la clase hija.
Permite intercambiar objetos con la misma interfaz en tiempo de ejecución. ejemplo: podemos agregar a la clase animales el perro y el gato.
Grado de dependencia entre dos clases de un sistema. Ambas clases están estrechamente acopladas.
Es que estan poco relacionadas.
Clases no dependan entre ellas.
En lo interno de cada clase si hay una estrecha relación entre los elementos.
Modelado unificado de lenguaje
SDLC Ciclo de vida de desarrollo de software.
*Necesario modelar software para poder modelar la estructura. *Controlar la arquitectura del sistema. *Construir modelos para gestionar el riesgo. *Es mejor para entender el sistema que se están construyendo. *Gestionar los riesgos.
Modelamos porque es una técnica de ingeniería
Un modelo es una simplificación de la realidad (abstracción).
*Funcional *Objeto *Dinámico Cada modelo compuesto de un set de diagramas.
*Captura el comportamiento del sistema, subsistema, comparte clases. *Veo el intercambio de mensajes. *Veo las diferentes funcionalidades.
Conocido como vista estática = No contiene información del comportamiento dinámico. Permite capturar las estructuras de los objetos. Tengo también objetos relacionados con la solución estructura de datos. class name atributos operación(nombre descriptivo) Diagramas tienen que tener multiplicidad muchas reservaciones.
Reflexivo Muchos empleados están relacionados a un empleado.
Agregación Composicion debil. Composición Composicion fuerte.
Estructura que puedo reutilizar, hay que re-adecuarlo. Regularidad discernible en el mundo. Los diseñadores utilizan lo que ya existe. Reutilizan soluciones.
Cada problema es único pero el patrón da una forma de resolver el problema.
*Solución general reutulizable para un problema común en un contexto especifico.
*Contiene la descripción de las comunicaciones que permiten dar solución a un problema.
Es una buena práctica una solución algo conocido a nivel mundial.
Cada patrón tiene un nombre, un problema, solución y consecuencias.
Nombre: Es corto que describe el patrón en una o dos palabras. Consecuencias: Cualquier patrón tiene costos y beneficios.
Se clasifican en propósito y alcance.
Builder: Separa la construcción y dividirlo en representaciones. Construyo partes de un producto por separado.
Debe permitir diferentes representaciones del construido. Consecuencias: Permite variar la representación interna del producto.
Como las clases y los objetos se componen para proveer nuevas funcionalidades.
Sistema complejo solucionado *Vista simple *Mucha dependencia *Desacoplar el sistema de los clientes Desacoplamos a los clientes del sistema
Permite lograr que dos objetos trabajen en conjunto. Aplica cuando se tienen clases que no trabajan juntos.
Define una dependencia de uno a muchos Aplica cuando una abstracción tiene 2 elementos. El uno no sabe cuantos los apuntan. Muchos dependen de 1. Los otros no saben cuantos hay. Usos: Permite comunicación masiva.
Existen varios destinarios. Cualquiera puede atender una solicitud Puede ser que no se entienda. Ej: Call Center, una llamada exclusiva de ventas.
Consecuencias *Reduce el acoplamiento, porque otros objetos contestan la situación. *Distribuye responsabilidades. *Existe una posibilidad de que no sea atendida.
¿Que queremos resolver? ¿Hay acoplamiento o no? ¿Que cosas pueden cambiar? Para no tener que cambiar el diseño una vez elaborado el proyecto.
Calidad en el proceso. Calidad en el producto.
QA, QC, Testing
Aseguramiento de la calidad Asegurar que el proceso de desarrollo o de mantenimiento es adecuado y con objetivo de garantizar que se cumplan los objetivos del producto. Aplicar calidad (Auditoria)
Control de calidad Evaluar el producto que se está desarrollando,
Actividades para el control de calidad. Evaluar si el producto se esta elaborando en el proceso. Ejecuto pruebas para encontrar defectos.
El problema de no hacer pruebas es que mi producto se ve afectado. QA y QC son esenciales para encontrar calidad en el software.