Mi lista de blogs

jueves, 13 de febrero de 2020

BASE DE DATOS




 base de datos 
es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Hay programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés Database Management System o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.

Aunque las bases de datos pueden contener muchos tipos de datos, algunos de ellos se encuentran mutuamente protegidos por las leyes de varios países. Por ejemplo en España, los datos personales se encuentran protegidos por la Ley Orgánica de Protección de Datos de Carácter Personal (LOPD), en México por la Ley Federal de Transparencia y Acceso a la Información Pública Gubernamental y en Argentina la Ley de Protección de Datos Personales.
En Argentina el Código Penal sanciona ciertas conductas relacionadas con una base de datos: acceder ilegítimamente a un banco de datos personales, proporcionar o revelar información registrada en un archivo o en un banco de datos personales cuyo secreto estuviere obligado a guardar por ley o insertar o hacer insertar datos en un archivo de datos personales. Si el autor es funcionario público, sufre además pena de inhabilitación especial. 

Sistema de gestión de bases de datos

Un sistema gestor de base de datos (SGBD) es un conjunto de programas que permiten el almacenamiento, modificación y extracción de la información en una base de datos. Los usuarios pueden acceder a la información usando herramientas específicas de consulta y de generación de informes, o bien mediante aplicaciones al efecto.
Estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.
Generalmente se accede a los datos mediante lenguajes de consulta, lenguajes de alto nivel que simplifican la tarea de construir las aplicaciones. También simplifican las consultas y la presentación de la información. Un SGBD permite controlar el acceso a los datos, asegurar su integridad, gestionar el acceso concurrente a ellos, recuperar los datos tras un fallo del sistema y hacer copias de seguridad. Las bases de datos y los sistemas para su gestión son esenciales para cualquier área de negocio, y deben ser gestionados con esmero.



los sistemas gestores de bases de datos, también conocidos por sus siglas SGBD, son un conjunto de programas que permiten almacenar, modificar y extraer información de una base de datos, de manera que varios usuarios puedan acceder al mismo tiempo. Estos sistemas proporcionan métodos para mantener la integridad de los datos, administrar el acceso de los diferentes usuarios y recuperar la información en caso necesario. En definitiva, los sistemas gestores de bases de datos garantizan un acceso eficiente a los datos, así como su calidad, seguridad e integración.
En la actualidad existen dos grandes tipos de gestores de bases de datos: los orientados a objetos y los relacionales.



Base de datos relacional
La base de datos relacional (BDR) es un tipo de base de datos (BD) que cumple con el modelo relacional (el modelo más utilizado actualmente para implementar las BD ya planificadas). Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos.
Un sistema de software utilizado para mantener las bases de datos relacionales es un relational database management system (RDBMS) o sistema de gestión de bases de datos relacionales. Virtualmente, todos los sistemas de bases de datos relacionales utilizan SQL (Structured Query Language) para consultar y mantener la base de datos.


Qué importancia tienen las bases de datos 


Las Bases de Datos tienen una gran relevancia a nivel personal, pero más si cabe, a nivel empresarial, y se consideran una de las mayores aportaciones que ha dado la informática a las empresas. En la actualidad, cualquier organización que se precie, por pequeña que sea, debe contar con una Base de Datos, pero para que sea todo lo efectiva que debe, no basta con tenerla: hay que saber cómo gestionarlas.
En el caso de que en nuestra compañía no contemos con una persona que se encargue de esta labor, existe la posibilidad de contratar a una empresa externa que se encargue.
Las principales utilidades que ofrece una base de datos a la empresa son las siguientes:
  • Agrupar y almacenar todos los datos de la empresa en un único lugar.
  • Facilitar que se compartan los datos entre los diferentes miembros de la empresa.
  • Evitar la redundancia y mejorar la organización de la agenda.
  • Realizar una interlocución adecuada con los clientes.
Si una Base de Datos se gestiona adecuadamente, la organización obtendrá diferentes ventajas. Aumentará su eficacia, habrá trabajos que se realicen con mayor rapidez y agilidad debido a la simplificación de los mismos, podremos mejorar la seguridad de los datos que almacenamos, y con todos estos factores, maximizaremos los tiempos y por tanto, se producirá una mejora en la productividad.
Estas funcionalidades aportarán un valor añadido a la empresa, ya que con una base de datos formulada correctamente, conseguiremos que la información y el conocimiento sean los mayores activos de la compañía, lograremos sacar el máximo rendimiento a las competencias de nuestros colaboradores, así como averiguar datos de nuestros clientes potenciales. Por último, puesto que la información es poder, cuantos más datos tengamos, mayor será la competitividad de la compañía.
Tabla (base de datos)
abla en las bases de datos, se refiere al tipo de modelado de datos donde se guardan los datos recogidos por un programa. Su estructura general se asemeja a la vista general de un programa de hoja de cálculo.
Las tablas se componen de dos estructuras:
  • Campo: Corresponde al nombre de la columna. Debe ser único y además de tener un tipo de dato asociado.
  • Registro: Corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento.
En la definición de cada campo, debe existir un nombre único, con su tipo de dato correspondiente. Esto es útil a la hora de manejar varios campos en la tabla, ya que cada nombre de campo debe ser distinto entre sí.
A los campos se les puede asignar, además, propiedades especiales que afectan a los registros insertados. El campo puede ser definido como índice o autoincrementable, lo cual permite que los datos de ese campo cambien solos o sean el principal indicar a la hora de ordenar los datos contenidos.
Cada tabla creada debe tener un nombre único en la cada base de datos, haciéndola accesible mediante su nombre o su seudónimo (alias) (dependiendo del tipo de base de datos elegida).
La estructura de las tablas viene dado por la forma de un archivo plano, los cuales en un inicio se componían de un modo similar.

Tablas persistentes

Son aquellas que permiten que los registros sean eliminados o borrados manualmente y tenemos de tres tipos:
  • Base: Es donde se encuentra toda la información de todos los registros sin que se haga ninguna validación adicional.
  • Vista: Es una relación que se hace en referencia a una fila o columna específica.
  • Instantáneo: Es todo registro que se puede ver de manera inmediata con solo una referencia.


Campo
corresponde a cada fila que compone la tabla. Allí se componen los datos y los registros. Eventualmente pueden ser nulos en su almacenamiento. La principal diferencia entre estos tres conceptos es que las tablas engloban a los registros y los campos, es decir, estos últimos son componentes de las tablas. En cuanto a los campos y registros podemos decir que mientras el primero representa a las columnas de la tabla, el otro se corresponde con las filas. Además, en los tipos se ubican tipo de dato. En cambio, en los registros se colocan los datos de una unidad. Por lo tanto, los campos deben tener nombres distintos entre sí en oposición a los registros ya que en estos no es necesario que sean diferentes.
Dato
Un dato es una representación simbólica (numérica, alfabética, algorítmica, espacial, etc.) de un atributo o variable cuantitativa o cualitativa. Los datos describen hechos empíricos, sucesos y entidades. Es un valor o referente que recibe el computador por diferentes medios, los datos representan la información que el programador manipula en la construcción de una solución o en el desarrollo de un algoritmo.
Los datos aisladamente pueden no contener información humanamente relevante. Solo cuando un conjunto de datos se examina conjuntamente a la luz de un enfoque, hipótesis o teoría se puede apreciar la información contenida en dichos datos. Los datos pueden consistir en números, estadísticas o proposiciones descriptivas. Los conceptos de datos, información, conocimientos y sabiduría están inter-relacionados. Los datos convenientemente agrupados, estructurados e interpretados se consideran que son la base de la información humanamente relevante que se pueden utilizar en la toma de decisiones, la reducción de la incertidumbre o la realización de cálculos. Es de empleo muy común en el ámbito informático y, en general, prácticamente en cualquier investigación científica. En programación, un dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo. En estructura de datos, es la parte mínima de la información. Se ha dicho que datos son el nuevo petróleo de la economía digital.

Registro

En informática, o concretamente en el contexto de una base de datos relacional, un registro (también llamado fila o tupla) representa un objeto único de datos implícitamente estructurados en una tabla. En términos simples, una tabla de una base de datos puede imaginarse formada de filas y columnas o campos. Cada fila de una tabla representa un conjunto de datos relacionados, y todas las filas de la misma tabla tienen la misma estructura.

Un registro es un conjunto de campos que contienen los datos que pertenecen a una misma repetición de entidad. Se le asigna automáticamente un número consecutivo (número de registro) que en ocasiones es usado como índice aunque lo normal y práctico es asignarle a cada registro un campo clave para su búsqueda.


SQL 


(por sus siglas en inglés Structured Query Language; en español lenguaje de consulta estructurada) es un lenguaje de dominio específico utilizado en programación, diseñado para administrar, y recuperar información de sistemas de gestión de bases de datos relacionales.Una de sus principales características es el manejo del álgebra y el cálculo relacional para efectuar consultas con el fin de recuperar, de forma sencilla, información de bases de datos, así como realizar cambios en ellas.
Originalmente basado en el álgebra relacional y en el cálculo relacional, SQL consiste en un lenguaje de definición de datos, un lenguaje de manipulación de datos y un lenguaje de control de datos. El alcance de SQL incluye la inserción de datos, consultas, actualizaciones y borrado, la creación y modificación de esquemas y el control de acceso a los datos. También el SQL a veces se describe como un lenguaje declarativo, también incluye elementos procesales.
SQL fue uno de los primeros lenguajes comerciales para el modelo relacional de Edgar Frank Codd como se describió en su artículo de investigación de 1970 El modelo relacional de datos para grandes bancos de datos compartidos. A pesar de no adherirse totalmente al modelo relacional descrito por Codd, pasó a ser el lenguaje de base de datos más usado.
SQL pasó a ser el estándar del Instituto Nacional Estadounidense de Estándares (ANSI) en 1986 y de la Organización Internacional de Normalización (ISO) en 1987. Desde entonces, el estándar ha sido revisado para incluir más características. A pesar de la existencia de ambos estándares, la mayoría de los códigos SQL no son completamente portables entre sistemas de bases de datos diferentes sin otros ajustes.
DML

Lenguaje de Manipulación de Datos

Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un idioma proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.

Elementos del lenguaje de manipulación de datos

Select, Insert, Delete y Update

Clasificación de los DML

Se clasifican en dos grandes grupos:
  • lenguajes de consulta procedimentales
Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final.
  • lenguajes de consulta no procedimentales
En los lenguajes no procedimentales el usuario describe la información deseada sin un procedimiento específico para obtener esa información.

Lenguaje de manipulación de datos (DML)

Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.


1- INSERT

Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional.


Ejemplo 1 (inserto valores alumno pepe en la materia spd2 a la tabla cursada):

INSERT INTO ''cursada'' (''alumno'', ''materia'') VALUES (''pepe'', ''spd2'')


2- UPDATE

Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una tabla.

Ejemplo 1 (modifico la materia donde  el alumno sea pepe):

UPDATE ''cursada'' SET ''materia''= ''spd3'' WHERE ''alumno''= ''pepe''


3- DELETE

Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla.

Ejemplo 1 (borro todos los valores de las columnas alumno y materia donde la materia sea spd2):

DELETE FROM ''cursada'' WHERE ''materia''= ''spd2''








jueves, 23 de enero de 2020

Administración de proyectos

Proyecto de software
Presupuesto:



Resultado de imagen para presupuesto para un proyecto de Software

Imagen relacionada


Diagrama de Gantt:
Resultado de imagen para Diagrama de Gantt



Resultado de imagen para Diagrama de Gantt
Imagen relacionada




Cuáles son las etapas de un proyecto


1. Inicio

a fase de inicio es crucial en el ciclo de vida del proyecto, ya que es el momento de definir el alcance y proceder a la selección del equipo. Sólo con un ámbito claramente definido y un equipo especializado, se puede garantizar el éxito. Es además, el momento de compartirla visión con los stakeholders y buscar su compromiso y apoyo.

2.Planificación
Ésta es a menudo la fase más difícil para un director de proyecto, ya que tiene que hacer un importante esfuerzo de abstracción para calcular las necesidades de personal, recursos y equipo que habrán de preverse para lograr la consecución a tiempo y dentro de los parámetros previstos. Asimismo, también es necesario planificar comunicaciones, contratos y actividades de adquisición. Se trata, en definitiva, de crear un conjunto completo de planes de proyecto que establezcan una clara hoja de ruta.
3.Ejecución
En base a la planificación, habrá que completar las actividades programadas, con sus tareas, y proceder a la entrega de los productos intermedios. Es importante velar por una buena comunicación en esta fase para garantizar un mayor control sobre el progreso y los plazos. Asimismo, es indispensable monitorizar la evolución del consumo de recursos, presupuesto y tiempo, para lo que suele resultar necesario apoyarse en alguna herramienta de gestión de proyectos. En esta etapa se deben gestionar: el riesgo, el cambio, los eventos, los gastos, los recursos, el tiempo y las actualizaciones y modificaciones.


4. Seguimiento y control
Esta fase comprende los procesos necesarios para realizar el seguimiento, revisión y monitorización del progreso de proyecto. Se concibe como el medio de detectar desviaciones con la máxima premura posible, para poder identificar las áreas en las que puede ser requerido un cambio en la planificación. La etapa de seguimiento y control se encuentra naturalmente asociada a la de ejecución, de la que no puede concebirse de forma separada, aunque por su importancia y valor crítico.
5. Cierre
Esta fase comprende todos procesos orientados a completar formalmente el proyecto y las obligaciones contractuales inherentes. Una vez terminado este estadio, se establece formalmente que el proyecto ha concluido.

Metodología de Desarrollo de Software


1. Modelo de Cascada

Si alguna vez has incursionado en el mundo del Desarrollo de Software, de seguro te has topado en algún momento con el modelo de cascada. De no ser así, cabe destacar que en este modelo cada etapa representa una unidad de desarrollo con un pequeño descanso en el medio. Por lo tanto, cada siguiente etapa inicia tan pronto como la anterior haya culminado, y esos descansos son usados para confirmaciones del lado del cliente.
Adicionalmente, este es considerado como el método tradicional de explicar el proceso de desarrollo de software en ingeniería de software, por lo que actualmente es visto como anticuado. Sin embargo, aún sigue siendo aplicado a proyectos con metas claras y requisitos que demandan hasta 100 horas de desarrollo, sobre todo considerando que este enfoque permite a los negocios deshacerse del papeleo innecesario, reuniones regulares que consumen mucho tiempo y retrasos en sus procesos de negocio.
Es por esto que esta es una gran opción para pequeños proyectos donde todos los aspectos del proceso de desarrollo de software se conocen de antemano, pero una mala solución para proyectos complicados, ya que se trata de un modelo bastante inflexible. 

2. Modelo de Espiral

Mientras que la metodología de la cascada ofrece una estructura ordenada para el desarrollo de software, las demandas de tiempo reducido al mercado hacen que sus pasos en serie sean inapropiados.
El siguiente paso evolutivo desde la cascada es donde se realizan los diversos pasos para múltiples entregas o traspasos. La última evolución de la caída del agua es la espiral, aprovechando el hecho de que los proyectos de desarrollo funcionan mejor cuando son incrementales e iterativos.
La metodología espiral refleja la relación de tareas con prototipos rápidos, mayor paralelismo y concurrencia en las actividades de diseño y construcción. El método en espiral debe todavía ser planificado metódicamente, con las tareas y entregables identificados para cada paso en la espiral.

3. Metodología de Prototipo

Es un procedimiento de desarrollo especializado que permite a los desarrolladores la posibilidad de poder solo hacer la muestra de la resolución para poder  validar su esencia funcional ante los clientes, y hacer los cambios que sean fundamentales antes de crear la solución final auténtica. De hecho, la mejor parte de esta metodología es que tiende a resolver un conjunto de problemas de diversificación que ocurren con el método de la cascada.
Además de esto, la gran ventaja de optar por este enfoque es que da una idea clara sobre el proceso funcional del software, reduce el riesgo de falla en una funcionalidad de software y asiste bien en la recolección de requisitos y en el análisis general.

4. Desarrollo Rápido de Aplicaciones (RAD)

Con el objetivo de otorgar resultados rápidos, se trata de un enfoque que está destinado a proporcionar un excelente procesos de desarrollo con la ayuda de otros enfoques, pero además, está diseñado para aumentar la viabilidad de todo el procedimiento de desarrollo de software para resaltar la participación de un usuario activo.
Dicho esto, algunas de las ventajas a destacar de este tipo de desarrollo son las siguientes:
  • Hace todo el proceso de desarrollo sin esfuerzo.
  • Asiste al cliente en la realización de revisiones rápidas.
  • Alienta la retroalimentación de los clientes para su mejora.

5. Metodología de Programación Extrema (XP)

Como metodología ágil de ingeniería de software, la metodología de programación extrema se conoce actualmente como metodología de XP (eXtreme Programming). Esta metodología, se utiliza principalmente para evitar el desarrollo de funciones que actualmente no se necesitan, pero sobre todo para  para atender proyectos complicados. Sin embargo, sus métodos peculiares pueden tomar más tiempo, así como recursos humanos en comparación con otros enfoques.  
Estas son solo algunas de las metodologías de Desarrollo de Software que existen, pero lo importante es que tengas en cuenta que al estar familiarizado con estos populares enfoques podrás optimizar la eficiencia de tus proyectos utilizando un enfoque puro o combinando algunos de ellos.


Que es el manifiesto agile
El 12 de febrero de 2001 diecisiete críticos de los modelos de mejora del desarrollo de software basados en procesos, convocados por Kent Beck, quien había publicado un par de años antes Extreme Programming Explained, libro en el que exponía una nueva metodología denominada Extreme Programming, se reunieron en Snowbird, Utah para tratar sobre técnicas y procesos para desarrollar software. En la reunión se acuñó el término “Métodos Ágiles” para definir a los métodos que estaban surgiendo como alternativa a las metodologías formales (CMMISPICE) a las que consideraban excesivamente “pesadas” y rígidas por su carácter normativo y fuerte dependencia de planificaciones detalladas previas al desarrollo.

Qué es SCRUM

Scrum es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, auto-gestión e innovación
¿Cuándo se utiliza?

Con la metodología Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve crecer iteración a iteración. Asimismo le permite en cualquier momento realinear el software con los objetivos de negocio de su empresa, ya que puede introducir cambios funcionales o de prioridad en el inicio de cada nueva iteración sin ningún problema.

Esta metódica de trabajo promueve la innovación, motivación y compromiso del equipo que forma parte del proyecto, por lo que los profesionales encuentran un ámbito propicio para desarrollar sus capacidades. 
 
 Beneficios
  • Cumplimento de expectativas: El cliente establece sus expectativas indicando el valor que le aporta cada requisito / historia del proyecto, el equipo los estima y con esta información el Product Owner establece su prioridad. De manera regular, en las demos de Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y transmite se feedback al equipo.
  • Flexibilidad a cambios: Alta capacidad de reacción ante los cambios de requerimientos generados por necesidades del cliente o evoluciones del mercado. La metodología está diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos complejos.
  • Reducción del Time to Market: El cliente puede empezar a utilizar las funcionalidades más importantes del proyecto antes de que esté finalizado por completo.
  • Mayor calidad del software: La metódica de trabajo y la necesidad de obtener una versión funcional después de cada iteración, ayuda a la obtención de un software de calidad superior.
  • Mayor productividad: Se consigue entre otras razones, gracias a la eliminación de la burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos para organizarse.
  • Maximiza el retorno de la inversión (ROI): Producción de software únicamente con las prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de inversión.
  • Predicciones de tiempos: Mediante esta metodología se conoce la velocidad media del equipo por sprint (los llamados puntos historia), con lo que consecuentemente, es posible estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en el Backlog.
  • Reducción de riesgos: El hecho de llevar a cabo las funcionalidades de más valor en primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite despejar riesgos eficazmente de manera anticipada. 
Si desea conocer más acerca de Scrum, consulte aquí cómo es el proceso y roles que intervienen. 

martes, 21 de enero de 2020

UML,

¿Qué es UML?
es un  lenguaje unificado que sirve para diseñar sistemas complejos y ver su previo funcionamiento y corregir fallas 


Resultado de imagen para uml

¿Porque utilizar UML?
no sirve  establecer la serie de requerimientos y estructuras necesarias para plasmar un sistema de software previo al proceso intensivo de escribir código.se realizan planos previo a su construcción, en Software se deben realizar diseños en UML previa codificación de un sistema, ahora bien, aunque UML es un lenguaje, éste posee más características visuales que programáticas, mismas que facilitan a integrantes de un equipo multidisciplinario participar e intercomunicarse fácilmente, estos integrantes siendo los analistas, diseñadores, especialistas de área y desde luego los programadores.


Resultado de imagen para uml


¿Quiénes crearon UML?
The Three Amigos" (los tres amigos) de la ingeniería de software, como se los conocía, habían desarrollado otras metodologías. Se asociaron para brindar claridad a los programadores creando nuevos estándares. La colaboración entre Grady, Booch y Rumbaugh fortaleció los tres métodos y mejoró el producto final.



Resultado de imagen para ¿Quiénes crearon UML?



Quien supervisa la definición y mantenimiento de UML?

Los esfuerzos de estos pensadores derivaron en la publicación de los documentos UML 0.9 y 0.91 en 1996. Pronto se hizo evidente que varias organizaciones, incluidas Microsoft, Oracle e IBM, consideraron que UML era esencial para su propio desarrollo de negocios. Ellos, junto con muchas otras personas y compañías, establecieron los recursos necesarios para desarrollar un lenguaje de modelado hecho y derecho. "Los tres amigos" publicaron la Guía del usuario para el Lenguaje Unificado de Modelado en 1999, y una actualización que incluye información sobre UML 2.0 en la segunda edición de 2005



Imagen relacionada



¿Cuál es la finalidad de UML?


  • Brindar a arquitectos de sistemas, ingenieros y desarrolladores de software las herramientas para el análisis, el diseño y la implementación de sistemas basados en software, así como para el modelado de procesos de negocios y similares.
  • Hacer progresar el estado de la industria permitiendo la interoperabilidad de herramientas de modelado visual de objetos. No obstante, para habilitar un intercambio significativo de información de modelos entre herramientas, se requiere de un acuerdo con respecto a la semántica y notación
los tres modelos generales de UML:
uncionales: tambien conocido como diagrama de casos de uso 
que es como el usuario o los casos en que un usuaria usaría el sistema

De objetos: Se trata de diagramas de clases que describen la estructura del sistema en términos de objetos, atributos, asociaciones y operaciones.

Dinámicos:  Los diagramas de interacción, los diagramas de máquina de estados y los diagramas de actividades se usan para describir el comportamiento interno del sistema.
tipos de diagramas UML
Diagramas de Casos de uso: , define una notación gráfica para representar casos de uso llamada modelo de casos de uso
Resultado de imagen para Diagramas de Casos de uso



Diagrama de actividades:Un diagrama de actividades muestra el flujo de actividades, siendo un actividad una ejecución general entre los objetos que se está ejecutando en un momento dado dentro de una máquina de estados


Resultado de imagen para Diagrama de actividades

Diagrama de secuencia: El diagrama de secuencia es un tipo de diagrama usado para modelar interacción entre objetos en un sistema según
Resultado de imagen para Diagrama de secuencia

miércoles, 15 de enero de 2020

Requerimientos de Software,


Resultado de imagen para programador
Concepto de requerimiento: es una petición de algo que se necesita de cualquier índole
Imagen relacionada

Tipos de requerimientos

       .Funcionales:Los requerimientos funcionales de un sistema, son aquellos que describen cualquier actividad que este deba realizar, en otras palabras, el comportamiento o función particular de un sistema o software cuando se cumplen ciertas condiciones.
               .No funcionales:Los requerimientos no funcionales engloban características como rendimiento, facilidad de uso, presupuestos, tiempo de entrega, documentación, seguridad y auditorías internas”


Resultado de imagen para caracteristicas


Características de los requerimientos:

  • Único: El requerimiento debe poder ser interpretado inequívocamente de una sola manera.
  • Verificable: Su implementación debe poder ser comprobada. El test debe dar como resultado CORRECTO o INCORRECTO.
  • Claro: Los requerimientos no deben contener terminología innecesaria. Deben ser establecidos de forma clara y simple.
  • Viable (realista y posible): El requerimiento debe ser factible según las restricciones actuales de tiempo, dinero y recursos disponibles.
  • Necesario: Un requerimiento no es necesario si ninguno de los interesados necesita el requerimiento o bien si la retirada de dicho requerimiento no tiene ningún efecto


Fases para solucionar problemas según Polya.

Resultado de imagen para entender un problema






Entender el problema: entender bien el problema para poderle darle la mejor de las soluciones no una que nos genere mas  problemas
Resultado de imagen para Crear un plan


Crear un plan: debemos crear un plan para poder atacar desde la raíz el problema , sin un plan podríamos tardar mas o equivocarnos en algo  o redundar en algún paso.




Resultado de imagen para Ejecutar el plan


















Ejecutar el plan: ya que se tiene el plan es ora de ejecutarlo que en otras palabras seria ponerlo en marcha para ver sus resultados

Resultado de imagen para Evaluar




Evaluar: ya que se tienen los resultados es ora de evaluar si son satisfactorios y si todosalio descuerdo a lo planeado .

Conceptos básicos,


Resultado de imagen para problema
PROBLEMA:un problema es una situación o fenómeno que tiene una o varias soluciones.Resultado de imagen para algoritmoAlgoritmo:es una serie de pasos que nos ayuda a resolver un problema de una manera optima Resultado de imagen para programaprograma:es una seria de instrucciones que se le dan a una computadora para realizar una tarea o a una computadora Resultado de imagen para Lenguaje de ProgramaciónLenguaje de Programación:es un lenguaje formal que nos ayuda a darle instrucciones ala computadora.

BASE DE DATOS

  base de datos   es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. ...