sábado, 15 de octubre de 2011

UML: CASOS DE USO Y DIAGRAMA DE CASOS DE USO

¿QUE ES UML?
El lenguaje unificado de modelado, es un lenguaje muy popular de modelado de sistemas de software en el cual usa técnicas de notación grafica para crear modelos visuales de sistemas de desarrollo de software.

UML se encarga de documentar, visualizar y especificar las funciones y procesos de los sistemas orientados al objeto. UML representa un modelo estándar para visualizar un dibujo técnico de sistemas, que incluye elementos como el actor, que viene siendo el usuario que interactua con el sujeto, el proceso de negocio, que son las tareas relacionadas lógicamente para lograr un negocio definido, el componente, que encapsula el contenido del sistema y la actividad, que es la tarea que toma lugar para cumplir un contrato de operación.

CASO DE USO

  • Es una representación de las actividades que deben realizarse para llevar a cabo algún proceso.
  • Los personajes que participan en un caso de uso se llaman actores.
  • Es una secuencia de interacciones que se desarrollaran entre el sistema y sus actores.
  • Capturan el comportamiento del sistema que se esta desarrollando, sin tener que especificar como se implementa ese comportamiento.

PARA QUE SIRVEN LOS CASOS DE USO

  • Para especificar la comunicación y el comportamiento de un sistema mediante la interacción con los usuarios.
  • Para validar la arquitectura. 
  • Para verificar que el sistema evolucione durante el desarrollo de manera adecuada. 

COMO SE REPRESENTAN LOS CASOS DE USO

  • En UML, un actor se representa como monigote



  • En UML un caso de uso se representa como un ovalo:



ACTORES

  • Es quien representa o inicia una acción dentro del sistema.
  • Se comunica con el caso de uso atraves de mensajes.
  • Puede ser representado por una persona, un dispositivo hardware u otro sistema que interactue con el sistema.



FLUJO DE EVENTOS

  • El flujo de eventos indica quien habla y que dice, esta secuencia empieza con algo dicho por el actor, y sigue así sucesivamente lo hecho por el sistema como lo dicho por el actor. Cada una de esas indicaciones se llaman paso.
  • Un buen flujo de eventos recoge con detalle  la identidad de quien realiza el paso, diciéndolo sin equivocarse la acción realizada.
Ejemplo de diagrama de flujo de eventos para el caso del cajero automático:



COMO IDENTIFICAR LOS CASOS DE USO

  • Haciendo un mapa mental.
  • Revisando los requerimientos que necesita el problema.
  • Buscando las tareas y responsabilidades de cada actor.

DESCRIPCIÓN DE CASO DE USO
son reseñas textuales del caso de uso. Normalmente tiene el formato de una nota o un documento relacionado de alguna manera con el caso de uso, y explica los procesos o actividades que tiene lugar en el caso de uso.
La descripción del caso de uso comprende:

  • El inicio: Cuando y que actor lo produce?
  • El fin: Cuando se produce y que valor devuelve?
  • La interacción: Que mensajes cambian el actor y el caso de uso?

RELACIONES DE CASOS DE USO
Tipos de relaciones:
  • Generalización: Este tipo de relación es uno de los mas usados, cumple una doble función dependiendo de su estereotipo, que puede ser de Uso (<<uses>>) o de herencia (<<extends>>)
Este tipo de relación esta orientado exclusivamente para casos de uso (y no para actores). 

    • (<<Uses>>) o (<<Include>>): Es la relación que especifica una situacion en la que un caso de uso tiene lugar dentro de otro caso de uso.
    Ejemplo de un diagrama de caso de uso de un cajero automático: 

    •  (<<Extends>>):  Relación que especifica ciertas situaciones, o en algún punto (llamado punto de extensión) un caso de uso sera extendido por otro.
    Ejemplo de un diagrama de caso de uso de como pagar la cuenta de diferentes formas:



    • Ejemplo de todas las relaciones:




    DIAGRAMAS DE CASOS DE USO

    • Los diagramas de casos de usos describen las relaciones y las dependencias entre un grupo de casos de uso y los actores participantes en el proceso.
    • Los diagramas de casos de uso no están pensados para representar el diseño y no puede describir los elementos internos de un sistema.
    • Los diagramas de casos sirven para facilitar la comunicación con los futuros usuarios del sistema, y con el cliente. 
    • Los diagramas de casos de usos demuestran el comportamiento de un sistema desde el punto de vista del usuario. Por lo tanto los casos de usos determinan los requisitos funcionales del sistema, es decir, representan las funciones que un sistema puede ejecutar.
    • Su principal ventaja es la facilidad para interpretarlos, lo que hace que sean útiles en la comunicación con el cliente.

    Ejemplo de un caso de una maquina recicladora:
    Sistema que controla una maquina de reciclamiento de botellas, tarros y jabas. el sistema debe controlar y/o aceptar:

    • Registrar el numero de ítemes ingresados.
    • Imprimir un recibo cuando el usuario lo solicita:
    1. Describe lo depositado.
    2. El valor de cada ítem.
    3. Total.
    • El usuario/cliente presiona el botón de comienzo.
    • Existe un operador que desea saber lo siguiente:
    1. Cuantos ítemes han sido retornados en el día.
    2. Al final de cada día el operador solicita un resumen de todo lo depositado en el día.
    • El operador debe ademas poder cambiar:
    1. Información asociada a ítemes.
    2. Dar una alarma en el caso de que:
    • Ítem se atora.
    • No hay mas papel.
    Como una primera aproximación identificamos a los actores que interactuan con el sistema:
    Luego, tenemos que un cliente puede depositar ítemes y un operador puede cambiar la información de in ítem o bien puede imprimir un informe:

    Ademas podemos notar que un ítem puede ser una botella, un tarro o una jaba.

    Otro aspecto es la impresión de comprobantes, que puede ser realizada después de depositar algún item por un cliente o bien puede ser realizada a petición de un operador. 

    Entonces, el diseño completo del diagrama Use Case es:






    sábado, 8 de octubre de 2011

    PROCESOS DE LA INGENIERÍA DE REQUERIMIENTOS

    SISTEMA DE INFORMACIÓN
    Es un conjunto de elementos en el cual se puede capturar, procesar, almacenar y distribuir la información de una organización. Estos también ayudan a analizar los problemas que se presenten y a crear nuevos productos.

    TIPOS DE SISTEMAS DE INFORMACIÓN
    Los sistemas de información se dividen en diferentes niveles:

    • Sistemas de nivel operativo: Es aquel sistema que hacen un seguimiento a las actividades y las transacciones mas importantes de una organización.
    • Sistemas de nivel de conocimiento: Sistemas de información en los que se apoyan a los trabajadores del conocimientos en una organización.
    • Sistemas de nivel de administración: son aquellos que apoyan el seguimiento y toma de decisiones y las actividades del administrador.
    • Sistemas de nivel estratégico: Sistemas de información que apoyan las planeaciones para que la  organización no se desvíe de su rumbo.

    ¿QUE SON REQUERIMIENTOS?

    Los requerimientos son atributos necesarios dentro de un sistema, que pueden representar un factor de calidad del sistema. Se puede decir también que es una representación documentada de una condición.

    CARACTERÍSTICAS DE LOS REQUERIMIENTOS
    Las diferentes características son:

    • Necesario: Es necesario ya que si se omite el sistema a construir no funcione o pueda traer deficiencias
    • Conciso: Es conciso si este es fácil de leer y entender, para que en un futuro si se desea consultar se pueda precisar sin ningún inconveniente.
    • Completo: Es completo si no es necesario expandir mas información para su comprensión. 
    • Consistente: Es consistente si no se contradice con otro requerimiento.
    • No ambiguo: No es ambiguo cuando se define de una sola forma, esto para no causar al lector confusiones.
    • Verificable: Es Verificable cuando permita realizar los métodos de verificación tales como : inspección, análisis, demostración o pruebas.

    INGENIERÍA DE REQUERIMIENTOS
    La ingeniería de software se define, según (Ortas 1997), como un conjunto de actividades en las cuales, utilizando técnicas y herramientas, se analiza un problema y se concluye con la especificación de una o mas soluciones. 
    • Entonces podemos decir que la ingeniería de requerimientos son todas las actividades que están implicadas en el descubrimiento y documentación de los requerimientos para un producto definitivo.


    IMPORTANCIA DE LA INGENIERÍA DE REQUERIMIENTOS
    La ingeniería de requerimientos es importante porque:
    • Permite gestionar las necesidades del proyecto en forma estructurada: Todas las actividades de la ingeniería de requerimientos están bien organizadas y bien especificadas.
    • Disminuye los costos y retrasos del proyecto: Esto se da porque con unos buenos requerimientos nuestro software no tiene porque quedar mal desarrollado.
    • Mejora la calidad del software: Si no tuviéramos los requerimientos necesarios no podemos construir un software de calidad.
    • Mejora la comunicación entre equipos: Los requerimientos representan una aceptación entre los clientes y los desarrolladores, ya que si esto no pasa el proyecto no va a tener éxito.
    • Evita rechazo de usuarios finales: Esto sucede ya que la ingeniería de requerimientos obliga al cliente a considerar sus requerimientos.

    PERSONAL INVOLUCRADO EN LA INGENIERÍA DE REQUERIMIENTOS
    Para el desarrollo de requerimientos de un sistema se necesitan mucho personal involucrado, cada una de estas personas tienen diferentes intereses. Esto es muy importante porque asegura que se incluyan a las personas mas correctas para desempeñar las diferentes fases del ciclo de vida.
    • Usuario final: Son aquellas personas que usaran el sistema desarrollado. Ellos son los que utilizaran las interfaces y los manuales de usuario.
    • Usuario líder: Son los que proporcionan al equipo técnico todos lo detalles y requerimientos de las interfaces del sistema.
    • Personal de mantenimiento: Son los responsables de la administración de cualquier cambio. Su trabajo consiste en revisar los procesos del producto ya terminado.
    • Analistas y programadores: Son los responsables del desarrollo del software en si; Ellos son los que interactuan directamente con el cliente.
    • Personal de pruebas: Son aquellas personas que tiene que validar si los requerimientos satisfacen las necesidades del cliente.
    Tambien podríamos decir que estarían involucrados personal como administradores de proyecto, documentadores, diseñadores de bases de datos entre otros, pero eso ya depende de la magnitud del proyecto.


    REQUERIMIENTOS DE PROCESO
    Son aquellos requerimientos que se usan durante el desarrollo del software.

    REQUERIMIENTOS DEL USUARIO
    • Finalidad del software : Que sea entregado el producto totalmente terminado y completo.
    • Características del software que son requeridas: que el producto cumpla con todo lo que en verdad se necesita. 




    domingo, 2 de octubre de 2011

    LA ENTREVISTA

    Las entrevistas so utilizan para obtener información en forma verbal, a través de preguntas que propone uno como analista. Los entrevistados deben ser personas relacionadas de alguna manera con la organización, como los gerentes o empleados, los cuales son usuarios actuales del sistema existente. El analista puede entrevistar al persona sea de una manera individual o en grupos, algunos analistas prefieren esta técnica a las otras pero las entrevistas no son siempre la mejor fuente para recibir la información que deseamos.

    Dentro de una empresa, la entrevista es la técnica mas beneficiosa que tiene un analista para obtener datos. En otras palabras, la entrevista es un intercambio de información que se da de cara a cara. Esto viene siendo un canal de comunicación entre el analista y la empresa.


    ¿PARA QUE SIRVE?
    Pues sirve porque en ella se obtienen información acerca de las necesidades de una organización y se busca la manera de como satisfacerlas, se puede decir que sirven también porque ofrecen al analista una excelente oportunidad para crear un ambiente de simpatía con el usuario, lo cual es muy importante en el tiempo en que se de el estudio.



    PREPARACIÓN DE UNA ENTREVISTA.
    • Establecer la posición que ocupa el entrevistado dentro de la organización, cuales son su responsabilidades, que actividades  realiza, etc.
    • preparar las preguntas que se van a trazar, así como los documentos que van a necesitar.
    • Fijar el tiempo necesario para realizar la entrevista.
    • Elegir un lugar cómodo para así poder llevar a cabo la entrevista.
    • Acordar con el entrevistado una cita con una debida anticipación.


    TIPOS DE ENTREVISTAS
    • Estructurada: Es también llamada entrevista formal, esta caracterizada por estar estrictamente normalizada, se trazan preguntas idénticas y en el mismo orden a cada uno de los entrevistados que deben escoger las respuestas entre dos, tres o mas alternativas que les ofrezcan.
    Entre las ventajas encontramos que:
    • Se necesita un limitado entrenamiento del entrevistador.
    • Resulta en entrevistas mas pequeñas.
    • Es mas fácil de administrar y evaluar.
    • Asegura una elaboración similar de las preguntas para todos los entrevistados.
    Entre las desventajas encontramos que :
    • Requiere un alto costo de preparación.
    • Es difícil obtener información confidencial.
    • Se limita la posibilidad de progresar en un tema que surja durante la entrevista.

    • No estructurada: Es mas flexible y abierta, esta técnica no es mas que realizar preguntas de acuerdo a las respuestas que vayan surgiendo durante la entrevista.
    Entre las ventajas encontramos que:
    • El entrevistador tiene mayor flexibilidad al realizar las preguntas correspondiente a quien responde.
    • El entrevistador puede explotar áreas que surgen naturalmente durante la entrevista.
    • Puede recoger información de áreas en las que pensó que no eran importantes.
    Entre las desventajas encontramos que :
    • Puede recoger información extraña.
    • toma tiempo extra recoger la información realmente importante.
    • El análisis y los resultado de esta misma pueden ser muy largos.



    CONSIDERACIONES PARA LA ENTREVISTA
    • Hay que tratar de familiarizarse con la empresa y el tipo de persona que en ella se encuentra, para hacer esto debemos identificarnos con la misión, visión, organigrama, etc. Todo lo que nos pueda servir para darnos una idea general de la empresa.
    • debemos establecer unos objetivos bien claros antes de hacer las preguntas de la entrevista.
    • Seleccionar a las personas que vamos a entrevistar.
    • Elaborar un plan de entrevista.
    • Hacer una cita con anticipación, recordar a las personas que hay que entrevistar, el día y la hora en que se realizara.


    PUNTOS IMPORTANTES A TRATAR
    • Llegar temprano a la entrevista.
    • saludar al entrevistado con un apretón de mano y vestirnos de forma adecuada.
    • Registrar todos lo datos mas importantes de la entrevista para no perder en contacto visual.
    • Si vamos a usar grabadora o cámaras de vídeos pedir permiso primero.
    • Escribir el reporte inmediatamente despues de la entrevista para que no se olvide detalles importantes.
    • Validar la información con la persona entrevistada para evitar malos interpretaciones de la información. 

    POSTURA DEL ENTREVISTADOR

    • Primero que todo hay que escuchar, después hablar para interrumpir al entrevistado.
    • Evitar que el entrevistado se sienta mal porque no esta haciendo su trabajo bien.
    • En el momento de la entrevista no tratar al entrevistado de forma amigable, pero si de una manera sencilla y formal.
    • No utilizar palabras difícil de entender.


    ERRORES TÍPICOS A EVITAR
    • Entrevistar al personal inadecuado en el momento inadecuado.
    • Crear malas relaciones entre el entrevistador y el entrevistado.
    • Hacer preguntas que no van al caso.



    ÉXITO DE UNA ENTREVISTA
    Para asegurar el éxito de una entrevista hay que tener una serie de pasos a seguir, como son:
    • Definir la entrevista por adelantado
    • Comenzar la entrevista dando una breve introducción del tema a tratar.
    • Prepararnos e informarnos sobre el tema a tratar en la entrevista.º































    domingo, 25 de septiembre de 2011

    INGENIERÍA DE REQUISITOS

    Es el proceso de desarrollo de un sistema, sea o no para la web, el equipo de desarrollo se enfrenta al problema de la identificación de requisitos. La definición de las necesidades del sistema es un proceso muy complejo, pues en el hay que identificar los requisitos que el sistema debe cumplir para satisfacer las necesidades de los usuarios finales y de los clientes.
    Para llevar acabo este proceso nos vamos a las técnicas de recolección de hechos que se refiere a una gran variedad de técnicas y herramientas que pueden ser utilizadas por analistas para desarrollo de sistemas en el que encontramos la entrevista.


    LA ENTREVISTA
    Las entrevistas se utilizan para obtener información de forma verbal, atraves de preguntas que propone el analista. Dentro de una organización, la entrevista es la técnica mas significativa y productiva de que dispone el analista para obtener datos. En otras palabras, la entrevista es un intercambio de información que se efectúa cara a cara.

    TIPO DE ENTREVISTAS
    Los diferentes tipos de entrevistas son:
    • Entrevista estandarizada: Es una especie de cuestionario oral. El entrevistador lee las preguntas y anota las respuestas que obtiene.
    • Entrevista libre: Es como una charla de carácter informal, que permite la obtención de datos acerca del cliente.
    • Entrevista mixta: No se sirve de un cuestionario fijo, ni plantea unas preguntas prefijadas, sino que sigue una especie de guía de entrevista en las que se detallan, no las preguntas sino las áreas que han de ser exploradas.


    IMPORTANCIA DE LOS REQUISITOS
    Los requisitos son muy importantes para la realización de un proyecto de software porque como dijo Roger S.Pressman, " para que un esfuerzo de desarrollo de software tenga éxito, es esencial comprender los requisitos del software". Eso quiere decir que independiente de lo bien diseñado o codificado que este un programa, si no se analizo o especifico como debe ser, decepcionara al cliente y desprestigiara al que lo desarrollo. 
    En esta imagen podemos observar de el porque de la importancia de los requisitos a la hora de hacer un software.

    Otros puntos serian:
    • Mostrar que resultados quieren los participantes.
    • Dar a los participantes la oportunidad de decir que quieren.
    • Representar diferentes puntos de vistas.
    • Probar el diseño.
    • Medir el progreso.
    • Aceptar productos contra criterios.


    TIPOS DE REQUISITOS
    • Funcional: Característica requerida del sistema que expresa una capacidad de acción del mismo, generalmente expresada en una declaración verbal.
    • No funcional: Característica requerida del sistema, del proceso de desarrollo, del servicio prestado o de cualquier otro aspecto del desarrollo, que señala una restricción del mismo.
    • Empresariales u organizacionales: Son el marco contextual en el cual se implementara el sistema para conseguir in objetivo.


    TÉCNICAS PRINCIPALES DE REQUISITOS
    Para conseguir todos los requisitos que se necesitan para la realización de un proyecto debemos tener una serie de técnicas para identificar y asegurar las necesidades de los usuarios. Estas técnicas son:
    • Entrevistas: Es donde se le pregunta al personal que se va a ver mas afectado con el nuevo sistema, de allí surgen unos requisitos que a menudo se contradicen unos a otros o se formulan desde la ignorancia de los detalles del funcionamiento del sistema, sus potencialidades, interdependencia o limitaciones; por lo general se debe trabajar con los mismos para corregir sus fallos. Las entrevistas pueden ser personales o grupales.
    • Talleres: Es donde las personas implicadas participan en discusiones para descubrir requisitos, analizan sus detalles y las implicaciones cruzadas.
    • Forma de contrato: En lugar de una entrevista, se pueden llenar formularios indicando los requisitos. En sistemas complejos estos pueden tener centenares de paginas.
    • Objetivos medibles: Es donde se analizan una y otra vez desde un punto de vista del sistema hasta determinar los objetivos críticos del funcionamiento interno que luego darán forma a los comportamientos apreciables por el usuario. Luego, se establecen formas de medir el progreso en la construcción  para evaluaren cualquier momento que tan avanzado se encuentra el proyecto.
    • Prototipos: Es una pequeña muestra, de funcionalidad limitada, de como seria el producto final una vez terminado. Ayudan a conocer la opinión de los usuarios y ayudan a rectificar algunos aspectos antes de llegar al producto terminado.


    ¿QUIENES DEBERÍAN ESTAR INVOLUCRADOS?
    • Clientes: Son los que compran el producto.
    • Analistas: Persona que hacen el análisis informatico.
    • Arquitectos: Se refiere a la estructura y a los detalles necesarios para que sea funcional.
    • Usuarios: Conjunto de permisos y de recursos o dispositivos a los cuales se tiene acceso. Es decir, Un usuario puede ser tanto una persona como una maquina, un programa, etc.
    • Desarrolladores: Es la persona encargada de programar una o mas facetas del proceso de desarrollo de software.
    • Directores de proyectos: Son los últimos responsables de que el software se ejecute de acuerdo a los plazos, costes y estándares de calidad establecidos.


    CARACTERISATICAS DE LOS REQUISITOS
    Algunas de estas características son:
    • Necesario: Lo que se pida en el requisito debe ser necesario para el producto.
    • No ambiguo: El texto debe ser claro. preciso y tener una unica interpretación posible.
    • Conciso: Debe redactarse en un lenguaje comprensible.
    • Consistente: Ningún requisito debe entrar en conflicto con otro requisito diferente, ni con parte de otro.
    • Completo: Los requisitos deben contener en si mismo toda la información necesaria.
    • Alcanzable: Un requisito debe ser un objetivo realista, posible de ser alcanzado con dinero, el tiempo y  los recursos disponibles.
    • Verificable: Se debe poder verificar con absoluta certeza, si el requisito fue satisfecho o no. 


    SOFTWARE MAS SERVICIOS
    Esta idea lo que hace es ofrecer una experiencia superior gracias a los programas que ya vienen instalados localmente, con esto aprovechamos las ventajas de la maquina y también las ventajas de los servicios de Internet como almacenamiento remoto, ya que nos da la posibilidad de compartir los contenidos y la disponibilidad en cualquier equipo que tenga conexión a la Internet. La clave de una buena ejecución de software mas servicios esta en la buena integración entre la aplicación local y el servicio en la red.


    CARACTERÍSTICAS
    Las características incluyen:
    • Acceso y administración atraves de una red.
    • Permite al cliente el acceso remoto a las aplicaciones mediante la web.
    • Actualización centralizadas, lo cual elimina la necesidad de descargar partes por parches de los usuarios finales.
    Este fue un evento de microsoft en el cual se hablo de la implementacion de software mas servicio.







    jueves, 15 de septiembre de 2011

    PROCESO DEL SOFTWARE

    El proceso del software es un marco de trabajo para las tareas que se requieren en la construcción de un software de alta calidad. El proceso va de la mano con el proyecto del software en el que se dan las fases de la administración que son:


    • Planeacion
    • Organización 
    • Dirección
    • Control
    El proceso cuenta con un patrón en el cual se ofrece una plantilla, se describe el problema, se define una posible solución, formaliza un vocabulario común, etc.
    El proceso cuanta ademas de una tecnología estratificada en el que se divide en varias partes:
    • Prefactibilidad del proyecto: Es ese resumen ejecutivo o propuesta inicial.
    • Factibilidad del proyecto: Se refiere a los recursos que necesito para poder llevar a cabo nuestro proyecto, de aqui se desprende 4 areas que son:
    1. Factibilidad operacional: este se refiere al que si nuestro sistema trabajara o no si este llega a desarrollarse.
    2. Factibilidad técnica:Estudia si el trabajo para el proyecto, puede desarrollarse con el software y el personal existente, y si en caso de necesitar nueva tecnología, cuales son las posibilidades de desarrollarlas.
    3. Factibilidad económica  Investiga si los costos se justifican con los beneficios que se obtienen, y si se ha invertido demasiado, como para no crear el sistema si se cree necesario.
    4. Factibilidad legal: Se determina cualquier posibilidad de infracción, violación o responsabilidad legal en que se podría incurrir al desarrollar el sistema.
    • Análisis del proyecto: Se recoge toda la información necesaria y se determina como se va hacer el proyecto.
    • diseño del proyectoDespués del análisis se determina como se va a diseñar el proyecto.

    DIAGRAMA DE GANTT

    Es una herramienta que nos permite planificar las tareas necesarias para la realización de un proyecto. El diagrama de gantt es una herramienta para el director del proyecto ya que esto le permite realizar una representación grafica del progreso del proyecto.
         
          Ejemplo de un diagrama de gantt



    LIBROS DE ANÁLISIS Y DISEÑO

    Aquí les presento dos interesantes libros con los que vamos a expander nuestro conocimiento acerca de los sistemas de información y que es un analista de sistema y que funciones desempeña.


        James A. Senn
    Pulsa aquí para descargar el libro


        KENDALL Y KENDALL
    Pulsa aquí para descargar el libro



    SISTEMAS DE INFORMACIÓN

    Un sistema de información no es mas que un conjunto de elementos que interactuan entre si para poder sobrellevar la actividades de una organización. Por ejemplo:


    • Un equipo computo ya que es necesario para para que el sistema de información opere.
    • Las personas de una organización  ya que ellos son los que van a utilizar ese sistema.
    los sistema de informacion realizan 3 actividades basicas que son:
    • La alimentación o insumo: captura los datos dentro de la organización o del entorno que la rodea.
    • El procesamiento: transforma esos datos en algo que tenga mas sentido.
    • El producto o salida: transfiere la información a la persona o lugar donde deba ser aprovechada.
    Retos de los sistemas de información 
      Los sistemas de información siempre busca la mejora de una empresa y ademas que esta no caiga en la quiebra por eso tienen unos retos que son los que ayudan al crecimiento de una organización.
      Los principales retos de los sistemas de información son:

      • El reto estratégico de los negocios: Es donde todo debe de estar en constante mejora, deben rediseñar sus productos y su organización para no dejar de ser productiva y no perder mercado.
      • El reto de la globalización: Es aquel reto donde las empresas deben expander sus productos hacia diferentes partes del mundo para que cuenten con mayor cantidad de consumidores.
      • El reto de la arquitectura de la información: La organización como tal debe tener un objetivo común una mentalidad que todos y cada uno de los empleados de la misma se identifique.
      • El reto de la inversión en los sistemas de información: En este reto es donde nos preguntamos  ¿la inversión que hagamos en nuestro sistema nos va a servir para generar mas ganancias?.  
      • El reto de la responsabilidad y el control: Este es el reto en que las personas que trabajan con el sistema de información deben ser responsables y cuidar sus herramientas de trabajo ya que si no hace estaría perjudicando a la empresa y a la persona misma.
      Clases principales de sistemas de información
      • Sistema de procesamiento de operaciones(SPO): Son sistemas computarizados que realizan y registran las operaciones diarias de rutina necesarias para la operación de una empresa. El SPO son los principales generadores de información para los demás sistemas.
      • Sistema de trabajo de conocimiento(STE): Son aquella personas con títulos universitarios que diseñan productos y crean nueva información y conocimiento para la institución.
      • Sistemas de automatización en la oficina(SAO): Son sistemas computarizados que ayudan a los trabajadores de la información para procesar, utilizar y distribuir información. 
      • Sistemas de información para la administración(SIA): Reúne información de los SPO y la presenta a los administradores como resumen rutinario y de excepción.
      • Sistemas para el soporte a decisiones(SSD): Combinan información y modelos de análisis para dar apoyo a la toma semiestructurada y estructurada de decisiones.
      • Sistemas de soporte gerencial(SSG): Están diseñados para dirigir la toma de decisiones estratégica mediante gráficas y comunicaciones avanzadas, también dan información a los administradores cuando este se requiere de una manera altamente interactiva.





      INGENIERÍA DE SOFTWARE

      La ingeniería de software no es mas que la construcion y el desarrollo de un proyecto al que le aplicamos unos métodos y técnicas  para la solución de problemas, todo esto atraves de la informática que nos facilita las herramientas y los procedimientos con el cual se apoya dicha ingeniería.
      Los objetivos mas importantes de la ingeniería del software son:


      • la mejora de la calidad de los productos de software.
      • El aumento de la productividad y el trabajo de los ingenieros.
      • Suministrar a los desarrolladores las bases para la construcion de un software de alta calidad de una manera muy eficiente.
      • Tener disciplina para garantizar la producción y el mantenimiento del producto.


      CALIDAD DEL SOFTWARE


      Podríamos definirlo como la evolución del software que esta basado en estándares en el cual tengan un rendimiento y una funcionalidad optima para satisfacer los requerimientos del cliente.
      Las principales caracteristicas que hacen un software de alta calidad son:
      • Mantenibilidad: Es donde el software debe ser diseñado de una manera que pueda ser ajustable a cambios en un futuro por los requerimientos que pueda hacer el cliente.
      • Confiabilidad: Es aquella característica en donde hay que estar seguros,confiados de lo que se esta haciendo.
      • Eficiencia: Tiene que ver con el uso eficiente de los recursos que necesita un sistema para su funcionamiento.
      • Usabilidad: El software debe ser utilizado sin ningún problema por los usuarios.
      como pudimos darnos cuenta estas caracteristicas varían mucho ya que unas tienen que ver con los diseñadores, otras con el usuario y otras con el líder del proyecto.


      CICLO DE VIDA DEL SOFTWARE


      El ciclo de vida no es mas que el desarrollo del software desde que se inicia hasta que se termina. El propósito de esto es definir a las distintas fases que se requiere para garantizar que el software cumpla con los requisitos para la aplicación y verificación de los procedimientos de desarrollo. El ciclo de vida permite que se detecten los posibles errores lo antes posibles y por lo tanto permite a los desarrolladores concentrarse mas en la calidad del software.
      Las diferentes fases de un ciclo de vida son:


      • Análisis: Construye un modelo de los requisitos.
      • Diseño: A partir de un análisis se deducen las estructuras de datos, la estructura en la que descompone el sistema y la interfaz de usuario.
      • Codificación: Es la implementacion de un lenguaje de programación en donde se crean las funciones dadas durante el diseño. 
      • Pruebas: Se comprueban que se cumplan criterios de correcion y calidad.
      • Mantenimiento: después que se entrega el software este se asegura de que el sistema siga funcionando y adaptándose a nuevos requisitos.
      Modelos de ciclo de vida


      Se utilizan para facilitar la metodología entre el usuario y los creadores del software, esto hace que se valide cada etapa antes de continuar con la siguiente etapa.


      Ciclo de vida en cascada
      Este ciclo es donde terminas una etapa y sigues con otra, sin embargo, es poco visto que un proyecto es así de lineal ya que no tendría que haber cambios en los requerimientos.




















      Ciclo de vida espiral


      En este ciclo de vida nos permite recorrer las fases una y otra vez, haciendo ajustes segun se requiera. una de las ventajas de este ciclo es que se permite crear el proyecto de acuerdo a las especificaciones del cliente, la desventaja es que no hay claridad en el tiempo que  se requiere.

      Para obtener un mayo conocimiento acerca de la ingeniería de software aquí les dejo este libro en donde explican todo acerca del producto y su proceso para realizar un software de alta calidad.

         ROGER S. PRESSMAN