SlideShare una empresa de Scribd logo
1 de 12
Arquitectura del Software & Patrón de Diseño Singleton Andrés Felipe Ramírez Ospina
Arquitectura del Software Según la IEEE Std 1471-2000 que reza así: “La Arquitectura del Software es la organización fundamental de un sistema formada por sus componentes, las relaciones entre ellos y el contexto en el que se implantarán, y los principios que orientan su diseño y evolución”. En un sentido amplio podríamos estar de acuerdo en que la Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema, programa o aplicación y tiene la responsabilidad de:
El objetivo principal de la Arquitectura del Software es aportar elementos que ayuden a la toma de decisiones y, al mismo tiempo, proporcionar conceptos y un lenguaje común que permitan la comunicación entre los equipos que participen en un proyecto. No hay estándares en cuanto a la forma y lenguaje a utilizar en estos blueprints.
Definir los módulos principales Definir las responsabilidades que tendrá cada uno de estos módulos Definir la interacción que existirá entre dichos módulos: Control y flujo de datos Secuenciación de la información Protocolos de interacción y comunicación Ubicación en el hardware
Quizá uno de los modelos más conocidos es el “4+1” de Philippe Kruchten, vinculado al Rational Unified Process (RUP), que define cuatro vistas diferentes:  Vista lógica: describe el modelo de objetos. Vista de proceso: muestra la concurrencia y sincronía de los procesos. Vista física: muestra la ubicación del software en el hardware. Vista de desarrollo: describe la organización del entorno de desarrollo. Existe una quinta vista que consiste en una selección de casos de uso o de escenarios que los arquitectos pueden elaborar a partir de las cuatro vistas anteriores.
Ejemplos de Arquitectura del Software: J2EE y MVC 
vista de proceso que muestra las relaciones entre las capas model, view y controller de la arquitectura MVC bajo J2EE.
Patrón de Diseño Singleton El patrón de diseño Singleton está pensado para restringir la creación de objetos de una clase determinada garantizando que sólo exista una instancia de dicha clase y proporcionar un punto de acceso global a ella.
Los Singletons normalmente se usan para proporcionar un punto de acceso global para un servicio.  Los Singletons permiten limitar la creación de los objetos. Los Singletons promueven el acoplamiento fuerte entre clases. Los Singletons mantienen el estado hasta la finalización del programa.
EJEMPLO:Estructura de un diseño singleton publicclass Singleton {// Private constructor preventsinstantiationfromotherclassesprivate Singleton() {}/*** SingletonHolderisloadedonthefirstexecution of * Singleton.getInstance() orthefirstaccessto* SingletonHolder.INSTANCE, notbefore.*/privatestaticclassSingletonHolder { privatestatic final Singleton INSTANCE = new Singleton();}publicstatic Singleton getInstance() {returnSingletonHolder.INSTANCE;}}
BIBLIOGRAFIA http://tratandodeentenderlo.blogspot.com/2010/01/patrones-de-diseno-singleton.html http://www.desarrolloweb.com/articulos/1622.php
GRACIAS

Más contenido relacionado

La actualidad más candente

Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Finalmariaalan
 
Ingenieria de la informatica
Ingenieria de la informaticaIngenieria de la informatica
Ingenieria de la informaticaAriel Medina
 
elementos orientada objetos
elementos orientada objetoselementos orientada objetos
elementos orientada objetoswilson quillay
 
Leo métodos de modelado para aplicaciones web-4
Leo métodos de modelado para aplicaciones web-4Leo métodos de modelado para aplicaciones web-4
Leo métodos de modelado para aplicaciones web-4Leo Jm
 
Metodologías de programación orientado a eventos y distribuida
Metodologías de programación orientado a eventos y distribuidaMetodologías de programación orientado a eventos y distribuida
Metodologías de programación orientado a eventos y distribuidaSergio Olivares
 

La actualidad más candente (7)

Trabajo Final
Trabajo FinalTrabajo Final
Trabajo Final
 
MVC vs MVP
MVC vs MVPMVC vs MVP
MVC vs MVP
 
Ingenieria de la informatica
Ingenieria de la informaticaIngenieria de la informatica
Ingenieria de la informatica
 
elementos orientada objetos
elementos orientada objetoselementos orientada objetos
elementos orientada objetos
 
Leo métodos de modelado para aplicaciones web-4
Leo métodos de modelado para aplicaciones web-4Leo métodos de modelado para aplicaciones web-4
Leo métodos de modelado para aplicaciones web-4
 
Nixon torrealbav
Nixon torrealbavNixon torrealbav
Nixon torrealbav
 
Metodologías de programación orientado a eventos y distribuida
Metodologías de programación orientado a eventos y distribuidaMetodologías de programación orientado a eventos y distribuida
Metodologías de programación orientado a eventos y distribuida
 

Destacado

Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Softwarefeliramirez5
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)UVM
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño SingletonCarolina Rojas
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareEnder Christense
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern11prasoon
 

Destacado (6)

Ingenieria de Software
Ingenieria de SoftwareIngenieria de Software
Ingenieria de Software
 
2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)2 3 5 Patron De DiseñO Singular (Singleton)
2 3 5 Patron De DiseñO Singular (Singleton)
 
Patrones de diseño Singleton
Patrones de diseño SingletonPatrones de diseño Singleton
Patrones de diseño Singleton
 
Singleton
SingletonSingleton
Singleton
 
Fundamentos de la arquitectura del software
Fundamentos de la arquitectura del softwareFundamentos de la arquitectura del software
Fundamentos de la arquitectura del software
 
Singleton design pattern
Singleton design patternSingleton design pattern
Singleton design pattern
 

Similar a Ingenieria del software

Diseno Software
Diseno SoftwareDiseno Software
Diseno Softwarealfmuny
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareMagemyl Egana
 
Fundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a ObjetosFundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a Objetosforwer1223
 
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwarePteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwaresara272016
 
Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un softwaressalzar
 
Diseño de componentes.
Diseño de componentes.Diseño de componentes.
Diseño de componentes.Annel D'Jesús
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminosJose Risso
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docxKeiberOrtiz1
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareDannys Hidalgo
 
Fundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de SoftwareFundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de SoftwareRicardoAlvarez235
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.pptrafael405074
 
Fundamentos del sofware
Fundamentos del sofwareFundamentos del sofware
Fundamentos del sofwareKatyPerez17
 

Similar a Ingenieria del software (20)

Presentacion Arquitectura
Presentacion ArquitecturaPresentacion Arquitectura
Presentacion Arquitectura
 
Diseno Software
Diseno SoftwareDiseno Software
Diseno Software
 
Tema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de softwareTema 4: Diseño arquitectónico de software
Tema 4: Diseño arquitectónico de software
 
Fundamentos
FundamentosFundamentos
Fundamentos
 
Fundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a ObjetosFundamentos de Diseño Orientado a Objetos
Fundamentos de Diseño Orientado a Objetos
 
Diseno de Software y DOO
Diseno de Software y DOODiseno de Software y DOO
Diseno de Software y DOO
 
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del softwarePteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
Pteg g-grupox-lista8-9-13-20- 49-visita3-expo cap 7 tema ingenieria del software
 
Fundamentos para el diseño de un software
Fundamentos para el diseño de un softwareFundamentos para el diseño de un software
Fundamentos para el diseño de un software
 
MVC.ppt
MVC.pptMVC.ppt
MVC.ppt
 
Diseño de componentes.
Diseño de componentes.Diseño de componentes.
Diseño de componentes.
 
Conceptos basicos arquitectura de software
Conceptos basicos arquitectura de softwareConceptos basicos arquitectura de software
Conceptos basicos arquitectura de software
 
Glosario de terminos
Glosario de terminosGlosario de terminos
Glosario de terminos
 
Arquitectura de software.docx
Arquitectura de software.docxArquitectura de software.docx
Arquitectura de software.docx
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Fundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de SoftwareFundamentos Basicos para El Diseño de Software
Fundamentos Basicos para El Diseño de Software
 
Framework
FrameworkFramework
Framework
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.ppt
 
Framework
FrameworkFramework
Framework
 
Fundamentos del sofware
Fundamentos del sofwareFundamentos del sofware
Fundamentos del sofware
 

Ingenieria del software

  • 1. Arquitectura del Software & Patrón de Diseño Singleton Andrés Felipe Ramírez Ospina
  • 2. Arquitectura del Software Según la IEEE Std 1471-2000 que reza así: “La Arquitectura del Software es la organización fundamental de un sistema formada por sus componentes, las relaciones entre ellos y el contexto en el que se implantarán, y los principios que orientan su diseño y evolución”. En un sentido amplio podríamos estar de acuerdo en que la Arquitectura del Software es el diseño de más alto nivel de la estructura de un sistema, programa o aplicación y tiene la responsabilidad de:
  • 3. El objetivo principal de la Arquitectura del Software es aportar elementos que ayuden a la toma de decisiones y, al mismo tiempo, proporcionar conceptos y un lenguaje común que permitan la comunicación entre los equipos que participen en un proyecto. No hay estándares en cuanto a la forma y lenguaje a utilizar en estos blueprints.
  • 4. Definir los módulos principales Definir las responsabilidades que tendrá cada uno de estos módulos Definir la interacción que existirá entre dichos módulos: Control y flujo de datos Secuenciación de la información Protocolos de interacción y comunicación Ubicación en el hardware
  • 5. Quizá uno de los modelos más conocidos es el “4+1” de Philippe Kruchten, vinculado al Rational Unified Process (RUP), que define cuatro vistas diferentes: Vista lógica: describe el modelo de objetos. Vista de proceso: muestra la concurrencia y sincronía de los procesos. Vista física: muestra la ubicación del software en el hardware. Vista de desarrollo: describe la organización del entorno de desarrollo. Existe una quinta vista que consiste en una selección de casos de uso o de escenarios que los arquitectos pueden elaborar a partir de las cuatro vistas anteriores.
  • 6. Ejemplos de Arquitectura del Software: J2EE y MVC 
  • 7. vista de proceso que muestra las relaciones entre las capas model, view y controller de la arquitectura MVC bajo J2EE.
  • 8. Patrón de Diseño Singleton El patrón de diseño Singleton está pensado para restringir la creación de objetos de una clase determinada garantizando que sólo exista una instancia de dicha clase y proporcionar un punto de acceso global a ella.
  • 9. Los Singletons normalmente se usan para proporcionar un punto de acceso global para un servicio.  Los Singletons permiten limitar la creación de los objetos. Los Singletons promueven el acoplamiento fuerte entre clases. Los Singletons mantienen el estado hasta la finalización del programa.
  • 10. EJEMPLO:Estructura de un diseño singleton publicclass Singleton {// Private constructor preventsinstantiationfromotherclassesprivate Singleton() {}/*** SingletonHolderisloadedonthefirstexecution of * Singleton.getInstance() orthefirstaccessto* SingletonHolder.INSTANCE, notbefore.*/privatestaticclassSingletonHolder { privatestatic final Singleton INSTANCE = new Singleton();}publicstatic Singleton getInstance() {returnSingletonHolder.INSTANCE;}}