Diagrama de temas
General
Curso Análisis y Diseño Orientado a Objetos - UML
Tema 1
Introducción a UML y el Proceso Unificado
En este capítulo se busca que el alumno conozca el lenguaje UML, sus características el proceso unificado como metodología para el desarrollo de software basado en UML.
Actualmente el software grande y complejo demanda de interfaces más completas, funcionalidades más elaboradas lo que genera un impacto en complejidad del producto.
La solución para resolver este problema es la estructuración, el modelado. Modelar es diseñar y estructurar, antes de programar. Sirve para visualizar un diseño y especificar su estructura y comportamiento. Se abstraen los detalles del problema complejo simplificando su desarrollo.
Lenguaje Unificado de Modelado (LUM) o (UML, por sus siglas en inglés, Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad; está respaldado por el OMG (Object Management Group). Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables. (Ref. Wikipedia)
Como se mencionó UML es un lenguaje para modelar. Su vocabulario y sintaxis están ideados para la representación conceptual y física de un sistema.
Sus modelos son precisos, no ambiguos y se pueden trasladar a una gran variedad de lenguajes de programación, como Java, C++, visual basic, pero también a tablas de bases de datos relacionales y orientadas a objetos.
UML es simplemente un lenguaje. Define un conjunto de elementos y las relaciones entre ellos y esto se emplea para definir modelos.
UML se usa típicamente como parte de un proceso de desarrollo, con ayuda de una herramienta CASE.
UML es independiente de cualquier proceso particular, no Está ligado a ningún ciclo de vida de desarrollo de software concreto.
UML proporciona mayores beneficios si se selecciona un proceso dirigido por Casos de Uso, centrado en la arquitectura y sea incremental.
Dirigido por Casos de Uso: Los Casos de Uso son básicos Para establecer el comportamiento deseado del sistema, para verificarlo, para validar su arquitectura y para comunicarse Con todas las personas involucradas en el proyecto.
Centrado en la arquitectura: La arquitectura de un sistema es el conjunto de decisiones significativas que se toma en torno a su organización, la selección de elementos estructurales, la definición de las interfaces entre estos elementos, su comportamiento, su división en subsistemas, qué elementos son estáticos y cuales dinámicos. La arquitectura también incluye el uso que se le va a dar al sistema, la funcionalidad, el rendimiento, la capacidad de adaptación, la reutilización, la capacidad de ser comprendido, las restricciones económicas, las temporales, los compromisos entre alternativas y los aspectos estéticos.
Proceso incremental: aquél que consiste en sucesivas ampliaciones y mejoras de la arquitectura, a partir de una línea básica. Cada incremento resuelve los problemas encontrados en la versión anterior minimizando progresivamente los riesgos más significativos para el éxito del proyecto.
Tema 2
ESPECIFICACION DE REQUISITOS, ANALISIS, DISEÑO E IMPLEMENTACION ORIENTADO A OBJETOS BAJO EL PROCESO UNIFICADO
- Tema actual
Tema 3
UML y el proceso de modelado
Tema 4
Software para modelar en UML (Herramientas CASE)Argo UML (software libre): http://argouml.tigris.org/
Umbrello UML Modeller (Software Libre): http://uml.sourceforge.net/
Son todas herramientas CASE de diagramas UML que ayudan en el proceso del desarrollo de software .Otras:
- SmartDraw (LIBRE)
Tema 5
Ejercicios y Certamenes de UMLTema 6
La programación Orientada a Objetos (Java, C++, PHP y C#)El lenguaje C#
Siguiendo la idea de la programación orientada a objetos, y tomando como base la plataforma .NET y el lenguaje C#, a continuación se muestran algunas potencias de este lenguaje en implementar objetos con ciertas particularidades adicionales a lo que otros lenguajes ofrecen. (manual de Rodrigo Sandoval de la PUC)
Tema 7
NetBeans
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir de un conjunto de componentes de software llamados módulos. Un módulo es un archivo Java que contiene clases de java escritas para interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las aplicaciones construidas a partir de módulos pueden ser extendidas agregándole nuevos módulos. Debido a que los módulos pueden ser desarrollados independientemente, las aplicaciones basadas en la plataforma NetBeans pueden ser extendidas fácilmente por otros desarrolladores de software.
NetBeans es un proyecto de código abierto de gran éxito con una gran base de usuarios, una comunidad en constante crecimiento, y con cerca de 100 socios en todo el mundo. Sun MicroSystems fundó el proyecto de código abierto NetBeans en junio de 2000 y continúa siendo el patrocinador principal de los proyectos.
Sitio oficial de NetBeans
Plataforma NetBean
Demostraciones en Flash de NetBean
Tutoriales de programación con NetBeans
VIDEOS TUTORIALES
Video Tutorial 1 de NetBeans/>
Video Tutorial 2 de NetBeans
Tema 8
Software ECLIPSE
Eclipse es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar lo que el proyecto llama "Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en navegadores. Esta plataforma, típicamente ha sido usada para desarrollar entornos de desarrollo integrados (del inglés IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el compilador (ECJ) que se entrega como parte de Eclipse (y que son usados también para desarrollar el mismo Eclipse). Sin embargo, también se puede usar para otros tipos de aplicaciones cliente, como BitTorrent Azureus.
Eclipse es también una comunidad de usuarios, extendiendo constantemente las áreas de aplicación cubiertas. Un ejemplo es el recientemente creado Eclipse Modeling Project, cubriendo casi todas las áreas de Model Driven Engineering.
Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas para VisualAge. Eclipse es ahora desarrollado por la Fundación Eclipse, una organización independiente sin ánimo de lucro que fomenta una comunidad de código abierto y un conjunto de productos complementarios, capacidades y servicios.
- Aplicaciones de ECLIPSE
- Eclipse IDE for Java Developers, 99 MB
- Eclipse Classic 3.6.1, 170 MB
- Eclipse IDE for Java EE Developers, 206 MB
- Eclipse IDE for C/C++ Developers, 88 MB
- Eclipse for PHP Developers, 141 MB
- Eclipse IDE for JavaScript Web Developers, 108 MB
- Eclipse Modeling Tools (includes Incubating components), 249 MB
- Pulsar for Mobile Developers, 122 MB
Tema 9
Referencias y materiales externos
- Grupo Oficial del lenguaje Modelado (en inglés)
- Especificación oficial (en inglés)
- Introducción a UML 2.0, partes uno y dos
- Listados de herramientas (en inglés)
- Listado de herramientas CASE de modelado UML
- Listados de herramientas
- Deficiencias de UML (en Inglés)
- Problemas de consistencia en software basado en UML (en inglés)
- UMLZone (en inglés)
- Martin Fowler, Kendall Sccott, "UML Gota a Gota", 1999.
- Utilización de UML en Ingeniería del Software con Objetos y Componentes. Perdita Stevens, Rob Pooley. Addison Wesley. 2002.
- UML 2 Perdita Stevens Pearson Education ISBN-10: 8478290869
- UML Fermando Asteasuain ISBN-10: 9871347952
- monografias.com artículo interesante con algo de la historia y génesis de las herramientas CASE
- Universidad Jaume I Definición de glosario, uso en el contexto de bases de datos.
- monografias.com artículo interesante con algo de la historia y génesis de las herramientas CASE
- Universidad Jaume I Definición de glosario, uso en el contexto de bases de datos.
- la herencia se realiza por medio de la programación basada en prototipos.
Tema 10