Estrategias conscientes para el desarrollo de software de calidad. Piense como un arquitecto experto y cree software de calidad utilizando patrones y principios de diseño.
Suggested by: Coursera (What is Coursera?)
No prior knowledge required
No unnecessary risks
En la serie de cursos de especialización en Diseño y arquitectura de software, aprenderá cómo aplicar principios, patrones y arquitectura de diseño para crear aplicaciones y sistemas de software que sean reutilizables y flexibles. Aprenderá a expresar y documentar el diseño y la arquitectura de un sistema de software utilizando notación visual.
Los ejemplos prácticos y las oportunidades para aplicar sus conocimientos lo ayudarán a desarrollar habilidades de búsqueda de empleo y capacitación relevante en la industria del software.
El proyecto final incluye una aplicación de Android basada en Java, que editarás y desarrollarás durante los cuatro cursos de la especialización. La aplicación evolucionará desde una aplicación para un solo usuario que guarda datos localmente, a una aplicación Multiusuario que guarda datos de forma remota. En cada curso recibirás una base de código en Java como punto de partida y tendrás que documentar e implementar nuevos contenidos utilizando los conocimientos adquiridos en el curso.
Encontrará tutoriales que le ayudarán a comprender la base del código inicial y aprender los conceptos básicos del desarrollo de Android.
Este curso lleva a los principiantes de Java al siguiente nivel al cubrir el análisis y el diseño orientado a objetos. Descubrirá cómo crear software modular, flexible y reutilizable aplicando principios y pautas de diseño orientado a objetos. También puede comunicar estos diseños utilizando una notación visual llamada Lenguaje de modelado unificado (UML).
En el proyecto final, tendrá el desafío de aplicar sus conocimientos de diseño orientado a objetos desarrollando y confiando en el código base Java para una aplicación de Android con documentos UML apropiados.
Este curso amplía el análisis y el diseño orientado a objetos incorporando patrones de diseño para crear aplicaciones interactivas. A través de una revisión de los patrones de diseño establecidos, obtendrá conocimientos básicos para aplicaciones de software más complejas. Finalmente, identificará diseños de software problemáticos consultando la Guía Code Smells.
En el proyecto final, se le desafiará a rediseñar una aplicación de Android basada en Java existente para implementar una combinación de patrones de diseño. También inspeccione una base de código Javascript determinada para detectar olores de código.
La forma en que se organizan los componentes del software (subprocedimientos, clases, funciones, etc.) y las interacciones entre ellos se denomina arquitectura. En este curso aprenderás cómo se representan estas arquitecturas, tanto en UML como en otras herramientas visuales. Presentaremos las arquitecturas más comunes, sus características y dilemas. Hablaremos sobre cómo se evalúa la arquitectura, qué constituye una buena arquitectura y cómo se puede mejorar la arquitectura. También hablaremos de cómo la arquitectura afecta el proceso de desarrollo de software.
En el proyecto final, documentarás una aplicación de Android basada en Java con diagramas UML y evaluarás la arquitectura de la aplicación utilizando el Método de análisis de dilemas de arquitectura (ATAM).
Con base en una comprensión de los estilos arquitectónicos, revisará las arquitecturas para aplicaciones web y luego explorará los conceptos básicos de la arquitectura orientada a servicios (SOA) en dos enfoques: servicios web (WS*) y arquitectura de transferencia de estado representacional (REST). En el proyecto final te conectarás a una aplicación de Android basada en Java con Elasticsearch, un servicio web con una interfaz de programación de aplicaciones (API) REST.



