miércoles, 14 de marzo de 2018

empresa de software


Con sede en Florida, Chetu es un proveedor global de servicios de la tecnología informática rentables y de alta calidad. Chetu ofrece una gama de conocimientos orientados a ayudar a los clientes a rediseñar y reinventar sus negocios para competir con éxito en un mercado en constante cambio. Gracias a su gran éxito en locaciones en Estados Unidos y Europa, han decidido expandir sus servicios a América Latina y proveer sus más efectivas prácticas de desarrollo de software de clase mundial.    Con amplia experiencia desde el año 2000 han logrado aceptar y ejercer cualquier reto tecnológico que se les presenta. Son pioneros en el modelo de servicios globales de desarrollo y soporte que implementa el enfoque 'Lo mejor de ambos mundos'​ al proporcionar soluciones de TI rentables y de alta calidad sin comprometer la interacción cara a cara con el cliente. Chetu se jacta de tener una de las tasas más altas de retención de clientes en la industria. Su profesionalidad y tenacidad les ha permito haber recibido distinguidos reconocimientos como; Mejores 5000 Empresas Privadas de Más Rápido Crecimiento por Inc. 5000, Mejor Lugar Para Trabajar 2018 por SFBJ, Mejor Empresa Especializada en Desarrollo de Software 2017 por US Business, entre otras

Cuadro comparativo de los modelos y metodologías de desarrollo de software

Cuadro comparativo de los modelos y metodologías de desarrollo de software 



Métodos y metodologías en el desarrollo de software.
Nombre.
Cascada
Espiral
Extreme Programming
Metodologías Ágiles
Descripción.
Básicamente, el estilo del modelo en cascada, es que no podrás avanzar a  la siguiente fase, si la anterior no se encuentra totalmente terminada, pues no tiene porque haber vuelta atrás.
Encontramos por fuera cuatro fases bien organizadas, las cuáles siempre deben llevar ese orden que se estipula desde el principio. Una determinación de objetivos, un análisis de riesgos, el desarrollo y las pruebas, junto con la planificación, la cual dependerá de los resultados de la iteración para saber como se actuará en la siguiente vuelta al espiral.
Esta metodología es posiblemente la más destacada de las metodologías ágiles y esto se debe a su gran capacidad de adaptación ante cualquier tipo de imprevisto que surja. Pues la idea no es mantener ciertos requisitos desde que se está elaborando el proyecto, sino que durante el proceso, estos vayan cambiando o vayan evolucionando gradualmente sin complicaciones. Básicamente los creadores de esta metodología XP, consideran que es mejor adaptarte en el proceso a los requisitos que vayan apareciendo, que iniciar con requisitos y desarrollar un proyecto en base a eso.
Las metodologías ágiles como su nombre lo indica es que pretenden reducir y optimizar el tiempo empleado en el desarrollo del sistema.
Algunos ejemplos de estas metodologías son: Scrum, Kamban,XP.
Etapas.
1.       Análisis de requisitos.
2.       Diseño del sistema.
3.       Diseño del programa.
4.       Codificación.
5.       Ejecución de pruebas.
6.       Verificación.
7.       Mantenimiento.
1.       Determinar objetivo.
2.       Análisis de riesgo.
3.       Desarrollar, validar y probar.
4.       Planificación.
1.       Tipo de desarrollo iterativo e incremental.
2.       Pruebas unitarias.
3.        Trabajo en equipo.
4.       Alguien del equipo deberá trabajar como cliente.
5.       Corrección de errores.
6.       Reestructuración del código.
7.       El código es de todos.
8.       Código simple es la clave.
Al ser un conjunto de metodologías es primordial identificar que metodología emplear para así poder desglosar
Roles.
Especificación, desarrollo, validación y evolución.  En todo ello interviene el analista, diseñador y el jefe del proyecto así como también el grupo de desarrolladores.
Toda la atención está enfocada hacia el análisis de riesgos, pues el objetivo primario será reducir los riesgos.  Los roles principales recaen en el analista, desarrolladores, el diseñador y el jefe del proyecto.
·         Programador.
·         Tester.
·         Tracker.
·         Entrenador.
·         Consultor.
·         Gestor.
·         Programador.
·         Tester.
·         Tracker.
·         Entrenador.
·         Consultor.
·         Gestor.
Ventajas.
·         Permite llevar una documentación detallada a cada paso que se realiza desde el análisis y definición de los requerimientos hasta el buen funcionamiento y mantenimiento del programa desarrollado.
·         Permite identificar elementos abstractos que son fundamentales para el software y sus relaciones.
·         Permite desarrollar una correcta implementación inicial la cual puede irse refinando hasta obtener un sistema adecuado.
·         Reduce riesgos en el proyecto.
·         Incorpora modelos de calidad.
·         Da lugar a una programación sumamente organizada.
·         Ocasiona eficiencias en el proceso de planificación y pruebas.
·          Cuenta con una tasa de errores muy pequeña.
·         Propicia la satisfacción del programador.
·         Permite ahorrar mucho tiempo y dinero.
·         Facilita los cambios.
·         Fomenta la comunicación entre los clientes y los desarrolladores.
·         Los modelos de desarrollo suelen ser muy flexibles.
·         El proyecto se divide en pequeñas tareas desarrolladas por grupos independientes que trabajan simultáneamente e interaccionan entre ellos.
·         Es especialmente útil cuando el objetivo del proyecto no está claramente definido
Desventajas.
·         Al ser una metodología antigua consta de mucha documentación y esto hace que resulte tediosa.
·         Requiere de frecuentes pruebas y reuniones lo cual implica tiempo extra y que muchas veces hace que el proyecto se detenga en ciertos momentos.
·         Este modelo resulta muy costoso.
·         Genera mucho tiempo en el desarrollo del sistema.
·         Requiere alta experiencia en cuando a la identificación de riesgos en el sistema.
·         Es recomendable emplearla solo en proyectos a corto plazo.
·         En caso de fallar, las comisiones son muy altas.
·          Requiere de un rígido ajuste a los principios de XP.
·         Puede no siempre ser más fácil que el desarrollo tradicional.
·         Muestra una estructura muy débil.
·         la comunicación, la implicación personal y la colaboración se necesitan para garantizar el éxito del proyecto.
·         Son mucho más dependientes de la presencia de las mismas personas desde el principio hasta el final del proyecto.
Número de integrantes de los equipos.
No tiene límite pero se recomienda utilizarse solo en proyectos pequeños ya que resulta más ágil en ello.
No tiene límite pero el equipo debe contar con experiencia que permita reducir los riesgos del sistema.
Los necesarios de acuerdo a los roles y necesidades del proyecto.
Los necesarios de acuerdo a los roles y necesidades del proyecto.
¿En la construcción de qué tipo de aplicaciones se usa?
Aplicaciones de ámbito académico así como también en la industria de software.
Muy apto en el diseño de Sistemas operativos, Navegadores y controladores aeronáuticos.  
Industria financiera. El desarrollo rápido de software lo suficientemente flexible como para adaptarse a los continuos cambios de la industria sería vital.
De todo tipo ya que estas son flexibles y se adaptan más a las necesidades actuales.
Nombre de la empresa que la emplea.

Google
BBVA
Toyota, VUHL,BBC, BellSouth, British Telecom, DoubleYou, Motorola, Nokia.
País que emplea dicha metodología.
EUA, Alemania, México,España.
EUA, Alemania, México,Francia, etc
EUA, Alemania, México,Rusia, etc.
La mayoría de paísesde primer mundo.




Referencias
S.A (septiembre del 2007) Modelos de desarrollo de software. Recuperado el 14 de marzo del 2018 de http://moodle2.unid.edu.mx/dts_cursos_mdl/lic/IEL/SI/AM/06/Modelos.pdf

  S.A.(S.F.), Metodologías del Desarrollo de Software. Recuperado el: 14 de marzo del 2018 de https://okhosting.com/blog/metodologias-del-desarrollo-de-software/#Cuales_son_modelos_del_Ciclo_de_vida_del_Software_tradicionales


 Valdéz (S.F) modelos y metodología para del desarrollo de software. Recuperado el 14 de marzo del 2018 de http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm


meteorologistas

 

Meteorologistas 

 

A mediados de los años 80, no existían los ingenieros de software, y los de sistemas se dedicaban a la parte de equipos. Los que programaban en esa época portaban títulos en otras disciplinas como la ingeniería electrónica e industrial. 


Hoy hay una clara definición entre los ingenieros de sistemas y los ingenieros de software. Los primeros piensan en la solución completa, el diagnóstico del problema, la formulación de la solución. Los segundos identifican la arquitectura del software requerida para la implementación de la solución, toman en consideración la interacción con las bases de datos, y elaboran el programa. Sin embargo, no están pendientes de procedimientos, cultura organizacional ni nada por el estilo.

Con el movimiento de certificación ISO 9000 y en general la implementación de Sistemas de Gestión de Calidad se generó una tendencia con enfoque en los procesos para desarrollar aplicaciones. Se requería un desarrollo bastante estructurado e incluyen procesos complejos y documentados. Este esquema es ideal para grupos de desarrollo grandes, tanto en tamaño como en complejidad, porque resuelve problemas de comunicación. Para equipos de desarrollo pequeño, esta modalidad se convierte más bien en un lastre. Hoy además tenemos el marco de referencia que propone el CMMI, todavía con mayor alcance y más complejo que los procesos de ISO 9000 pero más pertinentes.





J. Daccach.(S.F.) Tendencias en el Desarrollo de Software. Recuperado el 7 de marzo del 2018 de http://www.deltaasesores.com/articulos/tecnologia/326-tendencias-en-el-desarrollo-de-software

¿Qué es un método de desarrollo de software?

 

¿Qué es un método de desarrollo de software?


Un Método se compone de diversos aspectos que nos permitirán conseguir una meta o lograr un objetivo. Se define más claramente como un conjunto de herramientas, las cuales, utilizadas mediante las técnicas correctas, permiten la ejecución de procesos que nos llevarán a cumplir los objetivos que buscamos.

Un método de desarrollo de software es una forma de realizar software siguiendo técnicas, proceso para la obtención de un objetivo, ya que para realizar software existen muchos métodos para realizarlo algunos de forma más compleja otros de forma más fácil, esto ayudado a facilitar el desarrollo de software. Lo que se requiere es distribuirse el trabajo y realizar el software por partes análisis y diseño, implementación, pruebas, adaptar, mejorar, corregir si es que hay errores al final del software.
un ejemplo es el de la siguiente imagen:





S.A (30/12/2006). Metodologias de software. Recuperado el: 14 de marzo del 2018 de http://www.um.es/docencia/barzana/IAGP/Iagp2.html

viernes, 9 de marzo de 2018

¿Qué es un metodología de desarrollo de software?


¿Qué es un metodología de desarrollo de software?



Las metodologías de desarrollo de software son un conjunto de procedimientos, técnicas y ayudas a la documentación para el desarrollo de productos software.

Es como un libro de recetas de cocina, en el que se van indicando paso a paso todas las actividades a realizar para lograr el producto informático deseado, indicando además qué personas deben participar en el desarrollo de las actividades y qué papel deben de tener. Además detallan la información que se debe producir como resultado de una actividad y la información necesaria para comenzarla.

Actualmente es imprescindible considerar los riesgos, aunque habitualmente las empresas, no han sido concienciadas de los riesgos inherentes al procesamiento de la información mediante ordenadores, a lo que han contribuido, a veces, los propios responsables de informática, que no han sabido explicar con la suficiente claridad las consecuencias de una política de seguridad insuficiente o incluso inexistente. Por otro lado, debido a una cierta deformación profesional en la aplicación de los criterios de coste/beneficio, el directivo desconocedor de la informática no acostumbra a autorizar inversiones que no lleven implicito un beneficio demostrable, tangible y mensurable.

Las técnicas indican cómo debe ser realizada una actividad técnica determinada identificada en la metodología. Combina el empleo de unos modelos o representaciones gráficas junto con el empleo de unos procedimientos detallados. Se debe tener en consideración que una técnica determinada puede ser utilizada en una o más actividades de la metodología de desarrollo de software. Además se debe tener mucho cuidado cuando se quiere cambiar una técnica por otra.
cocina, en el que se van indicando paso a paso todas las actividades a realizar para lograr el producto informático deseado, indicando además qué personas deben participar en el desarrollo de las actividades y qué papel deben de tener. Además detallan la información que se debe producir como resultado de una actividad y la información necesaria para comenzarla.

Referencias
Metodología de desarrollo de software. Actualizado 2006/12/30.consultado el 9 de marzo de 2018

lunes, 15 de enero de 2018

Error informático





Osprey (2000). Osprey es un híbrido entre avión y helicóptero de propósito militar. En diciembre del 2000, uno de estos ejemplares tuvo un accidente. Uno de los sistemas hidráulicos fallo y el avión se estrelló en un pantano matando a toda la tripulación. Actualmente se conoce que el origen del problema estaba en el software pero se sigue sin conocer el motivo exacto

https://www.genbetadev.com/seguridad-informatica/bugs-en-el-software-i-accidentes-epicos-por-fallos-en-el-software
http://www.cosasexclusivas.com/2009/06/v-22-osprey-el-hibrido-helicoptero-y.html