Archivo del sitio

Modelo Orientado a Objetos – James Martin

Modelando el mundo real

mooCuando se analizan sistemas se crean modelos del área de la aplicación en cuestión. El modelo representa un aspecto del mundo real y se construye de modo que ayude a comprender a éste. El modelo debe ser mucho más sencillo que la realidad, es una abstracción de ésta, se puede lidiar con el modelo, cosa en muchas situaciones no sería posible hacer en el mundo real.

En el análisis orientado a objetos se modela en el mundo real en términos de tipos de objetos y lo que les ocurre a éstos, la forma de construir sistemas:

  • El análisis crea un modelo en el dominio de la aplicación.
  • El modelo se convierte en un diseño
  • El diseño se convierte en código.

 El modelo debe representar la forma en que los usuarios finales perciben el área de dominio en cuestión, en la medida de lo posible el modelo debe ser presentado de forma que sea comprensible para los usuarios finales.

Los modelos construidos en el análisis orientado a objetos reflejan la entidad del mundo real de forma más natural que en el análisis tradicional de sistemas, ya que el mundo está formado por objetos y eventos que cambian el estado de dichos objetos. Utilizando las técnicas orientadas a objetos, se construye software que modela el mundo real de manera más fiel, entonces, cuando el mundo real cambia, el software es más fácil de cambiar, lo que representa una verdadera ventaja.

Modelo Orientado a Objetos

Este Modelo para el desarrollo de Software es mejor conocido como Modelo RAD (Rapid Application Development) o Desarrollo Rápido de Aplicaciones,   y fue creado por James Martin en 1991. Está orientado a disminuir radicalmente el tiempo necesario para diseñar e implementar Sistemas de Información, el RAD cuenta con una participación intensa del usuario, sesiones JAD, prototipaje, herramientas CASE integradas y generadores de código. El RAD requiere cuatro ingredientes esenciales: gerencia, gente, metodologías y herramientas.

Este Modelo consta de 4 etapas

  1. Etapa de Planificación de Requisitos: Esta etapa requiere que los usuarios con un vasto conocimiento de los procesos de la compañía determinen cuáles serán las funciones del sistema. Debe darse una discusión estructurada sobre los problemas de la compañía que necesitan solución.
  2. Etapa de Diseño: Esta consiste de un análisis detallado de las actividades de la compañía en relación al sistema propuesto. Los usuarios participan activamente en talleres bajo la tutela de los profesionales de la informática. En ellos descomponen funciones y definen entidades asociadas con el sistema. Una vez se completa el análisis se crean los diagramas que definen las alteraciones entre los procesos y la data.
  3. Construcción: En la etapa de construcción el equipo de desarrolladores trabajando de cerca con los usuarios finalizan el diseño y la construcción del sistema. La construcción de la aplicación             consiste de una serie de pasos donde los usuarios tienen la oportunidad de afirmar los requisitos y repasar los resultados.
  4. Implementación: Esta etapa envuelve la implementación del nuevo producto y el manejo de cambio del viejo al nuevo sistema. Se hacen pruebas comprensivas y se adiestran los usuarios.

Ventajas de su aplicación en organizaciones

  • Ahorro dramático de tiempo durante el desarrollo del sistema. Mayor velocidad y menores costos pueden repercutir en la calidad del sistema (p.e., debido a falta de atención en controles internos).
  • Permite cambiar rápidamente el diseño de los sistemas cuando los usuarios lo demandan
  • Poca diferencia entre los requerimientos del usuario y las especificaciones del sistema.
  • Une a los usuarios y a los diseñadores. Permite proporcionar una descripción completa del problema, legible y revisable por las partes interesadas y verificables contra la realidad.
  • Utiliza el diagrama orientado a objetos como representación gráfica del sistema.

maxresdefault


Referencias

Consultados el día 20 de mayo de 2016 de la WWW:

Tarjeta Perez

Banner De todo un Poco (1) 600 px

Anuncios

XP – Kent Beck

xp-2La programación extrema o extreme programming (XP) es un enfoque de la ingeniería de software formulado por Kent Beck, autor del primer libro sobre la materia, Extreme Programming Explained: Embrace Change (1999). Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.

¿Qué es?

Siguiendo el mismo orden de ideas,  es una metodología ágil centrada en potenciar las relaciones interpersonales como clave para el éxito en desarrollo de software, promoviendo el trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y propiciando un buen clima de trabajo. XP se basa en realimentación continua entre el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes, simplicidad en las soluciones implementadas y coraje para enfrentar los cambios, XP se define como especialmente adecuada para proyectos con requisitos imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.

Objetivos

Por otra parte los objetivos son:

  • Establecer las mejores prácticas de Ingeniería de Software en los desarrollo de proyectos.
  • Mejorar la productividad de los proyectos.
  • Garantizar la Calidad del Software desarrollando, haciendo que este supere las expectativas del cliente,

Contexto

En relación al contexto está:

  • cliente bien definido;
  • los requisitos pueden (y van a) cambiar;
  • grupo pequeño y muy integrado (máximo 12 personas);
  • equipo con formación elevada y capacidad de aprender.

Características

Sus principales características son: Metodología basada en prueba y error; fundamentada en valores y prácticas; expresada en forma de 12 prácticas; conjunto completo; se soportan unas a otras; son conocidas desde hace tiempo. La novedad es juntarlas. Ahora bien el estilo XP está orientado hacia quien produce y usa el software, reduce el costo del cambio en todas las etapas del ciclo de vida del sistema, Combina las que han demostrado ser las mejores prácticas para desarrollar software, y las lleva al extremo.

Prácticas básicas

Es importante destacar que para que todo esto funcione, la programación extrema se basa en doce “prácticas básicas” que deben seguirse al pie de la letra:

  1. Equipo completo: Forman parte del equipo todas las personas que tienen algo que ver con el proyecto, incluido el cliente y el responsable del proyecto.
  2. Planificación: Se hacen las historias de usuario y se planifica en qué orden se van a hacer y las mini-versiones. La planificación se revisa continuamente.
  3. Test del cliente: El cliente, con la ayuda de los desarrolladores, propone sus propias pruebas para validar las mini-versiones.
  4. Versiones pequeñas: Las mini-versiones deben ser lo suficientemente pequeñas como para poder hacer una cada pocas semanas. Deben ser versiones que ofrezcan algo útil al usuario final y no trozos de código que no pueda ver funcionando.
  5. Diseño simple: Hacer siempre lo mínimo imprescindible de la forma más sencilla posible. Mantener siempre sencillo el código.
  6. Pareja de programadores: Los programadores trabajan por parejas (dos delante del mismo ordenador) y se intercambian las parejas con frecuencia (un cambio diario).
  7. Desarrollo guiado por las pruebas automáticas: Se deben realizar programas de prueba automática y deben ejecutarse con mucha frecuencia. Cuantas más pruebas se hagan, mejor.
  8. Integración continua: Deben tenerse siempre un ejecutable del proyecto que funcione y en cuanto se tenga una nueva pequeña funcionalidad, debe recompilarse y probarse. Es un error mantener una versión congelada dos meses mientras se hacen mejoras y luego integrarlas todas de golpe. Cuando falle algo, no se sabe qué es lo que falla de todo lo que hemos metido.
  9. El código es de todos: Cualquiera puede y debe tocar y conocer cualquier parte del código. Para eso se hacen las pruebas automáticas.
  10. Normas de codificación: Debe haber un estilo común de codificación (no importa cual), de forma que parezca que ha sido realizado por una única persona.
  11. Metáforas: Hay que buscar unas frases o nombres que definan cómo funcionan las distintas partes del programa, de forma que sólo con los nombres se pueda uno hacer una idea de qué es lo que hace cada parte del programa. Un ejemplo claro es el “recolector de basura” de java. Ayuda a que todos los programadores (y el cliente) sepan de qué estamos hablando y que no haya mal entendidos.
  12. Ritmo sostenible: Se debe trabajar a un ritmo que se pueda mantener indefinidamente. Esto quiere decir que no debe haber días muertos en que no se sabe qué hacer y que no se deben hacer un exceso de horas otros días. Al tener claro semana a semana lo que debe hacerse, hay que trabajar duro en ello para conseguir el objetivo cercano de terminar una historia de usuario o mini-versión.

Ventajas y Desventajas

Para finalizar sus principales ventajas son:

  • Programación organizada.
  • Menor tasa de errores.
  • Satisfacción del programador

Sus desventajas:

  • Es recomendable emplearlo solo en proyectos a corto plazo.
  • Altas comisiones en caso de fallar.

modelos agiles


Referencias

Consultados el día 21 de Mayo de 2016 de la WWW:

Tarjeta Rocha

Banner De todo un Poco (1) 600 px

Ciclo de Vida de James Senn

Las metodologías utilizadas para la generación de productos informáticos y de sistemas, presentan ventajas a través del dinamismo y flexibilidad de las mismas para la corrección de errores en los productos a lo largo de su aplicación, a su vez son estrategias que facilitan a los desarrolladores el establecimiento de una propuesta basada en las necesidades de los clientes; es común que en las empresas se utilicen las propuestas de autores del área para dar respuesta a las necesidades de los clientes.

Todas las metodologías existentes, así como la que se presenta, se basan en la metodología clásica o en cascada, en Venezuela se enseñan, en los recintos universitarios y centros de educación especializada,  propuestas por diversos autores, teniendo como principales lo sugerido por James Senn y a Kendall & Kendall. Por otra parte, se presentan, en algunos recintos, las metodologías de Jonás Montilva y de Juan Lloréns Fabregás, como parte de las propuestas hechas para el desarrollo de productos informáticos.

Sin embargo, lo que normalmente se hace es presentar las metodologías para que el analista ponga en práctica la que más le sea conveniente, tomando elementos de cada una de ellas; esto se debe a que en una organización o empresa, el análisis y diseño de sistemas de información incluye el estudio de la situación de dicho sistema, con la finalidad de observar cómo trabaja y a partir de ello decidir si es necesaria una mejora; el encargado de llevar a cabo esta acción es el analista de sistemas quien determina todos los aspectos de la situación actual de la empresa y levanta la información que sirve de base para la formulación de distintas estrategias de diseño.

A continuación se presenta la Metodología para el Análisis, desarrollo y diseño de Sistemas de Información propuesta por  el autor James Senn, producto de esa recopilación y de su experiencia.

Dicho autor expresa que un sistema como tal, se conoce como un todo unitario y organizado de procesos, procedimientos, tareas y métodos a nivel de tecnología y recursos humanos interdependientes, con los cuales una organización alcanza un objetivo organizado con el fin de generar información histórica actual y proyecciones futuras inclusive; por lo cual se plantea su desarrollo a través de seis fases funcionales:

  • Investigación preliminar,
  • determinación de requerimientos,
  • diseño del sistema,
  • desarrollo del sistema,
  • pruebas del sistema, e
  • implantación.

A su vez, plantea que existen tres estrategias para el desarrollo de sistemas: el método clásico del ciclo de vida de desarrollo de sistemas, el método de desarrollo por análisis estructurado y el método de construcción de prototipos de sistemas. Cada una de estas estrategias tienen un uso amplio en cada una de los diversos tipos de empresas que existen, y resultan efectivas si son aplicadas de manera adecuada. Estas estrategias ofrecen una serie de características que son importantes destacar:

  1. Se define el sistema como un medio organizado de proporcionar información pasada, presente y hasta futura (proyecciones) relacionada con las operaciones internas y el conocimiento externo de la organización
  2. Se establece que el sistema sigue una estructura bien organizada y claramente planteada con el fin de emitir y generar información histórica, actual y proyecciones futuras inclusive, todo esto con la espina vertebral de las operaciones llevadas a cabo por la organización.
  3. El sistema se considera como un todo unitario y organizado de procesos, procedimientos, tareas, métodos y recursos materiales, tecnológicos y humanos interdependientes, de que se vale una organización para alcanzar un objetivo, y es fácilmente identificable por los límites de su medio ambiente.

Analisis y diseño de sistemas de información - Senn James (2da edición)


Referencias

Tarjeta Ordonez

Banner De todo un Poco (1) 600 px

Ciclo de Vida de Desarrollo de Sistemas – Kendall & Kendall

Analisis.y.Diseno.de.Sistemas.8ed_Kendall

Kenneth E. Kendall es un distinguido profesor de Management en la Escuela de Negocios-Camden, la Universidad de Rutgers. Él es uno de los fundadores de la Conferencia Internacional sobre Sistemas de Información (ICIS) y miembro del Instituto de Ciencias de la Decisión (DSI). Kendall ha sido nombrado como uno de los 60 mejores investigadores de MIS más productivos del mundo, y fue galardonado con la base de plata de IFIP. Kendall ha publicado más de 90 artículos de investigación. Se desempeñó como Presidente del Programa para ambos (Conferencia de las Américas sobre Sistemas de Información) DSI y AMCIS. Recientemente ha participado como co-autor de un texto, Análisis de Sistemas y Diseño, octava edición, publicado por Prentice Hall y Planificación de Proyectos y Análisis de Requerimientos de Sistemas de Información para el Desarrollo. Se ha desempeñado como editor asociado de Ciencias de la Decisión y el Diario de Gestión de Recursos de Información. La investigación del profesor Kendall se centra en el estudio de empujar y tirar las tecnologías, las estrategias de comercio electrónico y el desarrollo de nuevas herramientas para el análisis y diseño de sistemas.

Julie E. Kendall fue honrada como miembro del Círculo inaugural de Compadres para el Proyecto de doctorado iniciado por la Fundación KPMG, que ayuda a los estudiantes de doctorado de las minorías. Ella co-editó el volumen humano, organizacional, y las dimensiones sociales de los Sistemas de Información para el Desarrollo. Los intereses de la enseñanza de la Dra. Julie Kendall incluyen cuestiones estratégicas globales en el comercio electrónico y el análisis y el diseño para el comercio electrónico y los sistemas de información tradicionales sistemas. Julie se desempeñó como miembro del Consejo Asesor del Centro de Excelencia en la Enseñanza, la Universidad de Rutgers-Camden, de 1992 a 2003. Julie recibió un Premio de Ciencias de la Decisión Instituto de Innovación Docente en 1992.

“El ciclo de vida del desarrollo de sistemas (SDLC, Systems Development Life Cycle) es un enfoque por fases para el análisis y el diseño cuya premisa principal consiste en que los sistemas se desarrollan mejor utilizando un ciclo especifico de actividades del analista y el usuario.” (Kendall & Kendall).

Según esta metodología el ciclo de vida de un Sistema creada por estos dos autores consta de siete partes: Cada fase se explica por separado pero nunca se realizan como pasos aislados, más bien es posible que algunas actividades se realicen de manera simultánea, y algunas de ellas podrían repetirse. Estas etapas son:

ciclo kendall

  1. Identificación de problemas, oportunidades y objetivos:en esta etapa se deberá descubrir lo que la organización intenta realizar, luego determinar si el uso de los sistemas de información apoyaría a la organización para alcanzar sus metas.
  2. Determinación de los requerimientos de información:Esto se hace a partir de los usuarios particularmente involucrados, para determinar los requerimientos de información dentro de una organización pueden utilizarse diversos instrumentos, los cuales incluyen: muestreo, el estudio de los datos y formas usadas para la organización, la entrevista, los cuestionarios; la observación de la conducta de quien tomó las decisiones.
  3. Análisis de las necesidades del sistema:Se analizan las necesidades propias del sistema. También se analizan las decisiones estructuradas por realizar, que son decisiones donde las condiciones, condiciones alternativas, acciones y reglas de acción podrán determinarse.
  4. Diseño del sistema recomendado:Se usa la información recolectada con anterioridad y se elabora el diseño lógico de sistemas de información, esta etapa también incluye el diseño de los archivos o la base de datos que almacenará aquellos datos requeridos por quien toma las decisiones en la organización.
  5. Desarrollo y documentación del software:Dentro de las técnicas estructuradas para el diseño y documentación del software se tienen: el método HIPO, los diagramas de flujo, los diagramas Nassi-Schneiderman, los diagramas Warnier-Orr y el pseudocódigo es aquí donde se transmite al programador los requerimientos de programación.
  6. Pruebas y mantenimiento del sistema:Todo sistema de información debe probarse antes de ser utilizado, ya que el costo es menor si se detectan los problemas antes de que entre en funcionamiento.
  7. Implantación y evaluación del sistema:Esta es la última etapa del desarrollo del sistema, esto incluye el adiestramiento que el usuario requerirá. Uno de los criterios fundamentales que debe satisfacerse, es que el futuro usuario utilice el sistema desarrollado.

De esta forma, los sistemas de información generalmente automáticos se elaborarían de una forma más sencilla, estructurada y ordenada, siguiendo un mismo patrón como herramienta para solucionar los problemas existentes en las diferentes organizaciones.


Referencias

Revisados en la WWW el 20 de mayo del 2016

Tarjeta Pernia

Banner De todo un Poco (1) 600 px

Desarrollo de Sistemas de Información bajo enfoque Incremental – Luis Castellanos

portada-desarrollo-de-sistemas

Una metodología incremental presenta la ventaja de ser dinámica y flexible. Permite usar las salidas de las etapas precedentes, como entradas en las etapas sucesivas, y facilita corregir cualquier error detectado o llevar a cabo mejoras en los distintos productos que se generan a lo largo de su aplicación.

La Metodología Incremental presenta 6 etapas claramente definidas:

1 Estudio de Factibilidad

factibilidad

Es el determinar si es posible o no ofrecer solución automatizada a los problemas actuales.

A su vez comprende los siguientes pasos:  Descripción del Entorno; Identificación del Problema; Identificación de los Procedimientos Actuales; Presentación de las Posibles Soluciones al Problema; Validación de las Posibles Soluciones; Ventajas y Desventajas de cada Posible Solución; Cuadro comparativo de Costos y Tiempos de Ejecución;   Recomendación

2 Acciones Preliminares

equipo-de-trabajo

Son las acciones que llevamos a cabo antes de empezar el proyecto formalmente. Comprende dos pasos: Designación del equipo de Proyecto; y Elaboración de la Planificación del Proyecto

3 Análisis de Sistemas

tomar-foto1

El Análisis de Sistemas amplía resultados del Estudio de Factibilidad y define QUÉ va a hacer el nuevo Sistema. Presenta el Modelo del Sistema Actual.

Llevar a cabo el análisis de un sistema no es más que conocer la situación actual. De hecho, se amplían los resultados del Estudio de Factibilidad, y se hace un Modelo Lógico del Sistema Actual. La idea es “retratar” o tomar una “foto” del Sistema Actual.

Comprende la identificación de: Objetivo General y Objetivos Específicos del Sistema Propuesto; Usuarios; Diagrama de Flujo de Datos del Sistema Actual (DFD) o Lenguaje Unificado de Modelado (UML); Diccionario de Datos del Sistema Actual (DD);     Recopilación de Reportes del Sistema Actual; Elaboración de Procedimientos Propuestos.

4 Diseño de Sistemas

piezas-a-armar1

Es la etapa en la cual se presenta el Modelo del Sistema Propuesto.Es donde se pone de manifiesto la creatividad del Analista, para solucionar el problema planteado en el Estudio de Factibilidad, y cumplir con los Objetivos establecidos en el Análisis del Sistema.

Se elaboran de los siguientes instrumentos: Diagrama de Flujo de Datos del Sistema Propuesto (DFD) o UML; Diccionario de Datos del Sistema Propuesto (DD); Diagrama Entidad Relación (DER); Diagrama Estructurado de Datos (DED); Carta Estructurada (CE); Diagramas de Acción (DA); Diseño de Interfases; Selección de la plataforma de desarrollo

5 Programación

programador

Es la construcción de la aplicación de Software. Comprende la generación del Código fuente y código objeto, y la Creación de la Base de Datos.

6 Implantación

puesta-en-produccion

Incluye todas las actividades para poner un sistema en producción (entregar al usuario). Sus etapas son:

  • Prueba;
  • Conversión;
  • Instalación de Hardware y Software;
  • Adiestramiento de Usuarios;
  • Elaboración de la Documentación;
  • Entrega al Usuario.

etapas-de-la-metodologia-incremental-de-desarrollo-de-si


Referencias

Desarrollo de Sistemas de Información bajo enfoque Incremental

Libro en Amazon

Tarjeta Castellanos

Banner De todo un Poco (1) 600 px

Método Blue Watch – Jonás Montilva

Modalidades y enfoques actuales del desarrollo de software

ing swEl desarrollo de software es un proceso complejo y altamente especializado. Varios factores determinan la complejidad de este proceso. Dos de ellos son la amplia variedad de lenguajes y herramientas de programación que existen y la diversidad de tipos de aplicaciones que pueden desarrollarse con ellos. Esta diversidad va desde aplicaciones móviles, aplicaciones Web, software para redes sociales, videojuegos, hasta llegar a los sistemas de software de mayor complejidad, tales como los sistemas operativos y los compiladores.

Factores como los mencionados han hecho que el desarrollo de software requiera, por un lado, personal altamente capacitado y con niveles de especialidad cada vez mayores y, por el otro, métodos de desarrollo que sean efectivos y estén bien probados y debidamente documentados. En la actualidad, y en función del uso de métodos, el desarrollo de software se lleva a cabo bajo una de dos modalidades opuestas: artesanal o ingenieril. Dentro de la modalidad ingenieril, el desarrollo de software sigue, a su vez, dos enfoques diferentes: ágil y disciplinado.

 El desarrollo artesanal sigue siendo ampliamente utilizado por programadores solitarios (hackers) y organizaciones que desarrollan software para uso interno, en las cuales el software no es considerado un activo empresarial. Dos de sus características más distintivas son:

  1. no emplear método alguno o utilizar incorrectamente uno de los métodos conocidos y
  2. asumir erróneamente que un programador, por sí solo, tiene la capacidad, o es suficientemente competente, para ejecutar apropiadamente todas las actividades que van desde la identificación de requisitos hasta la prueba de aceptación del producto. El resultado de esta modalidad es impredecible y depende enteramente del programador.

ing sw1El desarrollo ingenieril emplea principios, conceptos, métodos, prácticas y técnicas basadas en la Ingeniería del Software. Esta modalidad tiene las siguientes características:

  1. el desarrollo de software, visto como un proceso, es de carácter grupal y no individual;
  2. este proceso se divide en sub-procesos claramente diferenciados, por ejemplo: especificación de requisitos, diseño arquitectónico, programación, pruebas y gestión del proyecto;
  3. cada sub-proceso demanda personal altamente especializado y capacitado para ejecutar debidamente sus actividades y
  4. el proceso es guiado por un método, modelo de procesos o marco metodológico que establece claramente que hacer, quien debe hacerlo y cómo debe hacerse. Los resultados de esta modalidad son claramente predecibles: productos de software de alta calidad.

Bajo la modalidad ingenieril existen dos enfoques contrapuestos: disciplinado y ágil. El enfoque disciplinado, también denominado pesado, hace énfasis en la calidad del producto, en el proceso de desarrollo y en la gestión del proyecto, a través de un plan claramente definido y previamente elaborado. Dos representantes de este enfoque son el método RUP y el marco metodológico Gray WATCH. El enfoque ágil o ligero, por el contrario, le da mayor importancia a cuatro aspectos, descritos en el Manifiesto Ágil: el individuo y sus interacciones, el software funcionando, la colaboración con el cliente y la respuesta al cambio. XP y SCRUM son los dos representantes más conocidos de este enfoque.

Estos dos enfoques tienen sus virtudes y sus deficiencias. En Ingeniería del Software, al igual que en otras disciplinas blandas, no existen “balas de plata” y tampoco son buenos los extremos. Por ello, ha emergido en los últimos años un enfoque intermedio que equilibra agilidad y disciplina. A este enfoque, lo hemos denominado enfoque balanceado, ágilmente disciplinado o disciplinadamente ágil. El Método Basado en Riesgos de Barry Boehm es el precursor de esta corriente.

 En la Universidad de Los Andes (Venezuela) hemos creado un método denominado Blue WATCH basado, también, en el enfoque balanceado. Este marco combina lo mejor de los enfoques ágil y disciplinado. Su versión más reciente es de conocimiento abierto y se describe en el portal http://www.e-praxis.com.ve.

Blue WATCH y el desarrollo de software ágilmente disciplinado

blue watch

En las líneas anteriores describimos las características y diferencias de los enfoques de desarrollo de software ágil y disciplinado. Destacamos allí la importancia de encontrar un balance entre ambos enfoques. Blue WATCH es un marco metodológico creado con la intención expresa de lograr dicho balance. Está orientado al desarrollo de aplicaciones Web y puede ser aplicado por grupos de desarrollo de mediano tamaño (3 – 10 personas).

Blue WATCH está compuesto de tres modelos que describen los elementos fundamentales del desarrollo de software: productos, procesos y actores. El modelo de productos identifica cada uno de los productos intermedios y finales que los actores elaboran durante el desarrollo de software. El modelo de procesos muestra el orden en que los procesos técnicos, de gestión y soporte deben ser ejecutados. El modelo de actores identifica y describe los roles que se requieren para producir software y las responsabilidades que ellos tienen en la ejecución de los procesos.

El desarrollo de una aplicación se inicia con dos procesos de gestión: Inicio del Proyecto y Planificación Inicial del Proyecto, los cuales producen, respectivamente, los informes de Visión del Producto y Plan Inicial del Proyecto.  Continúa con un conjunto de tres procesos técnicos: Análisis del Contexto o Dominio, Desarrollo Inicial de Requisitos y Diseño Inicial de la Aplicación. Estos procesos dividen la arquitectura de la aplicación en incrementos y producen los informes de Descripción del Problema, Documento de Requisitos y Documento de Diseño, respectivamente. Los dos últimos son refinados o actualizados en cada ciclo del conjunto de procesos iterativos denominado Desarrollo de Incrementos.

Siguen dos procesos de gestión encargados de planificar e iniciar el desarrollo de los incrementos: Planificación de Entregas y Planificación de la Iteración i-ésima. El desarrollo de los incrementos de la aplicación es un conjunto de procesos iterativos. Cada iteración produce un incremento o una parte de él. Cada iteración tiene una duración fija (1 – 6 semanas) y se inicia con el Refinamiento de Requisitos del Incremento y continúa con los procesos de Diseño Detallado del Incremento, Construcción del Incremento y Pruebas del Incremento. Una vez que el incremento ha sido codificado y probado, este es entregado a sus usuarios para que ellos ejecuten el proceso de Verificación y Validación, el cual cierra la i-ésima iteración, dando inicio a la siguiente iteración o a la Entrega Final de la Aplicación y el Cierre del Proyecto.

En paralelo a los procesos descritos anteriormente, se lleva a cabo un conjunto de procesos transversales que dan soporte a la gestión del proyecto; estos son: Gestión de Requisitos, Verificación y Validación de Productos, Gestión de la Configuración del Software y Gestión de Requisitos.

El carácter ágil del método surge de adoptar y adaptar las propiedades incremental e iterativa del método SCRUM. El carácter disciplinado está en la integración de los procesos de planificación ágil de SCRUM y los procesos disciplinados de gestión de proyectos, tal como se definen en el cuerpo de conocimientos de la Gestión de Proyectos (PMBOK).  Los procesos técnicos y de soporte del Blue WATCH se han tomado y adaptado del marco metodológico Gray WATCH.

Blue WATCH fue desarrollado por el Grupo de Investigación GIDYC de la Universidad de Los Andes y está descrito, con mayor detalle, en el portal educativo http://www.e-praxis.com.ve; portal dedicado a la capacitación profesional de ingenieros de software.


Referencias

Tarjeta Montilva

Banner De todo un Poco (1) 600 px

Desarrollo de Sistemas de Información – Introducción

Portada DTyOC 03 09

Históricamente se habla de 4 generaciones de Computadores [de acuerdo a Tanembaum], a saber:

  • 1ra Generación: Tubos al vacío
  • 2da Generación: Transistores
  • 3ra Generación: Circuitos Integrados
  • 4ta Generación: Microprocesadores

Durante las 3 primeras generaciones, se hablaba de “Procesamiento de Datos”, al estar trabajando el personal del nivel “operativo” con las computadoras.

A partir de la aparición de los microprocesadores, se involucra el nivel “táctico” o medio, y empiezan a ser desarrollados los primeros sistemas de información, que podían ser consultados en computadoras de escritorio, más manejables que los mainframes usados hasta el momento.

Al evolucionar la Tecnología de Información, el nivel gerencial “estratégico” (alta gerencia) también requiere de herramientas para manejar el negocio, desarrollándose los “Sistemas de Información Gerencial” (SIG) y luego los “ERP’s”.

  • Nivel Operativo: Procesamiento de Datos
  • Nivel Táctico: Sistemas de Información
  • Nivel Estratégico: ERP’s / SIG

Un Sistema de Información (SI) es un conjunto interrelacionado de elementos que proveen información para el apoyo de las funciones de operación, gerencia y toma de decisiones en una organización.

Veamos a continuación algunas metodologías existentes para desarrollar Sistemas de Información.

banner


Referencias

Desarrollo de Sistemas de Información

Tarjeta Castellanos

Banner De todo un Poco (1) 600 px

Año 03 Número 09: Desarrollo de Sistemas de Información

Portada DTyOC 03 09

Editorial

La edición de Junio es una edición de lujo, ya que cuenta con el aporte de un invitado de lujo: Jonás Montilva. Y cómo no llamar a Jonás para que hable él mismo del Método Watch, dentro del tema de portada “Desarrollo de Sistemas de Información”. Por supuesto que los demás escritores no se quedaron atrás y también presentaron material de lujo.

En las columnas habituales: “A mí también me gusta el chocolate” con “Marquesa de Oreo”, se podrá conocer acerca de “Carol” en “el Séptimo Arte”, “10° Mandamiento” en “Enfoque de Sistemas”, “Humphrey Bogart” en “Ensalada de Ideas”, “Posada Sol, Luna y Estrellas” en “Mundo en Diapositivas”, “NeoTelling” en el “Rincón de las TICs”, “la Supervivencia de los más Ineptos” con “a 30 años de Chernóbil”, acerca de “Remando sincronizados” en la columna “Y otras cosas”, “¿Arquitectura?” en “Merodeando desde la Arquitectura”, “Vía Saludable” acerca de “Caminar 30 minutos”, “Parábola de los Deseos” en Reflexiones Diarias.

Lo más probable que el último número por los momentos será la edición 12 del año 3 (septiembre 2016).

Coordinación General y Edición: Luis Castellanos H.

Tabla de Contenidos: Tema de Portada

Tabla de Contenidos: Secciones Fijas

DTyOC en ISSUU (2)(Haga click en el banner para leer la Revista)

Banner De todo un Poco (1) 600 px

CISA

CISAr.2c

La certificación CISA (Certified Information Systems Auditor – Auditor Certificado en Sistemas de Información) es una certificación reconocida a nivel mundial para los profesionales en Auditoría, Control y seguridad de los Sistemas de Información. El mostrar un Certificado CISA es un aval a la experiencia, habilidades y conocimientos, y demuestra que se es capaz de evaluar vulnerabilidades, reportar y establecer medidas de control y cumplimiento en los sistemas examinados. Es otorgada por ISACA a aquellos individuos que manifiesten interés en dichas áreas de conocimiento, y que cumplan los siguientes requisitos:

  1. Aprobación del Examen CISA

El examen está abierto para todos los individuos que tengan interés en las áreas de Auditoría, Control y Seguridad en los Sistemas de Información. Los candidatos que aprueben el examen recibirán los requisitos para continuar con la certificación. Están disponibles asesorías y ayudas para preparar al candidato para el examen.

  1. Solicitar la Certificación CISA

Una vez aprobado el examen, y si se cumple con el requisito de haber laborado un mínimo de 5 años en Auditoría, Control o Seguridad de Sistemas de Información, se puede solicitar a ISACA la certificación. Existen maneras de convalidar los años de experiencia en el área particular, mediante experiencias en Auditorías en General, mediante equivalencias de estudios académicos, o mediante comprobación de años en la docencia a tiempo completo en el área. Los candidatos aprobados tienen hasta 5 años para solicitar la certificación.

  1. Adherirse al Código de Ética Profesional

Los miembros de ISACA y a quienes se les otorgue la Certificación CISA acuerdan cumplir el Código de Ética Profesional, el cual deberá guiar su conducta personal y profesional.

  1. Adherirse al Programa de Educación Continua

Los objetivos del Programa de Educación Continua son:

  • Mantener la competencia individual al actualizar sus conocimientos y habilidades en las áreas de Auditoría, Control o Seguridad de Sistemas de Información.
  • Otorgar un factor de diferenciación entre las personas certificadas CISA y los que no han sido certificadas.
  • Proveer un mecanismo para monitorear la competencia de los profesionales certificados en las áreas correspondientes.
  • Proveer criterios objetivos a las empresas para la selección adecuada de su personal y para su posterior desarrollo profesional.
  1. Cumplir los estándares de Auditoría de Sistemas de Información

A quienes se les otorgue la Certificación CISA acuerdan cumplir los estándares de Auditoría de Sistemas de Información establecidos por ISACA.

cisa banner


Referencias

Consultadas en la WWW el 25 /03/2016:

Tarjeta Castellanos

Banner De todo un Poco (1) 600 px

Ingeniería de Información

banner ing informac

Perfil de Ingreso

En cuanto a su formación previa, el alumno de nuevo ingreso deberá tener una buena formación que le permita acceder a los conocimientos avanzados en matemáticas, física y estadística que requieren los estudios.

Respecto a sus aptitudes y capacidades, resultan deseables las siguientes: buena disposición para el trabajo individual, capacidad de concentración, facilidad para el aprendizaje autónomo, habilidad para organizar el tiempo y el estudio, facilidad para el pensamiento lógico, responsabilidad en el trabajo en equipo.

¿Cuáles son los principales ejes transversales del Pensum de la Carrera?

Matemáticas, Ingeniería del Software, Sistemas de Información, Tecnología de Información.

Perfil de Egreso

Es un profesional de elevada competencia, con una base sólida en el área de Administración y Sistemas de Información; capaz de ser un agente de cambio en la solución de problemas empresariales a través de Tecnologías de Información que contribuyan a la productividad de las organizaciones e identificación de nuevas ventajas competitivas. Su papel fundamental se centra en el proceso de gestión de data crítica y el diseño de redes de comunicación que favorezcan el aprovechamiento de recursos de información, a fin de optimizar la capacidad de respuesta de la organización ante eventos propios del entorno competitivo.

Universidades donde se dicta la carrera

  • Universidad Tecnológica del Centro (UNITEC)

¿Qué hace un Ingenier@ de Informática?

El Ingeniero en Informática o en Información analiza, diseña e instrumenta sistemas de información. Desarrolla distintos tipos de estructuras lógicas para solucionar problemas usando computadoras. Usa técnicas y disciplinas afines a los sistemas de información, tales como aspectos administrativos, organizacionales, estadísticos y control de proyectos. Su formación es importante en la ingeniería y tecnología del software, como en las redes de computadoras.

¿Qué campo laboral tiene?

Empresas manufactureras: distribuidoras de equipos de computación; compañías petroleras; ministerios; banca; organismos financieros; toda empresa u organización que utilice equipos de computación.

¿Qué cargos puede ocupar?

Cargos en el área de Tecnología de Información.

¿En qué tipo de empresas puede trabajar?

Públicas o privadas, ocupando cargos en Tecnología de Información.

¿Qué habilidades debe desarrollar durante la carrera?

Programación, Base de Datos, Sistemas de Información, Ingeniería del Software, Gerencia.

¿Qué oportunidades de Postgrado tiene en su carrera?

En el área de Tecnología de Información y en el área Gerencial.

¿Qué aspecto(s) la diferencia(n) de las otras carreras de Tecnología?

El Ingeniero de Información localizado no quiso aportar información al respecto.

Comentario adicional:

La información fue recopilada por el editor, quien es Ingeniero de Sistemas.


Referencias

Castellanos Luis

Banner De todo un Poco (1) 600 px

A %d blogueros les gusta esto: