Introducción a los métodos formales (01)

Поделиться
HTML-код
  • Опубликовано: 20 авг 2024
  • Breve explicación de qué son y para qué sirven los métodos formales para desarrollar software. Aplicación a un ejemplo mínimo que muestra las posibles ambigüedades, inconsistencias e incompletitudes de los requerimientos.

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

  • @StevenGonzalezx
    @StevenGonzalezx 4 года назад +15

    no entiendo como no tiene mas visitas, estos videos son una joya, gracias maestro maximiliano

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

      Gracias. En general la gente cree que programar es fácil y que la matemática es difícil y no tiene nada que ver con programar.

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

      Y es al revés: programar es difícil, la matemática no es más difícil que programar y es la base para programar (bien).

  • @mbmusicsound98
    @mbmusicsound98 День назад

    hace 3 meses empecé con la programación con un curso de Alura y me esta costando horrores entender ciclos y algunos métodos y me encontré tu canal para dar un mini repaso, soy malo en matemáticas pero me sirve para entender como aplicar la lógica, gracias!

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  День назад +1

      @@mbmusicsound98 me alegra que te sirva. Igual tené en cuenta que aprender algo nuevo lleva tiempo.

    • @mbmusicsound98
      @mbmusicsound98 День назад

      @@MaximilianoCristiaIS Si lo se, por eso comento, entiendo lo que hay que hacer pero no se como aplicarlo en la practica

  • @luxsumus4386
    @luxsumus4386 10 месяцев назад +1

    pase mas de dos semanas buscando la manera de contestar la incertidumbre de que manera se podria integrar la matematica, el diseno de algoritmos y la programacion, hasta que encontre su canal profesor Maximilliano, de verdad muchas gracias, soy amante de la programacion y la arquitectura de software de manera autodidacta, sacare el maximo provecho a sus conocimientos, reitero mi agradecimiento, saludos y bendiciones.

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

      Me alegra que hayas encontrado lo que buscabas. Gracias a vos por visitar el canal.

  • @AlbertodeVictoria
    @AlbertodeVictoria 3 года назад +4

    Muchas gracias maestro. Así me gustan los vídeos, claros, precisos y sin comedia forzada. Profesional.

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

    Gracias por compartir su conocimientos Profesor, soy programador autodidacta y en mi búsqueda por mejor mis conocimientos para desarrollar apps móviles encontré su contenido y orgulloso de que sea argentino , saludos desde Buenos Aires, desde ya muchas gracias.

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

    Dr Maximiliano quiero documentarme con todo lo que usted enseña Pocas veces uno se consigue con un PROFESOR tan excelente como usted que enseña la verdad y nos prepara para ser útiles con la verdad y el buen procedimiento en nuestras profesiones

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

    hoy aprendí mas de lo que aprendí en años de estudios con este video
    gracias

  • @crudhost
    @crudhost 5 лет назад

    Excelente material. La ingeniería de software necesita de esto como el comer.

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

    Grande ingeniero, espero suba mas serie de videos asi, se aprende mucho con ud.

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

      Tenés la serie sobre matemática para programadores y los videos sobre statecharts y csp. Todo eso es sobre métodos de. Suerte.

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

      No soy ingeniero.

  • @luresyss
    @luresyss 6 лет назад +2

    estoy afuera de la universidad por diferentes motivos ajenos a mi, deseo aprovechar la web lo mas que se pueda para ser programador, muchas gracias por estos videos que son de gran ayuda. saludos desde Guatemala

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  6 лет назад +5

      Me alegro que esto que hago te ayude porque en parte lo hago para la gente que por distintos motivos no puede ir a la universidad.

    • @luresyss
      @luresyss 6 лет назад

      Maximiliano Cristiá si, yo espero entrar pronto pero mientras no puedo videos como los de usted me son de mucha ayuda. Saludos.👏

  • @SuperOtti22
    @SuperOtti22 6 лет назад +2

    Te felicito por estos videos que nos brindas.. Actualmente estoy cursando una tecnicatura universitaria en programación en la universidad de quilmes y me sirve mucho tu material.. Saludos y exitos..

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

    Muy gran video, muchas gracias.

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

    Excelente vídeo, muchas gracias por compartir su conocimiento, saludos desde Buenos Aires

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

    Profesor muchísimas gracias por la sabiduría compartida, realmente su video es un punto de orientación y motivación sobre el tema

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

    Una barbaridad la claridad de explicación! Me gustaría ver una serie de "Métodos Formales". Un saludo!!

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

      Gracias. Si querés ver más sobre métodos formales buscá en el canal los videos sobre la notación Z, CSP, Statecharts, TLA y teoría de especificaciones. Buscá las listas de reproducción.

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

      @@MaximilianoCristiaIS así lo haré! 🙏

  • @OSCARHERNANDEZ-qz7yv
    @OSCARHERNANDEZ-qz7yv 4 года назад

    Hola saludos desde Ciudad de México, excelente video gracias por crear este contenido. Estoy estudiando Ingeniería en Sistemas de Información y realmente me puso en contexto con este gran tópico del Desarrollo de Software

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

      Me alegra que el vídeo te haya sido útil. Gracias por visitar el canal.

  • @rad8329
    @rad8329 5 лет назад +4

    Muchas gracias por el excelente contenido, recién lo sigo, y voy a empezar por matemáticas para programadores. De antemano, he encontrado una respuesta a una pregunta que me hago hace un tiempo: Dado que hace ya varios años los lenguajes funcionales están tan de moda, y aquellos programadores que usan lenguajes funcionales puros como Haskell, explican muchos beneficios de usar un lenguaje como ese, sin embargo, nunca me han convencido del todo, pero hoy viendo su explicación de las especificaciones formales, me doy cuenta de cuan poderoso puede ser un lenguaje como Haskell; ocurre que mientras estás haciendo la especificación formal, al mismo tiempo estás escribiendo el programa, eso creería que es verdaderamente poderoso, podrías disminuir algún tiempo

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  5 лет назад +4

      Efectivamente las especificaciones formales están muy relacionadas con los lenguajes funcionales y con los lenguajes lógicos, como Prolog (www.swi-prolog.org/). Por otro lado en el último vídeo que subí al canal (Semántica formal de un lenguaje de programación (01)) podés ver cómo los métodos formales también están relacionados con los lenguajes de programación imperativos. Si te interesa la relación entre especificaciones formales y lenguajes funcionales podés ver el asistente de pruebas Coq (coq.inria.fr/). Gracias por visitar el canal.

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

    Excelente vídeo. Empezaré a buscar más información.

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

      Podes ver los videos matemática para programadores que están en el canal.

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

    Muchas gracias profesor, muy valioso su contenido. Soy de Rosario y tengo ganas de empezar el año que viene Ciencias de la Computación. Ojalá lo tenga como docente. Tengo 35 años, pero bueno, a pesar de las dudas, creo que no hay edad para incorporar conocimiento. Muchas gracias nuevamente!

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

    Oro en polvo ! Gracias profesor!

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

    gracias Maxi, excelente,

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

    Gracias por estos videos 👍.

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

    excelente video

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

    La Bendicion de Dios sobreabunde en usted y con todos en su casa

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

    Muy buenos sus vídeos Profe.
    Lo felicito.
    Podría hacer un vídeo sobre técnica de valores límites, técnica de clases de equivalencia y técnica de tablas de decisión. Desde ya muchas muchas gracias. Explica re bien.

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

      Gracias a vos por visitar el canal. Respecto a valores límites y clases de equivalencia, te referis a esas técnicas aplicadas a testing?

  • @chemaalonso7931
    @chemaalonso7931 5 лет назад

    Vas a seguir este curso no hice bachillerato pero quiero ser programador en un futuro , gracias :)

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  5 лет назад

      Nunca lo pensé como un curso pero sí, en la medida de lo posible voy a seguir subiendo vídeos. Hace un par de semanas que tengo la intención de empezar con una serie sobre validación y verificación de software pero aun no encontré el tiempo para hacerlo. Espero empezar esta semana.

  • @albertdaza4660
    @albertdaza4660 4 месяца назад

    muy util amigo gracias

  • @MarcoAntonio-ij5nr
    @MarcoAntonio-ij5nr 5 лет назад

    MUY GENEROSO SUPER LIKE

  • @hometechsystemsoftware3032
    @hometechsystemsoftware3032 5 лет назад +1

    Eres un máquina

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

    Hay que tener algún conocimiento base para ver esta serie de vídeos?.

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

      El comentario lo veo en el vídeo "Introducción a los métodos formales". Creo que lo puse en varias de las series así que no sé a cuál te referís. De todas formas, para ver ese vídeo tenés que tener una idea general sobre programación e informática. Si me decís qué serie querés ver, te digo si hace falta algo o no (aunque en general solo tenés que saber algo de programación).

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

    En síntesis formalizar = reducción de herrores en menor tiempo.

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

      Es lo que se supone que debería pasar y lo que ha pasado en numerosos proyectos. Pero depende mucho del nivel de conocimientos de los ingenieros o programadores que lo realizan.

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

    hermoso y muchas gracias por su tiempo profesor, pero le soy sincero, estoy iniciando en la programación …y esto ya me asusta.

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

      En la mayoría de las carreras de informática no se usa este enfoque. Averiguá cómo es en la carrera que vos elegiste. Si no tenés dificultades con la matemática en general, no vas a tener dificultades con este tipo de matemática.

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

    Excelente video profe una pregunta
    El programa de pseudocódigo Pseint se puede utilizar para realizar la etapa de especificación

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

      No Pseint no es un lenguaje de especificación. Interpreta pseudocódigo, o sea interpreta programas.
      Gracias por visitar el canal.

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

    Como saber q formula necesitas para mover unos camiones por calles diferentes .. Entradas diferentes. Que matematicas aplicas alli

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

      No sé a qué te referis exactamente pero diría que es un problema de grafos o combinatoria.

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

      @@MaximilianoCristiaIS gracias. Voy buscar q son grafos

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

    ¿ Como aprender a hacer la formula adecuada para el Requerimiento en cuestión , Hay alguna lógica o estructura que aprender para ello ? Gracias

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

      Es precisamente lo que enseño en Ingeniería de Software 1 en la Universidad Nacional de Rosario. Métodos parecidos se enseñan en varias universidades de Argentina, Brasil, Uruguay, USA, Europa, etc. Pero en la mayoría de las universidades no se enseña esa aproximación a la ingeniería de software.
      Hay muchas lógicas distintas que sirven para formalizar requerimientos, cada una tiene su ventajas y desventajas.
      Si no sabés nada del tema y querés empezar a aprender algo, te sugiero aprender lo que puedas de la notación Z. Hay libros on-line (en inglés):
      www.usingz.com/
      y también está mi apunte de clase pero requiere algunas explicaciones que yo doy en clase:
      www.fceia.unr.edu.ar/asist/z-a.pdf
      Cualquier cosa preguntame.

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

      @@MaximilianoCristiaIS , Buen día, Gracias por la Respuesta, Es excelente continuo con el seguimiento, Agradeciendo el que Comparta estos conocimientos, Saludos

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

      Gracias a vos por visitar el canal.

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

    Hola profe buenas noches. Quisiera consultar lo siguiente. Esto de los metodos formales para desarrollar software en el cual usted plantea de que es un paso intermedio entre el relevamiento y captura de requerimientos y el programar. Se utiliza mas que todo en las metodologias tradicionales de desarrollo de software? es decir, es un enfoque contrario al de metodologias agiles? sabemos que metodologias agiles lo que hacen es saltear practicamente todo el proceso de documentar, estructurar y diseñar el sistema, etc. Poseen poca documentacion. Apartir de los requerimientos y la especificacion van casi directo al codigo. O estos metodos formales se pueden implementar en una metodologia agil?

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

      En general son incompatibles con las metodologías ágiles aunque hay investigadores que dicen que de alguna forma y hasta cierto punto se pueden combinar. En general los métodos formales se aplican al desarrollo de software crítico aunque se han aplicado a software no crítico.

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

      El punto es sí con metodologías ágiles te sale más barato la misma calidad que con métodos formales.

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

      Otro punto es que en ciertos ámbitos no tiene sentido aplicar métodos formales, por ejemplo cuando subís una app que no sabes si alguien la va a descargar o no.

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

      @@MaximilianoCristiaIS claro claro entiendo profe. Entonces esto de los métodos formales se usa más generalmente en metodologías tradicionales?

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

      @@diegosuarez8346 Sí, en general es una versión de cascada adaptada a los métodos formales.

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

    Gracias! Disculpa todos los problemas de programación se puede hacer en formulas matematicas?

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

      Sí, todos. Cualquier programa es o puede ser representado con una fórmula de matemática o lógica.

  • @jleonctr
    @jleonctr 5 лет назад

    Excelente video!
    ¿Qué libros recomiendas para estudiar métodos formales?

    • @MaximilianoCristiaIS
      @MaximilianoCristiaIS  5 лет назад +6

      Hay muchos métodos formales. Muchos de ellos no están en libros sino solo en artículos científicos. Además los libros que hay están en inglés; no sé de libros en castellano. Te sugiero empezar por los métodos formales que se llaman Z y B. Para Z hay varios libros; para empezar podés ver "The way of Z" de J. Jacky. B es más moderno que Z; podés ver "The B method" de S. Schneider. También podés empezar por el apunte de clase sobre Z que uso en Ingeniería de Software 1 en la Universidad Nacional de Rosario, decargalo de www.fceia.unr.edu.ar/asist/z-a.pdf.

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

    Hola profe! Tengo una duda, ¿Qué diferencia hay entre ingeniería en software e ingeniería en sistemas?

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

      En ingeniería en sistemas, los sistemas pueden no ser de software. Ingeniería de software es solo sobre software. Igual las diferencias dependen del contenido, más que del nombre. Ingeniería en sistemas suele ser un nombre más antiguo; no es fácil cambiarle el nombre a una carrera universitaria. Ingeniería de software suele ser más moderno.

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

      Ingeniería de software suele ser el nombre de una o dos materias de una carrera de informática. Incluso en ingeniería en sistemas puede haber ingeniería de software.

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

      Para tener una idea de ingeniería en sistemas podés ver la página de Wikipedia: en.wikipedia.org/wiki/Systems_engineering?wprov=sfla1.
      Para ingeniería de software tenés un vídeo en mi canal que se llama introducción a la ingeniería de software.

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

      @@MaximilianoCristiaIS muchas gracias!! 🙏 Tengo 16 años y me estoy decidiendo por cual carrera elegir.

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

      Hasta donde yo sé en Argentina ingeniería en sistemas es ahora más que nada una carrera dedicada a informática.

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

    Quien programa al programador que ha sido programado para programar un programa que programara a un programador programado?

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

      acaso quieres que el mundo explote.jpg

  • @Dennis-gg9yv
    @Dennis-gg9yv 4 года назад

    Pocos o ningún error? Ojala. Buen vídeo guapo.

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

      Se ha demostrado formalmente la corrección de sistemas grandes, al menos de sistemas que sería difícil decir que son chicos. Por ejemplo CompCert (compcert.inria.fr/) es un compilador de C desarrollado en Coq cuya corrección se ha demostrado formalmente. En el vídeo "Introducción a la ingeniería de software" menciono otros sistemas de porte industrial cuya corrección ha sido demostrada formalmente. Otro ejemplo notable es un núcleo de un sistema operativo, seL4 (sel4.systems/) escrito en C y verificado formalmente en Isabelle/HOL Saludos..