viernes, 27 de abril de 2018

Los 3 amigos.


James Rambaugh:


delimita el sistema y define su funcionalidad.



Es esta entrada por falta de tiempo y con urgencia te contaré quienes son:
Grady Booch, James Rambaugh e Ivar Jacobson.

Grady Booch:
Grady es reconocido internacional mente por su trabajo innovador en arquitectura de software, ingeniería de software y entornos de desarrollo colaborativo. 

lo genial de Grady es que ha estado profundamente involucrado en la estrategia de sistemas cognitivos de IBM, además de que actualmente es jefe científico de Watson / M.
Se centró en la cognición incorporada. 
Además, Grady dirigió el tema de IBM Global Technology Outlook sobre sistemas cognitivos, y ahora continúa trabajando con los arquitectos clave de Watson Group y la organización hermana de IBM Research para avanzar en la ciencia y la práctica de los sistemas cognitivos.

La realización de modelos es muy importante por que propone el desarrollo orientado a objetos: 
-Estructura física y lógica.
-Semántica estática y dinámica.






Ivar Jacobson:
El método desarrollado por Ivar Jacobson OOSE ha sido
llamado “un enfoque para el manejo de casos de uso”,
en este enfoque el modelo de casos de uso sirve como un
modelo central del cual todos los otros modelos son derivados
.
Un modelo de casos de uso describe la funcionalidad
completa del sistema, identificando como, todo lo
que esta fuera del sistema, interactúa con él.
El modelo de casos de uso de acuerdo con Jacobson,
es la base en la etapa de análisis, construcción y prueba.
OOSE presenta cinco técnicas para modelar un sistema:
1.- Modelo de requerimientos:
2.- Modelo de análisis:
estructura el sistema, modelando tres tipos de objetos
(objetos de interfase, objetos entidad y objetos de control).
3.- Modelo de diseño:
refina el modelo de análisis y lo adapta a un
ambiente de implementación.
Consiste de diagramas de interacción y diagramas
de transición de estados.
4.- Modelo de implementación:
 consiste en el código fuente de los objetos especificados
en el modelo de diseño.
5.- Modelo de prueba:
es llevado acabo mediante la realización de 
pruebas al modelo de implementación.

James Rambaugh:

El OMT describe el análisis y diseño orientado a 
objetos como una forma de organizar software 
dentro de una correlación de objetos discretos 
que incorporan tanto comportamiento como 
estructuras de datos. 
La esencia del desarrollo orientado a objetos en 
OMT es la identificación y organización de 
conceptos en el dominio del problema. 
Este método tiene muchas notaciones, 
aunque para el desarrollo de muchos sistemas 
solamente algunas son usadas.
De acuerdo a Rumbaugh en el OMT, el sistema es descrito a partir de 3 modelos diferentes:
-Modelo de objetos: 
describe la estructura estática de los objetos en un 
sistema, y sus relaciones. Consiste de diagramas de objetos
-Modelo dinámico:
describe aspectos de control de un sistema y muestra
la parte dinámica de cada clase mediante diagramas de estados.
-Modelo funcional: 
describe el flujo de datos en el sistema mediante
diagramas de flujo de datos

Recuperado de:
http://www.itlalaguna.edu.mx/academico/carreras/sistemas/Analisis%20y%20diseño%20orientado%20a%20objetos/Resumen3.pdf 

sábado, 14 de abril de 2018

Código UML.

¡Hey lector!
¡Buenos días, tardes, noches!

Es bueno tenerte aquí en el post, ya que hoy te hablaré acerca de lo que es el Código UML.

De acuerdo, empecemos.
El Lenguaje Unificado de Modelado de sistemas de software. 
Fue creado para forjar un lenguaje de modelado visual común
y semántica y sintácticamente rico para la arquitectura, el 
diseño y la implementación de sistemas de software complejos
También permite representar el modelo de un escenario en 
donde se estructura su comportamiento, además de describir
entidades intervinientes y relaciones.

*Para quienes no entendieron*
Es un lenguaje en programación, se usa usualmente para diseños que son de carácter visual (algo más entendible) y lo que hace es permitir al usuario representar un entorno en donde se observa cual es comportamiento que tiene.

Sus principales beneficios son:
-Mejores tiempos totales de Desarrollo (de 50% o más)
-Modelar sistemas (No solo de software) utilizando conceptos orientados a objetos
-Establecer conceptos y artefactos ejecutables
-Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.
-Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.
-Mejor soporte a la planeación y al control de proyectos.
-Alta reutilización y minimización de costos.

Este modelo Lenguaje se compone de las siguientes 4 características:

Vistas:
Estas muestran diferentes aspectos de un diagrama modelado (No es gráfica)
sin embargo tiene una abstracción que consiste en un numero de diagramas 
Que al juntarlos muestran un esquema más amplio del sistema.

Diagramas:
Estos son las gráficas que describen el contenido de una vista.
El UML tiene 9 tipos de diagramas que se utilizan en combinación para proveer todas las vistas de un sistema, como lo son:
-Diagramas de casos de uso
-Diagramas de clases
-Diagramas de objetos
-Diagramas de estados
-Diagramas de secuencia
-Diagramas de colaboración
-Diagramas de actividad
-Diagramas de componentes
-Diagramas de distribución

Simbolos/elementos de modelo:
Los conceptos utilizados en los diagramas son los elementos de modelo que representan conceptos comunes orientados a objetos, tales como clases, objetos y mensajes, y las relaciones entre estos conceptos incluyendo la asociación, dependencia y generalización.

Reglas o Mecanismos generales
Proveen comentarios extras, información o semántica acerca del elemento de modelo; además proveen mecanismos de extensión para adaptar o extender UML a un método o proceso específico, organización o usuario.







Además de estas características consta de 5 fases para su desarrollo, las cuales son: Análisis de requerimientos, Análisis, Diseño, Programación y Pruebas.

Análisis de Requerimientos:
UML tiene casos de uso para capturar 
los requerimientos del cliente. 
A través del modelado de casos de uso,
los actores externos que tienen 
interés en el sistema son modelados con la 
funcionalidad que ellos requieren del sistema.

Análisis:
La fase de análisis abarca las abstracciones 
primarias y mecanismos que están presentes 
en el dominio del problema.

Diseño:
En la fase de diseño, el resultado del análisis es 
expandido a una solución técnica. 
Se agregan nuevas clases que proveen de la 
infraestructura técnica: interfaces de usuario, 
manejo de bases de datos para almacenar 
objetos en una base de datos, comunicaciones 
con otros sistemas, etc.

Programación:
En esta fase las clases del diseño son 
convertidas a código en un lenguaje de 
programación orientado a objetos.

Pruebas:
Las pruebas de unidades se realizan a clases 
individuales o a un grupo de clases y son 
típicamente ejecutadas por el programador.

Texto tomado de: http://profesores.fi-b.unam.mx/carlos/aydoo/uml.html
http://stadium.unad.edu.co/ovas/10596_9839/qu_es_uml.html
https://www.lucidchart.com/pages/es/qué-es-el-lenguaje-unificado-de-modelado-uml 
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

Programación orientada a Objetos.

¡Hey! ¡Hola de nuevo lector!
En este nuevo artículo te hablaré acerca de lo que es lo que dice el título, o bien:
"La programación orientada a objetos (POO)"

Empecemos por definir que es esto.
La programación orientada a objetos es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora.
Se basa en tecnicas como lo son Herencias, Abstracción, Poliformismo y Encapsulamiento.

"La POO no es difícil, pero es una manera especial de pensar, a veces subjetiva de quien la programa, de manera que la forma de hacer las cosas puede ser diferente según el programador."

Miguel Angel Alvarez (https://desarrolloweb.com/articulos/499.php)

¿Qué es una clase en POO?
Bueno, estas son declaraciones de objetos. También se pueden definir como abstracciones de objetos.

¿Y que quiere decir esto? Bueno Esto quiere decir que la definición de un objeto es la clase.
Por ejemplo:
Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase.


Propiedades en clases:
Estos atributos son las características de los objetos.
Siendo más específicos les definimos una propiedad 
normalmente, especificamos algún nombre y el tipo.

Métodos en las clases:
Son las funcionalidades asociadas a objetos.
Cuando se programan las clases las solemos llamar métodos
(Son como funciones que se asocian a un objeto).

¿Y los objetos en POO?
Estos son ejemplares de una clase cualquiera, por decirlo así; cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual de creará.
¡Esta acción de crear un objeto a partir de una clase de llama instanciar!


Sin embargo es necesario conocer algunos conceptos fundamentales como lo son:
Clase: "La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas."

Herencia: "Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen."

Objeto: "Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos) los mismos que consecuentemente reaccionan a eventos."

(Para continuar con más conceptos visíta esta url: https://www.ecured.cu/Programación_Orientada_a_Objetos#Clase)


Características de la POO.

Abstracción, Encapsulamiento, poliformismo y conceptos que están en la parte anterior a este apartado son escenciales a la hora de programar.

Abstracción:
Denota las características esenciales de un objeto, donde se capturan sus comportamientos.


Encapsulamiento:
Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción.

Poliformismo:
Las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.



Y una vez aclarado esos conceptos/Características podemos avanzar a los lenguajes de programación más usados, los cuales son:
C++
C#
Gambas
Java
Javascript
Python
Visual Objects.



Espero este post mi estimado lector te sirva para futuras ocasiones, me voy no sin antes despedirme.
¡Adiós!

viernes, 13 de abril de 2018

Paradigmas en la investigación.

¡Hey que tal querido lector!
Buenas tardes, noches, días.

El día de hoy te traigo un pequeño texto de carácter informativo a cerca de como bien dice el título:
"Paradigmas de la investigación"
Y sin más por este momento empezamos.

Los paradigmas (Y modelos de investigación) comprenden de anotaciones históricas de otros paradigmas llamados Epistemológicos.
(Parte de la filosofía que estudia los principios, fundamentos, extensión y métodos del conocimiento humano.)

Ésta consta de 3 tipos:

Paradigma cuántico:
Que implica diferentes tipos de investigación como lo son:

-Inv. Experimental
-Inv. Cuasi Experimental
-Inv. Expost-Facto
-Inv. Histórica
-Inv. Descriptiva


Paradigma Cualitativo:
Este, al igual que el cuantitativo implica diferentes tipos
de investigación como lo son:
-Estudio de caso
-Etnometodología
Grupo de discusión
Historia oral
Inv. Documental
Inv. Participante
Investigación
Acción/Participación


Paradigma Crítio social
Este se usa como una nueva forma de ver, mirar y 
sentir, usualmente lo hace a través de:
Métodos de inducción
Métodos de deducción 
Métodos de Transducción.


Retomando al término "Paradigma"; cabe recalcar que fue usado
por Gage para referirse a los modelos como maneras de pensar o 
pautas para la invesngación que pueden conducir al desarrollo
de la teoría.


Sin embargo quién se lleva el "Big chesee" es Kuhn quien en una obra conocida 
como "Estructura de las revoluciones científicas" expresa que:
"Un paradigma es un compromiso implícito, no formulado ni difundido, 
de una comunidad de estudiosos con determinado marco conceptual".



¿En otras palabras?
El concepto de paradigma presenta otro tipo de concepciones menos restrictivas por parte de algunos autores. Afortunadamente, frente a las posiciones clásicas de carácter cuantitativo nos encontramos con posiciones más pluralistas en los momentos actuales.

¿Pero entonces, de que se trata?
El conocimiento de los paradigmas de investigación nos ayuda a situarnos y conocer mejor el modelo o modelos metodológicos en los que nos propongamos encuadrar un estudio empírico

Bueno, una vez entendido ese ligero concepto no me queda nada más que dar por concluido este post.
¡¡Hasta la próxima!

Fuentes:
Ricoy Lorenzo, Carmen (http://www.redalyc.org/pdf/1171/117117257002.pdf)
Artículo PFD Carlos Ramos-Galarza (https://www.researchgate.net/publication/282731622_LOS_PARADIGMAS_DE_LA_INVESTIGACION_CIENTIFICA_Scientific_research_paradigms)
FUNDACIÓN UNIVERSITARIA LUIS AMIGÓ Facultad de Educación 2 edición, 2004 (http://virtual.funlam.edu.co/repositorio/sites/default/files/repositorioarchivos/2011/02/0008paradigmasymodelos.771.pdf)