domingo, 22 de abril de 2018


¿Qué es moprosoft?

Es el Modelo de Procesos para la Industria del Software. Un modelo para la mejora y evaluación de los procesos de desarrollo y mantenimiento de sistemas y productos de software. Desarrollado por la Asociación Mexicana para la Calidad en Ingeniería de Software a través de la Facultad de Ciencias de la Universidad Nacional Autónoma de México (UNAM) y a solicitud de la Secretaría de Economía para obtener una norma mexicana que resulte apropiada a las características de tamaño de la gran mayoría de empresas mexicanas de desarrollo y mantenimiento de software.

Ventajas:
  • Facilita la comprensión del modelo.
  • Simplifica la relación entre el modelo de procesos y la organización.
  • Procesos integrados y relacionados.
  • Basado en normas ISO.


Desventajas
  • No es muy práctico.
  • Evaluaciones formales constantes.
  • Capacidad organizacional de Gestión de proyectos.
  • Mejora de procesos orientado al objetivo del negocio.



¿Qué es CMMI?

Es una guía que ayuda en la mejora de procesos, pero como en cualquier receta cada quién le puede poner de su propio sazón. El enfoque del modelo permite evolucionar desde un proceso en crisis  a un proceso controlado, estandarizado, medido y optimizado que sienta las bases de la mejora continua y permite a la organización adoptar nuevas prácticas sobre un proceso estable y controlado que está institucionalizado.

Ventajas

·         Proporciona un marco y un lenguaje común, lo que se traduce en la ruptura de las barreras de la comunicación en el interior de las organizaciones.
  • ·         Permite que los usuarios puedan enfocarse específicamente en la mejora, ya que ayudan a que no pierdan la idea global.
  • ·         Aporta años de experiencia.
  • ·         Ayudan a mejorar la satisfacción del cliente.
  • ·         Permiten producir productos y servicios de alta calidad.

·          
Algunos beneficios de CMMI

Hacer uso del modelo CMMI para el desarrollo de software, no solo permite optimizar procesos de negocios, sino que también trae consigo una serie de beneficios, entre ellos los siguientes:

  • ·         La gestión y la ingeniería de las actividades se encuentran entrelazadas de una manera explícita, tan es así que facilita el reconocimiento de los objetivos del negocio.
  • ·         Permite hacer la incorporación de la experiencia adquirida en otras zonas de las mejores prácticas. Algunos ejemplos serían la medición, gestión de riesgos y de proveedores.
  • ·         Poder aplicar prácticas de alta madurez mucho más robustas.
  • Cumplir de forma mucho más completa con las normas ISO. 

martes, 13 de marzo de 2018

video puntos de funcion


video psp


Puntos de estimación



El diagrama de clases recoge las clases de objetos y sus asociaciones. En este diagrama se representa la estructura y el comportamiento de cada uno de los objetos del sistema y sus relaciones con los demás objetos, pero no muestra información temporal.
Objetivo
El objetivo principal de este modelo es la representación de los aspectos estáticos del sistema, utilizando diversos mecanismos de abstracción (clasificación, generalización, agregación).

Clases
Una clase describe un conjunto de objetos con propiedades (atributos) similares y un comportamiento común. Los objetos son instancias de las clases.
No existe un procedimiento inmediato que permita localizar las clases del diagrama de clases. Estas suelen corresponderse con sustantivos que hacen referencia al ámbito del sistema de información y que se encuentran en los documentos de las especificaciones de requisitos y los casos de uso.

·  Los atributos de una clase representan los datos asociados a los objetos instanciados por esa clase.
·  Las operaciones o métodos representan las funciones o procesos propios de los objetos de una clase, caracterizando a dichos objetos.
El diagrama de clases permite representar clases abstractas. Una Clase abstracta es una clase que no puede existir en la realidad, pero que es útil conceptualmente para el diseño del modelo orientado a objetos. Las clases abstractas no son instánciales directamente sino en sus descendientes. Una clase abstracta suele ser situada en la jerarquía de clases en una posición que le permita ser un depósito de métodos y atributos para ser compartidos o heredados por las subclases de nivel inferior.

psp


   El psp es una metodología la cual esta permite la mejora del proyecto se consideran aspectos como la planeación, calidad, estimación de costos y productividad tiene como objetivo Lograr una disciplina de mejora continua en el proceso de desarrollo, Medir, estimar, planificar, seguir y controlar el proceso de desarrollo, Mejorar la calidad del proceso de desarrollo, En general, PSP provee calidad y productividad. Uno de los aspectos fundamentales de PSP es el uso de datos históricos para analizar y mejorar el desempeño del proceso. La recolección de datos para PSP es soportada por cuatro elementos importantes

Ventajas de Aplicar PSP
          El PSP se centra en la administración del tiempo y en la administración de la calidad a través de la eliminación temprana de defectos
          Busca proporcionar un marco de trabajo para el personal involucrado en el proceso de desarrollo de software.
          Sirve para producir software de calidad, donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad. (Software Engineering Institute, Carnegie Mellon University)

Desventajas de Aplicar PSP
          El tiempo requerido para conocerlo.
          El costo emocional por mantener una disciplina.
          El ego del cambio en las costumbres.

Niveles del PSP
·         Planeación
·         Diseño de alto nivel
·         Revisión del diseño de alto nivel
·         Desarrollo
·         Análisis de resultado

lunes, 5 de febrero de 2018

factores


Factores de calidad de software
Las posibilidades de que aparezca el fallo humano en el proceso de desarrollo de software son enormes.
Es complicado realizar un buen software, y muchos de los productos que se construyen tienen calidad insuficiente, además de no acertar con las estimaciones de tiempo y recursos inexactos para la construcción de los mismos.

Todos los métodos, herramientas y procedimientos que constituyen la Ingeniería del Software van orientados a un único fin: producir software de calidad.
En este tema introduciremos el concepto de calidad de software, primero a un nivel general como concepto y procesos a nivel de organización, viendo después cuáles son los factores que influyen en la calidad del software, cómo medirlos, y por último qué estrategias podemos utilizar para conseguir un software de mayor calidad.

Aunque en el siguiente apartado se trata de la calidad del software a nivel de empresa, haré referencia en el tema principalmente a calidad de software a nivel de proyecto (factores, métricas y estrategias)
Factores operativos de la calidad del software.
Los factores operativos son aquellos que afectan al uso del software:
Corrección: el software cumple las especificaciones
Fiabilidad: grado en el que el software es confiable, es decir, no tiene fallos
Eficiencia: necesidad de recursos software y hardware del producto
Seguridad: grado en el que puede controlarse el acceso al software y a los datos
Facilidad de uso: grado de esfuerzo necesario para utilizar el software
Factores de mantenimiento de la calidad del software.

Los factores de mantenimiento son aquellos que se aplican a la capacidad de modificación del software:
Flexibilidad: esfuerzo necesario para modificar un programa
Facilidad de prueba: esfuerzo requerido para realizar las pruebas de un programa
Facilidad de mantenimiento: esfuerzo requerido para localizar y reparar un error
Factores evolutivos
Los factores evolutivos son aquellos que indican si el software se puede trasladar con facilidad a otra máquina o a otro producto de base (SO, SGBD, etc.), o incrementar sus prestaciones:
Portabilidad: facilidad para migrar el software de un entorno de operación a otro
Capacidad de reutilización: grado en el que un programa o parte del mismo se puede utilizar en otras aplicaciones.
Capacidad de interoperación: esfuerzo necesario para que un software opere conjuntamente con otros sistemas

generalidades


Generalidades de la calidad

Se puede definir también como el conjunto de propiedades y características de un producto, proceso o servicio que le confieren su aptitud para satisfacer las necesidades establecidas o implícitas.
Este último enfoque posee la ventaja de incluir no solo los problemas de calidad clásicos (pérdidas sociales debidas a la variabilidad) sino los actuales (pérdidas sociales debidas a los efectos secundarios nocivos, problemas del Medio ambiente, etc.).¤
El aseguramiento de calidad proporciona la confianza adecuada de que un producto, ya sea bien o servicio, satisface los requisitos dados sobre la calidad y genera mayor rentabilidad a la organización, dado que es más beneficioso prevenir los fallos de calidad que corregirlos o lamentarlos.


La gestión de calidad comprende ocho principios fundamentales:

·         Principio 1: Enfoque al Cliente
·         Principio 2: Liderazgo
·         Principio 3: Participación del personal
·         Principio 4: Enfoque basado en procesos
·         Principio 5: Enfoque de sistema para la gestión
·         Principio 6: Mejora continua
·         Principio 7: Enfoque basado en hechos para la toma de decisión
·         Principio 8: Relaciones mutuamente beneficiosas con el proveedor

Métricas



Las métricas son cualquier medida o conjunto de medidas destinadas a conocer o estimar el tamaño u otra característica de un software o un sistema de información, generalmente para realizar comparativas o para la planificación de proyectos de desarrollo.
El objetivo principal de la ingeniería del software es producir un producto de alta calidad. Para lograr este objetivo, los ingenieros del software deben utilizar mediciones que evalúen la calidad del análisis y los modelos de desafío, el código fuente, y los casos de prueba que se han creado al aplicar la ingeniería del software. Para lograr esta evaluación de la calidad en tiempo real, el ingeniero debe utilizar medidas técnicas que evalúan la calidad con objetividad, no con subjetividad.

Tipos de métricas
•Usabilidad: aquellos criterios o variables que son medibles de forma objetiva. Mientras que la interpretación de una opinión es un análisis cualitativo o subjetivo por parte del experto, la interpretación de datos objetivos responde a un análisis cuantitativo.
•Calidad: se aplica a todos los aspectos de calidad de software, los cuales deben ser medidos desde diferentes puntos de vista como el análisis, construcción, funcional, documentación, métodos, proceso, usuario, entre otros.
•De punto de función de Albrecht: Miden la aplicación desde una perspectiva del usuario dejando de lado los detalles de codificación, estos evalúan con fiabilidad.
•De mantenibilidad del software: miden aspectos de la complejidad y la calidad de los programas ya que existe una alta correlación entre la complejidad y la mantenibilidad (a mayor complejidad menor mantenibilidad) y entre la calidad y la mantenibilidad (a mayor calidad mayor mantenibilidad – y viceversa –)

miércoles, 6 de diciembre de 2017

diagrama de secuencias


diagrama de secuencias

Un diagrama de secuencias muestra la interacción de un conjunto de objetos de una aplicación a través del tiempo, en el cual se indicaran los módulos o clases que formaran parte del programa y las llamadas que se hacen cada uno de ellos para realizar una tarea determinada, por esta razón permite observar la perspectiva cronológica de las interacciones.

Es importante recordar que el diagrama de secuencias se realiza a partir de la descripción de un caso de uso.

El objetivo de UML es ser capaz de describir el comportamiento de un sistema, subsistema u operación particular mediante un diagrama de secuencia el cual muestra la interacción de un conjunto de objetos en una aplicación a través del tiempo y se modela para cada caso de uso, esto facilita como se distribuyen las tareas entre los componentes.
Resultado de imagen para diagrama de secuencias

diagrama de clases


Un diagrama de clase

Un diagrama de clase es el corazón de UML. Representa los propósitos fundamentales de UML porque separa los elementos de diseño de la codificación del sistema. UML ha sido establecido como un modelo estandarizado para describir un enfoque de programación orientado a objetos. Dado que las clases son el bloque de construcción de los objetos, los diagramas de clase son los bloques de construcción de UML.
Los componentes de creación de diagramas en un diagrama de clase pueden representar las clases que realmente van a ser programadas, los objetos principales, o las interacciones entre clases y objetos. La biblioteca de formas UML en Lucidchart puede ayudarle a crear casi cualquier diagrama de clase personalizado.
Resultado de imagen para diagrama de clases

casos de uso


casos de uso
Es una descripción de los pasos o las actividades que deberán realizarse para llevar a cabo algún proceso. Los personajes o entidades que participarán en un caso de uso se denominan actores. En el contexto de ingeniería del software, un caso de uso es una secuencia de interacciones que se desarrollarán entre un sistema y sus actores en respuesta a un evento que inicia un actor principal sobre el propio sistema.

Los diagramas de casos de uso sirven para especificar la comunicación y el comportamiento de un sistema mediante su interacción con los usuarios y/u otros sistemas. O lo que es igual, un diagrama que muestra la relación entre los actores y los casos de uso en un sistema.

Una relación es una conexión entre los elementos del modelo, por ejemplo la especialización y la generalización son relaciones. Los diagramas de casos de uso se utilizan para ilustrar los requisitos del sistema al mostrar cómo reacciona a eventos que se producen en su ámbito o en él mismo.

introduccion UML

Imagen relacionada
introduccion UML

Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema.es un "lenguaje de modelado" para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.Se puede aplicar en el desarrollo de software gran variedad de formas para dar soporte a una metodología de desarrollo de software 

Es importante resaltar que UML es un lenguaje de modelado para especificar o para describir métodos o procesos. Se utiliza para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.

viernes, 20 de octubre de 2017

conferencia ciermmi

conferencia ciermmi

En la conferencia ciermmi uno un gran numero de ponentes en el cuales se habló de diferentes temas uno de los que estuve y los que más me llamo más la atención fue una aplicación dedicada a las marías (mujeres indígenas) las cuales venden sus muñecas en la calle esta aplicación fue hecha con el fin que pudiera vender sus artesanías de una manera más productiva esta seria capas de sustentarse por medio de las ventas que se generaran y bien estas obtener más ingresos en lo personal pienso que este tipo de ideas son las que motivan a la personas a crear software la cual puedan ayudar a las personas que más lo necesitan

Se presentó otro proyecto el cual era referente a la disminución de costos en cuanto a los sistemas climáticos este era una especie de ahorrados solar el cual tenía un diseño que era ergonómico y capas de retener calor y energía sin gastar ningún peso, estos tipos de proyectos son muy beneficiosos para las personas que quieres reducir dinero y ahorrarlo

El ultimo no era como tal un proyecto pero era una conferencia informática el cual acudieron muchas personas de diversos lugares el cual eran muy importantes y con este fin poder resolverle las dudas a estas personas que ya tenían logros reconocidos a lo largo de la república y fuera de ellas fue muy interesante porque nunca había visto este tipo de personas ni estado cerca de ellas y mucho menos que era lo que hacían esto motiva a ver que los proyecto no son tan difíciles como creen ni la patentes ya que varios tenía la suya y el cual oriente a tener una mayor motivación a la hora de querer crear una
Resultado de imagen para ciermmi 2017
Link de cermmi


Especificación de requisitos de software

Especificación de requisitos de software

Es una descripción completa del comportamiento del sistema que se va a desarrollar. Incluye un conjunto de casos de uso que describe todas las interacciones que tendrán los usuarios con el software. Los casos de uso también son conocidos como requisitos funcionales. Además de los casos de uso, la ERS también contiene requisitos no funcionales (o complementarios). Los requisitos no funcionales son requisitos que imponen restricciones en el diseño o la complementación, como, por ejemplo, restricciones en el diseño o estándares de calidad.

El objetivo principal de la Especificación de Requisitos del Sistema (ERS) es servir como medio de comunicación entre clientes, usuarios, ingenieros de requisitos y desarrolladores.

Tipos de requisitos

·         Requisitos de Usuarios: Necesidades que los usuarios expresan verbalmente
·         Requisitos del Sistema: Son los componentes que el sistema debe tener para realizar determinadas tareas

·         Requisitos Funcionales: Servicios que el sistema debe proporcionar al finalizar el sistema

http://www.juntadeandalucia.es/servicios/madeja/contenido/recurso/407

obtención y análisis de requerimiento

Obtención y análisis de requerimientos.
En esta actividad, los ingenieros de software trabajan con los clientes y los usuarios finales del sistema para determinar el dominio de la aplicación, qué servicios debe proporcionar el sistema, el rendimiento requerido del sistema, las restricciones hardware, etcétera.

Forma de averiguar lo que el cliente propone
·         Revisar la situación actual.
·         Trabajar en el ámbito del usuario para comprender el contexto, los problemas y las relaciones.
·         Entrevistar a los usuarios actuales y potenciales.
·         Realizar un video para mostrar cómo podría funcionar el nuevo sistema.
·         Investigar en documentos existentes.
·         Conducir tormentas de ideas con los usuarios actuales y potenciales.
·         Observar las estructuras y los patrones.

La obtención y análisis de requerimientos pueden afectar a varias personas de la organización. El término stakeholder (sin traducción al español) se utiliza en la Ingeniería de Software para referirse a cualquier persona o grupo que se verá afectado por el sistema, directa o indirectamente.

Fuentes de requerimientos
http://www.conocimientosweb.net/dcmt/ficha25211.html



lunes, 18 de septiembre de 2017

video


ventajas y desventajas

Principales ventajas de las metodologías Ágiles

·         Rápida respuesta a los cambios. Al ser procesos evolutivos, los equipos de trabajo pueden implementar soluciones sobre la marcha. Ya no es necesario esperar hasta el final para corregir fallos.
·         Intervención del cliente en el proceso. El cliente interviene de una forma activa en cada una de las etapas del proceso
·         Entregas del producto a intervalos. Las entregas parciales o en bloques mejoran la optimización de recursos y optimizan las labores de seguimiento y control.

Desventajas
·         Fuerte dependencia de los líderes. Los equipos de trabajo dependen en buena medida del liderazgo de la persona responsable.
·         Falta de documentación. Las metodologías Agile no plantean alternativas a para la recolección de la información de los proyectos
·         Soluciones erróneas en etapas largas. Cuando las iteraciones tienden a ser muy largas, se corre el riesgo de que las soluciones esbozadas al inicio de las etapas no sean las correctas.

Principales ventajas de las metodologías Ágiles
·         Evaluación en cada fase que permite cambios de objetivos
·         Funciona bien en proyectos de innovación.
·         Es sencillo, ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el software.
·         Seguimiento detallado en cada una de las fases.
Principales desventajas de las metodologías Ágiles
·         La evaluación de riesgos es compleja
·         Excesiva flexibilidad para algunos proyectos
·         Estamos poniendo a nuestro cliente en una situación que puede ser muy incómoda para él.

·         Nuestro cliente deberá ser capaz de describir y entender a un gran nivel de detalle para poder acordar un alcance del proyecto con él.

sábado, 19 de agosto de 2017

CITIC 2017

Resultado de imagen para citic2017en este congreso "CITIC" se pudo apreciar las futuras tecnologías así como las nuevas innovaciones que se están aproximando en el campo tecnológico los ponentes mencionaron de tecnologías inimaginables  una de las tecnologías mas llamativas fue los computadores cuánticos en lo personal me llamo mucho la atención ya que es un ordenador sumamente potente capas de hacer cálculos superiores a los que se hayan visto antes en cada una de las salas se expuso una serie de innovaciones muy interesantes que ya tenían tiempo pero que la mayoría de personas no tenia conocimiento de ella por ende los ponentes demuestran lo asombro de utilizar duchas  tecnologías había personas muy influyentes de diferentes partes del mundo así como de España ,Colombia entre otros así como de otros estados donde explicaron su contribución a las tecnologías