Subido por Eduardo Castro Nava

ENTREGABLE 1 Eduardo Castro Nava Ing. de Requerimientos

Anuncio
ENTREGABLE 1
Alumno: Eduardo Alfonso Castro Nava
Cuenta: 18046565
Asignatura: Ingeniería de Requerimientos
Cuatrimestre: 8º
Fecha: 08 de marzo 2020
INTRODUCCIÓN
Un área importante en la Ingeniería de Software es la Ingeniería de
Requerimientos, esta permite determinar las características y funcionalidades del
sistema a la ingeniería de software y proporciona información de las consecuencias del
descuido de los requerimientos donde encontramos: retrasos en el cronograma y costo
extra, defectos en el software y que la entrega de un software, no satisface las
necesidades del cliente.
El siguiente ejemplo nos permitirá detectar y utilizar, diferentes técnicas para la
recolección de información de los requerimientos del usuario, producto, sistema, para
resolver algunos de los problemas que presenta, los cuales serán explicados para
comprender sus características y utilidad para el análisis de requerimientos.
Ejercicio 1
Se necesita desarrollar un producto de software para preparar entregas a clientes. En
una Base de Datos de un servidor conectado a una red están registrados los Pedidos
de los Clientes y se dispone también de la información de los artículos que hay en
existencia. Un proceso por lotes debe identificar diariamente de forma automática todos
los Pedidos para los que hay disponibilidad como para cumplir las entregas, con el
criterio de atender primero los Pedidos de mayor prioridad. La prioridad está
determinada por una escala de 10 valores. A igual valor de prioridad se atienden primero
los Pedidos más antiguos. El proceso emite un listado con los Pedidos en condiciones
de cumplirse total o parcialmente, con los datos: nro. Pedido, Fecha Pedido, Hora
Pedido, Id. Cliente, Nombre Cliente, Dirección Cliente, Fecha del Día, Hora (Id.
Producto, Descripción Producto, Cantidad Pedido, Cantidad ya Entregada, Cantidad a
Entregar, Ubicación) y un listado adicional con los Pedidos que tienen más de 24 horas
y que no pueden cumplirse.
El operario puede cambiar las prioridades de los Pedidos. El encargado de preparar los
envíos va tildando las líneas ya apartadas. Excepcionalmente sucede que no hay
existencia física como para cumplir un envío debido a una discrepancia entre la
existencia registrada en el sistema con la real. En ese caso el encargado anota en el
listado la cantidad efectivamente apartada. El operador puede revisar por pantalla los
pedidos que tenía para cumplir y marcarlos como entregados. Si la cantidad apartada
no coincidiera con la Cantidad a Entregar del listado, el operario puede corregir la
Cantidad a Entregar. Al marcar un Pedido como entregado, el producto pasa un mensaje
al sistema de control de existencia para que la actualice, y emite una factura con los
datos: Nro. Factura, Fecha de Factura, Id. Cliente, Nombre Cliente, Dirección Cliente,
RUC Cliente (Id. Producto, Descripción Producto, Cantidad Factura, Precio Unitario,
Importe) Subtotal, Importe IVA, Importe Factura, y deja registrados esos mismos datos
en la Base para poder controlar a posteriori el pago y alimentar la contabilidad.
Actividades a realizar:
a. Clasificar los requerimientos para este ejercicio en: Funcionales y No Funcionales.
b. Piense (inventar) para este ejercicio 1, requerimientos no funcionales del tipo:
1. Del producto
2. De la organización
3. Externos
Actividad.
A. Análisis de Requerimientos: Se procede a determinar los requerimientos
Funcionales y No Funcionales del sistema a partir de los cuales, se hace una
clasificación de las necesidades.
Requisitos funcionales
Especifican lo que debe hacer o los servicios que debe proporcionar el sistema.
Existe la opción de declarar explícitamente lo que el sistema no debe hacer. Para
el particular caso, se observa que el sistema debe proporcionar automáticamente
la información de clientes y los pedidos, que se estén dentro de la Base de Datos,
la información se debe encontrar actualizada, y que este actualizada con la
información del almacén de la bodega, y que se pueda entregar a los clientes.
También que el sistema pueda dar la información en un corto periodo de tiempo,
para que, al hacer la búsqueda, despliegue la información que se solicita, y poder
generar él envió a los clientes.

Observamos que no está funcionando correctamente, por lo que los
empleados están realizando el trabajo de forma manual, coordinando los
pedidos de la mercancía y haciendo los envíos a los clientes; demostrando
que el sistema tenga deficiencias y tiene fallas para manejar la información
de forma automatizada, por lo que está causando retrasos en las
operaciones de la empresa, ya que no se pueden toda la información en
la Base de Datos y que pueda mostrar la información correctamente, y que
permita facilitar de una forma más Ágil, el trabajo de pedidos y envío de
mercancía. Aquí se observa que el modelo relacional de la Base de Datos
está fallando. Y que la respuesta del sistema no es confiable, porque arroja
información errónea y que tiene fallas en la relación de los registros
actuales y que no utilice claves, que permitan hacer una búsqueda de la
información, y que facilite a los empleados trabajar eficientemente dentro
del inventario de mercancía que existe en bodega y poder programar
eficientemente las entregas.
Determinaremos los siguientes requerimientos de sistema:

Orden de Compra: el sistema debe recibir y guardar la cantidad de
mercancía que se recibe, por orden de pedido y que se encuentre
registrado en el sistema por los empleados de Bodega.

Solicitud de Pedido: El sistema debe generar una solicitud de pedido,
que incluya. cantidad de mercancía del pedido, datos del producto, datos
del cliente, y datos de envío.

Comparación con Inventario en Bodega: El sistema hace un mach de
la cantidad del pedido contra la cantidad existente en bodega,
posteriormente, se genera un reporte de la cantidad de mercancía faltante
en bodega, con sesto se podrá tener un mejor control de la existencia de
mercancía y si es necesario generar una nueva solicitud de nueva
mercancía.

Reporte y generación de solicitud pedido: El sistema, generara un
reporte y realizara un pedido, después de comparar la solicitud del pedido
con el inventario en bodega.

Realizar Factura: El sistema genera la factura con la cantidad solicitada
de la mercancía, precio unitario y total del valor del pedido.

Pago de Factura: El sistema, compara el pago ingresado en la Base de
Datos con el valor a pagar de la factura, posteriormente, si el cliente tiene
nota de crédito, el sistema asignará un determinado plazo de pago para el
cliente.

Reporte de Envío de Pedido: El sistema genera un reporte donde se
reporta que esta todo correcto y liquidado, para poder enviar el pedido.
Requerimientos No Funcionales.
Para este caso, obedece a la necesidad de interoperabilidad entre el sistema
de software con el hardware, para que funcione correctamente, y las
operaciones de la empresa puedan realizarse rápida y eficientemente, para
brindar un servicio de entrega de mercancía en tiempo y forma a los clientes.
Procederemos a hacer la siguiente clasificación de requerimientos para este
caso.

Requerimientos del Producto: Se requiere de un sistema que permita
una rápida respuesta en corto tiempo, para una realización eficiente de
operaciones de la empresa, alto rendimiento, alta capacidad de
almacenamiento y que sea de alta fiabilidad y que no presente fallos de
operación para que el sistema siempre este arriba funcionando 24/7.

Bajo Mantenimiento: Sea proactivo en evitar tiempos de inactividad no
programados, y que permita planificar los mantenimientos cuando sean
necesarios basándose en análisis de los datos de condición del activo.

Confiabilidad del Sistema: Que el sistema esté libre de prueba de
fallas, que permita resolver errores, restaurar datos, y reiniciar el
funcionamiento en caso de fallos.

Usabilidad del Sistema: debe ser amigable con el usuario, que permita
el ingrese de datos como las órdenes de compra, envíos de pedidos,
inventarios, facturas, y generación de reportes.

Eficiencia del Sistema: Debe poderse ejecutar en diferentes entornos,
como Windows, Linux, etc. (Multiplataforma). Así como ser capaz de
guardar los datos de diferentes motores de bases de datos.

Ayuda y documentación en línea. El sistema tendrá un manual de
ayuda disponible que permitirá aclarar dudas respecto al funcionamiento
del mismo.
Requerimientos de la Organización:
Observamos que la organización cuenta con un sistema de información de
gestión administrativa que sirve de soporte en las diferentes actividades que se
realizan diariamente en los diferentes departamentos como el área de ventas,
en bodega con inventarios y el área de contabilidad. Este sistema de
información que se cuenta en la organización, funciona mediante una Base de
Datos, donde se toman los datos de clientes, almacén y ventas, y que se va
transformando en información y que va generando los reportes para que los
empleados puedan realizar las operaciones de envíos de mercancía a los
clientes, con lo que va funcionando un esquema de datos, procesamiento y de
información.
La observación de este funcionamiento dentro de las operaciones del sistema
de información de la organización, nos permite determinar que el sistema tiene
problemas que hacen que el proceso inicia en la generación de una orden de
compra, que especifica la cantidad de mercancía solicitada por el cliente, costo
y tipo de mercancía.
Vemos que el procedimiento se realiza mediante la solicitud del pedido, que lo
lleva el Departamento de Ventas, la Gestión de Inventarios, y el Departamento
de Producción que determina la cantidad de mercancía a producir, por otro lado,
tenemos al Departamento de Finanzas quien es el que genera la facturación por
lo que el sistema, realiza una comparación de los tres departamentos de la
organización, y que permite verificar antes de enviar el pedido, y que valida las
cantidades de mercancía registradas en la Orden de Compra y que estas
concuerden con las cantidades que aparecen en la Orden de Compra, así como
en la Factura.
Obtención y Análisis de Requerimientos
Los propósitos son los siguientes:

Dominio de Aplicación: el analista estudia la comprensión del dominio
de la aplicación

Requerimientos: en esta fase se interactúa con los stakeholders, o
personas involucradas en las operaciones de la organización, “Los
stakeholders desempeñan un papel clave en la Elicitación, especificación
y validación de los requerimientos de software” (P. Loucopoulos & V.
Karakostas 1995).

Clasificación: en esta etapa los requerimientos se organizan por grupos

Prioridad: Se ordenan según las prioridades los requerimientos, y a
encontrar y resolver los requerimientos en conflicto a través de la
negociación.

Verificación:
Se
analiza
la
consistencia
y
totalidad
de
los
requerimientos. Diagrama de obtención y análisis de requerimientos.
Esto implica verificar que los requerimientos sean consistentes y que
estén completos.
(2011) Sánchez, S. Proceso de Obtención y Análisis de Requerimientos.
Etnografía.
Para este caso la Etnografía, nos permite solucionar el problema, implica que se utilice
la Técnica de Etnografía, donde se hace una observación de las operaciones de la
organización, para entender los requerimientos del personal y de la organización.
La Etnografía nos permite:
 Recabar información de primera mano, y observar comportamientos in situ y en
tiempo real.
 Aprehender procesos y estrategias.
 Detectar y diagnosticar problemas.
 Proponer soluciones desde la organización, con la organización y hacia la
organización.
 Innovación, cambio y adaptabilidad.
Validación de Requerimientos
Para ello, debemos de hacer una comprobación de la correspondencia entre las
descripciones iniciales y si el modelo es capaz de responder al planteamiento inicial.
Por lo que se realiza una comprobación del modelo obtenido responde de la misma
forma deseada que la que el cliente pide, por un lado, y por otro a la inversa si otras
respuestas del modelo convencen al cliente.
Los parámetros para validación de requerimientos son:
 Validez: Permite preguntar a un usuario, se debe de entender que varios de los
usuarios pueden tener puntos de vista distintos y necesitar otros requisitos.

Consistencia: No debe haber contradicciones entre unos requisitos y otros.

Información Completa: Se deben contar con todos los requisitos.

Realismo: Se pueden implementar con la tecnología que actualmente se tiene.

Verificabilidad: Tiene que existir alguna forma de comprobar que cada requisito se
cumple.
La validación de requerimientos es parte fundamental, ya que depende que no existan
elevados costos de mantenimiento para el software a desarrollar.
Prototipos
Para validar los requerimientos hallados, se construyen prototipos. Los prototipos son
las simulaciones del posible producto, y que luego son utilizados por el usuario, lo que
permiten una retroalimentación del sistema diseñado con base a los requerimientos
recolectados le permite al usuario realizar su trabajo de manera eficiente y efectiva.
El desarrollo del prototipo comienza con la captura de requerimientos. Aquí participan
los desarrolladores y clientes para definir los objetivos generales del software, aquí se
van a identifican todos los requerimientos que son conocidos, y se muestran las áreas
en las que será necesaria mayor profundidad en las definiciones.
Luego se pasará a un “diseño rápido”. El diseño rápido se concentra en representar
los aspectos del software que visualizara los usuarios.
Entrevistas y cuestionarios
Durante la entrevista, el analista platica con el encuestado; el cuestionario hace
referencia a una serie de preguntas relacionadas con los diferentes aspectos de un
sistema.
Las personas encuestadas serán los usuarios de los sistemas existentes o personal
que sea factible del sistema propuesto. Por lo regular, son los gerentes o empleados
que proporcionaran los datos para el sistema. Aquí el éxito de esta que esta técnica
rinde frutos, depende mucho de la habilidad del entrevistador y que esté preparado
para la entrevista.
Lluvia de Ideas
La intención para la aplicación, es de generar la máxima cantidad posible de
requerimientos para el sistema. La intención de este ejercicio es generar muchas ideas.
Posteriormente, se van a ir eliminando en base a los criterios que se van encontrando.
Debemos considera los siguientes puntos:
 Obtención de una cantidad mayor de ideas creativas.
 Se debe permitir la evolución de cada una de las ideas, ya que esto puede crear un
ambiente hostil que no permita libremente la generación de ideas.
 No debemos descartar ninguna idea por más absurda que suene, porque luego de
razonarlas a detalle, puede que se vuelva en un requerimiento sumamente útil.
 Escribirlas sin censura.
1. Realizar un Mapa conceptual detallado de las Técnicas de Recolección de Requerimientos.
Conclusiones
El presente trabajo nos permite ver las técnicas, métodos y herramientas que
pudieran ser aplicados durante el proceso de definición de requerimientos para el caso
en particular y que podamos ser exitosos en la etapa de diseño y poder evitar cometer
errores en la definición de los requerimientos, estos pueden muy caros al momento de
corregir una vez desarrollado el sistema.
El proceso de la Ingeniería de Requerimientos nos sirve para recopilar la información
necesaria para establecer la funcionalidad que se quiere alcanzar con el sistema. Por lo
que se requiere contar con buenos métodos y técnicas para hacerlo, y una buena
comunicación constante con el cliente, ya que los requerimientos deben reflejar las
necesidades reales que el cliente quiere satisfacer.
La administración de requerimientos es fundamental en todo proyecto de desarrollo de
software, esta debe de contar con especificaciones claras y completas, desde las fases
iniciales para que no tengamos problemas posteriores ya que esto puede significar un
retraso en nuestro cronograma, un presupuesto erróneo, o la posible cancelación del
proyecto.
Lo que me deja como aprendizaje sobre este ejercicio, es que aporta la utilización de
técnicas como la especificación, la lluvia de ideas y el desarrollo de prototipos, que
ayudan a definir requerimientos de una manera concisa y real.
Referencias
Castañeda, F. (2015). Ingeniería de Requerimientos. Ingeniería de Software Ian Sommerville. 6ª
Edición. Capítulo 6. Recuperado de:
https://www.uv.mx/personal/fcastaneda/files/2015/08/G_Capitulo_6_Ingenieria_de_Requerimien
tos.pdf
Pressman, Roger S. 2006, “Ingeniería del Software: Un enfoque práctico”, Sexta edición, México
DF, Editorial McGraw Hill. [Archivo PDF] Recuperado de:
http://cotana.informatica.edu.bo/downloads/ldIngenieria.de.software.enfoque.practico.7ed.Pressman.PDF
Jiménez, C. (24 abril 2011). Validación de Requerimientos. [Archivo PDF]. Recuperado de:
https://cjimenez13requerimientos.files.wordpress.com/2014/09/validacion-de-requerimientos.pdf
Arias, C.M. (26 julio 2007). La ingeniería de requerimientos y su importancia en el desarrollo de
proyectos de software. [Archivo en PDF]. Recuperado de: file:///C:/Users/eduar/Downloads/790Texto%20del%20art%C3%ADculo-1199-1-10-20120810.pdf
Ortiz, K.H. (2009). PLATAFORMA PARA EL CONTROL DEL USO DE SOFTWARES
EDUCATIVOS.
[Archivo
PDF].
Recuperado
de:
http://www.eumed.net/librosgratis/2009c/583/Requerimientos%20no%20Funcionales.htm
Morales, I.S. (23 noviembre 2017) Etnografía Organizacional. Recuperado
https://es.slideshare.net/SergioRodrigoMorales/etnografa-organizacional-82615122
de:
Descargar