martes, 22 de febrero de 2011

Asignación Nº 02

7.5 ¿Por qué se dice que el modelo de análisis representa una foto instantánea de un sistema en el tiempo?
R/. Porque a través del modelo de análisis se puede obtener y describir los requerimientos necesarios de información, funcionamiento y comportamiento para un sistema basado en computadoras.
            A medida que se va conociendo e interactuando con los requerimientos del sistema que se pretende construir, el modelo de análisis va cambiando, a su vez los ingenieros  realizan un afinamiento de los detalles para optimizar su funcionamiento y explorando todas las posibilidades así de esta manera  ayudando a que los usuarios canalizan sus necesidades de una forma más específica, precisa  y directa amoldada a sus necesidades reales.
            El modelo de análisis representa los requisitos en una situación determinada, ya que va evolucionando, ciertos elementos del sistema se volverán información estable y otros serán información volátil lo que indica que requiere de un exhaustivo análisis y sinceración de necesidades y lograr el discernimiento en cuanto a la toma de decisiones óptimas y de calidad.


7.11     Desarrolle un caso de uso para una de las siguientes actividades:
     c.-   Comprar la despensa con una cuenta de cobro en linea.


Fuente: Hernández, Ledezma, Paiva, Martinez  y  Delgado.

7.16 ¿Qué significa ganar / ganar en el contexto de la negociación durante la actividad ingeniera de requisitos?
R/. Significa que el cliente gana al obtener el sistema o producto que satisface la mejora de sus necesidades y el equipo de software gana al trabajar con presupuesto y límites de tiempo realista y alcanzable.
            En tal sentido, el ingeniero no solo se limita a realizar o satisfacer un requerimiento para un determinado cliente, está en tela de juicio y a merced no solo su reputación sino su éxito profesional, esto es total y absolutamente alcanzable si se realiza un arduo trabajo en el desarrollo de un sistema determinado. Desde el punto de vista de negociación, la oportunidad de un optimo desempeño es la que un “cliente” le  proporciona al ingeniero al solicitar sus servicios, en tal sentido pues, que el esmero y la dedicación deben ser totales y esto se logra a través de organización, en determinar y sincerar los requerimientos necesarios que desea alcanzar el cliente y proporcionarle aun más de lo que él espera conseguir.
            El involucrarse en un proyecto a desarrollar implica conocerlo desde sus inicios, de entrevistar a las personas que desempeñan las funciones  que se pretender sistematizar, de un metódico y minucioso esquema de trabajo que le permita al ingeniero esclarecer y establecer la mejor manera de desarrollar la sistematización para el logro del objetivo del proyecto. Esto pues conlleva a un acierto en lo que a negociación se refiere porque, cliente satisfecho, es un éxito asegurado.

martes, 8 de febrero de 2011

REQUERIMIENTOS DE SOFTWARE

Analisis de Grupo



REQUERIMIENTOS DE SOFTWARE

Desarrollar un software significa construirlo simplemente mediante su descripción. Está es una muy buena razón para considerar la actividad de desarrollo de software como una ingeniería. En un nivel más general, la relación existente entre un software y su entorno es clara ya que el software es introducido en el mundo de modo de provocar ciertos efectos en el mismo
La Ingeniería de Requerimientos cumple un papel primordial en el proceso de producción de software, ya que se enfoca un área fundamental, la definición de lo que se desea producir. Su principal tarea consiste en la generación de especificaciones correctas que describan con claridad, sin ambigüedades, en forma consistente y compacta, las necesidades de los usuarios o clientes, de esta manera, se pretende minimizar los problemas relacionados por la mala gestión de los requerimientos en el desarrollo de sistemas.
REQUERIMIENTOS Ó  REQUISITOS DE SOFTWARE
En la informática hay ciertos términos que mesclamos sin saber su significado preciso, un ejemplo claro de eso son estas dos palabras Requerimientos y Requisitos, es necesario saber a ciencia cierta el significado de cada termino y en qué contexto lo podríamos usar.
¿Qué es un requerimiento?
            La definición según los diccionarios en general de requerimiento es “Acción y efecto de requerir, intimar o avisar.”  Y requerir significa solicitar algoIntimar a uno o hacerle saber una cosa con autoridad pública” de allí podemos concluir que un requerimiento son las peticiones y descripciones que hace un usuario sobre lo que espera de un software ya sea para crearlo o para mejorarlo.
¿Qué es un requisito?
Según los diccionarios en general definen requisitos como “Circunstancia o condición necesaria para una cosa.” Por lo tanto un requisito son las especificaciones que se deben efectuar para cumplir con un requerimiento.
Para logra a salir de dudas es necesario que lo ejemplifiquemos. Pensemos en un usuario que necesita un programa que gestione el control de entrada y salida de dinero de su empresa.  Esta petición como tal (el programa que pide el usuario) es el requerimiento, y este origina la necesidad de que se cumplan con una serie de requisitos para cumplir con lo requerido lo cual sería contar con un lenguaje de programación, una base de datos con ciertas características especificas, un sistema operativo, una computadora, etc.
Se pueden  usar ambas palabras siempre tomando  en cuenta a que nos referimos si nos referimos a las peticiones, es decir a lo que quiere el cliente hablaríamos de requerimientos y si hablamos de lo que se necesita para cumplir las peticiones del usuario nos referiríamos a los requisitos
IMPORTANCIA DE LA INGENIERIA DE REQUISITOS EN LA PRÁCTICA
En el proceso de producción de software, su principal tarea consiste en la generación de especificaciones correctas que describan con claridad, sin ambigüedades, en forma consistente y compacta, las necesidades de los usuarios o clientes; de esta manera, se pretende minimizar los problemas relacionados por la mala gestión de los requerimientos en el desarrollo de sistemas., ya que se enfoca un área fundamental. La RI, permite gestionar las necesidades del proyecto en forma estructurada con una serie de pasos organizados y bien definidos., a través de la Ingeniería de requisitos se puede visualizar mediante un cronograma de proyectos los resultado a obtener, este nos proporciona un punto de partida con controladores de subsecuentes y actividades de mantenimiento como estimación de costos, tiempo y recursos necesarios. Nos ayuda a disminuir los costos, de manera que, corregir un error, que no se detecta a tiempo por no haber aplicado las técnicas correspondientes e indagaciones necesarias, así como también la negatividad al cambio por parte de los usuarios o clientes, conllevan a errores que a la larga son sumamente costosos la reparación de ellos una vez desarrollado el sistema.
Mejora la calidad del software, ya que cumple con los requerimientos básicos de un sistema como la funcionabilidad, facilidad de uso, confiabilidad y desempeño, así como también mejora la comunicación entre desarrolladores y cliente, basado en un consenso entre sí, el cual deberá realizarse por escrito, con todas las especificaciones que requiera; porque si no existe, el proyecto será un fracaso. Evita el rechazo de usuarios finales, ya que obliga al cliente a que considere sus requerimientos cuidadosamente y revisarlo dentro del marco del problema, para sí involucrarlo durante el desarrollo del proyecto.

LEVANTAMIENTO Y RECOLECCION DE REQUERIMIENTOS
Existen varias técnicas para la ingeniería de requisitos, estas técnicas pueden ser aplicables a las distintas fases del proceso de la IR, haciendo la salvedad de que hay que tomar en cuenta las características propias del proyecto en particular que se esté desarrollándose para aprovechar al máximo su utilidad. Estas técnicas son:

  • Entrevistas y Cuestionarios
Las entrevistas y cuestionarios se emplean para reunir información proveniente de personas o de grupos.
Durante ella se conversa con el encuestado; donde se le hace una serie de preguntas relacionadas con varios aspectos de un sistema.
Por lo general, los encuestados son usuarios de los sistemas existentes o usuarios en potencia del sistema propuesto. En algunos casos, son gerentes o empleados que proporcionan datos para el sistema propuesto.

  • Sistemas existentes

Esta técnica consiste en analizar distintos sistemas ya desarrollados que estén relacionados con el sistema a ser construido. Por un lado, podemos analizar las interfases de usuario, observando el tipo de información que se maneja y cómo es manejada, por otro lado también es útil analizar las distintas salidas que los sistemas producen (listados, consultas, etc.), porque siempre pueden surgir nuevas ideas

  • Lluvia de ideas

Este es un modelo que se usa para generar ideas. La intención en su aplicación es la de generar la máxima cantidad posible de requerimientos para el sistema. No hay que detenerse en pensar si la idea es o no del todo utilizable. La intención de este ejercicio es generar, en una primera instancia, muchas ideas.

  • Prototipos

Durante la actividad de extracción de requerimientos, puede ocurrir que algunos requerimientos no estén demasiado claros o que no se esté muy seguro de haber entendido correctamente los requerimientos obtenidos hasta el momento, todo lo cual puede llevar a un desarrollo no eficaz del sistema final.
Entonces, para validar los requerimientos hallados, se construyen prototipos. Estos son simulaciones del posible producto, que luego son utilizados por el usuario final, permitiéndonos conseguir una importante retroalimentación en cuanto a, si el sistema diseñado con base a los requerimientos recolectados le permite al usuario realizar su trabajo de manera eficiente y efectiva. Desarrolladores y clientes se reúnen y definen los objetivos globales del software, identifican todos los requerimientos que son conocidos, y señalan áreas en las que será necesaria la profundización en las definiciones. Luego de esto, tiene lugar un “diseño rápido”. El diseño rápido se centra en una representación de aquellos aspectos del software que serán visibles al usuario (por ejemplo, entradas y formatos de las salidas). El diseño rápido lleva a la construcción de un prototipo.

  • Casos de Uso
Son  técnicas para especificar el comportamiento de un sistema, estos permiten describir la posible secuencia de interacciones entre el sistema y uno o más actores, en respuesta a un estímulo inicial proveniente de un actor, es una descripción de un conjunto de escenarios, cada uno de ellos comenzado con un evento inicial desde un actor hacia el sistema. La mayoría de los requerimientos funcionales, se pueden expresar con casos de uso. Actualmente, se ha convertido en una característica fundamental de la notación UML (Lenguaje de modelado unificado), que se utiliza para describir modelos de sistemas orientados a objetos.


TECNICAS MAS USADAS: METODO JAD
Entre las técnicas más usadas son la del Método JAD, que en español significa (Desarrollo Conjunto de Aplicaciones), es una técnica exploratoria popular que incluye a los usuarios como participantes activos en el proceso de desarrollo.
El proceso de JAD se basa en cuatro ideas simples:
1.   La gente que hace un trabajo, tiene la mejor comprensión de ese trabajo.
2.   La gente entrenada en Tecnologías de la Información tiene la mejor comprensión de las posibilidades de esas tecnologías.
3.   Los sistemas de información y los procesos del negocio raramente existen en forma aislada, trascienden los límites de cualquier sistema u oficina y afectan el trabajo en departamentos relacionados. La gente que trabaja en estas áreas relacionadas tiene una percepción valiosa del papel del sistema dentro de una comunidad más amplia.
Los mejores sistemas de información se diseñan cuando todos estos grupos trabajan juntos en un proyecto como socios iguales.