Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Edwin alexande mata escobar

998 views

Published on

Published in: Education
  • Be the first to comment

Edwin alexande mata escobar

  1. 1. Instituto Tecnológico Centroamericano (ITCA-FEPADE)<br />Modulo III Selección de Técnicas de Desarrollo de Software<br />Tema: Ingeniería de Software<br />Docente: Lic. Mario Ernesto Quintanilla Flores<br />Alumno: Edwin Alexander Mata Escobar<br />Carnet: 175210<br />
  2. 2. 1. ¿Existe alguna diferencia entre Programa, Software y aplicación? Describa la definición de cada uno de estos términos, relaciónelos y posteriormente encuentre las diferencias (si las hay), o las similitudes (si las hay).<br />Programa: Secuencia de instrucciones que una computadora puede interpretar y ejecutar.<br /> Software: se refiere al equipamiento lógico o soporte lógico de una computadora digital, y comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de tareas específicas; en contraposición a los componentes físicos del sistema, llamados hardware.<br />  Aplicación: es un tipo de programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de trabajo. Esto lo diferencia principalmente de otros tipos de programas como los sistemas operativos (que hacen funcionar al ordenador), las utilidades (que realizan tareas de mantenimiento o de uso general), y los lenguajes de programación (con el cual se crean los programas informáticos).<br />
  3. 3. 2. ¿Qué es ingeniería?<br />La ingeniería es el estudio y la aplicación de las distintas ramas de la tecnología. El profesional en este ámbito recibe el nombre de ingeniero.<br /> La actividad del ingeniero supone la concreción de una idea en la realidad. Esto quiere decir que, a través de técnicas, diseños y modelos, y con el conocimiento proveniente de las ciencias, la ingeniería puede resolver problemas y satisfacer necesidades humanas. <br />La ingeniería también supone la aplicación de la inventiva y del ingenio para desarrollar una cierta actividad. Esto, por supuesto, no implica que no se utilice el método científico para llevar a cabo los planes.<br />
  4. 4. 3. ¿Qué es Ingeniería de Software?<br />Es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.<br /> Esta ingeniería trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de compiladores, sistemas operativos, o desarrollos Intranet/Internet, abordando todas las fases del ciclo de vida del desarrollo de cualquier tipo de sistemas de información y aplicables a infinidad de áreas: negocios, investigación científica, medicina, producción, logística, banca, control de tráfico, meteorología, derecho, Internet, Intranet, etc.<br />
  5. 5. 4. ¿Por qué se dice que “el Software no se crea ni se construye, si no se desarrolla”?<br />Podemos decir que se desarrolla porque todo software esta en continua evolución y nunca deja de aparecer una nueva versión de el software creado.<br />
  6. 6. 5. ¿Qué es calidad?<br />El conjunto de características de una entidad que le otorgan la capacidad de satisfacer necesidades expresas e implícitas.<br />
  7. 7. 6. ¿Qué es calidad de software?<br />La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, mantenibilidad y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software.<br />
  8. 8. 7. ¿Porqué se dice que “No existe software Terminado”?<br />Porque siempre se continua desarrollando una mejora al software, nunca se puede llegar al punto de el software perfecto.<br />
  9. 9. 8. ¿En qué consiste un Proyecto de Desarrollo de Software?<br />Es aquel en 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 un cierto objetivo".<br />El proceso de desarrollo de software requiere por un lado un conjunto de conceptos, una metodología y un lenguaje propio. A este proceso también se le llama el ciclo de vida del software que comprende cuatro grandes fases: concepción, elaboración, construcción y transición. La concepción define el alcance del proyecto y desarrolla un caso de negocio. La elaboración define un plan del proyecto, especifica las características y fundamenta la arquitectura. La construcción crea el producto y la transición transfiere el producto a los usuarios.<br />
  10. 10. 9. ¿Cuáles son las etapas del Desarrollo de Software?<br />Análisis de requisitos <br />Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingeniería de software para reconocer requisitos incompletos, ambiguos o contradictorios. El resultado del análisis de requisitos con el cliente se plasma en el documento ERS, Especificación de Requisitos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMM-I. Asimismo, se define un diagrama de Entidad/Relación, en el que se plasman las principales entidades que participarán en el desarrollo del software.<br />La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es una parte crucial; de esta etapa depende en gran medida el logro de los objetivos finales. Se han ideado modelos y diversos procesos de trabajo para estos fines. Aunque aún no está formalizada, ya se habla de la Ingeniería de requisitos.<br />
  11. 11. Especificación <br />La Especificación de Requerimientos describe el comportamiento esperado en el software una vez desarrollado. Gran parte del éxito de un proyecto de software radicará en la identificación de las necesidades del negocio (definidas por la alta dirección), así como la interacción con los usuarios funcionales para la recolección, clasificación, identificación, priorización y especificación de los requerimientos del software.<br />Entre las técnicas utilizadas para la especificación de requerimientos se encuentran:<br />• Casos de Uso,<br />• Historias de usuario,<br />Siendo los primeros más rigurosos y formales, los segundas más ágiles e informales.<br />
  12. 12. Arquitectura <br />La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas estas actividades es el del Arquitecto. El Arquitecto de Software es la persona que añade valor a los procesos de negocios gracias a su valioso aporte de soluciones tecnológicas. La Arquitectura de Sistemas en general, es una actividad de planeación, ya sea a nivel de <br /> Infraestructura de red y hardware, o de Software. La Arquitectura de Software consiste en el diseño de componentes de una aplicación (entidades del negocio), generalmente utilizando patrones de arquitectura. El diseño arquitectónico debe permitir visualizar la interacción entre las entidades del negocio y además poder ser validado, por ejemplo por medio de diagramas de secuencia. Un diseño arquitectónico describe en general el cómo se construirá una aplicación de software. Para ello se documenta utilizando diagramas, por ejemplo:<br />• Diagramas de clases<br />• Diagramas de base de datos<br />• Diagramas de despliegue plegados<br />• Diagramas de secuencia multidireccional<br />• Diagramas de infraestructura química<br />Siendo los dos primeros los mínimos necesarios para describir la arquitectura de un proyecto que iniciará a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el arquitecto elige qué diagramas elaborar. Entre las herramientas para diseñar arquitecturas de software se encuentran:<br />• Enterprise Architect<br />• Microsoft Visio for Enterprise Architects<br />
  13. 13. Programación <br />Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado.<br />
  14. 14. Prueba <br />Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo.<br />Cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qué condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría.<br />
  15. 15. Documentación <br />Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.<br />
  16. 16. Mantenimiento<br />Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.<br />
  17. 17. 10. ¿Cuál es la diferencia entre el término ingeniería de software y el simple desarrollo o producción de software?<br />Ingeniería de software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad.<br />Desarrollo o Producción de software es el trabajo sistemático que utiliza conocimiento obtenido a partir de la investigación (aplicada) y de la experiencia práctica y que se encuentra dirigido a la producción de nuevos materiales, productos, procesos, sistemas y servicios o a la mejora sustancial de aquellos ya producidos<br />Por tanto podemos decir que la diferencia es que la ingeniería de software es una parte de la informática, mientras que el desarrollo de software es la evolución de el software.<br />
  18. 18. 12. ¿Por qué se da ese fenómeno?<br />Porque la mayoría de programadores cuando utilizan el criterio de calidad crean un software funcional pero no necesariamente con las expectativas del cliente, es decir los programadores utilizan la mayoría de el tiempo su punto de vista para crear el software sin importar el punto de el usuario.<br />
  19. 19. 11. ¿Cuáles son los modelos de desarrollo de software?<br />La ingeniería de software tiene varios modelos, paradigmas o filosofías de desarrollo en los cuales se puede apoyar para la realización de software, de los cuales podemos destacar a éstos por ser los más utilizados y los más completos:<br />• Modelo en cascada o Clásico (modelo tradicional)<br />• Modelo en espiral (modelo evolutivo)<br />• Desarrollo por etapas<br />• Desarrollo iterativo y creciente o Iterativo e Incremental<br />• RAD (Rapid ApplicationDevelopment) <br />• Desarrollo concurrente<br />• RUP (Modelo Racional)<br />• Proceso Unificado<br />
  20. 20. 13. ¿Cuál es el mensaje que te deja el video?<br />Que un programador así como desea el respeto de sus ideas debería de respetar el punto de los clientes para que el software no sea tan necesario estar haciendo modificaciones cuando se le este entregando a dicho usuario.<br />
  21. 21. 14. ¿Se hará realmente lo correcto?<br />La mayoría de las veces no porque el programador no toma en cuenta la verdadera necesidad a cubrir ni la calidad a desarrollar.<br />
  22. 22. 15. ¿Qué estrategias proporciona la Ingeniería de Software para solventar esta situación?<br />Ser un analista excepcional para poder descifrar las necesidades a cubrir y no entregar un software muy incompleto.<br />
  23. 23. 16. ¿Qué fue lo que sucedió?<br />Pueden haber pasado muchas cosascomo:<br />.- Mala ejecución de comandos en el sistema<br />.- Puede que no hayan tomado en cuenta los factores ambientales<br />.- La mala codificación de el sistema <br />
  24. 24. 17. ¿Qué efectos tienen las fallas del software sobre el cohete?<br />El mal funcionamiento de circuitos los cuales llegan al punto de la destrucción total de el cohete.<br />
  25. 25. 18. ¿Cómo afectan nuestras vidas que el software no sea de calidad?<br />Nos afecta en el sentido de que para nosotros calidad es lo mismo que necesidad y si no tiene calidad no cubre una necesidad de manera que el software no estaría completo, tendría partes innecesarias, y simplemente no nos parece lo que hemos pedido.<br />
  26. 26. 19. ¿Cómo podremos garantizar calidad en el desarrollo de software?<br />Teniendo la capacidad de crear un software económico, muy funcional, muy útil, y siempre satisfactorio para el consumidor.<br />

×