Principios de la Ingeniería de Requerimientos (01)

Поделиться
HTML-код
  • Опубликовано: 20 авг 2024
  • Presento los que a mi criterio son los cuatro principios de la Ingeniería de Requerimientos: 1) el negocio detrás del sistema es el criterio para incluir, rechazar y priorizar cada requerimiento; 2) los requerimientos están en el dominio de aplicación y se los debe describir usando el vocabulario de ese dominio; 3) los requerimientos no funcionales, también son requerimientos; y 4) nunca ir a una reunión con el cliente sin un prototipo.
    Para profundizar en estos temas sugiero la siguiente bibliografía:
    - Ingeniería de Requerimientos en general: pueden ver mi apunte de clase:
    www.fceia.unr.e...
    Allí encontrarán otras referencias bibliográficas, en particular:
    Brian Berenbach, Daniel Paulish, Juergen Kazmeier, and Arnold Rudorfer. Software & Systems Requirements Engineering: In Practice. McGraw-Hill, Inc., New York, NY, USA, 2009.
    - Principio 1: Suzanne Robertson. Requirements and the business case. IEEE Software, 21:93-95, September 2004.
    Principio 2: Michael Jackson. Software requirements & specifications: a lexicon of practice, principles and prejudices. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 1995. En particular leer el capítulo "Requirements".
    Principio 3: Len Bass, Paul Clements, and Rick Kazman. Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2 edition, 2003. En particular leer el capítulo 4.
    Principio 4: Michael Schrage. Never go to a client meeting without a prototype. IEEE Software, 21(2):42-45, 2004.

Комментарии • 89

  • @emelyhenriquez3072
    @emelyhenriquez3072 3 года назад +2

    Excelente manera de explicar este tema, sobre todo cuando tu profesor manda un montón de pdf's sin alguna explicación de lo que para la evaluación. Usted es una GRANDIOSA AYUDA. Gracias!

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  3 года назад

      Gracias a vos por visitar el canal.

    • @Fer_S.
      @Fer_S. Год назад +1

      Total, me pasa lo mismo justo ahora. Es frustrante

  • @elbuho9459
    @elbuho9459 4 года назад +2

    MAESTRO, SUS VIDEOS SON ORO, DE CORAZÓN MUCHAS GRACIAS Y POR FAVOR NO PARE!!!

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  4 года назад +1

      Gracias a vos por visitar el canal. Por un par de meses no voy a subir nuevos videos pero luego seguiré subiendo más.

  • @gerardoguzman4129
    @gerardoguzman4129 2 года назад +1

    Cuánta claridad para explicar, mucha gracias por compartir su conocimiento. Suscrito!

  • @Fer_S.
    @Fer_S. Год назад

    Muchas gracias profesor por aclarar este proceso, estoy en una formación tecnológica y nos lanzaron a levantar requerimientos sin explicar el primer principio. Es decir estamos haciendo algo hipotético y sin un fin claro.

  • @javo310186
    @javo310186 2 месяца назад

    Excelente video. Muchas gracias

  • @vegetasayin-eu5dh
    @vegetasayin-eu5dh Год назад

    Muy buena información, me gustaría que sigas compartiendo, muchas gracias 😊

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  Год назад

      Hay varios videos en el canal. Gracias por tu comentario.

    • @vegetasayin-eu5dh
      @vegetasayin-eu5dh Год назад

      @@MaximilianoCristiaIS si, todos los estoy viendo, muchas gracias.
      Sería bueno 1 video al mes para tenernos actualizados si no es mucha molestia 🙂

  • @badbi96
    @badbi96 Год назад

    El viernes rindo parcial de ing. en software y estaba preparando con un texto suyo y acá te encontré ❤❤❤❤

  • @juraye
    @juraye 3 года назад +1

    Muy interesante, se entiendo muy bien el tema de requerimientos funcionales y no funcionales. Gracias por compartir sus conocimientos, muchas bendiciones y éxitos.

  • @FernandoGutierrez-hu7fb
    @FernandoGutierrez-hu7fb Год назад

    Maestro, esta platica aplica pars muchas areas dentronde una organizacionn e impulsas a nuevas habilidades 🎉🎉🎉

  • @dev_mayobros
    @dev_mayobros 4 года назад +2

    Muchas gracias, sus clases me han ayudado con mis materias, saludos.

  • @geanortega3942
    @geanortega3942 3 года назад

    Coincide con lo que me enseñaron y sobre todo gracias por las referencias... 👏👍. No pare de aportar..

  • @ezequielpei6405
    @ezequielpei6405 4 года назад +2

    Le tengo que agredecer mucho todo el esfuerzo que hace ¡Muchas Gracias!💻🙂

  • @icas286
    @icas286 3 года назад +2

    Impecable Profesor, me fue de gran utilidad. Gracias y Saludos!

  • @GostyStereo
    @GostyStereo 3 года назад +1

    Excelente explicación, felicitaciones!

  • @fratellidicuore1512
    @fratellidicuore1512 4 года назад +1

    Gracias muy buen contenido, Saludos desde perú

  • @CesarSanchez-kn6hp
    @CesarSanchez-kn6hp 3 года назад

    Excelente explicación
    Muy buena información
    Muchas Gracias
    Un abrazo fraterno desde Venezuela

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  3 года назад

      Me alegra mucho que gente de la gran América Latina visite el canal.

  • @igor_rcx
    @igor_rcx 2 года назад +1

    Excelente servicio, gracias por compartir tus conocimientos crack 🧐👍

  • @jonathancevallos8387
    @jonathancevallos8387 3 года назад

    Excelente material, domina ampliamente la actividad presentada.

  • @walterrodriguez2696
    @walterrodriguez2696 2 года назад

    Gracias!, es un gran aporte

  • @eduardojosegarcia258
    @eduardojosegarcia258 2 года назад

    Muy instructivo, gracias

  • @definirnor1474
    @definirnor1474 Год назад

    Excelente video profe.
    Saludos desde Perú

  • @martinrios35
    @martinrios35 Год назад

    Excelente. Muy bien explicado.

  • @nerdvio
    @nerdvio 4 года назад

    Estoy de acuerdo y me parece coherente su punto de vista sobre los requerimientos. Solamente que algunos autores, en este tema crean un poco de confusión: Ejemplo: Sommerville (2005) en la página 110 de su libro ingeniería de software menciona sobre una distinción sobre requerimientos de usuario y requerimientos de sistema, donde da un ejemplo sobre un sistema de bliblioteca universitario LIBSYS y en la lista de requerimientos usa términos como "bases de datos", "visores", "IDs", lo cual no concuerda con lo que usted menciona al rededor del minuto 17 del vídeo. Espero me pueda ayudar sobre esto de requerimientos "de usuario" y "de sistema".

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  4 года назад

      No tengo esa edición del Sommerville y en la que tengo (1997) no está ese ejemplo. No sé a qué se refiere Sommerville con requerimientos de sistema. ¿Refiere a los requerimientos de hardware y software para que el sistema pueda funcionar?
      Respecto a los términos como "bases de datos", "visores", "IDs" habría que ver bien el contexto. Base de datos podría no ser el mejor término; se podría decir "repositorio de datos". Claramente decir MySQL u Oracle sería un error si aparecieran en los requerimientos funcionales, pero no necesariamente lo serían si aparecieran en los no funcionales. Claramente, un requerimiento no funcional para un sistema puede ser almacenar los datos en una base de datos específica (como Oracle o MySQL). Lo que ciertamente está mal desde cualquier punto de vista es que decir que el requerimiento es programar una clase que tenga tales y cuales métodos.
      Los términos "visores" y "IDs" podrían ser correctos si se refieren a objetos o conceptos vinculados con el sistema. Por ejemplo el número de documento de identidad de una persona (ID) es un término correcto para usar en los requerimientos; lo que sería incorrecto en los requerimientos es decir que ese dato es un string de 40 caracteres o un entero simple.

  • @santiagob2620
    @santiagob2620 3 года назад

    Excelente el video, muy bueno !!

  • @valemc9428
    @valemc9428 3 года назад

    Excelente clase!

  • @diegolucano2673
    @diegolucano2673 3 года назад

    Realmente muy bueno. Gracias

  • @TVcomimasD
    @TVcomimasD 2 года назад

    Sublime..!

  • @samuelramirez8965
    @samuelramirez8965 4 года назад

    Excelente material y vídeos. Saludos

  • @silvinabazan342
    @silvinabazan342 2 года назад +1

    Impecable y virtuoso su video profesor. Muchas gracias por su gran aporte. Ingeniería de requerimientos se dicta como carrera de grado o posgrado? y donde? podria darme una orientación por favor

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  2 года назад +1

      No creo que haya una carrera ni se grado ni de posgrado que sea solo sobre ingeniería de requerimientos. En el mejor de los casos podrías encontrar uno o dos cursos de posgrado. Por ejemplo en la universidad de Rosario no hay ni un curso sobre este tema.
      Gracias por visitar el canal.

    • @silvinabazan342
      @silvinabazan342 2 года назад +1

      @@MaximilianoCristiaIS muchas gracias por responder y su generosidad al brindarnos tanta información. Ha sido para mi un placer escucharlo.

  • @jorgegutierrez6998
    @jorgegutierrez6998 3 месяца назад

    Un tema muy interesante. Tengo una consulta Señor Maxi; si el software que una compañía va a contratar es bajo la modalidad SaaS, es decir, ya está hecho a medida y simplemente es pagar y directo al Go Live....debe existir un proceso de levantamiento de requerimientos?

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  3 месяца назад

      No necesariamente pero quien contrata el servicio debería tener claro si el software provee toda la funcionalidad que se necesita. Eso debería estar descripto en un manual de servicio.

  • @radaresconnectedthings231
    @radaresconnectedthings231 2 года назад

    Muy bueno! consulta para los primeros analisis funcionales donde puedo sacar las plantillas para rellenar con el cliente. Mgracias!

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  2 года назад

      A qué plantillas te referís? Acá hay un apunte que te puede servir
      www.fceia.unr.edu.ar/~mcristia/publicaciones/ingreq-a.pdf

  • @CesarSanchez-kn6hp
    @CesarSanchez-kn6hp 3 года назад

    Estoy interesado en comprender de manera clara y sencilla como usted explica que es la Arquitectura de Software y que agradecería tener su orientación Gracias

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  3 года назад

      En el canal hay vídeos sobre Arquitectura de Software:
      ruclips.net/video/n6XvfUG4QBQ/видео.html
      ruclips.net/video/IsT5o0orRTo/видео.html
      Gracias por visitar el canal.

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  3 года назад

      También hay vídeos sobre patrones de diseño y diseño de software que están muy relacionados con la arquitectura de software.

  • @juanl306
    @juanl306 4 года назад

    Muchas gracias por su explicación.. Consulta me quede con la duda de los prototipos, como piden acciones, podría usar para ellos programas como AxureRP?

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  4 года назад

      ¿Cómo piden acciones? No entiendo. La idea es que el prototipo espera órdenes del usuario, las ejecuta y da una respuesta. Podrías usar Axure RP para crear las interfaces gráficas y conectarlas con un prototipo que implemente la funcionalidad. Pero es todo para ver y estudiar.

  • @luisgarciacueva8357
    @luisgarciacueva8357 4 года назад

    buenas noches, tal vez en un futuro nos pueda hablar de como hacer un prototipo.gracias

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  4 года назад +1

      No es fácil. Se habla mucho del tema pero hay muy poco que realmente ayude al desarrollador. Depende mucho del tipo de sistema en cuestión y de lo que se entiende por prototipo. Por ejemplo, si un cliente te pide una aplicación WEB de comercio electrónico, ¿sería válido presentarle un prototipo que no ejecute en un navegador? ¿Qué es lo que se quiere prototipar? ¿La funcionalidad de la aplicación o la interfaz gráfica?
      Algunas vez desarrollamos un prototipo de una herramienta que permite generar prototipos de aplicaciones con interfaces de usuario usando solo OpenOffice. Es decir no hace falta saber programar para construir un prototipo. Mostramos la idea a varias personas y gustó. Pero por diversos motivos nunca la pudimos seguir desarrollando.

    • @luisgarciacueva8357
      @luisgarciacueva8357 4 года назад

      Muchas gracias por su respuesta, como siempre sus explicaciones son valiosas y aprovecho la oportunidad porque gracias a sus videos y a sus enseñanzas he podido aventurarme en un mundo muy apasionante como lo es el desarrollo de software, ya perdí la cuenta de cuántos artículos y libros he leído desde que escuche por primera vez su video, para no extenderme más, resumo diciendo que sus aportes son muy valiosos y gracias por compartir el conocimiento.

  • @noeliafernanda1061
    @noeliafernanda1061 Год назад

    Buen video 👍
    Pero cuál es la relación entre los requerimientos y los Casos de Uso de Sistema ??? 🤔🤔🤔

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  Год назад

      Los caso de uso son una técnica particular que se puede usar durante la ingeniería de requerimientos.

    • @noeliafernanda1061
      @noeliafernanda1061 Год назад

      @@MaximilianoCristiaIS ok.
      Pero dentro de un caso de uso , hay 1 o más requerimientos funcionales..???? 🤔 Es así...?

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  Год назад +1

      @@noeliafernanda1061 en general sí, pero no siempre. Diría que en la mayoría de los caso hay más de un requerimiento funcional. Si querés pegarle una leída a este apunte de clase (ahí hay más bibliografía que podés profundizar):
      www.fceia.unr.edu.ar/~mcristia/publicaciones/ingreq-a.pdf
      Cualquier cosa decime.
      Suerte!

    • @noeliafernanda1061
      @noeliafernanda1061 Год назад

      @@MaximilianoCristiaIS muchas gracias 👍💪
      Pero el link no abre

  • @nerdvio
    @nerdvio 4 года назад

    Una duda sobre ingeniería de requerimientos: si voy a desarrollar
    software para un negocio, por ejemplo, administrar ventas de una
    zapatería y voy a iniciar la obtención de requerimientos: entonces se
    supone que yo obtengo los requerimientos con el gerente, los vendedores,
    almacenistas, etc. Lo típico es que ellos no tengan nociones de
    programación de sistemas así que solo me describirán cosas como: "con
    base en el modelo del zapato debo encontrar su precio para añadirlo a
    una factura". Entonces ¿soy yo (desarrollador) quien debe "reescribir"
    los requerimientos en un documento de especificación de requerimientos
    ya separados como funcionales y no funcionales con información técnica
    para los otros desarrolladores? POr ejemplo: "Ingreso en un cuadro de
    texto el modelo del zapato y al dar clic en el botón de búsqueda se hará
    una consulta a la base de datos de zapatos para que me devuelve el
    precio en una tabla". Perdón es que no tengo claro quién debe
    proporcionar los requerimientos funcionales y no funcionales de sistema,
    ya que el usuario se supone que no tiene idea sobre archivos, ventanas,
    etc.. Esa es mi duda.

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  4 года назад +1

      Básicamente es así como vos decís, aunque caben un par de aclaraciones.
      Los requerimientos deben ser validados por el cliente. Para que los pueda validar vos le tenés que mostrar algo que se asemeje lo más posible a la interfaz que tendrá el sistema. Por ejemplo, podés mostrarle imágenes de los formularios del sistema o, mejor, podés mostrarle la GUI del sistema aunque detrás no haya código.
      Respecto a los no funcionales el usuario puede saber más o menos lo que quiere. En el ejemplo de la zapatería probablemente no sepa nada pero si fuese el caso de un banco importante seguramente tendrá un departamento de sistemas que fijará varios requerimientos no funcionales como, por ejemplo, el lenguaje de programación, la plataforma de ejecución, regulaciones del banco central, cuestiones de seguridad, etc.
      Pero sí, desde los requerimientos vos deberías escribir una especificación la cual debería ser uno de los puntos de partida para los programadores. La diferencia que marcás entre:
      "con base en el modelo del zapato debo encontrar su precio para añadirlo a
      una factura"
      y
      "Ingreso en un cuadro de texto el modelo del zapato y al dar clic en el botón de búsqueda se hará una consulta a la base de datos de zapatos para que me devuelve el precio en una tabla"
      es un muy buen ejemplo de la diferencia entre requerimiento y especificación.
      Esto también es correcto: entonces se supone que yo obtengo los requerimientos con el gerente, los vendedores, almacenistas, etc

  • @matiasask3774
    @matiasask3774 3 года назад

    gracias por el contenido y la explicación. Tengo una consulta Profesor, estoy cursando la asignatura de Ing requerimientos y en el proyecto nos piden entregar los los siguientes documentos ( Wireframes del sistema, cuestionario ERS IEEE830-1998 , Acta constitución del proyecto, Stake Holders y plantilla de requerimientos ( funcionales, no funcionales, etc) .. esto es una base de los documentos que debe contener un proyecto? es ley? o existen otros documentos necesarios? gracias!

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  3 года назад +1

      En desarrollo de software no hay ninguna ley, lamentablemente. Cada uno hace más o menos lo que que quiere.
      El primer documento no lo conozco, los otros me parecen razonables (aunque los nombres pueden variar).
      Podes ver mí apunte sobre ingeniería de requerimientos:
      www.fceia.unr.edu.ar/~mcristia/publicaciones/ingreq-a.pdf

  • @YulinhoDuran
    @YulinhoDuran 4 года назад

    Disculpa que libro me recomendaría para ingeniera de requerimiento ya que voy llevando este siglo en 2020

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  4 года назад

      Diría que el que más me gusta es este:
      Software & Systems Requirements Engineering In Practice
      Brian Berenbach, Daniel Paulish, Juergen Kazmeier y Arnold Rudorfer
      En castellano no conozco ninguno.

    • @YulinhoDuran
      @YulinhoDuran 4 года назад

      @@MaximilianoCristiaIS muchas gracias

  • @vladimirportela3824
    @vladimirportela3824 4 года назад +1

    "Requirement" = "requisito" :v