Especificación de requisitos

Catedra Ingenieria de Software UNLa
5 May 201521:36

Summary

TLDREl script aborda la importancia de la especificación de requisitos en la ingeniería de software, destacando la necesidad de comprender y documentar las necesidades del cliente y los usuarios para diseñar un software efectivo. Se describe el proceso de ingeniería de requisitos, que incluye la deducción, análisis, negociación y documentación de los requisitos, y cómo estos deben ser validados y mantenidos a lo largo del tiempo. Se enfatiza la importancia de la comunicación entre los interesados y el equipo de desarrollo, y cómo el ingeniero de requisitos actúa como un puente entre ellos. Además, se mencionan técnicas como entrevistas, cuestionarios y prototipado para recolectar requisitos, y se destaca la importancia de la tipificación y la clasificación de los mismos. Finalmente, se discute la gestión de cambios en los requisitos y la necesidad de un comité de control de cambios para decidir sobre la inclusión de modificaciones en el proyecto.

Takeaways

  • 📋 La especificación de requisitos es una parte crucial en la ingeniería de software, donde se definen las necesidades y deseos del cliente y los usuarios.
  • 🔍 El ingeniero de software actúa como un detective para descubrir y documentar las especificaciones, que son esenciales para diseñar y crear un software válido.
  • 🤝 Los interesados, incluyendo al cliente y los usuarios, son clave en la definición de los requisitos, ya que su visión直接影响最终的 software.
  • 🛠️ La ingeniería de requisitos incluye principios, métodos, técnicas y herramientas que ayudan a recolectar, documentar y mantener los requisitos a lo largo del tiempo.
  • 👥 Los roles del ingeniero de requisitos son variados y pueden incluir analista funcional, analista de negocio o programador, dependiendo de la organización.
  • 📈 Un requisito de software es una necesidad que debe ser solicitada por los interesados y cubierta por el software para resolver un problema específico.
  • 📝 La documentación de los requisitos es esencial, ya que actúa como un contrato entre el cliente y el equipo de desarrollo, detallando el problema y la solución.
  • 🔄 Los requisitos pueden cambiar con el tiempo, por lo que es importante tener un proceso para gestionar y documentar estos cambios.
  • 📉 Los requisitos se clasifican en funcionales y no funcionales, y se priorizan según la importancia y el costo para el proyecto.
  • 📈 El proceso de ingeniería de requisitos comienza con la identificación de necesidades y concluye con la validación de los requisitos por parte del cliente.
  • 🔗 Es importante que los documentos de requisitos sean claros, completos, correctos, comprensibles, verificables, consistentes, concisos, independientes, trazables y modificables.
  • 🛑 Si surgen cambios en los requisitos después de la validación, se requiere la intervención del comité de control de cambios para decidir si estos cambios se integran en el proyecto actual o se posponen.

Q & A

  • ¿Qué es la especificación de requisitos en la ingeniería de software?

    -La especificación de requisitos es una parte crucial de la ingeniería de software que involucra la identificación, análisis y documentación de los requerimientos del usuario y del software para construir un sistema que aborde un problema específico.

  • ¿Cuáles son las tareas que se realizan en la ingeniería de requisitos?

    -Las tareas en la ingeniería de requisitos incluyen la recolección, análisis, documentación, validación y mantenimiento de los requerimientos del usuario y del software.

  • ¿Qué son los 'roles' en el contexto de la especificación de requisitos?

    -Los roles son las funciones o responsabilidades que las personas o el equipo asumen durante el proceso de especificación de requisitos. Estos incluyen al ingeniero de requisitos, analista funcional, analista de negocio, y otros interesados en el proyecto.

  • ¿Cómo es la relación entre un problema de ingeniería de software y un proyecto de desarrollo de software?

    -Un proyecto de desarrollo de software surge después de identificar un problema de ingeniería de software. Si no se detecta un problema que requiera una solución de software, entonces no es necesario un proyecto de desarrollo de software.

  • ¿Quiénes son considerados 'interesados' en un proyecto de software?

    -Los interesados son todas las partes que tienen un interés en el proyecto de software, incluyendo al cliente, los usuarios finales, gerentes, expertos del negocio, proveedores y otros terceros que puedan verse afectados por el sistema.

  • ¿Qué es un 'requisito de software'?

    -Un requisito de software es una necesidad que debe ser solicitada por los interesados y cubierta por el artefacto del software. Es una descripción detallada de lo que el software debe hacer para resolver el problema presentado por el cliente.

  • ¿Cómo se abordan los cambios en los requisitos durante el tiempo?

    -Los cambios en los requisitos son manejados a través de la ingeniería de requisitos, que incluye técnicas y herramientas para soportar el mantenimiento de los requisitos, asegurando que los cambios sean documentados y comunicados adecuadamente.

  • ¿Por qué es importante documentar los requisitos del software?

    -Es importante documentar los requisitos del software para asegurar una comprensión clara del problema y de la solución, actuar como un contrato entre el cliente y el equipo de desarrollo, y facilitar la validación y verificación de que el software cumple con las expectativas.

  • ¿Cuáles son los tipos de requisitos que se pueden definir en un proyecto de software?

    -Los requisitos se pueden dividir en tres tipos principales: requisitos funcionales, que especifican las funcionalidades que el sistema realizará; requisitos no funcionales, que establecen restricciones a las funcionalidades; y requisitos en negativo, que especifican lo que el sistema no hará.

  • ¿Qué es la 'ingeniería de requisitos' y qué elementos componen?

    -La ingeniería de requisitos es el conjunto de elementos, principios, métodos, técnicas y herramientas que rigen y facilitan la obtención y documentación de los requisitos de un proyecto de software. Incluye la sistemática de tareas que pueden repetirse y aplicarse a cualquier tipo de proyecto de ingeniería de software.

  • ¿Cómo se asegura que los documentos de requisitos sean útiles y efectivos para el proyecto?

    -Los documentos de requisitos deben ser no ambiguos, completos, correctos, comprensibles, verificables, internamente y externamente consistentes, concisos, independientes, trazables, modificables, versionados, no redundantes, con un nivel de detalle adecuado, y organizados para una rápida navegación.

Outlines

00:00

😀 Introducción a la Especificación de Requisitos

Ezequiel Baldissoni introduce el tema de la especificación de requisitos en la ingeniería de software. Explica que este proceso es crucial para los proyectos y cubre la ingeniería de requisitos, las tareas realizadas, las herramientas y conocimientos necesarios. El curso proporciona a los alumnos los elementos para especificar requisitos de usuario y software, y entender los roles en la definición de requisitos. Se destaca que el desarrollo de un proyecto comienza con la identificación de un problema de ingeniería de software, proporcionado por el cliente. Se menciona que sin un problema de este tipo, no es necesario un proyecto de desarrollo de software. Además, se describe la importancia de las especificaciones brindadas por el cliente y los usuarios para la construcción del software.

05:02

🔍 Proceso de Ingeniería de Requisitos y su Sistematización

Se profundiza en la ingeniería de requisitos, abarcando elementos, principios, métodos y técnicas para recolectar y mantener los requisitos a lo largo del tiempo. Destaca la importancia de la documentación de los requisitos y cómo estos deben ser manejados y actualizados. Se menciona la especialización requerida para ser un ingeniero de requisitos y se define formalmente lo que es un requisito de software. Además, se plantean preguntas sobre qué hacer con los requisitos y se enfatiza la importancia de la documentación como solución para no depender únicamente de la memoria. Se describe el proceso de deducción de requisitos, análisis, negociación, documentación y validación con el cliente, destacando la posibilidad de que los requisitos cambien y la necesidad de un mantenimiento adecuado.

10:04

🤔 Identificación y Desafíos en la Recopilación de Requisitos

Se discuten los problemas que pueden surgir durante la fase de recolección de requisitos, como la dificultad de los usuarios para describir sus tareas o la falta de claridad en sus necesidades. Se presentan técnicas para abordar estos desafíos, incluyendo entrevistas, cuestionarios, herramientas de apoyo, observación, análisis de tareas, planteo de escenarios, procesos y prototipado. Se destaca la función del ingeniero de requisitos como puente entre los interesados y el equipo de proyecto, y la importancia de la comunicación eficaz en este proceso. Además, se menciona la transformación de requisitos no técnicos en requisitos entendibles por el equipo técnico.

15:04

📝 Documentación y Negociación de Requisitos

Se abordan los aspectos de la documentación de los requisitos, destacando la importancia de tener un solo documento que abarque todos los requisitos. Se describe la división de los requisitos en dos documentos: el documento de requisitos de usuario y el documento de especificación de requisitos de software. Se enumeran las características deseables de estos documentos, como la falta de ambigüedad, completitud, corrección, comprensibilidad y verificabilidad. Se insiste en la necesidad de versionado y se sugiere una estructura para la organización de los documentos. Además, se describe el proceso de validación de requisitos con el cliente antes del diseño del proyecto y cómo este proceso ayuda a evitar el trabajo en requisitos incorrectos o que puedan cambiar.

20:07

🔄 Gestión de Cambios en los Requisitos

Se aborda el tema de los cambios en los requisitos y cómo estos pueden afectar el presupuesto y los recursos asignados al proyecto. Se menciona el papel del comité de control de cambios, compuesto por diferentes actores que deciden si los cambios serán considerados en el proyecto actual o en futuros proyectos. Se describe la gestión de requisitos, que incluye la búsqueda de problemas, la realización de reuniones y la negociación de cambios. Se concluye con una ilustración gráfica que representa de forma humorística los desafíos en la comunicación y la implementación de los cambios en los requisitos, resaltando la importancia de un enfoque estructurado y colaborativo en el proceso de ingeniería de software.

Mindmap

Keywords

💡Especificación de requisitos

La especificación de requisitos es una parte crucial de la ingeniería de software que involucra la definición detallada de lo que el software debe hacer para satisfacer las necesidades de los usuarios y los objetivos del proyecto. En el video, se destaca que es esencial para entender y documentar las expectativas y soluciones propuestas, y es fundamental para el éxito del proyecto de software.

💡Ingeniería de requisitos

La ingeniería de requisitos es el campo que abarca la recopilación, análisis, y gestión de los requisitos de software. Se menciona en el video como un conjunto de elementos, principios, métodos, técnicas y herramientas que un ingeniero de requisitos utiliza para descubrir, documentar y mantener los requisitos a lo largo del tiempo.

💡Roles en la especificación

Los roles en la especificación son las diferentes personas o grupos que participan en el proceso de definición de los requisitos. El video habla sobre el cliente, los usuarios y otros interesados, quienes aportan sus perspectivas y necesidades al proceso. Estos roles son clave para asegurar que los requisitos aborden adecuadamente las expectativas y funcionalidades deseadas.

💡Documento de requisitos

El documento de requisitos es un artefacto que detalla todas las especificaciones, funcionalidades y restricciones del software. En el video, se resalta la importancia de este documento como una fuente centralizada y actualizada de información que guía el desarrollo y actúa como 'contrato' entre el cliente y el equipo de desarrollo.

💡Requisitos funcionales y no funcionales

Los requisitos funcionales describen las tareas y procesos que el software debe realizar, mientras que los requisitos no funcionales establecen restricciones o condiciones que deben cumplirse, como el rendimiento, la usabilidad o la seguridad. En el video, se explica que estos tipos de requisitos son esenciales para definir completamente lo que el software debe hacer y cómo debe hacerlo.

💡Proceso de ingeniería de requisitos

El proceso de ingeniería de requisitos es una secuencia de fases que incluye la deducción, análisis, negociación, documentación y validación de los requisitos. El video describe este proceso como una guía para los ingenieros de requisitos para asegurar una comprensión clara y un acuerdo sobre los requerimientos del software.

💡Cambio de requisitos

El cambio de requisitos es un aspecto inevitable en el desarrollo de software que ocurre cuando las necesidades del cliente o el entorno cambian. El video discute la importancia de gestionar estos cambios a través de un comité de control de cambios y la gestión de requisitos para minimizar el impacto en el proyecto.

💡Validación de requisitos

La validación de requisitos es la etapa en la que se confirma que los requisitos recopilados son correctos, completos y viables. El video subraya que este proceso es crucial para evitar el trabajo en requisitos incorrectos y asegurar que el software desarrollado cumpla con las expectativas del cliente.

💡Comité de control de cambios

El comité de control de cambios es un grupo compuesto por diversos interesados que deciden si los cambios propuestos en los requisitos serán incorporados al proyecto. En el video, se describe su función como la de gestionar y controlar los cambios para evitar desvíos en el presupuesto y el plazo del proyecto.

💡Gestión de requisitos

La gestión de requisitos es el trabajo continuo de monitorear, evaluar y administrar los cambios en los requisitos a lo largo del tiempo. El video menciona que este esfuerzo es esencial para adaptarse a los cambios en el entorno y garantizar que el software desarrollado siga siendo relevante y útil.

💡Clientes y usuarios

Los clientes son las partes interesadas que solicitan una solución de software, mientras que los usuarios son quienes interactuarán directamente con él. En el video, se destaca la diferencia entre estos roles y cómo su colaboración es fundamental para el descubrimiento y la comprensión de los requisitos del software.

Highlights

La importancia de la especificación de requisitos en la ingeniería de software para el éxito de los proyectos.

Descripción de las tareas y herramientas utilizadas en la ingeniería de requisitos.

El papel del cliente y los usuarios en la definición de las especificaciones del software.

La distinción entre problemas de software y problemas no relacionados con el software.

La necesidad de documentar los requisitos para un diseño adecuado del artefacto de software.

La ingeniería de requisitos como una disciplina sistemática que abarca principios, métodos, técnicas y herramientas.

El papel del ingeniero de requisitos, también conocido como analista funcional o de negocios.

La definición formal de un requisito de software y su relación con el problema que resuelve.

La importancia de la documentación y mantenimiento de los requisitos a lo largo del tiempo.

La tipificación de requisitos y su utilidad para mejorar la definición de los mismos.

La categorización de requisitos en funcionales y no funcionales, y su impacto en el diseño del software.

El proceso sistemático de ingeniería de requisitos que incluye deducción, análisis, negociación y documentación.

La interacción entre los diferentes roles involucrados en la definición de los requisitos.

Las técnicas utilizadas para recolectar información de los interesados, como entrevistas y cuestionarios.

El análisis y modelado de requisitos para comprender y comunicar las necesidades del proyecto.

La negociación con el cliente como un paso crucial para definir los requisitos finales del software.

La documentación de requisitos como un contrato entre el cliente y el equipo de desarrollo.

La validación de requisitos con el cliente antes del diseño y la programación.

La gestión de cambios en los requisitos y el papel del comité de control de cambios.

El impacto de los cambios en los requisitos en el presupuesto, el tiempo y la satisfacción del cliente.

Transcripts

play00:00

hola mi nombre es ezequiel baldissoni y

play00:02

voy a explicar de qué se trata esta

play00:04

parte tan importante para los proyectos

play00:06

de ingeniería de software llamada

play00:08

especificación de requisitos en este

play00:11

curso se verá que es la ingeniería de

play00:13

requisitos cuáles son las tareas que se

play00:16

realizan en este ámbito de la ingeniería

play00:18

de software cuáles son las herramientas

play00:20

de conocimiento y demás herramientas con

play00:23

el que se cuenta para realizar las

play00:25

tareas y detalles de cada una de las

play00:28

mismas

play00:29

este curso brinda al alumno todo lo

play00:31

necesario para especificar requisitos de

play00:33

usuario y de software explica cuáles son

play00:35

los roles involucrados en las tareas de

play00:37

específicas requisitos y da una noción

play00:40

de qué función cumple cada rol en cuanto

play00:43

a las definiciones de lo que debe hacer

play00:45

el software que se va a construir

play00:48

todo proyecto de desarrollo es creado

play00:50

luego de que se descubra un problema de

play00:53

ingeniería de software este problema lo

play00:56

detecta el cliente que solicita una

play00:58

solución

play01:00

sin un problema de este tipo podemos

play01:02

afirmar que no es necesario un proyecto

play01:04

de desarrollo de software por ejemplo si

play01:06

a una oficina se le voló el techo por un

play01:08

desastre climático este problema ya no

play01:10

es un problema de software por ende

play01:12

correspondería a otro equipo oa otro

play01:14

proyecto

play01:16

este problema cuenta con una serie de

play01:19

especificaciones que lo detallan y que

play01:21

de alguna forma delimitan sus partes y

play01:23

son aportadas por el cliente y los

play01:25

usuarios

play01:27

el cliente es el mayor interesado en

play01:29

buscar una solución pero los usuarios

play01:31

son quienes utilizarán el software por

play01:33

lo que deben ser considerados a la hora

play01:35

de escuchar su versión del problema a

play01:38

estos factores el cliente y los usuarios

play01:40

se los denomina comúnmente de los

play01:41

interesados las especificaciones que

play01:44

describen los interesados y anne al

play01:47

ingeniero del software en la realización

play01:48

del artefacto de software por ende es él

play01:51

quien debe detectarlas y documentar las

play01:53

para que luego el equipo elija la mejor

play01:55

manera de solucionarlo es importante

play01:58

aclarar que una definición correcta de

play02:00

estas especificaciones logran un diseño

play02:02

adecuado del artefacto y terminan en un

play02:04

software válido para el cliente que lo

play02:06

solicita luego de haber explicado esto

play02:08

podemos decir que las especificaciones

play02:10

son los requisitos que el artefacto

play02:12

software debe cumplir para solucionar el

play02:15

problema que el cliente presenta para

play02:18

poder lograr obtener todos estos

play02:19

requisitos es necesario recurrir a la

play02:22

ingeniería de requisitos

play02:23

entonces surge una pregunta que es la

play02:26

ingeniería de requisitos la ingeniería

play02:28

de requisitos abarca una serie de

play02:30

elementos

play02:31

los principios que rigen e ingeniería de

play02:34

requisitos los métodos que se utilizan

play02:36

para recolectar los requisitos las

play02:39

técnicas utilizadas y disponibles para

play02:40

esto y las herramientas con las cuales

play02:43

el ingeniero de requisitos cuenta para

play02:46

lograr su cometido

play02:47

estos elementos colaboran con el

play02:49

descubrimiento de las definiciones del

play02:51

problema con la documentación de las

play02:53

mismas y dado que los requisitos pueden

play02:56

cambiar en el tiempo también dan apoyo a

play02:58

su mantenimiento la ingeniería de

play03:00

requisitos es estudiada por muchos

play03:01

autores por lo que cuenta con una

play03:04

sistematización de las tareas lo que la

play03:06

hacen repetible por ende sirven para

play03:08

todo tipo de proyectos de ingeniería eso

play03:10

la ingeniería de requisitos si bien es

play03:12

aplicada por un ingeniero de software

play03:14

éste debe especializarse y tomar el rol

play03:16

de ingeniero de requisitos también

play03:18

conocido como analista funcional

play03:20

analista de negocio o analista

play03:21

programador o también existen otras

play03:24

definiciones pero todo depende de la

play03:26

organización en la cual trabajó hasta

play03:28

acá sólo definimos algunas cosas y dimos

play03:30

un poco más de visibilidad del rol del

play03:32

ingeniero

play03:34

la siguiente pregunta es que es un

play03:36

requisito un requisito de software esto

play03:38

la necesidad de ser solicitado por el

play03:40

interesado o por los interesados que se

play03:42

deben cubrir con un artefacto del

play03:44

software estos grandes rasgos cubre

play03:46

cualquier tipo de requisito del software

play03:47

ahora formalmente es un problema de

play03:50

software p que se soluciona configurando

play03:52

una máquina m para que ejerza un efecto

play03:54

o requisito de red dentro de un dominio

play03:56

de parece bastante confuso pero es

play03:58

sencillo los efectos son el software que

play04:01

realiza tareas que cumplen con la

play04:03

solución del problema qué es lo que el

play04:05

cliente necesita o desea el dominio es

play04:07

el contexto en el cual están embebidos

play04:09

los requisitos y la máquina m es la que

play04:12

realiza los efectos seres que se

play04:13

ejecutan en el dominio de

play04:16

el ingeniero de requisitos solo

play04:18

investiga o trabaja intentando obtener y

play04:20

documentar el dominio la conexión de la

play04:23

máquina m con el dominio y los

play04:24

requisitos

play04:25

dejando de lado como lo hará o sea lo

play04:28

que sería el comportamiento interna de

play04:30

la máquina en pocas palabras el software

play04:32

en sí luego de definir lo que es un

play04:34

requisito surge la siguiente pregunta

play04:36

qué hacemos con los requisitos sería muy

play04:39

fácil escuchar al cliente recordar todo

play04:42

lo que se charló y luego contarle al

play04:43

equipo lo que quiere pero esto no es

play04:46

posible bajo ningún punto de vista por

play04:49

lo que se hace mucho hincapié y mucho

play04:51

hincapié en documentar los requisitos

play04:52

una buena solución a esto es almacenar y

play04:56

mantener el documento de requisitos en

play04:59

este caso los requisitos se almacenan se

play05:02

eliminan o se actualizan en el documento

play05:04

de requisitos

play05:05

este documento cuenta con

play05:08

información detallada sobre el problema

play05:11

propiedades y comportamiento deseado del

play05:14

sistema restricciones de diseño y

play05:16

fabricación del producto en caso de que

play05:18

sean especificadas por el cliente una

play05:21

descripción de cómo el sistema ayudará a

play05:23

los usuarios a realizar sus tareas

play05:26

restricciones en cuanto a la tecnología

play05:28

que será utilizada en la construcción

play05:30

del artefacto restricciones de

play05:32

funcionamiento

play05:35

para que los requisitos sean entendidos

play05:37

como tales es muy importante

play05:38

describirlos de la forma correcta

play05:41

por ejemplo el sistema era tal o cual

play05:44

cosa el producto solucionará tal o cual

play05:47

problema o cuestiones también como

play05:50

diagramas o anotaciones formales como

play05:52

ser casos de uso historia del usuario

play05:57

esto depende directamente la metodología

play05:59

a utilizar y de las costumbres del

play06:01

equipo de ingeniería de software

play06:03

finalmente se definen al momento de

play06:06

diseñar o especificar la metodología de

play06:08

trabajo por ejemplo las metodologías

play06:10

ágiles suelen usar historias de usuario

play06:12

las metodologías basadas en caso de uso

play06:14

suelen usar casos de uso las

play06:16

metodologías tradicionales pueden usar

play06:18

diagramas de flujo de datos

play06:21

en este caso una parte de requisitos

play06:23

sería el diagrama de contexto etcétera

play06:26

para mejorar la definición de los

play06:28

requisitos es posible utilizar la

play06:30

tipificación las más conocidas son

play06:33

definiciones sobre efectos sobre el

play06:36

entorno cosas que provoca el sistema

play06:38

sobre el ambiente muy generales los

play06:41

exquisitos que por sí solo apuntan a

play06:43

varios problemas por ejemplo generar una

play06:45

bm para todas las tablas

play06:48

en la dm alta baja y modificación de

play06:50

tablas funcionales cosas que se refieren

play06:54

a funcionalidades necesarias del sistema

play06:56

de implementación relacionados al

play06:59

ambiente en donde estará implementado el

play07:01

sistema de rendimientos restricciones

play07:03

sobre cuál será el rendimiento del

play07:05

sistema frente a situaciones que lo

play07:07

requieran y de usabilidad relacionados a

play07:10

producto diario del sistema dado que el

play07:12

documento de requisitos actúa de alguna

play07:14

manera como contrato ya que define

play07:16

detalles del problema y la solución

play07:18

podemos de dividir los requisitos en

play07:21

tres grandes grupos o tipos que dan

play07:23

lugar a lo que el sistema hará o no

play07:25

requisitos en negativo especifican lo

play07:27

que el sistema no hará de ninguna manera

play07:29

los requisitos funcionales especifican

play07:31

las funcionalidades que el sistema

play07:33

realizará requisitos no funcionales que

play07:35

especifican restricciones a los

play07:37

anteriores o sea son restricciones a los

play07:39

requisitos funcionales un requisito

play07:41

funcional podría llegar a ser el sistema

play07:43

presentará una ventana para ingreso de

play07:45

usuario y un no funcional podría ser el

play07:48

usuario se validará en menos de 5

play07:50

segundos

play07:51

es una restricción al funcionar hasta

play07:53

este momento sabemos que es un requisito

play07:55

cuáles son los roles que interactúan en

play07:57

la definición de los mismos donde serán

play07:59

almacenados y mantenidos y cómo es la

play08:02

mejor manera de redactar los y

play08:04

organizados como dijimos en una

play08:06

instancia anterior las tareas del

play08:07

ingeniero de requisitos están

play08:09

sistematizados esta sistematización es

play08:11

guiada por un proceso que cuenta con

play08:13

fases y técnicas estos están a su vez

play08:16

guiados y mantenidos por estándares como

play08:18

ser el 830 mil 983 the light triple o el

play08:22

pss

play08:24

05 de la agencia espacial europea un

play08:27

proceso válido puede ser el siguiente

play08:28

todo comienza con una necesidad lo que

play08:31

dijimos en un principio el siguiente

play08:34

paso sería una deducción de los

play08:35

requisitos que darían lugar al análisis

play08:38

negociación de los requisitos

play08:40

luego una documentación de los

play08:42

requisitos que genera el documento y por

play08:45

último ese documento y esa definición

play08:47

del documento será validada con el

play08:49

cliente en una etapa de validación de

play08:51

requisitos

play08:52

y la variación de requisitos no es

play08:54

positiva podría llegar a requerir volver

play08:57

a una instancia anterior del proceso lo

play09:00

que sigue es mostrarles cómo debe ser

play09:02

utilizado este proceso el proceso

play09:04

comienza con el problema que mencionamos

play09:06

que son las necesidades o deseos el

play09:09

dominio los estándares que impone el

play09:10

cliente entre otros el trabajo del

play09:13

ingeniero requisitos comienza con la

play09:15

deducción de los requisitos que son

play09:17

estos detalles o características del

play09:19

problema que nos sirven de guía o sea el

play09:22

problema en un principio es una

play09:23

descripción muy amplia que luego es

play09:26

necesario detallar para poder detallar

play09:28

el problema es necesario capturar y

play09:30

descubrir nuevos requisitos pero para

play09:32

esto es necesario conocer quiénes son

play09:34

los interesados ya que en un principio

play09:36

sólo conocemos al cliente que es quien

play09:38

nos solicita la solución

play09:40

los interesados son gerentes

play09:42

involucrados por ejemplo en los procesos

play09:44

de la organización que luego serán

play09:46

influenciados por el sistema de software

play09:48

los expertos del negocio todo aquel

play09:51

personal de la organización que se ha

play09:53

influenciado por el sistema proveedores

play09:55

otras personas

play09:56

terceros etcétera por supuesto los

play09:58

usuarios que manipularan este sistema

play10:00

estos actores servirán de fuente de los

play10:03

requisitos

play10:05

con qué problema nos podemos encontrar

play10:06

en esta fase bueno por ejemplo los

play10:08

usuarios no pueden describir todas sus

play10:10

tareas o en ocasiones no tienen claro o

play10:12

no saben cuáles son en su totalidad

play10:14

también a veces es difícil verbalizar de

play10:17

forma correcta a cierta información hay

play10:19

otros casos en los que hay que inventar

play10:21

nuevos requisitos para cubrir baches es

play10:24

necesario arrancarle de información a

play10:26

las personas cuando en realidad deben

play10:28

colaborar con el proyecto para

play10:30

recolectar los requisitos faltantes del

play10:31

ingeniero de requisitos cuenta con una

play10:33

serie de técnicas entrevistas

play10:35

cuestionarios o herramientas las

play10:37

entrevistas son generalmente cara a cara

play10:39

donde se hacen preguntas el usuario o el

play10:42

entrevistado responde las preguntas

play10:44

pueden ser abiertas dándole espacio al

play10:47

entrevistado a que responda lo que él

play10:48

quiera o pueden ser cerradas dándole a

play10:51

de entrevista dos respuestas simples

play10:53

como si no múltiples opciones los

play10:56

cuestionarios son un tipo de entrevista

play10:58

en la cual no es cara a cara sino que se

play11:00

le hace al usuario bueno es la persona

play11:03

completarlas y están formados por las

play11:05

mismas

play11:06

sean los mismos tipos de preguntas otra

play11:07

cosa son las herramientas hub son

play11:09

herramientas completas para el ingeniero

play11:11

de requisitos en las cuales se les

play11:12

facilita toda esta tarea

play11:14

otra forma es observación y análisis de

play11:16

tareas donde puede sentar al lado de la

play11:18

persona y ver lo que es lo que hacen en

play11:20

su ámbito de trabajo entonces ahí en ese

play11:22

momento interpretar cómo son sus tareas

play11:24

la otra zona el planteo de escenarios y

play11:26

procesos de donde uno puede describir

play11:28

después un escenario un proceso y el

play11:31

usuario puede llevarlo a cabo y validar

play11:33

si es correcto o no otra forma es el

play11:35

prototipado evolutivo y desechable donde

play11:37

se presenta un prototipo y es útil

play11:40

cuando no es claro o hay incertidumbre

play11:42

en el contexto de uso del sistema el

play11:44

prototipado evolutivo generalmente parte

play11:46

del prototipo donde se le muestra el

play11:48

cliente y luego evoluciona al arte

play11:50

factor software en cambio el desechable

play11:52

o descartable una vez que compre su

play11:54

función de ser el prototipo para

play11:56

demostrar el cliente es desechado y nos

play11:58

sirve más

play11:58

una vez que el ingeniero de requisitos

play12:00

cuenta con la totalidad de los

play12:01

requisitos o sea los interesados no

play12:03

aportan más información comienza la

play12:05

etapa de análisis en esta etapa se

play12:06

transforman los requisitos que fueron

play12:08

por gente en negocios a requisitos

play12:11

entendibles por el equipo de proyecto

play12:12

esta etapa representa el puente entre

play12:14

los interesados y el resto del equipo

play12:16

otra forma de verlo es como el traductor

play12:19

entre el personal de la organización que

play12:21

espera la solución software y el equipo

play12:22

en que mide eso

play12:24

este chiste ilustra de forma gráfica la

play12:27

realidad de la comunicación entre

play12:28

usuarios

play12:31

en la parte de arriba se puede ver a los

play12:33

usuarios viendo al ingeniero de software

play12:34

como un marciano que no se entiende lo

play12:36

que dicen y una parte de abajo se puede

play12:38

ver al ingeniero de software conservando

play12:40

a los usuarios que son como cavernícolas

play12:42

que no saben cómo expresar sus deseos y

play12:45

necesidades y que además no saben

play12:47

utilizar el software vamos a destacar

play12:49

entonces el rol del traductor y el rol

play12:51

de unir con un puente los dos sectores

play12:53

involucrados que son tan diferentes

play12:56

luego de traducir los requisitos en esta

play12:58

etapa se comienza a clasificar los

play13:00

requisitos con el fin de de separarlos

play13:01

de alguna forma como para entender qué

play13:03

papel cumple cada uno se puede

play13:05

clasificar pro funcionales o no

play13:07

funcionales dando a entender cuáles son

play13:10

funcionalidades y cuáles son

play13:11

restricciones a esas funcionalidades

play13:14

otra forma es por prioridades esto

play13:17

ayudaría al resto del equipo para

play13:18

entender cuáles se deben resolver

play13:20

primero o cuáles no según la importancia

play13:22

del cliente por ejemplo

play13:24

una pantalla urgente o una funcionalidad

play13:26

urgente es recomendable darle más

play13:29

prioridad de ese requisito que en los

play13:31

demás también se pueden clasificar por

play13:33

costo dando un valor del costo que

play13:35

representa para el presupuesto del

play13:36

proyecto por niveles de alto bajo medio

play13:39

según su volatilidad vuestra habilidad

play13:41

para entender si el requisito va a

play13:43

cambiar en mayor o menor medida a través

play13:45

del tiempo o también requisitos sobre el

play13:47

proceso sobre el producto luego de

play13:49

contar con los requisitos clasificados

play13:51

comience el modelado de los requisitos

play13:52

donde se comience a esbozar los

play13:54

requisitos hay quienes utilizan

play13:55

diagramas de contexto otros usan casos

play13:58

de uso otro también son historia de

play14:00

usuario todo depende de la naturaleza

play14:02

del problema la experiencia de que en

play14:04

módena las herramientas con la que se

play14:06

cuenta lo que el cliente quiere o

play14:07

incluso de la cultura del personal la

play14:10

mejor forma de modelar los requisitos es

play14:12

aquella que es entendida por el resto de

play14:15

los integrantes del proyecto ya sean los

play14:16

interesados como los miembros del equipo

play14:18

de ingeniería de software

play14:20

lo que sí es la negociación con el

play14:22

cliente aquí se decide el cierre de los

play14:25

requisitos y es donde se debate qué

play14:27

requisitos se tomarán para el proyecto y

play14:29

cuáles serán descartados y tomados para

play14:31

futuros proyectos en pocas palabras se

play14:33

negocia lo que se hará y lo que no será

play14:35

todo lo que se negoció él debe ser

play14:38

claramente expresado y validado con el

play14:39

cliente cada aclarar y se hace mucho

play14:42

hincapié que todos los requisitos deben

play14:44

ser negociados y nunca tomar decisión

play14:46

propia sobre los mismos el cliente

play14:48

siempre tiene la última palabra sobre

play14:50

sobre los requisitos

play14:52

luego de haber negociado con el cliente

play14:54

se presenta la etapa de documentación

play14:58

como dijimos anteriormente la

play15:00

documentación se realiza sobre el

play15:01

documento de requisitos ahora sí tenemos

play15:04

un solo documento que abarque todos los

play15:06

requisitos que los interesados describen

play15:08

y todos los requisitos que son

play15:09

traducidos al lenguaje técnico sería muy

play15:11

confuso

play15:12

para evitar esto se divide en los

play15:14

requisitos en dos documentos

play15:17

el documento de requisitos de usuario

play15:19

contiene todo lo que los interesados

play15:21

describen del problema con un lenguaje

play15:23

adaptado al negocio o el contexto

play15:25

el documento de especificación de

play15:27

requisitos de software de un documento

play15:30

de requisitos de software se detalla lo

play15:32

que el software debe hacer con un

play15:34

lenguaje más técnico había adaptado al

play15:36

lenguaje del grupo o del equipo de

play15:39

ingeniería de software

play15:40

estos documentos deben cumplir con una

play15:42

serie de características deseables como

play15:45

no será ambiguo si todos los requisitos

play15:47

se interpretan de una sola manera deben

play15:49

ser completos abarcando todas las

play15:51

necesidades y deseos de los interesados

play15:53

los documentos deben ser correctos

play15:55

representando cada requisito una

play15:57

necesidad real del negocio comprensible

play16:00

o entendible por todos los actores

play16:01

verificable ya que una vez terminado el

play16:04

software debe controlarse que se cumple

play16:06

con la totalidad de diferentes

play16:07

internamente consistente no debe haber

play16:10

contradicciones entre requisitos

play16:13

externamente consistente debe existir un

play16:16

hardware que los soportes realizables o

play16:19

sea que todos requisitos debe ser

play16:20

posible de traducirlo en un software

play16:22

conciso breve debe ser independiente de

play16:25

un solo diseño trazable o referencia

play16:27

hablé con la evolución del proyecto o

play16:29

sea y debe poder relacionarse con una

play16:31

parte que representa el diseño o el

play16:32

código o también en tests modificables

play16:35

ya que pueden cambiar almacenados

play16:37

electrónicamente en un archivo o por una

play16:39

herramienta en caso de usar una

play16:41

herramienta para los requisitos que se

play16:42

traduzcan en diseños o códigos deben

play16:45

darse a la misma en caso de haber

play16:46

clasificado por importancia o por

play16:48

estabilidad o volatilidad deben ser

play16:50

ordenados por este valor

play16:51

los documentos siempre deben estar

play16:53

versionados y hago hincapié en esto si

play16:56

cambia lo más mínimo cualquier requisito

play16:58

debe cambiar la versión a la revisión no

play17:00

redundante solo debe estar anotado en un

play17:03

lugar nivel de extracción adecuado o sea

play17:05

no debe tener ni mucho detalle ni poco

play17:07

los documentos de bien se precisa

play17:09

dándole valores para precisar

play17:11

características como ser un ejemplo si

play17:13

el sistema tendrá pocas opciones

play17:15

tendríamos que haber puesto el sistema

play17:17

cuenta con cinco opciones obligatorias y

play17:19

dos opcionales

play17:21

utilizables o sea que existente el place

play17:23

del documento que pueden ser utilizados

play17:25

en nuestros proyectos trazados o sea dar

play17:28

información de quién origina el

play17:29

requisito quien lo cambio quien pidió

play17:31

eliminarlo de está organizado para poder

play17:34

ir rápidamente a la información deseada

play17:36

con referencias cruzadas en caso de que

play17:38

uno haga referencia a otro oa otra

play17:41

sección en el documento una vez

play17:42

realizados los documentos siguiendo

play17:44

estas características es el momento de

play17:47

presentárselo al cliente y quien dará el

play17:49

visto bueno tendrá

play17:51

esto que acabo de decir es para lo que

play17:53

sirve la etapa de validación esta etapa

play17:55

es el paso previo al diseño por lo que

play17:58

evita que el equipo se ponga a trabajar

play18:00

en requisitos que podrían ser

play18:01

incorrectos o podrían tener cambios

play18:03

futuros por insatisfacción del cliente

play18:06

es el cliente quien tiene que decidir

play18:08

ciertos son correctos o válidos para

play18:10

comenzar a comprometer recursos o sea

play18:12

comenzar con el gasto del presupuesto

play18:14

del cliente si el cliente no está de

play18:16

acuerdo el proceso comienza desde la

play18:18

etapa necesaria por ejemplo podría que

play18:20

recomenzar por la reducción de

play18:21

requisitos por el análisis sin

play18:23

negociación por la documentación de

play18:25

requisitos o comenzar con un nuevo

play18:27

proyecto con nuevas necesidades e

play18:29

información de dominio o estándares

play18:32

en la validación suelen utilizarse las

play18:35

revisiones para evitar problemas futuros

play18:36

en los requisitos consta de tres etapas

play18:39

la búsqueda de problemas reunirse con el

play18:42

cliente establecer acuerdos sobre las

play18:45

diferencias encontradas luego que el

play18:47

cliente válido los requisitos

play18:48

el equipo puede comenzar a trabajar en

play18:50

base a este documento cuando el equipo

play18:52

se pone a trabajar y el proyecto está en

play18:54

marcha

play18:55

los integrantes pueden detectar

play18:57

faltantes o problemas puede ser que el

play18:59

cliente cambia los requisitos también

play19:01

puede cambiar el entorno como hacer

play19:02

leyes o normas por motivos de mejoras

play19:05

puede cambiar el hardware que soporta el

play19:07

sistema incluso la organización cambia

play19:10

su forma de trabajar todo esto puede

play19:13

hacer que los requisitos cambien también

play19:15

si el proceso terminó y surgen más

play19:18

cambios es necesario ponerse de acuerdo

play19:20

con las partes el problema aquí es que

play19:22

ya se cerró un presupuesto el personal

play19:24

involucrado y los tiempos establecidos

play19:27

si existen un cambio en los requisitos

play19:29

alguna parte del proyecto cambiará

play19:32

algunos de los involucrados verá una

play19:34

pérdida de su dinero o de su tiempo

play19:37

debido a estos cambios por esto entre el

play19:40

comité de control de cambios este comité

play19:42

está conformado por una serie de actores

play19:44

que deciden si los cambios serán tenidos

play19:47

en cuenta en este proyecto o serán

play19:49

dejados de lado y tenidos en cuenta en

play19:52

futuros proyectos puede estar formado

play19:54

por algunos o varios interesados

play19:57

el ingeniero de software alguna persona

play19:59

del equipo de desarrollo otros

play20:01

involucrados como ser proveedores o

play20:04

terceros y te comenté controlar las

play20:06

revisiones de los requisitos el trabajo

play20:09

que realiza el comité se conoce como

play20:11

gestión de requisitos y es donde se

play20:13

buscan problemas se realizan reuniones y

play20:15

se establecen acuerdos todos sobre los

play20:17

cambios bueno este es el fin de este

play20:20

curso dejo esta esta imagen que

play20:22

seguramente ya la hayan visto en otros

play20:24

lados

play20:25

esta imagen expresa bien cómo es que se

play20:30

producen los cambios en los requisitos

play20:32

según quien lo interpreta

play20:35

por ejemplo la solicitud del usuario es

play20:37

una marca con tres tablas lo que atendió

play20:40

el líder de proyecto o sea el ingeniero

play20:42

de software es una marca que va apoyada

play20:45

en el árbol

play20:47

en diseño del analista de sistemas

play20:49

sucede el ingeniero de requisitos es un

play20:52

árbol que hay que partir para que la

play20:54

marca pase el programador terminó atando

play20:57

la hamaca al árbol y ni siquiera explota

play20:59

la recomendación del consultor externo

play21:02

algún concepto de esta noche que se haya

play21:04

integrado algún tercero es que se ponga

play21:07

un sillón espectacular esté cómodo

play21:10

la documentación termina siendo

play21:12

inexistente

play21:14

la implantación en producción termina

play21:16

siendo una soga colgada el presupuesto

play21:19

del proyecto fue para una montaña rusa

play21:21

el soporte operativo luego de la

play21:23

implementación es el árbol este que ni

play21:26

siquiera existe está cortado y lo que el

play21:28

usuario realmente necesitaba que era

play21:30

unas horas con una rueda cuerda

play21:33

espero que les haya servido llega hasta

play21:35

la próxima

Rate This

5.0 / 5 (0 votes)

Related Tags
Especificación de RequisitosIngeniería de SoftwareRol del IngenieroGestión de CambiosClientes y UsuariosDocumentación de RequisitosProceso de IngenieríaAnálisis de RequisitosNegociación de RequisitosComité de Control de CambiosValidación de Requisitos
Do you need a summary in English?