Ir al contenido principal

Introducción a la Ingeniería de Software

El software como programa de computador o sistema informático es parte indispensable de nuestro mundo moderno y cada vez más las personas, las organizaciones o empresas están muy dependientes de su uso o aplicación, esto debido a que el software ha permitido agilizar y automatizar muchas tareas logrando incrementar la productividad en las personas y empresas.

Por tanto, los ingenieros de software tenemos la responsabilidad de crear software de calidad y el reto de seguir innovando para incrementar cada vez más la satisfacción de los usuarios y empresas. Sólo aplicando Ingeniería de Software podremos lograr software de calidad.

La Ingeniería de Software es, como lo define la IEEE, la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; es decir, la aplicación de la ingeniería al software.

Esta definición nos da a entender que, para construir o mantener software debemos aplicar principios y técnicas de ingeniería como el análisis, el diseño, las pruebas y un proceso metodológico adecuado que garantice la calidad del producto software. Además, es necesario que se haga una correcta gestión del proyecto aplicando buenas prácticas, es decir: planificando las tareas que permitan cumplir objetivos trazados para un periodo de tiempo corto, esto se debe organizar en Iteraciones; haciendo uso de métricas para cuantificar el esfuerzo, el tiempo de desarrollo y los costos, y que ayude a la planificación de las tareas; asignando los recursos necesarios para cumplir las tareas planificadas; haciendo seguimiento semanal al cumplimiento o avance de las tareas o logro de los artefactos o productos de trabajo planificados; y apoyarse en herramientas tecnológicas que permitan asegurar la productividad y agilidad en la gestión y el desarrollo del software.

Y para completar el concepto, destaco y recomiendo las siguientes buenas prácticas en el desarrollo de proyectos de software:

a) Aplicar un proceso iterativo e incremental. Esto permite dividir el tiempo del proyecto o ciclo de vida en iteraciones cortas con una duración que puede estar entre 2 a 6 semanas. Cada iteración debe ser planificada en detalle y tener los objetivos claros que se desean alcanzar. El resultado de cada iteración es una parte del proyecto y en la medida que se vaya avanzando en las demás iteraciones se va incrementado el producto software que se debe lograr. Lo importante al finalizar cada iteración es que los objetivos se hayan logrado lo cual implica que se han elaborado los artefactos o productos de trabajo requeridos o planificados para la iteración, esto a la vez permite ir asegurando la calidad del producto porque los artefactos elaborados en la iteración han sido verificados y validados por los interesados, clientes o usuarios. Otra estrategia importante es que en las primeras iteraciones debemos enfocarnos en los requisitos de mayor importancia para el negocio, en los requisitos de mayor complejidad y en los requisitos que son más significativos para la arquitectura. Con esto podemos estar resolviendo los riesgos altos a la mitad del proyecto y estar más seguros del éxito del mismo. 

b) Administrar los requisitos. Totalmente necesario para garantizar que los interesados, clientes o usuarios obtengan un producto que satisfaga sus requisitos. Se debe identificar y describir en primera instancia las necesidades de los interesados, luego describir las características del sistema derivado de las necesidades, y por último, a partir de las características identificar y describir los casos de uso y los requisitos suplementarios. Las necesidades, características, casos de uso y requisitos suplementarios son diferentes niveles de requisitos que se deben describir cada uno con un grado de detalle distinto pero todos están relacionados. Tener relacionados todos estos niveles de requisitos permite mejorar la gestión porque será fácil hacer la trazabilidad entre ellos. También es conveniente hacer uso de herramientas software que nos permitan realizar la trazabilidad de los diferentes niveles de requisitos. La gestión de los requisitos también implica hacer constantes revisiones con los interesados para asegurar que lo que se está describiendo o especificando como requisito es lo que el interesado desea. Estás revisiones permitirán ajustar o madurar el requisito lo cual nos asegura que al momento de implementarlo se esté haciendo lo correcto. Sin embargo, debemos tener presente que los requisitos siempre pueden cambiar a lo largo del proyecto o ciclo de vida, por tanto, no debemos descuidar la gestión de los mismos en ningún momento hasta que finalice el proyecto. 

c) Definir una arquitectura de software. Antes de implementar es necesario definir qué arquitectura tendrá el sistema. La arquitectura nos muestra la forma en cómo se organizan y relacionan los componentes más importantes. La organización de los componentes puede estar agrupado en diferentes capas y cada capa cumple responsabilidades distintas, lo cual se puede estar ajustando a algún patrón de arquitectura como el patrón N-Capas. Para describir mejor la arquitectura se debe hacer uso de diferentes vistas, donde cada vista mostrará diferentes aspectos importantes del sistema tanto estructural o estática como de comportamiento o dinámica. Así mismo, elaborar la arquitectura implica centrarnos en los requisitos funcionales y no funcionales más importantes, principalmente en los requisitos no funcionales importantes para garantizar el rendimiento, fiabilidad, soportabilidad y usabilidad en el sistema. Todo el trabajo de describir la arquitectura se puede hacer en el artefacto llamado Documento de Arquitectura de Software o DAS. El DAS sirve de guía o referencia para la construcción del software y garantiza que todos los implicados en el diseño y desarrollo sigan los mismos patrones y lineamientos. 

d) Elaborar modelos visuales o diagramas. Los modelos visuales son necesarios para conceptualizar y abstraer el dominio del problema así como para definir el diseño del sistema. Los modelos deben ser elaborados usando un lenguaje gráfico estándar como UML. También es conveniente hacer uso de herramientas software para elaborar los modelos, esto permite automatizar nuestro trabajo porque muchas de las herramientas generan a partir de un modelo otros modelos o también parte del código a desarrollar.

e) Verificar la calidad del software. No podemos entregar un producto software sin que éste haya sido probado. Las pruebas del software nos garantiza que el sistema está funcionando bien y que cumple con los requisitos de los interesados, clientes o usuarios. Es conveniente que las pruebas funcionales y de sistema sean realizados por personal dedicado sólo a este trabajo. Los desarrolladores deben hacer sus pruebas unitarias y corregir sus errores antes de entregar a la gente de pruebas, que son los que harán las pruebas finales antes de entregar el producto a los interesados. La estrategia de pruebas debe estar basado en un plan de pruebas, y las pruebas se deben hacer en función a un diseño de pruebas que se describen en los casos de prueba. Las pruebas de aceptación son las pruebas que hacen los interesados o clientes del producto software, estas pruebas son las que definen al final si el producto entregado satisface las necesidades del cliente. Por lo tanto, debemos asegurar en hacer adecuadas pruebas antes de llegar a las pruebas de aceptación, y de esta forma no tener problemas en las pruebas de aceptación. Sólo cuando todas las pruebas de aceptación han salido con éxito, es cuando podemos asegurar un cierre exitoso del proyecto o ciclo de vida del software. 

f) Controlar los cambios. Es necesario en todo proyecto porque existen muchas versiones de los artefactos provocados por variaciones en los requisitos. Se necesita mantener el versionado de todos los artefactos elaborados que permita hacer una adecuada gestión, seguimiento y trazabilidad de los mismos. 

g) Gestionar el proyecto de forma ágil. Todo proyecto que se gestione de forma ágil será un proyecto en donde se cumplan las metas, los cronogramas de trabajo y disminuya la cantidad de entregables o artefactos que no agreguen valor al proyecto. Es conveniente saber identificar qué artefactos son necesarios para el proyecto que se está desarrollando. Para cada artefacto seleccionado y que será elaborado en el proyecto también es conveniente usarlo de forma ágil, esto quiere decir que se puede elaborar un mismo artefacto en diferentes iteraciones agregándole detalle en cada iteración. No es necesario que un artefacto quede totalmente terminado en una sola iteración. Por otra parte, también se puede seleccionar sólo algunas partes del artefacto a elaborar, esto se da en algunos tipos de artefactos que manejan plantillas con una estructura amplia o compleja, por ejemplo el artefacto Visión, entonces de toda esa estructura se puede seleccionar sólo las partes más importantes o necesarias que se crean convenientes.

Entendiendo y aplicando todas estas buenas prácticas podremos asegurar éxito en nuestros proyectos y la satisfacción de los interesados o clientes al recibir un producto software de calidad. Sin embargo, a pesar de tener presente y aplicar las buenas prácticas, siempre existirán riegos o problemas potenciales en todo proyecto que estemos involucrados. Los riesgos en los proyectos no se pueden obviar o pensar que no nos van a suceder, lo cual sería muy ingenuo pensar así. Por tanto, es muy importante que al inicio de un proyecto se identifiquen los riesgos y se planifique acciones de mitigación lo cual ayudará a que el riesgo no ocurra. Las acciones de mitigación también se basan en las buenas prácticas y gracias a ellas podremos evitar que nuestros proyectos fracasen.

En posteriores publicaciones estaré definiendo un proyecto ejemplo con el cual haré el desarrollo de todo el ciclo de vida siguiendo la metodología RUP.

Muchas gracias.
 

Comentarios

  1. Invito a participar comentando las buenas prácticas en el desarrollo de software.

    ResponderEliminar
    Respuestas
    1. El desarrollo del software debe ser 100% de calidad, y lo lograremos con la ayuda de un buen diseño, análisis, y lenguaje de calidad... esta metodología nos ayuda a detalle como son los modelos del negocio. Saber sobre la ingeniería de software es fundamental para nosotros , ya que nos enseña a obtener un optimo resultado en la aplicación del software , ir mejoran dolo en todos los aspectos necesarios y algo fundamental es siempre tener en cuenta lo que necesita y quiere el cliente para el desarrollo de este software.
      Alumno UPN - MOANSO

      Eliminar
    2. Este comentario ha sido eliminado por el autor.

      Eliminar
    3. Hoy en día las empresas exigen Software de calidad, y la Ingeniería de Software es la que nos capacita para desarrollarla. Solo esta en llevar a cabo las buenas practicas que son:
      1. Aplicar un proceso iterativo e incremental
      2. Administrar los requisitos
      3. Definir una arquitectura de Software
      4. Elaboración de modelos visuales o diagramas
      5. Verificar la calidad del Software
      7. Controlar los cambios
      8. Gestionar el proyecto de forma digital
      Recordemos: Buenas Practicas = Software de Calidad

      Eliminar
    4. Para el desarrollo de software existen diversos procesos ...que vienen desde la recolección de información hasta la implementación de software en el campo laboral, pasando por una serie de procesos y filtrados, basando en los diversos estándares nacionales e internacionales para cumplir con los requerimientos que hacen las diversas empresas. además de los diversos procesos, los cuales encierran un conjunto de actividades, una de las cuales es la estimación, estimar es tener una visión a futuro y así disminuir las dudas. Aunque la estimación, es mas un arte que una Ciencia, es una actividad importante que no debe llevarse a cabo de forma descuidada. Existen técnicas útiles para la estimación de costes de tiempo.

      alumno UPN=MOANSO

      Eliminar
  2. Bueno es un buen bloc donde dan a conocer las buenas prácticas en el desarrollo de proyectos de software: Donde te dan a conocer El tiempo para generar los objetivos, requisitos del proyecto, satisfaciendo de lo lo mejor a los clientes y usuarios obteniendo un producto que satisfaga sus necesidades; y de una forma organizada y relacionada los componentes mas importantes agrupándolos en diferentes capas cumpliendo responsabilidades distintas; también elaborando modelos visuales que son necesarios para conceptualizar y abstraer el dominio del problema así como para definir el diseño del sistema siendo necesario verificar la calidad del software..necesitando mantener el versionado de todos los artefactos elaborados que permita hacer una adecuada gestión, seguimiento y trazabilidad de los mismos.
    Siendo necesarios para que gestione de forma ágil para que sea
    un proyecto en donde se cumplan las metas.

    ResponderEliminar
  3. Sin duda alguna, la ingeniería de software es muy importante para la creación de software; sin embargo en muchos casos se menosprecia el valor que tiene esta; ya que en varias ocasiones los jefes o clientes que ordenan la construcción del software aducen que no hay tiempo para eso y que simplemente deberíamos ponernos a programar. Pero, por ejemplo. ¿Qué pasaría si un arquitecto construye un edificio sin hacer planos?. Al final, el edificio no cubriría las necesidades del cliente, ni tendría la calidad esperada , y no se terminaría en el tiempo planeado. Algo parecido pasa con el desarrollo de software, entonces para que el trabajo final cumpla con las expectativas del cliente se debe desarrollar con una correcta metodología, y aplicando la ingeniería de software.

    Samir Morales Cuevas

    ResponderEliminar
  4. La Ingeniería del Software es fundamental para el desarrollo de un buen programa ya que nos permitirá obtener un mejor resultado en cuanto a la aplicación de este y asi poder ir mejorando o actualizando mediante el soporte que se le pueda incluir.
    Ademas nos permitirá gestionar, elaborar, diseñar, analizar las perspectivas que el cliente tiene para el desarrollo de su software el cual nos ayudara a que el cliente este satisfecho con el programa que este solicitando.

    ResponderEliminar
  5. ALEXANDER SALIRROSAS ZAVALETA4/19/2012 12:58 a. m.

    Muy interesante la información Profesor Lain Cárdenas,sin dudas la Ingeniería del Software tiene como principal objetivo el desarrollo de un software de calidad, para lo cual se aplicaran principios y se realizaran actividades como el analisis, diseño, entre otros, todo con el unico objetivo de obtener al final un software confiable.

    ResponderEliminar
  6. Mostacero Oribe Elky Rubi4/19/2012 1:07 a. m.

    Como todos sabemos las empresas (grandes y pequeñas) siempre presentan problemas que necesitan solucionarse para que puedan mantenerse en el mercado, debido a que cada día se implementan nuevas tecnologías que automatizan los procesos; por ende las empresas deben estar en constante actualización y/o mejora de su sistema/tecnología de información y a su vez también cambian las necesidades de los clientes, por lo que se requerirá la actualización y mantenimiento del software que estén utilizando si quieren obtener una ventaja competitiva, utilizando de esta forma la ingeniería de software

    ResponderEliminar
  7. Como toda empresa, esta en constante cambio ya que el entorno es un factor que hace que esto suceda, entonces pues nosotros debemos estar preparados justo con estas buenas técnicas y buen diseño para tener actualizada a la empres y siga sobresaliendo en el mercado, el trabaja es nuestro y de nosotros depende hacer un buen sotfware, un software de calidad.

    ResponderEliminar
  8. Es importante tener en cuenta esta información ya que nos ayuda a nosotros como futuros Ingenieros de Sistemas a desarrollar excelentes proyectos con buenos resultados dentro de una empresa.

    ResponderEliminar
  9. Excelente blog con una detallada información como bien se sabe en una empresa siempre tiende a dar un mejor servicio mediante el uso se Sistema de Información pero para ello debe tenerse bastante cuidado al momento de desarrollar un SW. Si pudiera poner un ejemplo sobre una empresa "X" donde se pueda apreciar cuales son los requisitos funcionales y no funcionales.!!!

    ResponderEliminar
  10. Ing. me parece excelente esta información, explica de una manera detallada y precisa lo refrente a la Ing. de Software y los procesos para el desarrollo de un buen proyecto obteniendo un producto que satisfaga de una forma organizada.

    ResponderEliminar
  11. me parece muy interezante que se recalquen estos temas dentro de un blog que nos ayudara como futuros ingenieros de sistemas a obtener y consolidar la informacion que debemos manejar con respecto al software y los pasos o estandares que se deben cumplir para desarrollarlo.. no siempre es recomendable quedarse con la informacion dada en horas de clase siempre se debe indagar y recibir informacion extra de personas especializadas en el tema..

    ResponderEliminar
  12. Buenas noches

    Si bien ahora cada vez mas las empresas depende de una aplicación tanto para en una área como en otra es importante el hecho de desarrollar un software tenga una serie de pasos que se deben cumplir, porque el simple hecho de imaginar de no tener un enfoque sistemático al momento de desarrollar un proyecto.
    Y si mucho de los problemas que tenemos al momento de desarrollar un software son las especificaciones que puede ser incompletas o no se las entiende al los usuarios, el software al final no saldrá con buena calidad y solo eso lo veremos en verificación del software.

    Creo que al tener un buen practica y innovación en el desarrollo de software podremos lograr un software de excelente calidad

    SALUDOS

    ResponderEliminar
  13. DIANA SEVILLANO RODRIGUEZ4/19/2012 12:27 p. m.

    Hoy en día con la globalización, toda empresa para surgir necesita automatizar sus procesos, es sin duda la creación de un software la que permitirá que la entidad logre sus objetivos, pero para que obtenga un software de calidad es importante que como ingenieros de sistemas apliquemos ingeniería de software, ello permitirá que dicho software sea confiable, modificable y este realmente adecuado a las necesidades del usuario, y así pueda asegurar la usabilidad y accesibilidad del mismo.Gracias por la información Ing. Lain Cárdenas.

    ResponderEliminar
  14. La creación de un software, debe seguir una secuencia de actividades pre-establecidas las cuales cada una tiene un objetivo final que se deberá cumplir a la perfección para poder seguir al siguiente proceso. No solo depende un software de la buena programación que haga la persona que lo realiza, sino cumplir con todos los procesos definidos y que cada unos de estos se han personas diferentes, para poder dar fe del buen funcionamiento del programa.
    Finalmente en todo este proceso del proyecto debemos entablar una comunicación fruida con el cliente, para asegurarnos en que el software cumpla con todas sus expectativas.

    ResponderEliminar
  15. El desarrollo del Software sin duda es un tema de vital importancia en la formación de todo profesional en Ingeniería de Sistemas.
    Dicho desarrollo requiere una secuencia de actividades (proceso), y un enfoque sistemático todo esto con el fin de lograr los mejores resultados.

    ResponderEliminar
  16. un exelente post el cual nos ayuda a saber sobre la ingenieria de software y como sabemos es un rama de nuestra carrera la cual nosotros debemos conocer y poder dominarlo.

    ResponderEliminar
  17. Es muy interesante la información y sobre todo para futuros profesionales como nosotros que siempre buscamos y debemos alcanzar la elaboración de un producto de calidad, no conocía mucho de metodologías para desarrollo de software pero ahora con esta importante información he podido abrir mis horizontes a una nueva manera de desarrollar mis habilidades y capacidades como ingeniero de sistema.

    ResponderEliminar
  18. Pues es verdad, muchos ing de software,ing de sistemas , etc aducen que ya por su experiencia en desarrollo de software omiten estos pasos para la elaboracion de software para los usuario y no se dan cuenta que su producto no cumple los requisitos para que sea un software eficas y solo queda en eficiente.cuando deberia ser los dos a la vez , eficas y eficiente para el usuario y para el proximo ing que venga a hacerle un mantenimiento o a agregarle mas componentes al software.

    ResponderEliminar
  19. Bueno podemos considerar que desarrollo de software, se realiza por medios sistematizados y con herramientas preestablecidas, la aplicación de ellos de la forma más eficiente para la obtención de resultados óptimos; objetivos que siempre busca la Ingeniería de software. No es sólo de la resolución de problemas, sino más bien tener en cuenta las diferentes soluciones para elegir la más apropiada. Para lograr maximizar la calidad del software y reducir el coste.

    ResponderEliminar
  20. Bocanegra Romero Roger Abraham4/25/2012 10:08 p. m.

    Es muy importante conocer sobre este tema para poder estar preparados y desarrollar un buen software (que sea considerablemente bueno).En la ingeneria de software planificando y usando iteraciones para obtener resultados buenos a corto plazo y cumplir con los objetivos.

    Estimado docente hace poco lei un poco sobre roadmap que tengo entendido que es una hoja de ruta para programadores que desarrollan software a corto y largo plazo esto es de ayuda para ellos por que les permite ver si estan cumpliendo con sus objetivos a tiempo.
    Bueno mi duda es que si podemos utilizar el "roadmap" y en que tipo de casos especificos podriamos utilizar.

    Me despido de ud. esperano una pronta respuesta!
    Bendiciones.

    ResponderEliminar
    Respuestas
    1. Hola Roger, gracias por tu comentario.

      Respecto al roadmap es una técnica que se podría aplicar a cualquier proyecto de software pero de preferencia a los que puedan durar más de 6 meses por ejemplo. En todo proyecto de software es necesario planificar las actividades y fijar objetivos, estos objetivos deben ser fijados a corto plazo como un mes, es decir qué podemos lograr en ese mes y ese sería un hito para el proyecto. Este hito es la finalización de una Iteración que es parte del ciclo de vida del proyecto. También se puede hacer un Plan de Iteración, el cual es un artefacto donde se define y se planifica lo que se desea lograr en un periodo corto de tiempo, esto puede implicar hacer análisis de requisitos, diseño, implementación y pruebas pero sólo de lo que fue priorizado para esa iteración. De esta forma el proyecto va creciendo pero se va logrando tener versiones preliminares del producto desde las primeras iteraciones.
      Recuerden que gracias a una buena planificación, seguimiento y adecuada ejecución de las actividades se podrá tener éxito en los proyectos.

      Eliminar
    2. Bocanegra Romero, Roger Abraham5/02/2012 6:47 p. m.

      Gracias por la pronta respuesta me ha servido para despejar mis dudas pero sobre todo para poder obtener nuevos conocimientos y aprender sobre esta metodologia que brinda un servicio de calidad que se puede mejorar en iteraciones de tiempo cumpliendo con los requisitos que demandan los clientes.

      Eliminar
  21. Me parece interesante, que existan blog como este, debido a que muchos profesionales omiten ciertos conceptos,lo que es un error para poder desarrollar e implantar un buen software debemos tener un orden y mas que nada tener una gran cantidad de información sobre el problema pues la ingeniería de software tiene como finalidad obtener soluciones en corto plazo para lo cual se utilizan interacciones, planificaciones de distintos procesos para poder lograr el objetivo principal.Dado también este concepto como idea,podemos decir que la ingeniería de software nos ayuda tanto a tener soluciones a corto plazo sino que también poder saber cual es la mejor solución mas viable y eficaz

    ResponderEliminar
  22. Si, es bueno seguir una serie de pasos metodológicos para poder crear software de calidad y lograr que nuestros clientes estén satisfechos por el trabajo realizado y así quedemos como buenos ingenieros de software y de sistemas jajaja :-)
    Saludos Ingeniero y espero que suba algunos ejemplos para crear software :-)

    ResponderEliminar
  23. alexiss Quipuscoa C5/08/2012 10:07 p. m.

    Es muy interesante el tema Ingeniería del Software ya que tiene como objetivo ser un software de calidad, también hay que tener cuenta toda esta información y a la vez aplicarla en nuestra carrera ya que esto nos ayudara en nuestro futuro como Ingenieros de Sistemas.

    ResponderEliminar
  24. Encuentro interesante toda esta informacion acerca de la Ingreniería de Software aplicado, y más aun porqué tieen mucha relacion con la carrera que estoy cruzando, Ingeniería de Sistemas, y como dijo es muy importante planificar las actividades de un proyecto teniendo en cuenta mucho con als necesidades que los usuarios necesitan, si bien es cierto, se necesita mucho conocimiento, para dar un resultado optimizado. por otra parte, en la realizacion de proyectos el software no se identifique con los requisitos detallados de entrada, procesamiento o salida es decir, no se está seguro de la eficiencia de un algoritmo, o de la forma en que se ha de implantar la interface, en casos así, lo habitual es construir un prototipo, que idealmente sirviera como mecanismo para identificar los requisitos del software.

    ResponderEliminar
  25. Este articulo es muy interesante ya que esta información nos ayuda a nosotros a entender las bases fundamentales de la ingenieria de software para crecer como futuros Ingenieros de Sistemas y poder desarrollar excelentes proyectos con buenos grandes resultados en una empresa la cual nos contrate, asi poder brindarle un buen servicio de calidad.
    Tambien debemos nos hace apreciar la nesecidad de aplicar paso a paso para el buen desarrollo del software ya que muchas personas o muchos ingenieros no lo toman en cuenta porque dicen que es una perdida de tiempo, pero para el cliente no lo debe ser. Es importante explicar al cliente como es el desarrollo del sofware y los pasos a tomar y para eso el ingeniero debe de ser capas y dominar bien este tema.

    ResponderEliminar
  26. No hay duda Ingeniero que la información que nos brinda en su blog es de mucha ayuda para nosotros que no estamos formando y tomando conocimientos. Desde un inicio menciona de algo muy importante muchos de los proyectos de software fracasan debido a una mala o escasa gestión de los requisitos y este fracaso hace de que nuestro sistema final no satisfaga la necesidad del cliente, lo cual nos da un buena recomendación que lo debería de aplicar todo aquel que está en el proceso de elaborar un sistema (aplicar una buenas práctica en la gestión de los requisitos) y así trabajar constantemente junto al cliente para evitar un avance en vano.
    Usar una metodología para la elaboración de un buen sistema es la metodología RUP. Ya que su objetivo es asegurar la producción de software de alta calidad que satisfaga la necesidad del Cliente.

    Alexandro Ruissel Juro Salas

    ResponderEliminar
  27. En la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software.
    *Mejorar la calidad de los productos de software.
    *Aumentar la productividad y trabajo de los ingenieros del software.
    *Facilitar el control del proceso de desarrollo de software.
    *Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.

    Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

    ResponderEliminar
  28. PAREDES LOPEZ KELLY

    ME parece muy interesante la informacion que nos brinda ya ya que nos va a beneficiar como ingenieros de sistemas, nosotros debemos tener en cuenta el objetivo del desarrollo de un software de calidad, para la cual aplica principios y realiza actividades como el analisis, diseño y otros, todo con el unico objetivo de obtener al final un software confiable.

    ResponderEliminar
  29. Un aporte sumamente imporante que nos explica detalladamente los procesos que nosotros como futuros ingenieros de sistemas debemos tomarlo en cuenta como guia para proponer un producto software de calidad en el mercado,llevandonos a desarrollarnos adecuadamente a futuro.

    ResponderEliminar
  30. Elky Rubí Mostacero Oribe6/07/2012 3:02 a. m.

    Elky Rubi:
    Creo que en este mundo Globalizado Cada vez es más necesario que los ingenieros de software desarrollen y le entreguen al cliente productos de la más alta calidad. Asimismo no deben de descuidar el compromiso que el ingeniero tiene con el cliente de entregar el producto puntualmente. Además de que debe de estar conciente que el producto que va a desarrollar para el cliente, cuente con un
    presupuesto al alcance del cliente y que éste no sufra de modificación alguna.
    Los ingenieros que no cumplan con estos compromisos, se arriesgan a que existan penalidades en los contratos y hasta la pérdida misma del cliente. Por lo tanto, este tipo de ingenieros no tiene un buen futuro y tiende a desaparecer.Por eso hay que ser siempre lo mas objetivo posible y cumplir con todos los pasos del proyecto obteniendo así la satisfacción del cliente.

    ResponderEliminar
    Respuestas
    1. Muy cierto Rubi ojalá la mayoría de los estudiantes que quieren ser ingenieros piensen así y actúen correctamente para evitar esas incompetencias que denigran la imagen del ingeniero de sistemas.

      Eliminar
  31. Lo importante de saber captar requisitos y necesidades en el desarrollo de un sistema de información es que podemos ir desacreditando el problema de que a pesar de la creciente participación del software en el mundo actual y de los avances producidos, su proceso aun no es adecuado. Por tanto el desarrollo de software aun no responde a las exigencias de estos tiempos. Las necesidades y expectativas de los clientes y usuarios no son captadas satisfactoriamente. De ahí que gran cantidad de proyectos de software que no llegan a cumplir sus objetivos, y como consecuencia de esto, los altos por cientos de rechazo entre ellos. Es otra problemática importante la incapacidad de absorber cambios en esos requisitos.

    ResponderEliminar
  32. Sin lugar a duda en todo proyecto de desarrollo de software es muy importante captar los requisitos que los usuarios quieren que el software o sistema haga, y para eso es necesario hacer una buena gestión de los mismos para que así el cliente se sienta conforme. Resumiendo es un tema de mucha importancia para los analistas y diseñadores de sistemas porque es uno de los procesos mas importantes para desarrollar un software.

    ResponderEliminar
  33. Erika Rodríguez Díaz6/14/2012 8:55 p. m.

    Es interesante la informacion que no brinda ing.
    para si informanos sobre las bases fundamentales de
    la ingenieria de software y poder aplicar a nuestra
    formación profesional y a la vez seguir la buenas
    prácticas para obtener un buen desarrollo de proyectos.
    Gracias por la información ing. Laín.

    ResponderEliminar
  34. Un tema sumamente importante e interesante para los intereses de los Ingenieros de sistemas desarrolladores de Software, por que nos ayuda a tomar conciencia de que previamente antes de realizar la programacion es tan importante que se tenga en cuenta el analisis y diseño del sistema que se va a desarrollar, teniendo como objetivo un excelente software de calidad... Gracias por su aporte ing Lain Cardenas Escalante.

    ResponderEliminar
  35. Muy interesante el articulo, y sin duda es algo fundamental.

    Sin embargo muchos de esos temas suelen ser obviados en algunas empresas que no se dedican netamente al Desarrollo de Software. Me refiero básicamente a empresas que tienen su propia área de Tecnologias de la Información.


    Los diversos motivos, entre uno de ellos es el que los plazos de entrega de un requerimiento son cortos. Haciendo que el equipo de desarrollo adapte su propia metodologia a las caracteristicas que posee la empresa.


    En conclusión el articulo es muy interesante, y nos deja que la clave del exito para un proyecto exitoso es sin duda las buenas practicas de la Ingeneria de Software.



    ResponderEliminar
  36. Muy bueno el articulo, tenemos que seguir estos procesos para tener un software de calidad. No basta ser un buen programador, y estar en constante supervisión. La buena practica seria Aplicar un proceso iterativo e incremental, no muchos lo hacen, pero seria lo idea.
    Algo que leí en esto me pareció muy bueno se los comparto.

    http://www.lcc.uma.es/~lopez/modular/ingsw/transp_ingsw.pdf

    ResponderEliminar
  37. Muchas gracias Ing. Lain Cárdenas Escalante por el interesante articulo referente al desarrollo de software. Y queda claro tambien que unos de los objetivos importantes es la reunión que se debe sensibilizar al propio cliente de lo importante que es para el éxito del proyecto que le dedique tiempo para pruebas, validaciones... al fin y al cabo es su proyecto, y nuestro interés es entregarle un aplicativo que realmente sea de su gusto y necesidad.
    Exitos... a todos...

    ResponderEliminar
  38. Muy interesante la información brindada, ya que con dichas practicas siguen un orden muy fundamental para el desarrollo del software a elaborar.Con estos principios y con estas técnicas podremos elaborar un software de calidad y lo mas indispensable que se adapte a las necesidades de los usuarios y empresas. También nos dice que el software no concluye solo al terminar su desarrollo si no que debemos hacer que vaya evolucionando y adaptándose a las necesidades de los usuarios o de la empresa destina.

    ResponderEliminar
  39. Muchisimas gracias Ingeniero Cardenas por la informacion dado sobre Ingenieria de Software ya que nosotros los ingenieros tenemos que tener claro que debemos estar en un contacto momentaneo con la persona a la cual vamos a hacer el software ya que los requerimientos no pueden estar claro para el ingeniero de software y tenemos que ver tambien el tiempo en la cual vamos a desarrollarlo para esto se tiene que contar con una etapa de planiicación aparte que el software a crear debe ser portable.

    Aca encontre un link sobre una parte de ingenieria de software
    http://ocw.usal.es/ensenanzas-tecnicas/ingenieria-del-software/contenidos/Tema1-IntroduccionalaIS-1pp.pdf
    At. Carlos Dieguez Moreno

    ResponderEliminar
  40. Pienso que es muy interesante y se debe aplicar si o si esto de las buenas practicas en el proceso de desarrollo de un software ya que te dan las pautas necesarias para crear un software competente que satisfagan las necesidades de las empresas y de los usuarios.

    ResponderEliminar
  41. Thania Heldy Hernandez Perez8/31/2012 4:24 p. m.

    Muchas gracias Ingeniero Lain Cardenas por toda la informacion brindada ya que es muy interante e importante porque este articulo nos da principios basicos que cualquier desarrollador deberia tener en cuenta para crear un software no solo bueno sino de calidad, el cual cumpla con todos los requisitos del cliente y de los usuarios.
    Por otra parte como uste dijo en este articulo en todos los proyectos aparecen problemas en el camino. Pero lo importante es medir esos problemas al inicio y buscar soluciones para ellos para de esta manera no tener problemas como no cumplir con la fecha de entrega acordada u otros requisitos. Por eso es importante tomar en cuenta los principios dados en el articulo.
    Thania Heldy Hernandez Perez

    ResponderEliminar
  42. Este artículo cuenta con muy buena información, ya que siguiendo las buenas prácticas de desarrollo de Software y empleando el modelo evolutivo podremos elaborar un producto de calidad y que el tiempo que nos demoremos en realizar el producto sea el mínimo y sin errores. También es importante tener constante diálogo con el cliente para presentarle los avances e ir corrigiendo los errores para que el producto Software sea del gusto del cliente y que resuelva sus necesidades.

    ResponderEliminar
  43. Muy buen articulo ingeniero Lain Cárdenas nos muestra los puntos claves a la hora de desarrollar software como futuros ingenieros debemos tener muy en claro que desde un primer momento se debe satisfacer el requerimiento principal del cliente, se debe mostrar avances al cliente para ver si lo que nosotros como desarrolladores estas cumpliendo con los requisitos del cliente esto garantizara el éxito del proyecto y menores fallas mientras se desarrolla el mismo.
    Mediante la aplicación de las buenas practicas en el desarrollo de software y la constante comunicación con el cliente es posible realizar un software de calidad que permita modificaciones y actualizaciones sin mayor complicación.

    ResponderEliminar
  44. Lo que nos habla el artículo es sobre las buenas prácticas en el desarrollo de Software, debemos tener siempre en cuenta la usabilidad y la ergonomía, puesto que el usuario final no siempre tendrá nuestro gustos o costumbres. Debemos tener comunicación continua con el cliente para que vaya viendo nuestro desarrollo y podamos ir retroalimentándonos constantemente.

    Debemos también recopilar información sobre el usuario y ajustarnos a los requerimientos del cliente para no caer en los errores de crear una aplicación muy compleja para el cliente final.

    Buen artículo que nos ayudara a orientarnos con vistas a un futuro cercano.

    ResponderEliminar
  45. Crea un Software va mucho más allá de la esencia de crear un objeto físico que satisface la necesidad del cliente, sino que se debe orientar a desarrollar una metodología de investigación que analice paso a paso la estructura y manejo de la problemática que va a solucionar nuestro sistemas es por ello que estoy de acuerdo con todo lo que se publicó en este blog un muy buen aporte .

    ResponderEliminar
  46. Hector Chumpitazi Molina9/06/2012 11:17 a. m.

    Muy buen articulo, sobre todo para los que recién nos estamos iniciando en el tema de la ingeniería de software. Nos podemos dar cuenta cuan importante es planificar un sistema, algunos de nosotros quizás programábamos un sistema informático,sin realizar antes ninguno de los pasos antes mencionados,ahora podremos crear un sistema de calidad y dinámico que de celeridad a los procesos que se llevan en la empresa. Con respecto a los riesgos,siempre existirán el reto esta en tener una buena planificacion.
    Saludos

    ResponderEliminar
  47. El articulo esta bueno, ya que habla sobre lo que debemos tener en cuenta para el desarrollo de software para hacer algo bueno al final y no cometer varios errores que podemos hacer al transcurso del desarrollo. Aparte con la serie de pasos que nos dan a seguir creo que nos da mas ayuda para desarrollo de un buen proyecto, y no solo nos puede servir a nosotros, si no también a gente que trabaja proyectos en empresas prestigiosas, así estas puedan tener éxito mas adelante :).

    ResponderEliminar
  48. El articulo esta bueno, ya que habla sobre lo que debemos tener en cuenta para el desarrollo de software para hacer algo bueno al final y no cometer varios errores que podemos hacer al transcurso del desarrollo. Aparte con la serie de pasos que nos dan a seguir creo que nos da mas ayuda para desarrollo de un buen proyecto, y no solo nos puede servir a nosotros, si no también a gente que trabaja proyectos en empresas prestigiosas, así estas puedan tener éxito mas adelante :).
    -_-" el comentario anterior no salio mi nombre xD!!

    ResponderEliminar
  49. garcia pitoy jhonly junior9/06/2012 11:24 a. m.

    Muy buen aporte Ingeniero Lain Cardenas gracias por compartir tan buena informacíon acerca de la ingenieria de software.Me gusto mucgo la parte en que ase mension acerca de los peligros que pueden llegar al ocurrir durante el proceso de desarrollar el software ya que esto nos conlleva a tener planes de respaldo.
    Y muy bien al hablar del cliente por que el software son deacuerdo a los requerimientos de este.
    otra vez gracias por el aporte y estoy seguro de que nos ayudara en nuestro futuro

    ResponderEliminar
  50. muy interesante la información creo que no solo basta tener una idea sino también planificar ,observar ,definir,diseñar,probar, retroalimentar la idea .

    ResponderEliminar
  51. Hasta hace unas horas solo tenía en mente que para el desarrollo de un software solo era necesario saber programar en distintos lenguajes de programacion, mas ahora puedo entender que como todo fin en un proceso detallado y para desarrollar software es necesario tener su arquitectura que nos muestre su organización y relación de sus componentes mas importantes para así garantizar el rendimiento, fiabilidad, soportabilidad y usabilidad del sistema.
    Un punto en el que no me quedo muy bien centrado es en: g) Gestionar el proyecto de forma ágil -- escencialmente a qué se refire con el termino "artefactos"?

    ResponderEliminar
    Respuestas
    1. Hola, respondiendo tu pregunta: un artefacto puede ser un documento de requisitos, un modelo de diseño, un programa o cualquier documento que se genere o sirva para el proceso de desarrollo del software.

      Nota: no olvides poner tu nombre, saludos.

      Eliminar
  52. La Ingeniería del Software es fundamental para el desarrollo de un buen programa ya que nos permitirá obtener un mejor resultado en cuanto a la aplicación de este y asi poder ir mejorando o actualizando mediante el soporte que se le pueda incluir.
    Ademas nos permitirá gestionar, elaborar, diseñar, analizar las perspectivas que el cliente tiene para el desarrollo de su software el cual nos ayudara a que el cliente este satisfecho con el programa que este solicitando.

    ResponderEliminar
  53. Para realizar un de software, utilizamos herramientas preestablecidas, pero para poder aplicar de la manera eficiente para la obtención de resultados, tenemos que tener un objetivo y la aplicación de forma más eficiente para la obtención de resultados; Ingeniería de software la ingeniería siempre busca un objetivo. No resolver problemas, sino tener en cuenta las soluciones para la elegir la apropiada y así minimizar el costo y brindar una mejor calidad de software.
    José Antonio Torres plasencia

    ResponderEliminar
  54. Hasta hace unas horas solo tenía en mente que para el desarrollo de un software solo era necesario saber programar en distintos lenguajes de programacion, mas ahora puedo entender que como todo fin en un proceso detallado y para desarrollar software es necesario tener su arquitectura que nos muestre su organización y relación de sus componentes mas importantes para así garantizar el rendimiento, fiabilidad, soportabilidad y usabilidad del sistema.
    Un punto en el que no me quedo muy bien centrado es en: g) Gestionar el proyecto de forma ágil -- escencialmente a qué se refire con el termino "artefactos"?
    Este lo envió Miller Gomez

    ResponderEliminar
  55. juan carlos guayan castillo9/06/2012 11:34 a. m.

    me parece interesante destacar lo importante que es el software y el ing. de sistemas como parte fundamental en este campo, también podemos darnos cuenta como evoluciona y se desarrolla el software y su importancia en la vida y los requerimientos del usuario para su satisfaccion

    ResponderEliminar
  56. JOSE LA MADRID GUANILO9/06/2012 11:34 a. m.

    Ingeniero me parece muy interesante, me gusta la manera como uno va paso a paso diseñando un software con la finalidad de que tanto cliente como proveedor esten satisfecho de lo que se diseña.
    Es unn gran aporte, ya que muchos piensas que hacer un software es solo cuestion de hacer el programa sin intresar los problemas que uno puede tener en el camino al diseñar el software, es muy importante que se lleve una serie de pasos para que cuando se identifique un error, o alguna inquietud del cliente, se pueda corregir a tiempo, para evitar en un futuro problemas de costo, tiempo y calidad.
    Att: LA MADRID

    ResponderEliminar
  57. Sadith Ulloa Ramos9/06/2012 11:36 a. m.

    este articulo es muy interesante ya que nos da una nocion de lo que es la ingenieria de software y sobre todo su gran importancia en el ambito empresarial en la actualidad, ya que de aplicar esta ingenieria dependera el exito de cada empresa y sobre todo sobresalir de sus principales competidores en este mundo empresarial globalizado. Pero para poder lograr esto se debe obtener correctamente los requerimientos de parte de los futurs usuarios para que se obtenga exito en la implantacion de nuevo software :)

    ResponderEliminar
  58. Un articulo muy interesante para mi parecer ya que la mayoría tenemos conocimiento como hacer un aplicaron o software en java pero no tenemos mucho conocimiento de como comensar el desarrollo de un software que sea muy eficiente para la empresa.

    Gracias al articulo a hora tengo conocimiento hacerca del analisis y para recopilar información del usuario y poder desarrollar aplicaciones o software eficiente ya que no es solo conocer programacion si no tambien poder analizar la problematica de una empresa.

    ResponderEliminar
  59. Lesly Hoyos Mendoza9/06/2012 11:42 a. m.

    Un Articulo muy importante con información detallada, Para la ejecución del Software, debemos seguir buenas practicas para elaborar un producto de calidad, así satisfacer las necesidades del cliente, Teniendo en cuenta y aplicando estrategias y buenas prácticas podremos asegurar éxito en los proyectos que tengamos a fin desatollar y la satisfacción de los clientes al recibir un producto software de calidad, brindándoles seguridad confiabilidad y oportunidades. Gracias

    ResponderEliminar
  60. Ronal Guillermo Villacorta Calderon9/06/2012 11:45 a. m.

    es un articulo muy interesante especialmente para las personas que desarrollan e implementan software el tema de las buenas practicas, es esencial, este artículo lo detalla de forma clara y precisa, así como también tener en cuenta que en cada proyecto de desarrollo de un sistema se debe conocer el proceso de la unidad de negocio. También se establecen mecanismos que garantizan la fiabilidad de los requisitos a lo largo plazo de todo el ciclo de vida.

    ResponderEliminar
  61. este articulo es muy interesante ya que nos da una nocion de lo que es la ingenieria de software y sobre todo su gran importancia en el ambito empresarial en la actualidad, ya que de aplicar esta ingenieria dependera el exito de cada empresa y sobre todo sobresalir de sus principales competidores en este mundo empresarial globalizado. Pero para poder lograr esto se debe obtener correctamente los requerimientos de parte de los futurs usuarios para que se obtenga exito en la implantacion de nuevo software :)

    ResponderEliminar
  62. Parar desarrollar un buen software debemos sujetarnos a los requerimientos del cliente, analizar, diseñar y luego ejecutar; así mismo, la Ingeniería de software es la aplicación del enfoque sistemico(pensamiento holístico)para obtener calidad de producto de software. Aquí hay un link que habla acerca del tema:
    http://www.humbertocervantes.net/cursos/ingsoft/PresentacionCurso.pdf

    ResponderEliminar
  63. Artículo muy interesante, el cual nos permite tener una visión más clara de todos aquellos detalles o buenas prácticas que necesitamos realizar para el desarrollo de Buen Software. Es un excelente aporte para todos los que estamos inmersos en la Ingeniería de Software. Esperemos que sigan compartiendo información tan valiosa.

    ResponderEliminar
  64. Victor Manuel Chavez Sanchez9/13/2012 8:15 a. m.

    Considero muy importante esta información ingeniero, mucho mas para mi un futuro ingeniero de sistemas, gracias a este articulo tengouna visión más clara de los pasos y detalles que debo seguir para desarrol lar un buen software. Espero con ansias su siguiente publicación. Saludos

    ResponderEliminar
  65. CASTILLO MIRANDA, GEORGE9/13/2012 10:34 a. m.

    Este Articulo es muy interesante e importante, La Ingeniería del Software es fundamental para el desarrollo de un buen programa ya que nos permitirá obtener un mejor resultado en cuanto a la aplicación de este y asi poder ir mejorando o actualizando mediante el soporte que se le pueda incluir.
    Ademas nos permitirá gestionar, elaborar, diseñar, analizar las perspectivas que el cliente tiene para el desarrollo de su software el cual nos ayudara a que el cliente este satisfecho con el programa que este solicitando para su uso.

    ResponderEliminar
  66. BOCANEGRA SERIN MARLON ALEXANDER9/13/2012 10:39 a. m.

    esta informacion que nos esta brindando es muy buena para nuestra formacion academica y tambien para el curso, gracias a ella he comprendido mucho mas sobre un software o ingenieria del software en las que aun tengo un poco de dudas pero poco a poco ire obteniendo mas informacion y aunmentando mi conocimiento con respecto a este tema.

    ResponderEliminar
  67. Diego Pajares Alva9/14/2012 3:35 p. m.

    Excelente artículo en donde se destaca la importancia de la Ing de software, que es un pilar del desarrollo de un buen programa , pero que sin embargo muchas veces no se le da la debida importancia.
    Siguiendo los puntos que resaltó en el articulo, es mas que seguro poder obtener un software de gran calidad.

    Mu buena publicación Ing. lo felicito una vez más.

    ResponderEliminar
  68. Irwin Daniel Osorio Fernandez9/16/2012 12:44 p. m.

    Un buen aporte para todos los interesados en la ingenieria de software , ya que a mi me interesa demasiado sus temas para poder aplicarlos de una forma u otra a mi carrera de ing de sistemas...explica muy bien la importancia en el proceso que todo software puede tener a fin de tener un producto para el usuario final de calidad.

    ResponderEliminar
  69. Johon Paico Durand10/03/2012 11:08 a. m.

    Ingeniero Lain muy buena información que nos brindada ya que es muy interesante porque este articulo encontramos principios básicos que cualquier desarrollador tiene q tener en cuenta para crear un software, que cumpla con la satisfacción de los clientes. y muchas veces pueden aparecer problemas en el trascurso del desarrollo, pero es importante medir los problemas al inicio y buscar soluciones y así poder entregar el trabajo en la fecha indicada.
    Esperemos que sigan compartiendo información importante para nosotros.

    ResponderEliminar
  70. esta nota es muy buena,ya q sirve para ser buenos ingenieros, yo como lo estoy llevando como curso electivo, pero igual esto me sirve para tener mas conocimientos. siga escribiendo mas notas.

    ResponderEliminar
  71. ingeniero muy buen aporte pero usted hace referencia a que lo mejor seria aplicar el modelo evolutivo incremental donde se realizaria presentaciones o alcanses del proyecto cada cierto tiempo al usuario final del proyecto y textualmente dice que : "Lo importante al finalizar cada iteración es que los objetivos se hayan logrado lo cual implica que se han elaborado los artefactos o productos de trabajo requeridos o planificados para la iteración", pero que pasaria si no se cumple los objetivos requeridos por el usuario, se tendria q volver a contactar con el usuario para una nueva presentacion, pero como todos sabemos el usuario tendria que darse el tiempo de atendernos cosa que en la vida real tendriamos un problema por que no siempre seriamos atendidos y generariamos algunas molestias tambien, ademas otro inconveniente es se necesita de mas personal como analistas, personal de diseño y codificacion trabajando a la vez que creo generaria mas costo. Ademas existe el modelo lineal secuencial o cascada podria decir en que tipo de proyecto se podria utilizar este modelo y cuales son las debilidades en comparacion con el proceso iterativo?

    ResponderEliminar
    Respuestas
    1. Hola, gracias por las preguntas, doy respuesta:
      El terminar una Iteración implica cumplir con lo planificado para la Iteración. Por ejemplo, esto puede ser cumplir con la elaboración de ciertos artefactos como: especificar 10 Casos de Uso de prioridad alta, diseñar 5 Casos de Uso significativos para la Arquitectura, implementar 2 Casos de Uso de mayor riesgo y hacer las pruebas correspondientes. Entonces si lo planificado anteriormente no se cumple, no se puede dar por terminada la Iteración, esto es independiente del tiempo asignado para la Iteración, por ejemplo asignar 5 semanas. Por tanto si en el tiempo asignado no se cumple lo planificado, la Iteración no se puede cerrar y se debe alargar el tiempo lo cual puede incurrir en mayor costo e insatisfacción de los clientes. En estos casos, hay que hablar con el cliente explicando o justificando de forma técnica las causas del retraso y llegar a nuevos acuerdos. Por otra parte debemos tener en cuenta que el cliente o el usuario interesado debe ser parte o estar vinculado y comprometido con el proyecto, se debe asegurar al inicio de cada Iteración la partición del interesado y tenerlo en cuenta en la planificación de las actividades de revisión o seguimiento de los artefactos elaborados. Sin este aseguramiento, se corre el riesgo de que los artefactos elaborados no sean revisados aprobados oportunamente y se alargue la Iteración.
      El costo de la Iteración depende de lo planificado para la Iteración. La asignación de los recursos para realizar las actividades es por lo general tarea de los gerentes o líderes de proyecto. Por ejemplo para la planificación de la Iteración anterior, se necesitaría 2 Analistas, un Diseñador y un Programador. Pero en un proceso Iterativo esta asignación de recursos puede ir variando en distintas Iteraciones, es decir no es fijo para todas, por ejemplo en otra Iteración que haga parte de la Fase de Construcción se puede requerir de un Analista, un Diseñador y 4 Programadores. Los costos varían en cada Iteración, y a la vez los recursos se aprovechan mejor porque se pueden distribuir en distintos proyectos según se vayan necesitando (si se habla de una fábrica de software).
      Respecto al Modelo en Cascada, este tipo de modelo ya no es aplicable actualmente por muchos problemas que puede traer a los proyectos, sobre todo a proyectos medianos o grandes. Se podría aplicar a proyectos pequeños que tal vez su construcción no demande más de 6 meses, no se necesiten muchos recursos o roles involucrados, donde los requerimientos estén bien identificados por el cliente y tengan un bajo porcentaje de variación o cambio. Por otra parte, la mayor debilidad de este modelo es que no se debería pasar de una fase de Requisitos a otra de Diseño o Programación si no se ha completado toda la fase anterior, esto implica especificar TODOS los requisitos antes de diseñar o implementar generando esperas muy largas para el Cliente de poder ver algo de valor (parte del sistema funcionando o ejecutando), lo cual implica alto riesgo para el proyecto.

      Saludos.

      Eliminar
  72. Eduard Diaz Seminario - UCV Complementacion Academica11/26/2012 7:43 p. m.

    El desarrollo del software debe ser 100% de calidad, y lo lograremos con la ayuda de un buen diseño, análisis, y lenguaje de calidad... esta metodología nos ayuda a detalle como son los modelos del negocio.

    Si bien es cierto que para desarrollar un sistema se tiene que seguir pasos o etapas... hoy en día esta herramienta como el RUP no se lleva en su totalidad debido al tiempo excedente que llevaría esto... ahora bien si omitimos estas etapas en el desarrollo de nuestro sistema puede traer baches que tendríamos que depurar nuestro sistema...

    ResponderEliminar
  73. Aporte esencial sobre la Ingeniería de software se define cómo la disciplina tecnológica relacionada con la producción sistemática y el mantenimiento de productos de software que son desarrollados y modificados en el tiempo previsto y dentro de los costos estimados.
    El objetivo de la ingeniería de software es producir productos de software
    Es relevante destacar el rol de los ingenieros de software, ya que ellos son los responsables de crear software de calidad, aplicado principios y técnicas de ingeniería como el análisis, el diseño, las pruebas y un proceso metodológico adecuado que garantice la calidad del producto. Es necesario que se haga una correcta gestión del proyecto aplicando buenas prácticas al software.

    ResponderEliminar
  74. La Ingeniería de Software es parte indispensable de nuestro mundo moderno y cada vez más las personas, las organizaciones o empresas están muy dependientes de su uso o aplicación,(Es muy cierto lo que cita Ingeniero Lain Cardenas).Excelente Calidad
    Este software de calidad debe caracterizarse por ser capaz de cumplir con las necesidades para lo cual fue diseñado, también debe ser confiable es decir el software no debe causar daños físicos o económicos en el caso de una falla, ademas debe ser fácil de usar, debe proveer el rendimiento apropiado,debe ser capaz de ser transferido de un entorno a otro y los datos que maneja el software debe ser consistente y tener medidas de seguridad para que ningún agente externo pueda acceder a los datos.
    Y finalmente la calidad el software depende en gran medida de la calidad del proceso del software.
    Se lograra un software de calidad con un modelo incremental,lenguaje gráfico estándar como UML y una metodología RUP.
    Hoy en dia la informacion vale oro tambien se puede dertificar con las Iso

    Grace Quispe Paucar

    ResponderEliminar
  75. Llegando a una conclusión sobre La Ingeniería de Software viene a ser una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software.

    Los Ingenieros de Software adoptan un enfoque
    sistemático para llevar a cabo su trabajo y utilizan las
    herramientas y técnicas necesarias para resolver el
    problema planteado, de acuerdo a las restricciones de
    desarrollo y recursos disponibles.

    Cabe recalcar también que La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo, que incluyen hardware, software y el proceso de Ingeniería, La Ingeniería de Software es solo parte de este proceso.

    Tengo un aporte que me parece que es importante tener en cuenta:

    Sus características de los Productos de Software, estas deben ser:

    * Mantenibles:
    Debe ser posible que el software evolucione y que siga cumpliendo con sus especificaciones.

    * Confiabilidad:
    El software no debe causar danos físicos o económicos en el caso de fallos.

    * Eficiencia:
    El software no debe desperdiciar los recursos del sistema.

    * Utilización adecuada.
    El software debe contar con una interfaz de usuario adecuada y su documentación.


    Este es un libro interesante y se los comparto:
    Ingeniería del Software: Un Enfoque Práctico, Roger Pressman (Sexta Edición)

    Aquí les dejo los links, son 3 partes que deben descargar y descomprimirlos juntos.

    http://depositfiles.com/files/06lbbguf9
    http://depositfiles.com/files/lbnirku2q
    http://depositfiles.com/files/vuk98e7js

    SALUDOS,
    Atte. Kenny Anthony Medina Agurto

    ResponderEliminar
    Respuestas
    1. Como también sabemos en la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver los problemas, la informática aporta herramientas y procedimientos sobre los que se apoya la Ingeniería de software.

      Esto me parece muy importante recalcar como sus objetivos de la Ingeniería de Software:

      - Mejorar la calidad de los productos de software
      - Facilitar el control del proceso de desarrollo de software.
      - Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.
      - Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.

      Eliminar
  76. El objetivo de este blog es aprender sobre Ingeniería del Software

    Aunque la Parte Clave de la Ing. del Software es sobre todo los procesos de pruebas de software, también podemos hablar sobre análisis, diseño y construcción, metodologías, herramientas, buenas prácticas… en definitiva sobre cualquier tema relacionado con los procesos de desarrollo de software.
    La Ingenieria del Sofware es apoyar alas empresas en automatizar sus procesos apoyados por las TI.

    ResponderEliminar
  77. Alex Rafael Huacacolqui Layza11/28/2012 2:48 p. m.

    Cuando se habla de ingeniería de software hablamos de responsabilidad para crear software de calidad para la satisfacción de los usuarios, por tanto se debe seguir una serie de pasos (Requerimientos, Análisis, Diseño, Codificación, Pruebas, Validación). Iniciando con un buen modelado del negocio que cumplan con los requisitos y procesos, planificar tareas que permitan cumplir con los objetivos trazados, por iteraciones.
    Tener en cuenta que siempre va ver riesgos en los proyectos por eso debemos de tener en cuenta esta política para la realización de software, así mitigar los riesgos.

    ResponderEliminar
  78. La Ingeniería de Software nos permite llevar un buen desarrollo del software, ya que hay que seguir una secuencia de actividades pre- establecidas de esta manera se realiza su respectivo análisis, diseño, implementación y pruebas con el objetivo de llegar a un fin satisfactorio; logrando un software de excelente calidad, confiable cumpliendo con todas las necesidades y expectativas del usuario para ello debe haber una comunicación constante.
    Esto es un ayuda en las empresas ya que pueden automatizar sus procesos dando una mejor atención al cliente
    gracias por la información Ing. Lain Cárdenas

    ResponderEliminar
  79. Angel David Cieza Ramos11/28/2012 10:37 p. m.

    La Ingeniería de Software, es de vital importancia en el mundo actual que nos rodea, acorde con los avances tecnológicos, centrándose como eje principal en los métodos, herramientas y procedimientos para establecer un control en el desarrollo del software, lo que permite construir un software de calidad de forma productiva, dandonos a la vez una serie de buenas practicas (Requerimientos, análisis, diseño, implementación, pruebas y validación) para el buen desarrollo y funcionamiento del mismo.

    En conclusión la Ingeniería de Software, significa automatizar procesos en el desarrollo del software, supone mejorar las aplicaciones, disminuir las posibles incidencias en el mismo, siendo para las empresas, la optimización de sus funcionalidades, maximizando el rendimiento de sus productos software y de su cartera de servicios.

    ResponderEliminar
  80. Al hablar de Ingeniería de Software es tener una estructura de pasos a seguir( buenas practicas) como los que ha propuesto el Ingeniero en su articulo y nos lo mostró en clase con el único propósito de llegar a un producto o proyecto de calidad, confiable y sobre todo que cubra las expectativas del cliente o usuario.
    Mi inquietud seria sobre los dos métodos que planteo, el Lineal y el evolutivo que sin dudar con la explicación el Evolutivo es la forma ideal para poner en practica para realizar un proyecto. pero en caso que los proyectos sean de por si pequeños.. el lineal se adoptaría o mejor seria el Evolutivo no dependiendo el tamaño.
    Gracias Ing Lain Cárdenas por le aporte.

    ResponderEliminar
  81. Ahora las metodologías AGILES, que incluyen una especial atención al aseguramiento de la calidad del software (QA), continúan ayudando en la evolución del Desarrollo de Software. Se ha conseguido no sólo mejorar el producto final, si no también reducir costes, ya que aumenta el porcentaje de éxitos en los despliegues de los productos en los entornos de producción. Todo ello sin olvidar el crecimiento implícito de la satisfacción de los clientes/consumidores de ese producto, tan necesario para el éxito de cualquier negocio.

    Daniel Rodriguez M.

    ResponderEliminar
  82. La ingeniería del software es el desarrollo, operación y mantenimiento del software de forma sistemática, disciplinada y cuantificable, y el estudio de dichos métodos; sin embargo la utilización de determinados recursos dependen de la magnitud del proyecto de la empresa a cargo, la experiencia de los desarrolladores, el financiamiento con el que se cuenta, etc.. es por eso que necesitamos medir para poder hacer estimaciones en proyectos de presupuesto cerrado, para poder comparar productividades entre lenguajes de programación y asi lograr el objetivo más importante que es la transformación, crear software que cambie el mundo, o que transforme una empresa o la forma en que hace negocios.
    Ing. Lain, muy buen articulo..

    ResponderEliminar
  83. Ing. Lain, excelente material y síntesis sobre la Ineniería de Software, quisiera enfatizar en algunas buenas prácticas haciendo uso de herramientas, técnicas y patrones para el desarrollo de un software de calidad.

    - Definir una arquitectura de software : Las buenas prácticas sugiere una selección de patrones y/o paradigmas de programación, alineándose así a estándares de desarrollo de software. Ésto hace una buena comprensión y avance entre equipo del proyecto. Entre ésto está el patron Model View Controller (Modelo Vista Controlador) y éstadares o paradigmas de Programación Orientado a Objetos.

    - Verificar la calidad del software : Tarea de los Tester y parte de programadores del Software, hace calidad eficiencía del programa. Existe herramientas métricas que determinan que tan óptimas y ágil en tiempo de respuesta tiene el software del servidor al cliente.

    - Controlar los cambios: Ésta es una de las buenas prácticas que no se debe obiar en equipos de desarrollo o proyecto de software; beneficia en respaldar versiones de cada proyecto asi como el trabajo remotamente y tiempo real de la aplicación, las empresas ya éstan optando por ésto y hacen uso como uno de éstas herramientas importantes para la gestion de versiones: *Suversion, *Microsoft Visual SourceSafe
    Comparto unos enlaces de interés hacerca del tema:

    http://es.wikipedia.org/wiki/Modelo_Vista_Controlador
    http://es.wikipedia.org/wiki/Subversion_(software)
    http://blogs.msdn.com/b/ukvsts/archive/2009/04/02/visual-source-safe-vs-team-foundation-server-source-control.aspx

    Muchas gracias Ing. Lain




    ResponderEliminar
  84. Carlos López Ledesma Noviembre 29-2012
    Es que no solo es analizar por analizar y programar por programar, se debe aplicar la ingeniería de software por que nos enseña aplicar principios y técnicas que nos permite medir el tiempo, esfuerzo y valor de costo mediante una correcta gestión de proyectos dirigidas siempre por un líder que aplique las buenas prácticas , apoyándose en herramientas tecnológicas y con poder de convencimiento con el cliente de que el producto que se entregará cumple las necesitadas del negocio y donde el cliente tiene que estar comprometido cien por ciento y donde los especialistas deben involucrase completamente en los procesos para lograr los objetivos trazados y obtener software de calidad que facilite el negocio .

    ResponderEliminar
  85. La modernización del mundo empresarial y especialmente el crecimiento de las grandes economías, tienen como un gran aliado al uso de la tecnología y a las innovaciones que por el medio del software han podido obtener, la tendencia en la construcción y desarrollo de software tiene que estar orientado a optimizar la calidad productiva de quien lo utiliza y evitando posibles errores humanos en las actividades que se desarrollan dentro de un organización.

    Tal como se indica en lo expuesto por el Ingeniero Laín Cárdenas, la aplicación de metodologías y buenas prácticas, aseguran que los proyectos de desarrollo de software creen satisfacción en los usuarios, quienes son los que finalmente hacen uso de dicho software, del mismo modo las organizaciones tienen que ver reflejado el incremento de su productividad, por otro lado también debemos de considerar la existencia de riesgos y sus posibles soluciones a fin de que los proyectos no fracasen.

    ResponderEliminar
  86. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  87. Waltersinho Abel Alvarez Untul11/29/2012 8:10 p. m.

    Ing. Es muy importante que trate de compartir tambien algunas anecdotas, que quizas Ud. paso como Programador o como analista o como condultor, el Blog, esta muy interesante en donde nos da a conocer algunas reglas como podemos desarrollas los programas y asi poder analisizar de una manera muy especifica, poder respetar dichas normas, tambien podria publicar algunas metodologias que nos permitan desplazarnos de una mejor manera tanto en el analisis como en la proyeccion.

    Es el Proceso de gestión para la creación de un Sistema o software, la cual encierra un conjunto de actividades, una de las cuales es la estimación, estimar es echar un vistazo al futuro y aceptamos resignados cierto grado de incertidumbre. Aunque la estimación, es mas un arte que una Ciencia, es una actividad importante que no debe llevarse a cabo de forma descuidada. Existen técnicas útiles para la estimación de costes de tiempo. Y dado que la estimación es la base de todas las demás actividades de planificación del proyecto y sirve como guía para una buena Ingeniería Sistemas y Software.

    Al estimar tomamos en cuenta no solo del procedimiento técnico a utilizar en el proyecto, sino que se toma en cuenta los recursos, costos y planificación. El Tamaño del proyecto es otro factor importante que puede afectar la precisión de las estimaciones. A medida que el tamaño aumenta, crece rápidamente la interdependencia entre varios elementos del Software.

    La disponibilidad de información Histórica es otro elemento que determina el riesgo de la estimación.

    ResponderEliminar
  88. la ingeniria de software es de suma importancia ya atravez de distintas metodologias aplicadas como UML y RUP lograremos un Software de calidad, siempre y cuando aplicamos todas estas buenas practicas que se mensionan
    y tambien aplicando una buena gestion del proyecto porque de lo contrario tendremos una gestion con muchos inconvenientes a lo largo del proyecto.
    Tambien es importante proponer a las empresas una mayor implementacion se sistemas de informacion en sus negocios, ya que con esto le ayudara mucho a automatizar sus procesos logrando asi una mayor rentabilidad a su empresa. Nosotros debemos estar ai para trabajar en eso constantemente.

    ResponderEliminar
  89. Saludos Ing. Cárdenas

    Agregando a lo ya antes comentado, la Ingeniería de Software es muy importante ya que nos da las herramientas necesarias para definir el tiempo que nos tomará, el costo y como impactará en la productividad, ya que al momento de sustentar un proyecto estas son las cosas relevantes que hará que el cliente o usuario se incline por la decisión de invertir o no en la construcción de un software.

    Tengo una duda en la parte de definir los requisitos, que tanto se debe seguir al pie de la letra todo lo que el cliente está solicitando, ya que uno se puede preguntar ¿El proceso descrito será el mas correcto? ¿Puedo yo optimizar ese proceso sin dejar de cumplir las expectativas del cliente? ¿Cómo saber donde debo definir el limite entre lo que se solicita y lo que se va a desarrollar?, en esta última parte tomando desde el punto de vista que se estarían cambiando muy a menudo las reglas de negocio o hasta el mismo requisito.

    También sobre la parte UI ¿hay patrones a seguir? ya que a veces al diseñar las interfaces estás deben ser fáciles de usar, porque será el usuario quien las maneje y no el desarrollador de la aplicación, el cual ya sabe el manejo.

    De mi parte muy interesante el artículo, el cual nos permite conocer el alcance del todo el proceso del desarrollo de un software.

    Saludos

    Rodolfo Centeno

    ResponderEliminar
  90. Saludos ing: lain cardenas

    Es el establecimiento y uso de principios robustos de la Ingeniería a fin de obtener económicamente software que sea fiable y que funcione eficientemente.
    Establecimiento de sólidos principios de Ingeniería y buenas practicas de gestión, así como la evolución de herramientas y métodos y su uso cuando sea apropiado para obtener dentro de las limitaciones de recursos existentes, software que sea de alta calidad.
    La Ingeniería del Software se podría definir como el establecimiento y aplicación de principios de la Ingeniería para obtener software. Teniendo en cuenta factores tan importantes como el coste económico, la fiabilidad del sistema y un funcionamiento eficiente que satisfaga las necesidades del usuario.
    Es la aplicación de un enfoque sistemático, disciplinado y cuantificable hacia el desarrollo, operación y mantenimiento del software.

    cruz galvez juan

    ResponderEliminar
  91. La ingenieria de software es la disciplina de desarrollo y mantenimiento del software que funciona confiablemente y eficientemente.
    La creación del software es un proceso creativo y automatizado la ingeniería del software trata de sistematizar este proceso con el fin de automatizar muchas tareas con patrones y normas a seguir con el fin de que el sistema cumpla con todo lo requerido por el usuario sea confiable y util para lo que fue creado

    Tapia Cruz Manuel W

    ResponderEliminar
  92. Walter Angulo Uriol11/30/2012 1:06 p. m.

    La ingeniería de software es un conjunto de etapas ordenadas con la intención de logra un objetivo, en este caso, la obtención de un producto de software de calidad es decir que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo. Concretamente define quién está haciendo qué, cuándo hacerlo y cómo alcanzar el objetivo deseado
    Todas estas etapas son muy importantes porque pueden llegar a que se cumpla el obetivo final el cual es entregar un producto de software de calidad pero si no se emplean de una manera minuciosa puede conllevar al rechazo del cliente o usuario final.

    ResponderEliminar
  93. Martin Mendez Asmat11/30/2012 4:14 p. m.

    El tema que Ud. trata es de suma importancia para los que estudiamos ingeniería de sistemas, ya que el presente y futuro de una empresa depende del sistema computacional que administramos o que se va a desarrollar.
    La ingeniería de Software no da los secuencia a seguir para desarrollar un óptimo sistema computacional, a mi criterio la parte más importante es el de Administrar los requisitos, es decir saber qué es lo que área o usuario desea que haga el sistema.
    Esta tarea es la más complicada ya que debemos tenerlo en claro lo que el área o usuario requiere, esto lo podremos lograr cuando conozcamos las funciones y objetivos del área a desarrollar el sistema.
    Los sistemas se debe adaptar a la empresa es decir hacer sistemas a la medida de la empresa y que el sistema se adelante al creciendo de ella.
    Saludos
    Martin Méndez Asmat

    ResponderEliminar
  94. La Ingeniería de Software es una disciplina que estudia los procesos, métodos y herramientas vinculadas en la producción de software de calidad.
    este software de calidad debe ser capas de cumplir las necesidad para lo cual fue diseñado, debe ser confiable y fácil de usar, también debe ser posible modificarlo para hacer correcciones o mejoras.
    Así que para poder lograr un software de calidad tenemos que tener muy en cuanta los pasos descritos anteriormente.
    atte.
    Alejandro Paredes Medina

    ResponderEliminar
  95. La Ingeniería del Software es la forma de ingeniería que aplica principios propios de la Ciencia de la Informática y Matemáticas para conseguir soluciones rentables a problemas software.

    se complementa esta definición con las siguientes aserciones:
    - La creación y construcción del software debe incluir el mantenimiento.
    - La rentabilidad implica no sólo dinero, sino tiempo, calendario y recursos humanos.
    - La Ingeniería del Software no se limita a aplicar sólo principios de la Ciencia de la Informática y las Matemáticas, sino cualquier principio del que pueda sacar ventaja.
    - La Ingeniería del Software necesita contar con principios y técnicas de gestión para llevar a cabo sus actividades de desarrollo.

    ResponderEliminar
  96. Ing. buenas noches, creo que está demás decir que la Ing. de Software permite alcanzar una solución a una necesidad existente, sea ante una organización o sociedad, lo interesante de esto es que tan capaces somos de plantear esta metodología descrita y lograr el objetivo, y creo que eso sólo nos lo podrá dar la experiencia en nuestra carrera al participar de proyectos de desarrollo.
    Es más que claro que lo explicado aquí es en base a su experiencia aplicando metodologías ya certificadas por los resultados de calidad que se optienen, por lo cual le agradezco el esfuerzo.
    Sólo hay algo, creo, que las metodologías no enseñan muy bien es a como sobrellevar el avance de un proyecto cuando el usuario no cree en el producto que se logrando para él.

    Saludos
    Arturo Avila Salvador

    ResponderEliminar
  97. Ronald Muñoz Nole11/30/2012 11:01 p. m.

    Hay mucho de que hablar sobre Ingeniería de Software, es un tema muy amplio, pero a todo esto existen ciertos parametros y etapas
    que debemos tener en cuenta para la creacion de un producto software de calidad; un producto que satisfaga las necesidades del Usuario.


    La Ingeniería de Software es una disciplina que estudia los procesos, métodos y herramientas vinculadas en la producción de software de calidad.


    Este software de calidad debe de caracterizarse por ser capaz de cumplir con las necesidades para la cual fue diseñado
    tambien debe ser confiable, es decir el software no debe causar daños fisicos o economicos en el caso de una falla,ademas debe ser facil
    de usar, debe proveer el rendimiento apropiado, debe ser posible modificarlo para incluir correciones y mejoras, debe ser capaz para ser
    tranferido de un entorno a otro;y los datos que maneja el software debe ser consistentes y tener medidas de seguridad para que ningun agente
    externo pueda acceder a los datos.

    Ahi estandares como el ISO 12207 e ISO Spice el cual define cuales son los pasos para elaborar software de calidad y el modo de evaluar dichos procesos.

    Aplicar un metodo Iterativo e Incremental para la creacion del software nos va a asegurar tener los objetivos bien detallados y claros
    e ir avanzando en cada iteracion o etapa creando tiempos debidamente planificados enfocandonos en los requisitos de mayor importancia en el negocio
    y asi hacer mas viable y agil el software a desarrollar, ya que aplicando este metodo podemos reducir no solo tiempo sino tambien costos,
    lo cual nos ahorraria el trabajo no solo para los encargados del proyecto software sino tambien para la empresa, generaria posibles ganancias, ya que si
    la empresa un dia decidio poner en marcha un software fue porque necesita reducir tiempo y costos, y hacer mas agiles sus procesos sin errores
    y preocupacion;y de nosotros depende aplicar buenas praticas para para que el producto software sea entregado a tiempo y obtenga los estandares de
    calidad optimos que necesita el usuario; esto es de suma importancia.

    Siguiendo estas buenas practicas y cumpliendo con los requisitos podemos mejorar la gestión y desde alli poder partir
    para definir una arquitectura; y asi obtener mayor satisfacion del usuario(Cliente).

    ResponderEliminar
  98. Efrén Henry Aranda Gaitán - UCV Complementación Académica12/01/2012 12:37 a. m.

    La Ingeniería de Software nos da a entender que para construir o mantener un software debemos aplicar principios y técnicas como el análisis, el diseño, las pruebas y un proceso metodológico adecuado que garantice la calidad del producto software; planificando las tareas que permitan cumplir con los objetivos trazados para un periodo de corto tiempo, asignando los recursos necesarios para culminar los procesos y/o tareas planificadas permitiendo asegurar la productividad y agilidad en la gestión de la empresa y el desarrollo del software.
    También se nos da a conocer que para aplicar una buena Ingeniería de Software se debe cumplir con algunos criterios; tales cuales se detallan:
     Se debe planificar los objetivos que se desea alcanzar para el desarrollo del producto de software que se desea lograr.
     Identificar las necesidades de los usuarios internos de la empresa con la finalidad de identificar y establecer los casos de uso a realizar para el desarrollo del software y esto a su vez debe estar a la mano del cliente con la finalidad de cubrir todas sus necesidades y expectativas antes de la entrega del producto.
     Se debe usar modelos visuales como el lenguaje grafico de UML; es por ello que se acota algunos puntos claves concerniente al UML para tener un mayor conocimiento de la misma las cuales son las siguientes:
     El objetivo de UML es especificar, diseñar, construir o entender sistemas de software complejos.
     UML no requiere un proceso de desarrollo particular, aunque fue diseñado para usarse con un proceso iterativo, incremental, guiado por casos de uso y centrado en la arquitectura.
     UML permite modelar sistemas de información y permite generar modelos que contengan aspectos formales sin que resulten complicados para los usuarios a quienes se les modela.
     Por último se debe tener en cuenta que debe haber una calidad de software y una adaptación de versión del software con la finalidad que permitan cumplir con los requisitos de los interesados mediante la arquitectura de software utilizada garantizando el rendimiento, fiabilidad, soportabilidad y usabilidad en el sistema a desarrollar; y a su vez que permita una adecuada gestión.

    Ante lo mencionado solo me queda decir que es muy importante la Ingeniería de Software por lo que al inicio de un proyecto se identifican los riesgos y se planifique acciones de mitigación lo cual ayudará a que el riesgo no ocurra en beneficio de la empresa y los clientes minorando tiempo y costos.

    Gran aporte del Blog …. Gracias … Ing. Lain Cardenas

    ResponderEliminar
  99. Lizeth Rojas Perez-UCV Complementación Académica12/01/2012 11:59 a. m.

    Gracias Ing. Lain Cardenas por este aporte ya que mediante la Ingeneria de Software se tiene la responsabilidad de crear software de calidad para la satisfacción de los usuarios y empresas, aplicando un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software; aplicando principios y técnicas de ingeniería como el análisis, el diseño, las pruebas y un proceso metodológico utilizando buenas prácticas a fin de tener éxito en la creacion del proyecto,asimismo es importante que en la etapa de inicio se identifiquen los posibles riesgos ivitando el fracaso.

    ResponderEliminar
  100. La Ingenieria de Software viene contribuyendo enormemente en las buenas practicas para el desarrollo de cualquier aplicación sea en rubro que sea, y esto no se debe dejar de practicar ya que con ello haremos los sistemas mas eficientes y por lo concerniente el servicio al cliente sera mas adecuado y rapido en repuestas que tenga que brindar el sistema.

    ResponderEliminar
  101. Ing. Muy Importante el Aporte que Ud. nos esta dando, pero como bien dicen mis compañeros al Hablar de la Ing. de Software, estamos metiendonos en una parte de la ciencia donde nosotros podemos interactuar y aplicar metodos y aplicaciones segun las normas a utilizar, pero si debemos tenerlo en claro que es lo que desarrollar ya si poder utilizar los parametros necesarios.
    Muy Importante su aporte, siga publicando para asi poder reforzarnos mucho mas.

    Gracias.

    Pablo Aguilar

    ResponderEliminar
  102. Luis Julcapoma3/28/2013 2:43 a. m.

    Con la ingeniería de software obtendremos las herramientas necesarias para crear aplicaciones,y eso solo se podrá lograr analizando cada parte del proyecto y aplicando buenas practicas de desarrollo de software,y de esa manera lograremos tener aplicaciones que sean robustas,confiables y eficientes para el usuario final.

    ResponderEliminar
  103. El Desarrollo de Software siempre está en constante evolución y por eso creo que es conveniente e indispensable para desarrollar software de calidad siguiendo las buenas prácticas "entender los requisitos del usuario".

    Suena fácil, y debería serlo, pero es aquí donde empiezan la mayoría de los errores en el desarrollo del software sino entendemos verdaderamente los requisitos.

    Creo que sería primordial leer los requisitos completamente y repetidamente hasta tenerlo todo 100% claro y sin ambigüedades...

    ResponderEliminar
  104. Es importante tener conocimiento de las pautas mencionadas anteriormente para que al ejercer nuestra carrera desarrollemos proyectos que nos permitan crear aplicaciones que se han de gran utilidad para el usuario, y así éste se sienta satisfecho con el trabajo final.

    ResponderEliminar
  105. Muchas gracias por el aporte profesor, así nos da una simple visión de lo que es desarrollar software, es decir, nosotros no podemos decir de un día para otro que se realizará dicho software para una empresa X, sin tener un plan o una estrategia antes. Usted nos explica con diversas técnicas, como por ejemplo separar nuestro proyecto en iteraciones y cada una con un objetivo, para así al trazar estos objetivos ir cumpliéndolos e ir avanzando de forma ordenada. También nos dice que tengamos claro los requisitos, es decir que sepamos lo que realmente el cliente quiere y que estemos atentos a cualquier cambio ya que a lo largo del proyecto el cliente puede exigir algo más. También nos menciona que tengamos un patrón de arquitectura, hagamos un modelo visual para determinar el diseño del sistema. Hacer pruebas de la calidad del software, si realmente cumple con los requerimientos del cliente.

    Al tener todo esto en cuenta nosotros podremos hacer un software de calidad que realmente le sea eficiente a un cliente.

    Saludos,
    Carlos Pérez.

    ResponderEliminar
  106. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  107. Ahora es indispensable el invertir en tecnología, en un buen software, para agilizar los procesos y operaciones en cada empresa, con lo cual es importante tener profesionales preparados en este campo que sigan estas bases. Esto se logra trabajando al lado del cliente en cada fase del desarrollo del proyecto de software que ha detallado, para que al finalizar se pueda satisfacer las necesidades del cliente o usuarios.

    Diego Figueroa Rodríguez

    ResponderEliminar
  108. Maryorett Reaño Aliaga4/07/2013 5:42 p. m.

    Buenas tardes Prof. Lain Cardenas, el aporte que nos acerca a través de este medio me parece muy interesante y provechoso para el desarrollo del curso y de nuestra vida futura como estudiantes y profesionales, pues nos muestra cómo es que se debe planificar un software y la importancia de cada técnica para la elaboración del mismo. Cabe resaltar que sin una buena aplicación de principios y técnicas de ingeniería como el análisis, el diseño, las pruebas y un proceso metodológico no se puede llegar a obtener un producto de calidad, y que los actores principales en el desarrollo del software son los usuarios finales, puesto que son sus requisitos e inquietudes el entorno en el que se desarrolla el software.

    Todo sobre la elaboración del software me quedo claro, pero investigando un poco más en internet sobre las metodologías que se utilizan encontré como la más utilizada a RUP, asimismo hallé que actualmente también se lleva a cabo el marco de trabajo SCRUM y quisiera saber ¿cuál es más eficiente? o depende del encargado de la gestión del proyecto.

    Saludos,
    Maryorett Reaño Aliaga.

    ResponderEliminar
  109. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  110. Saludos profesor Lain, este aporte me sirvió mucho para definir que pasos
    a seguir a la hora de crear el software. Lo que no pude evitar fue el investigar sobre el presente modelo llamado RUP y buscando información encontré otros tres modelos por ejemplo el modelo cascada, el modelo en espiral y el modelo incremental, que al igual que el modelo RUP me parecieron muy interesantes y a la vez tienen diferentes formas o pasos a seguir en el desarrollo de un software de calidad. En el caso del modelo RUP pude percatarme que este método consiste en transformar todos los requerimientos del usuario en el sistema de software; es decir, este modelo no tiene pasos firmemente establecidos, sino que es un conjunto de metodologías adaptadas al contexto y necesidades de cada usuario u organización. Caso contrario pasa en el modelo en cascada donde se puede observar claramente que este tiene una serie de pasos o etapas a seguir durante el ciclo de vida del software y en caso que una de estas etapas no se cumplan o se altere su orden se corre el riesgo de hacer que el software sea de una calidad bastante baja. Y así con los otros dos modelos que de alguna forma son variaciones de los dos modelos hablados anteriormente; sin embargo, mi pregunta es ¿qué modelo se debe seguir para tener un software completamente de calidad? si el fin de estos modelos es obtener como ya dije un software de calidad.

    ResponderEliminar
  111. Katherine Bardalez Zegarra4/08/2013 10:09 p. m.

    Ahora cada vez las instituciones o empresas dependen del desarrollo de un software que cumpla con
    una serie de diferente pasos, que permitan que estas cumplan sus objetivos y al mismo tiempo este sea de calidad.

    Saber sobre la ingeniería de software es fundamental para nosotros , ya que nos enseña a obtener un optimo resultado
    en la aplicación del software , ir mejoran dolo en todos los aspectos necesarios y algo fundamental es siempre tener en cuenta
    lo que necesita y quiere el cliente para el desarrollo de este software.

    ResponderEliminar
  112. Wildo León Moreno4/08/2013 10:21 p. m.

    La ingeniería de software estudia todo sobre la producción o fabricación de un software de calidad.
    Este software debe ser capas de cumplir con todas las necesidades y requisitos que el cliente a pedido, debe tener una
    facilidad en su manejo, para que cualquier persona autorizada pueda utilizarlo, debe ser seguro, tener actualizaciones y mejoras para
    el su mejor funcionamiento.

    ResponderEliminar
  113. En la ingeniería de Software es primordial conocer los procesos para el desarrollo de software, ya que actualmente esta ingeniería es muy importante en el mundo, pero no muchos conocen las restricciones correctas con las que se deben desarrollar. Es como navegar sin una brújula, se puede llegar al destino pero hubiese sido más fácil siguiendo la brújula.
    Al tener un software de calidad, agiliza los movimientos de la empresa aumentando la producción a través del software que ha sido desarrollado dentro de los parámetros estipulados de su elaboración.
    Dicha elaboración tiene que desarrollarse ligado con el cliente ya que es la persona que empleará dicho software. Muchas personas tienen el concepto erróneo de indicar lo que quieren y al final del proyecto, ir para la revisión final sin saber que puede estar o no terminado y puede ser de su agrado o no.
    Concluyendo que la ingeniería de software se debe desarrollar bajo ciertos procesos; los cuales tiene que ser los más objetivos posibles para satisfacer las necesidades del cliente, y a la vez debe demostrarse fusionado con el cliente para un mejor manejo y optimización de software

    ResponderEliminar
  114. Gabriel Polo Mauricio4/20/2013 2:40 p. m.

    la ingeniería de software es muy importante y primordial en la actualidad que vivimos cada día la tecnología avanza de una manera extraordinaria. La ingeniería de software sirve para optimizar una sin variedad de procesos, ahora en las empresas todas cuentan con un software o programa que se encargue de facilitar y agilizar el trabajo. En la actualidad crear un software o un sistema se tiene que tener en cuenta muchas técnicas como: el análisis , el diseño, el testeo o pruebas para poder garantizar un software de calidad.

    ResponderEliminar
  115. En la Sociedad Actual Observamos muchas Organizaciones Nacionales que desarrollan distintos Procesos similares a las que desarrollan Empresas Extranjeras en nuestro país. Pero con una gran Diferencia las Empresas Extranjeras desarrollan sus procesos de manera mucho mas eficiente. ¿Cual es la razón? Que las Empresas Extranjeras cuenta con Software que les permite Optimizar los Procesos lo cual les permite tener una mayo Producción.
    Este articulo nos ayuda a nosotros como futuros Ingenieros a conocer los principales parámetros de un Software de Calidad que sepa adherirse a la problemática y lo Solucione.

    ResponderEliminar
  116. El software es ahora la clave del éxito de muchos de los sistemas basados en computadora. El software marca la diferencia. Lo que diferencia una compañia de otra es la suficiencia, exactitud y oportunidad de la información dada por el software.
    El desarrollo de software se ha convertido en una industria con crecimiento vertical en los últimos años, hoy por hoy uno de los hombres mas ricos del mundo es el dueño de una casa de software, Microsoft.
    Hace un par de decadas se sostenia la teoria de que los paises que poseian los mejores recursos naturales estaban destinados a ser los mas ricos y poderosos del mundo, en México por ejemplo, se manejo la idea de que el petróleo era la puerta de entrada grande al mundo desarrollado. Indudablemente los recursos naturales tienen un papel importante en la economía de los países, sin embargo poco a poco se fue acuñando una nueva ideología que se sintetiza en lo siguiente:
    “El que posee la información y el conocimiento y hace mejor uso de él, es el que tiene el poder”.

    ResponderEliminar
  117. Gracias por el aporte ing. Lain ya que primordial conocer los procesos para desarrollar software de calidad,creo que nos da mas ayuda para desarrollo de un buen proyecto y hay tener en cuenta las diferentes soluciones para elegir la más apropiada pero dicho desarrollo requiere una secuencia de procesos donde debemos recopilar información del usuario y los requerimientos que puede tener cliente.

    ResponderEliminar
  118. ing. Lain
    En la parte de Niveles de requisitos el cliente vendría a darnos su necesidad y vendría hace el actor del negocio pero cuando hablamos de las caracterizas, en este caso quien vendría a ser el actor del negocio seria el encargado de describir las características?

    ResponderEliminar
  119. Bueno en este blog nos da una vision amplia de como se debe desarrollar un software ya que el proposito es el desarrollo de software eficaz y eficiente de un proyecto que reune los requisitos del cliente.crear software de calidad tanto en la fase final como en la elaboracion mediante procesos y apoyados en metodos y herramientas para lograr asi la optimizacion adecuada del proceso.

    ResponderEliminar
  120. Ing. Lain gracias por compartir esta informacion, ya que en el futuro nos va a servir a desenvolvernos en cualqier ambito respecto al desarrollo de sofware de calidad y como usted nos dijo la elaboracion de modelos visuales o diagramas es basico y fundamental para poder desarrollar un software
    En base a esto podriamos optimazar software para el mejor funcionamiento de las empresas que se encuentran en nuestros pais para que asi estas optengan un mejor nivel y sean mas competentes

    ResponderEliminar
  121. La ingenieria de software, como bien se menciona en este post, es una herramienta que por medio de caracteristicas propias del tema nos ayudan a organizar, diseñar e implementar software, para nosotros desarrollar software necesitamos tener en cuenta el lenguage de programacion que utilizaremos, con que medidas de seguridad lo estamos haciendo, si sera veneficioso para el usuario final y si el tiempo de respuesta es optimo, para que nosotros tengamos estas premisas en un punto maximo de aceptacion tenemos que basarnos al analisis del sistema, comprender los procesos, ver la manera de optimizar los procesos, saber las necesidades del sistema, precisar los actores del negocio y sus actividades, etc, de esta manera estamos listo a diseñar un patron que nos pueda orientar a desarrollar un software que necesitamos para finalmente aplicarlo y brinde las facilidades para las cuales fueron creadas, indiscutiblemente un analisis y diseño de un sistema y caracteristicas ayudaran productivamente en el desarrollo de software.
    ING. LAIN CARDENAS, gracias por el aporte.
    saludos.

    ResponderEliminar
  122. Johon Paico Durand5/09/2013 11:29 a. m.

    Ingeniero Lain muy buena información que nos brindada ya que es muy interesante porque este articulo encontramos principios básicos que cualquier desarrollador tiene q tener en cuenta para crear un software, que cumpla con la satisfacción de los clientes. muchas veces solo nos dedicamos a programar y obiamos pasos importantes y pueden aparecer problemas en el trascurso del desarrollo, pero es importante medir los problemas al inicio y buscar soluciones y así poder entregar el trabajo en la fecha indicada.
    Esperemos que sigan compartiendo información importante para nosotros.

    ResponderEliminar
  123. Muy buen el aporte Ingeniero al utilizar estas buenas practicas nos ayudaran a mejorar nuestra elaboración del proyecto...pero Ingeniero tengo una pregunta, en el post dice. "Es importante que las primeras interacciones debemos enfocarnos en los requisitos de mayor importancia para el negocio, en los requisitos de mayor complejidad y en los requisitos que son más significativos para la arquitectura." digamos que ya nos hemos fijado un tiempo de entrega del producto y que también ya lo tengamos los requisitos hechos pero al continuar con la elaboración del proyecto esos requisitos con mayor importancia hallan sido modificados se tendría que volver a elaborarlos eso no retrasaría al retrasaría proyecto o es que los requisitos mas importantes nunca van a cambiar.
    Flavio Ku

    ResponderEliminar
    Respuestas
    1. Hola Flavio.

      Contestando tu pregunta, primero hay que tener en cuenta que todo requisito que podamos estar desarrollando puede sufrir cambios en transcurso del proyecto, pero estos cambios para que se puedan dar y no afecte los plazos del proyecto se deben gestionar con el cliente, esto quiere decir que lo podemos manejar como un control de cambios que implique un tiempo adicional o asignar un nuevo recurso humano para que lo trabaje de forma paralela a lo ya planificado. Todos los cambios que se puedan gestionar con el cliente también puede implicar un costo adicional al cliente siempre y cuando sea un cambio que deba hacerse por decisión del cliente y no porque hayamos desarrollado mal el requerimiento. Entonces estas decisiones se deben evaluar y tomar al final de cada Iteración y planificar la siguiente.

      Saludos.

      Eliminar
  124. Bocanegra Serin Marlon Alexander8/29/2013 11:40 a. m.

    el documento e informacion dejado en este block es muy interesante ya que nos ayuda a entener los paso mas importantes para hacer un proyecto que llevara un software como principal requerimiento..toda la informacion dada en este block nos ayudara mucho para entender como debemos realizar nuestro proyecto dado en clase..!! lo que mas m intereso es saber que en las primeras iteraciones se debe realizar los requerimiento mas importantes y complejos del negocio en el cual estamos realizando nuestro proyecto..!! creo q toda esta informacion nos servira mucho en todo el curso...gracias ING. LAIN por este articulo que es muy interesante

    ResponderEliminar
  125. Buen día..

    Hoy en día la Ingeniería de Software esta siendo aceptada y utilizada en la mayoría de empresas nacionales e internacionales, ya que existe antecedentes previos.

    Al investigar sobre el tema, pude ver que no solo basta de utilizar la Ingeniería de Software y sus metodologías, si no que debemos conocer la metodología que vamos a utilizar, ¿que diferencias hay entre las demás?, ¿porque utilizar esta y no la otra?, ¿que ventajas tiene?, ¿que seguridad nos da?, ¿Que deficiencias tiene?.Todo esto debemos de saber para luego no tener inconvenientes.

    Por ejemplo tenemos a dos metodologías muy conocidas y la mas usadas que son:

    La metodología RUP(Rational Unified Process), usada por empresas para realizar medianos y grandes proyectos. Para mi es la metodología mas completa y concisa para el desarrollo de software de calidad.

    La metodologia XP (EXTREME PROGRAMMING), se conoce como un metodología ágil y se utiliza para proyectos pequeños y medianos. Esta metodología no se centra tanto en el análisis y diseño, si no mas en el desarrollo en si.

    By: Chávez Medina CHong Lee.

    ResponderEliminar
  126. Esta información nos ayuda a que antes de obtener el producto final, tenemos que hacerlo con las buenas practicas, por lo consiguiente tenemos que tener al usuario como parte del proyecto, importante ese dato, porque a través del ciclo de vida dentro de las iteraciones acordadas y planificadas, existe un margen de tiempo previo acordado en los integrantes del proyecto y el mismo interesado o usuario o cliente,solicitar los requerimientos, definir la arquitectura del sistema, utilizar gráfico estándar como UML, verificar el software, esto se ara previamente con los integrantes del grupo, pero después se le entregara el proyecto el cual sera verificado por profesionales orientado al análisis, modificar los cambios y minimizar los errores, tener un plan que minimicen los errores.

    ResponderEliminar
  127. Ing. Lain ante todo gracias por compartir esta información, ya que hoy en día las empresas y/o toda organización es común que usen software.
    Tal es el motivo que estas empresas esperan un buen producto para que isa les facilite en sus procesos que estos hagan y no presenten errores.
    Y como lo menciona usted para que el software sea exitoso es necesario que se rija a un enfoque sistemático ya sea en su desarrollo, operación y mantenimiento en pocas palabras aplicando la ingeniería de software pasando por un proceso de calidad.
    Esto conllevara a que el producto tenga aprobación por parte del cliente y que le solucione las necesidades que este presente (la empresa)
    De esta manera la empresa o el cliente aplicando software de calidad sera competitiva y crecera

    ResponderEliminar
  128. ING. LAIN JARDIEL CÁRDENAS ESCALANTE

    Si hablamos de la metodología RUP(Rational Unified Process).

    ¿la retroalimentación donde se realiza? ¿En cada interacción? ¿En cada fase? o ¿En termino del proyecto o sistema?

    ResponderEliminar
    Respuestas
    1. Hola Chong Lee.

      La retroalimentación se puede dar en cada momento que podamos estar elaborando un artefacto, y esto sucede durante la Iteración o al final de la Iteración. Por ejemplo, si estamos implementando un formulario relacionado a un requerimiento funcional, puede que el programador detecte fallas o inconsistencias en la especificación del requisito, esto se puede deber a una mala interpretación de una condición o regla de negocio que hay que implementar, entonces el requisito debe ser nuevamente analizado y mejorado por el analista de sistemas, y seguramente el analista de sistemas deberá discutir nuevamente el requerimiento con el cliente para llegar a un acuerdo.
      Por otra parte, al finalizar la Iteración también puede surgir retroalimentación de parte del cliente, ya que el cliente tiene que revisar y validar los entregables antes de dar por finalizada la Iteración. Si el cliente detecta inconsistencia o surge la necesidad de hacer un cambio, esto se podrá planificar para la siguiente Iteración.

      Saludos.

      Eliminar
  129. Muy buen aporte ingeniero, ya que nos esta mostrando las buenas practicas para el desarrollo de proyectos de software lo cual nos servirá mucho. Hay dos cosas que no me quedaron muy claras en el item c) Definir una arquitectura de software, donde dice:
    "Antes de implementar es necesario definir qué arquitectura tendrá el sistema",en base a que nosotros escogeremos o definiremos que arquitectura usar??
    y la otra es cuando se habla de "Artefacto", a que se hace referencia al mencionar eso ?

    ResponderEliminar
    Respuestas
    1. Hola Carlos.

      Definir o diseñar una arquitectura nos ayuda a estructura adecuadamente nuestro sistema, definir la forma en cómo los componentes de nuestro sistema se deben comunicar o relacionar, definir también la tecnología a usar y cómo deberá ser desplegado o distribuida nuestra aplicación. Todo esto va a depender de los requisitos que se hayan especificado, principalmente los no funcionales, es decir, los requisitos que tengan que ver con el rendimiento, la fiabilidad, la usabilidad, y sobre todo la matenibilidad del sistema, es decir qué tan fácil podrá ser hacerle cambios al sistema después que ya esté desarrollado. La Arquitectura debe soportar y garantizar que todos estos requisitos se cumplan.

      Por otra parte, un Artefacto es todo producto de trabajo que se elabore en el proyecto, puede ser un diseño, un documento de requerimiento, el programa, etc.

      Saludos.

      Eliminar
  130. Las metodologías para el desarrollo y mantenimiento de software nos ayudan a evaluar y reducir riesgos del proyecto, con la ayuda del cliente podremos analizar los requisitos y plasmar las principales entidades que participaran en el desarrollo de software; finalmente se podrá obtener como resultado un software de calidad.

    ResponderEliminar
  131. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  132. La información que nos brindo ingeniero es sumamente importante, ya que nos da a conocer la interacción que podemos tener con el cliente consumidor y nosotros( futuros ingenieros) y el compromiso de poder entregar un producto en el tiempo acordado, poniendo esto para nosotros como una meta, aplicando nuestros conocimientos y viendo una serie de factores que no solo salgamos ganando nosotros si no también el cliente, ya que como dijo usted, por ser buenos tendremos buenas recomendaciones y no habrá necesidad de buscar trabajo, si no que el llegue a nosotros. Lo mas interesante que fue para mi es que en el software creado no solo estará sujeto a una perspectiva, si no que tendrá diferentes opciones o diferentes formas que se adapten al consumidor. Y para nosotros el poder investigar e indagar mas en relación con la arquitectura de software para una mayor facilidad y buen producto del mismo.

    Stefany Grace Rodriguez Johnson

    ResponderEliminar
  133. ERIC JOEL PEREZ GUEVARA9/04/2013 9:21 p. m.

    En primer lugar ingeniero agradecerle por la información que nos brinda; conocer el tema implica prepararnos para estar en la capacidad de desarrollar un software, para lograrlo empezamos planificando y utilizando interacciones para tener resultados satisfactorios y cumplir objetivos durante el proyecto.
    Ingeniero estuve revisando a cerca de Roadmap es una hoja de ruta para un programador de software, mi interrogante es: para que casos podríamos utilizar Roadmap

    ResponderEliminar
  134. La lectura es muy interesante, Nos da a entender como los sistema informáticos hoy en día se han vuelto indispensables en nuestras vidas. Gracias a la automatización que le brindan a nuestros procesos, lograremos aumentar la productividad.
    La ingeniería de software nos conlleva a aplicar principios y técnicas para lograr que nuestro producto, sea un software de calidad.
    Realizar planificación para cumplir objetivos trazados en un periodo de tiempo, con sus respectivas iteraciones.
    Las iteraciones tienen un propósito fundamental en el desarrollo de sistemas informáticos, implica que al término de una iteración, lograremos cumplir una parte del proyecto y esta nos proporcionara información, la cual la reutilizaremos para logra el cumplimiento de la siguiente iteración, este proceso se denomina, Retroalimentación.
    El éxito de un software, implica satisfacer las necesidades y objetivos de los usuarios. La ingeniería de software nos recomienda utilizar artefactos para su correcta administración, artefactos como casos de uso y los requisitos suplementarios. Aplicar modelos visuales, diagramas para definir el diseño del Sistema; realizar un plan pruebas para verificar la calidad y conformidad del usuario; Controlar los cambios y Gestionar el proyecto de forma ágil. Lo cual nos garantizara el éxito de nuestro software.

    ResponderEliminar
  135. Este tema es importante por vemos sistemas de información se han desarrollado en la actualidad siendo indispensable en nuestras vida cotidiana.
    La IEEE nos lleva a realizar técnicas principios en un periodo determinado con sus respectivas interacciones.
    El éxito de un sistema es poder ayudar hacer mas fácil y mas rápido la toma de decisiones para satisfacer sus necesidades y metas del usuario.

    ResponderEliminar
  136. Aquí Algunas Anotaciones.

    - Ingeniería de Software: Conjunto de técnicas que se aplican para desarrollar correctamente un software desde un enfoque sistemático, disciplinado y cuantificable.

    - Toda elaboración de software debe plantearse como un proyecto.
    - Se recomienda planificar un proyecto por iteraciones de 2 a 6 semanas, a corto plazo y por objetivos. en una metodología incremental donde el cliente (Placeholder) debe interactuar en todas las iteraciones.
    - Solo Aplicando ingeniería de software podemos desarrollar software de calidad.


    ResponderEliminar
  137. ¿Cuáles son los atributos de un buen software?

    ResponderEliminar
    Respuestas
    1. Son: usabilidad, mantenibilidad, fiabilidad y portabilidad.

      Eliminar
  138. Se presentan los conceptos clásicos relacionados con el software y la Ingeniería del Software. El objetivo de este tema es tomar conciencia de la importancia de abordar la construcción del software desde una perspectiva de ingeniería. Se exponen los elementos constituyentes de un paradigma de desarrollo del software

    ResponderEliminar
  139. Nolasco lopez leandro4/08/2015 8:49 p. m.

    ¿Cuales son los mètodos de ingenierìa de software?

    ResponderEliminar
    Respuestas
    1. En ingeniería de software existen metodologías que nos ayudan a definir los procesos dentro del proceso macro que es el proceso de desarrollo de software. Las metodologías que se pueden seguir son: RUP, XP, SCRUM, etc Estas siguen ciertos modelos como pueden ser: modelo en cascada o modelos iterativos incrementales. Por otro lado para desarrollar e implementar el software se puede seguir métodos de desarrollo estructura o métodos orientados a objetos, este último es el más usado.

      Saludos.

      Eliminar
  140. franz gupioc ventura4/08/2015 8:52 p. m.

    ¿se puede implementar un software perfecto
    ?

    ResponderEliminar
    Respuestas
    1. usando buenas técnicas, principio y patrones de diseño podríamos implementar buen software pero siempre y cuando satisfagan los requisitos para lo cual se construyó el software. Pero siempre hay la posibilidad que el software pueda fallar, que los usuario no se encuentre 100% satisfechos o que no se pueda cumplir en gran medida con los requisitos no funcionales, por ejemplo podemos hacer un software con altos niveles de seguridad pero tal vez esto haga que su rendimiento no sea tan bueno.

      Puedes sacar tus conclusiones, saludos.

      Eliminar
  141. Para la realizacion del desrrollo de Software se tienen que aplicar principios, tecnicas, metododologias, y heerramientas que permitan la construccion, implementacion y luego el mantenimiento del sotfaware logrando eficacia, diseñar aplicaciones con el objetivo de optimizar los procesos dentro der la empresa alcanzando la calidad del sotfware con todos los requerimientos alcanzados y la adaptacion de este a nuevos cambios.

    ResponderEliminar
  142. franz gupioc ventura4/08/2015 9:06 p. m.

    Ingeniería de software es la aplicación práctica del conocimiento científico al diseño y construcción de programas de computadora y a la documentación asociada requerida para desarrollar, operar y mantenerlos. Se conoce también como Desarrollo de Software o Producción de Software

    ResponderEliminar
  143. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  144. Me pareció un tema muy absorbente, además esta información juega un papel importante en la consolidación de nuestra base teórica respecto a la ingeniería de software.
    Pude apreciar la importancia de aplicar procesos iterativos. Ayuda a identificar errores con anticipación, evitando el excesivo tiempo que tomaría corregir errores con los procesos secuenciales.

    ResponderEliminar
  145. Ingeniera de software es un conjunto de buenas prácticas que nos ayudan en el desarrollo, operación y mantenimiento de software, basados en modelos consistentes, esto permite automatizar nuestro trabajo aprovechando los recursos (tiempo y costo) enfocados a los requerimientos del cliente.

    ¿La ingeniería de software se aplica a software ya existente?

    ResponderEliminar
    Respuestas
    1. Claro, la ingeniería de software abarca el proceso de desarrollar nuevo software como mantener software ya desarrollado y que se encuentra funcionando o está en producción.

      Eliminar
  146. en este articulo nos dice que la ingeniera de software es la disciplina del desarrollo de software teniendo como objetivo Mejorar la calidad del software
    „ Acortar los tiempos de desarrollo,Aumentar la productividad,Aumentar la productividad,Necesidad:Incrementar la re utilización del software donde un ingeniero de software debe tener en cuenta todos los requisitos para la obtención de buenos resultados y un producto de calidad.

    ResponderEliminar
  147. Nolasco lopez leandro4/08/2015 9:18 p. m.

    Hoy en día, el software es una parte integral de la mayoría de los sistemas. Para ejecutar proyectos software de forma satisfactoria y construir productos de alta calidad, los profesionales del software necesitan entender las características únicas del software y el enfoque usado para desarrollar y mantener software.
    Me servicio de mucho Gracias.
    Me servicio de mucho Gracias.

    ResponderEliminar
  148. Enrique Andrée Asmat Sánchez4/08/2015 9:19 p. m.

    El análisis de requerimientos y la posterior fase de diseño constituyen ejes fundamentales al momento de aplicar el modelo iterativo en la elaboración de un software. Dado que nos permitirá adaptar el proyecto a los gustos del cliente y corregir posibles desfases que se presenten en el diseño. Además nos ahorrará tiempo y dinero, enfatizando la calidad de nuestro trabajo.

    ResponderEliminar
  149. La ingeniería de software es muy importante ya que con ella se puede analizar, diseñar, programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario final, sus principales objetivos son Mejorar la calidad de los productos de software, Facilitar el control del proceso de desarrollo de software.

    ResponderEliminar
  150. ¿cuando se produce una mala calidad de software?

    ResponderEliminar
    Respuestas
    1. tú pregunta debería estar orientada a ¿cómo se produce un software de calidad?, esto ya lo respondí más abajo.

      Eliminar
  151. Hoy en día la mayoría de personas, empresas necesitan de un software para satisfacer sus necesidades, de lo cual nosotros como futuros Ingenieros de sistemas de desarrolladores software debemos de basarnos principalmente en hacer un producto de calidad(Software de calidad), haciendo uso de estudios, técnicas,evaluaciones (pruebas),verificaciones constantes (deputes de cada iteracion) con el usuario, sobre todo utilizar procesos óptimos(Ingenieria de Sofware) y así asegurarnos que no haya riesgo alguno, cumpliendo satisfactoriamente los requerimientos del usuario.
    gracias

    ResponderEliminar
  152. Sin duda un tema importante que nos ayuda a entender mejor las buenas practicas y/o procesos que se llevan a cabo durante el proceso de análisis, desarrollo e implementación para poder crear un software de calidad con el que podamos garantizar el éxito del proyecto y las exigencias del cliente.
    ¿ Cuáles son las dificultades de los programadores o desarrolladores para coordinar la información y así transformarlo en software?

    ResponderEliminar
    Respuestas
    1. Hola, bueno te planteo algunas:
      - entender los requisitos del usuario.
      - los requisitos por naturaleza son cambiantes, la gestión de los cambios puede significar un problema.
      - tomar adecuadas decisiones en el diseño arquitectural del software para poder cumplir con los requisitos.
      - saber aplicar adecuadamente los principios y patrones de diseño para una correcta implementación.

      Saludos.

      Eliminar
  153. este tema nos ayuda a utilizar buenas practicas y técnicas para cumplir con todos los requerimientos establecidos en una gestión de proyectos de un software en el menor plazo posible
    ¿Como poder hacer un software de calidad?

    ResponderEliminar
    Respuestas
    1. ¿Como poder hacer un software de calidad?, bueno, te puedo dar algunas tácticas en orden de importancia:
      - diseñar una adecuada arquitectura que satisfaga los requisitos funcionales y no funcionales.
      - programar código limpio, bien estructurado basado en principios y patrones de diseño.
      - asegurar la aplicación de buenas prácticas en el proceso de desarrollo de software: como hacer inspección de código, pruebas, refactorización, etc.
      - gestionar adecuadamente el proyecto para asegurar un cierre correcto con satisfacción del usuario final.

      Saludos.

      Eliminar
  154. Interesante explicacion.La Ingenieria de software es fundamental para el desarrollo y mantenimiento del software ya que permite dar la calidad adecuada para la sociedad. Haciendo un buen uso de buenas prccticas teniendo conocimiento de tecnicas para cumplir la necesidad del usuario y este conforme con el software.

    ResponderEliminar

Publicar un comentario

Gracias por comentar.

Entradas populares de este blog

Técnicas para elaborar el Modelo de Dominio

El Modelo de Dominio definido en la publicación anterior nos describe la importancia de utilizarlo como artefacto en un proceso de desarrollo de software. Ahora describiremos algunas técnicas que se pueden usar para poderlo elaborar.

El Modelo de Dominio

Cuando se va a desarrollar un software es esencial estudiar y analizar el problema que se desea resolver. Este problema puede estar enfocado por ejemplo a la automatización de un proceso de negocio de alguna empresa. El software a desarrollar seguramente permitirá registrar información que necesite el proceso de negocio y generar resultados de valor para sus usuarios. También deberá permitir validar o hacer cumplir muchas reglas de negocio. Por lo tanto, los ingenieros de software necesitan usar algunas técnicas que les ayuden a entender mejor la problemática que están analizando antes de iniciar con la implementación del software. 

Caso 2: MarketSoft y Actividades

El caso de estudio describe en detalle el proceso de gestionar venta para el SuperMarket. Por lo tanto, sirve de ejemplo para comprender el modelado de negocio usando el diagrama de actividad en UML.