viernes, 7 de septiembre de 2012

Análisis de Sistemas de Información


En esta fase, se programan reuniones con el cliente a fin de precisar las características del producto software. El estudio realizado en la etapa anterior proporciona elementos valiosos para el abordaje del análisis, se puede decir que dicho estudio debe complementarse con la recolección de la información necesaria que permita la descripción clara de las características del producto software, sus funcionalidades y comportamiento.

Para la recolección de la información se pueden aplicar diversas técnicas, a continuación se relacionan algunas de ellas:
 
Entrevistas: Permiten la comprensión de las funciones de los usuarios, establecen la posible interacción de aquellos con el producto software y evidencian las dificultades a las que se enfrentan actualmente. Las entrevistas se pueden clasificar así:



Encuestas: Facilitan la obtención de datos relacionados con la opinión de un número significativo de personas. Esta técnica puede complementar la información obtenida con las entrevistas ó aplicarse en aquellas situaciones donde el número de usuarios es elevado. Las preguntas de las encuestas se pueden tipificar como sigue:



Grupos focales: Se trata de una reunión útil para discutir experiencias y opiniones sobre los temas propuestos por un moderador. Se recomienda que el grupo no exceda los diez participantes.

Etnografía: Es una técnica de observación que se emplea para entender los requerimientos sociales y organizacionales. Consiste en introducirse en el contexto laboral para observar de cerca las tareas de los usuarios. La observación se puede clasificar en:

 
 
Revisión de registros: Consiste en el reconocimiento de los documentos que se producen en el proceso objeto de estudio, sus características, estándares, función e importancia.
Al finalizar la etapa del análisis, se obtiene el documento de requisitos que contiene una estructura básica del producto software a construir.




Fuentes
  • PRESSMAN, Roger. Ingeniería del software, un enfoque práctico. Sexta edición. Editorial McGrawHill.
  • SOMMERVILLE, Ian. Ingeniería del software. Editorial Pearson. 2005.



Análisis de un proceso

Los procesos
Recuérdese que un proceso es el conjunto de actividades y recursos interrelacionados que transforman las entradas en salidas. Los productos software pueden mejorar los procesos de las empresas, por este motivo, se requiere puntualizar aquellos aspectos que se deben tener en cuenta al momento de estudiarlos.

Aspecto estructural de un proceso
Se refiere al análisis que se realiza del proceso centrándose en su límite y sus elementos (actividades, responsables y clientes).

Aspecto funcional de un proceso
Se refiere al análisis que se realiza del proceso centrándose en las entradas, las salidas y la retroalimentación. Obsérvese el siguiente ejemplo:

Ejemplo 1
Considere la descripción del proceso para analizar sus aspectos estructural y funcional.
 

 
Análisis estructural
 

Límite

El proceso comienza al recibir los productos del área solicitudes y finaliza con la revisión de los préstamos por parte del Jefe del área Aprobación.

Actividades

  • Recepción de formatos, desprendibles y confirmación de la información
  • Verificación de los formatos
  • Devolver formatos con errores
  • Cálculo para definir o no el préstamo
  • Revisión final de los préstamos aprobados y no aprobados

Responsables

  • Analista de cuentas
  • Jefe de área

Clientes internos

Jefe de área

Clientes externos

Área Comunicación
Análisis funcional
 
 
 

Ejemplo 2
Considere la descripción del proceso para analizar sus aspectos estructural y funcional.
 
 
 
 
 
El análisis estructural para el proceso anterior, es:
 

Límite

El proceso comienza cuando el cliente presenta su solicitud y finaliza, satisfactoriamente, al imprimir el radicado.

Actividades

  • Comprobar solicitud y documentos
  • Indicar corrección en la solicitud
  • Orientar documentos faltantes
  • Registrar cliente

Responsables

  • Asesor

Clientes internos

Ninguno

Clientes externos

Ninguno
 
El análisis funcional para el proceso anterior es:
 
 

 

lunes, 6 de agosto de 2012

Ciclo de vida del software

Software

Es el conjunto conformado por los programas, la documentación y la configuración necesaria para que estos programas funcionen adecuadamente.


Ciclo de vida del software

Describe el desarrollo de software desde la fase inicial hasta la fase final, proponiendo etapas que sirven como referencia para realizar este proceso. Las fases que conforman el ciclo de vida son:
  • Preanálisis
  • Análisis
  • Diseño
  • Desarrollo
  • Pruebas
  • Implantación
  • Mantenimiento

El modelo en cascada

También llamado ciclo de vida clásico o tradicional, es el modelo más antiguo cuya propuesta de trabajo se fundamenta en un proceso ordenado y secuencial donde el producto de cada etapa, es el insumo para la etapa posterior. Las características principales de este modelo son:  


  • Se recomienda para el desarrollo de productos de gran tamaño cuyo tiempo de entrega sea largo.
  • No se requiere demasiada experiencia por parte del equipo de trabajo
  • El inicio de una etapa debe esperar la finalización de la etapa anterior
  • La documentación del proceso realizado, se produce en cada etapa
  • Se pueden presentar iteraciones entre las etapas del desarrollo, pero resultan costosas e implican repetir el trabajo.
  • Cuando se trata de nuevos desarrollos, los requisitos del producto deben estar bien definidos y ser estables.
  • Si se trata de una adaptación o una mejora de un producto existente, los requisitos deben entenderse de manera razonable.
  • Un error encontrado en la etapa de pruebas, conduce al rediseño del producto
  • Los primeros resultados se obtienen después de un tiempo considerable


El modelo en V

Se considera como una versión mejorada del modelo en cascada y por tanto, conserva las características de secuencialidad y organización. El modelo en V fundamenta su enfoque en la minimización de riesgos, la mejora de calidad, la reducción total de gastos y el perfeccionamiento de la comunicación entre los participantes del proyecto de desarrollo de software. Además, incorpora procesos de verificación y validación. Las características de este modelo son:


  •  Se recomienda para el desarrollo de productos pequeños con equipos de trabajo de hasta cinco integrantes.
  • Ideal para los analistas que no han programado siguiendo un modelo
  • El inicio de una etapa debe esperar la finalización de la etapa anterior
  • La documentación del proceso realizado, se produce en cada etapa
  • Contiene etapas de retroalimentación para facilitar correcciones
  • El modelo no contempla la posibilidad de retornar a etapas inmediatamente anteriores, situación que en la realidad puede ocurrir.
  • Las pruebas comienzan a efectuarse después de la implantación, esto puede conducir a un retroceso de todo un proceso que costó tiempo y dinero.

Prototipos
Este modelo también se ha llamado evolutivo, se fundamenta en el desarrollo de un producto inicial que se presenta al usuario para obtener su aprobación y se perfecciona, a través de diferentes versiones, hasta obtener el producto adecuado. El modelo por prototipo se caracteriza por:

  •  Es un modelo menos formal de desarrollo
  • Se recomienda para el desarrollo de productos pequeños o de tamaño medio
  • Útil cuando se desconocen los requerimientos del producto o son poco estables
  • Proporciona rapidez en el proceso de desarrollo
  • Conveniente en desarrollos que requieren probar arquitecturas y tecnologías
  • La posibilidad de establecer el número de iteraciones necesarias para obtener el producto definitivo, es mínima.
  • La documentación del proceso se realiza sobre la versión final del producto
  • A medida que avanza el proceso, incorporar cambios en los prototipos se convierte en una tarea difícil y costosa.
  • La técnica de los prototipos se puede implementar dentro de cualquier modelo de proceso.


Espiral

Se trata de una propuesta que combina las propiedades de los modelos cascada y prototipos. Se fundamenta en un proceso de desarrollo en el cual se hacen entregas del producto -cada una más evolucionada o completa que la anterior- teniendo en cuenta los riesgos que pueden afectar el proceso. Cada ciclo del espiral representa una etapa del ciclo de vida del software. Las características principales del modelo en espiral son:




  • Es un enfoque acertado para el desarrollo de software a gran escala
  • Cada iteración incluye definición de objetivos, evaluación y reducción de riesgos, desarrollo y validación y planificación.
  • Exige cuidado con el tratamiento de los riesgos que se presentan en el proceso
  • Requiere habilidad para evaluar el riesgo y resolverlo efectivamente
  • Si se pasa por alto un riesgo, surgirán dificultades en el proceso
  • El producto evoluciona conforme avanza el proceso de desarrollo


Desarrollo Rápido de Aplicaciones (DRA)

El modelo DRA es una versión que integra las características de los modelos cascada y prototipos, añadiendo velocidad de desarrollo. Propone la división del proyecto en módulos que son desarrollados por cada equipo de trabajo y luego se integran para configurar el producto definitivo.


  • Ofrece flexibilidad al proceso de desarrollo
  • Requiere el compromiso de los desarrolladores y los clientes
  • Los requisitos del producto deben ser comprendidos desde el inicio
  • Aquellos productos de software que se puedan dividir en módulos, cuyo tiempo de desarrollo no exceda los tres meses, pueden abordarse con este modelo.
  • Resalta el uso de componentes de software existente
  • Apoya la construcción del producto con la generación automática de código

Modelo incremental


Combina elementos del modelo tradicional aplicado en forma iterativa. Este modelo emplea secuencias lineales escalonadas que proporcionan incrementos del producto.

  • Requiere de la planeación del desarrollo del producto de acuerdo con las prioridades de funcionalidad establecidas por el cliente.
  • Requiere poco personal para el desarrollo de los incrementos iniciales, pero se puede vincular nuevo personal si los incrementos así lo exigen.
  • El primer incremento es un producto que incorpora las funcionalidades prioritarias completamente funcionales.
  • La evaluación del incremento, por parte del cliente, origina un plan para el desarrollo del incremento siguiente.
  • Cada incremento integra nuevas funcionalidades al producto
 
Modelo de proceso de software
 
Los seis modelos analizados anteriormente, son marcos de trabajo que guían el proceso de desarrollo de un producto software, es decir son modelos de proceso de software. Obsérvese que cada uno de ellos aplica un enfoque particular.
 
Ingeniería del software
 
Disciplina de la ingeniería que comprende todos los aspectos de la producción de software.

 

Fuentes
  • PRESSMAN, Roger. Ingeniería del software, un enfoque práctico. Sexta edición. Editorial McGrawHill.
  • SOMMERVILLE, Ian. Ingeniería del software. Editorial Pearson. 2005.
 
 

 
 


sábado, 4 de agosto de 2012

Fundamentos de organización empresarial

Definición de empresa

Entidad que mediante la organización de recursos humanos, materiales, técnicos y financieros; proporciona bienes y servicios.


De acuerdo con la finalidad lucrativa, las empresas pueden ser:


Las empresas también se pueden clasificar de acuerdo con el sector de actividad, bajo este aspecto encontramos:




La empresa como sistema

Las empresas están compuestas por individuos y/o grupos que interactúan originando un comportamiento sistémico o global. Igualmente, una empresa se puede considerar como un sistema conformado por subsistemas y pertenece a un suprasistema.



La empresa como sistema abierto

La empresa como un sistema abierto se relaciona con su ambiente para obtener entradas, procesarlas y transformarlas en salidas.