jueves, 26 de abril de 2018

¿QUÉ IMPORTANCIA TIENE EL ANÁLISIS Y DISEÑO DE SISTEMAS PARA EL ÉXITO DE LOS PROYECTOS DE SOFTWARE?

El diseño de sistemas tiene gran importancia desde el espacio cotidiano hasta el laboral y profesional, queriendo con esto demostrar que hoy en día es aptamente aplicado desde lugares como café Internet, rentas de películas, pasando por la mediana empresa con desarrollo de software contable y terminando en las grandes empresas ó monstruos empresariales como IBM (international business machines, big blue), Departamentos de Estado, etc.
Sin duda el diseño de sistemas constituye un papel importante en el desarrollo de software empresarial. Por otro lado el diseño de sistemas adopta campos como el de la ciencia (investigaciones de comportamientos físicos, meteorológicos, sismológicos etc.) la filosofía (medios abstractos de estructuración, desarrollo y proyección) cuyos contenidos permitan configurar y establecer aquellos elementos que serán utilizados para ofrecer satisfactores necesidades específicas del cliente
Es por tanto que dentro de los objetivos del diseño de sistemas es obligatorio encontrar recursos suficientes para el desarrollo de software en cuyos contenidos explícitos se encuentren los parámetros, establecimientos dirigidos ó encaminados hacia el desarrollo ideal de un producto.


DejSoft.importancia del diseño de sistemas: recuperado el 25 de abril del 2018 de 
http://puertoparalelo-rawde.blogspot.mx/2009/05/diseno-de-sistemas-2.html

APORTACIONES DE GRADY BOOCH, JAMES RUMBAUGH E IVAR JACOBSON ALA INGENIERIA EN SOFTWARE



Los 3 amigos (Grady Booch, James Rambaugh e  Ivar Jacobson).



El lenguaje UML comenzó a gestarse en octubre de 1994, cuando Rumbaugh se unió a la compañía Rational fundada por Booch (dos reputados investigadores en el área de metodología del software).

El objetivo de ambos era unificar dos métodos que habían desarrollado: el método Booch y el OMT (Object Modelling Tool ). El primer borrador apareció en octubre de 1995. En esa misma época otro reputado investigador, Jacobson, se unió a Rational y se incluyeron ideas suyas. Estas tres personas son conocidas como los “tres amigos”. Además, este lenguaje se abrió a la colaboración de otras empresas para que aportaran sus ideas. Todas estas colaboraciones condujeron a la definición de la primera versión de UML.

Es un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software. Se usa para entender, diseñar, configurar, mantener y controlar la información sobre los sistemas a construir.
UML capta la información sobre la estructura estática y el comportamiento dinámico de un sistema. Un sistema se modela como una colección de objetos discretos que interactúan para realizar un trabajo que finalmente beneficia a un usuario externo.
El lenguaje de modelado pretende unificar la experiencia pasada sobre técnicas de modelado e incorporar las mejores prácticas actuales en un acercamiento estándar.
UML no es un lenguaje de programación. Las herramientas pueden ofrecer generadores de código de UML para una gran variedad de lenguaje de programación, así como construir modelos por ingeniería inversa a partir de programas existentes.
S.A (2016). Historia de UML. Recuperado el: 25 de abril de 2018. En línea: http://alvearjofre.galeon.com/

UML (Unified Modeling Language)

¿Qué es UML (Unified Modeling Language)? 



UML son las siglas de “Unified Modeling Language” o “Lenguaje Unificado de Modelado”. Se trata de un estándar que se ha adoptado a nivel internacional por numerosos organismos y empresas para crear esquemas, diagramas y documentación relativa a los desarrollos de software (programas informáticos).
El término “lenguaje” ha generado bastante confusión respecto a lo que es UML. En realidad el término lenguaje quizás no es el más apropiado, sino una serie de normas y estándares gráficos respecto a cómo se deben representar los esquemas relativos al software. Mucha gente piensa por confusión que UML es un lenguaje de programación y esta idea es errónea: UML no es un lenguaje de programación. Como decimos, UML son una serie de normas y estándares que dicen cómo se debe representar algo.
UML es una herramienta propia de personas que tienen conocimientos relativamente avanzados de programación y es frecuentemente usada por analistas funcionales (aquellos que definen qué debe hacer un programa sin entrar a escribir el código) y analistas-programadores (aquellos que, dado un problema, lo estudian y escriben el código informático para resolverlo en un lenguaje como Java, C#, Python o cualquier otro).

TIPOS DE DIAGRAMAS EN UML

Diagramas de casos de uso: representan a los actores y casos de uso (procesos principales) que intervienen en un desarrollo de software.

Diagramas de clases: para UML una clase es una entidad, no una clase software. Un diagrama de clases UML puede ser un diagrama del dominio o representación de conceptos que intervienen en un problema, o también un diagrama de clases software. El sentido de un diagrama UML se lo da la persona que lo construye.

Diagramas de secuencia: suelen usarse para representar objetos software y el intercambio de mensajes entre ellos, representando la aparición de nuevos objetos de izquierda a derecha.

Diagramas de colaboración: suelen usarse para representar objetos o clases y la forma en que se transmiten mensajes y colaboran entre ellos para cumplir un objetivo.

Diagramas de estados: suelen usarse para representar cómo evoluciona un sistema (cómo va cambiando de estado) a medida que se producen determinados eventos.




González, V. (2014) modelo UML (Unified Modeling Language). Recuperado el: 25 de abril de 2018. En línea: https://www.ibm.com/support/knowledgecenter/es/SSZJPZ_11.3.0/com.ibm.swg.im.iis.bge.doc/topics/c_UML_model.html

S.A(2017). ¿Qué es y para qué sirve UML? Versiones de UML (Lenguaje Unificado de Modelado). Tipos de diagramas UML.. Recuperado el: 25 de abril de 2018. En línea: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=688:ique-es-y-para-que-sirve-uml-versiones-de-uml-lenguaje-unificado-de-modelado-tipos-de-diagramas-uml&catid=46&Itemid=163

Paradigma de programación orientado a objetos


       ¿ Qué es el paradigma de programación orientado a objetos?


 Es un paradigma de la programación de computadores que tiene como objetivo el desarrollo computacional basado en una colección de objetos que están interrelacionados y trabajan conjuntamente para resolver un problema. Surge dentro de los paradigmas de la programación como un enfoque diferente al momento de obtener soluciones computacionales.


Herencia: herencia describe la capacidad de crear clases nuevas a partir de una clase existente. La nueva clase hereda todas las propiedades, métodos y eventos de la clase base, y se puede personalizar con propiedades y métodos adicionales.
Polimorfismo: El polimorfismo implica la posibilidad de tener varias clases que se pueden usar de forma intercambiable, incluso si cada clase implementa las mismas propiedades o métodos de formas distintas. El polimorfismo es esencial para la programación orientada a objetos, ya que permite usar elementos con los mismos nombres, sin importar qué tipo de objeto esté en uso en ese momento.
Abstracción: Expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás
Encapsulación. La encapsulación implica el tratamiento de un grupo de propiedades, métodos y otros miembros como una única unidad u objeto. Los objetos pueden controlar el modo en que se cambian las propiedades y se ejecutan los métodos. Por ejemplo, un objeto puede validar valores antes de permitir cambios en propiedades. La encapsulación facilita también el cambio de implementación posterior al permitir ocultar los detalles de implementación de los objetos (ocultación de la información).

H. Espinosa (abril 12, 2011) Programación orientada a objetos (C# y Visual Basic). Recuperado el: 25/04/18 de https://programacionorientadaaobjetos.wordpress.com/tag/encapsulacion/
S.A. (28 de Septiembre de 2009) POO: Herencia, Abstraccion y Polimorfismo. Recuperado el: 25/04/18 de https://es.slideshare.net/equipo2/poo-herencia-abstraccion-y-polimorfismo

Paradigma de programación

¿Qué es un paradigma de programación?

Los paradigmas de programación solo son propuestas tecnológicas adoptadas por la Comunidad de des arrolladores que se enfocan a resolver uno o varios problemas definidos y delimitados. Existen muchos paradigmas de programación diferentes, posiblemente el más amplia mente utilizado hoy en día sea el de la programación orientada a objetos.

Ejemplo

Probablemente el paradigma de programación que actualmente es el más usado a todos los niveles es la orientación a Objeto. El núcleo central de este paradigma es la unión de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto". Tradicionalmente datos y procesamiento se han separado en áreas diferente del diseño y la implementación de software. Esto provocó que grandes desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y escalabilidad. Con la orientación a objetos y características como el encapsulado, polimorfismo o la Herencia se permitió un avance significativo en el desarrollo de software a cualquier escala de producción. La orientación a objeto parece estar ligado en sus orígenes con lenguajes como Lisp y Simula aunque el primero que acuño el titulo de programación orientada a objetos fue Smaltalk

Tipos de paradigmas

  • Programación Imperativa
  • Programación funcional
  • Programación lógica
  • Declarativo
  • POO Orientado a Objetos
  • Por procedimientos
Habitualmente se mezclan todos los tipos de paradigmas a la hora de hacer la programación. De esa manera se origina la programación multiparadigma, pero el que actualmente es más usado de todos esos paradigmas es el de la programación orientada a objetos.



R.Hernández.(06/15/2012) PARADIGMAS DE PROGRAMACIÓN. Recuperado  el: 26/04/18 de https://www.mindmeister.com/es/176377774/paradigmas-de-programaci-n
26
S.A. (22 de Marzo del 2018) Paradigma de programación. Recuperado el: 26/04/18 de http://wiki.uqbar.org/wiki/articles/paradigma-de-programacion.html