Desarrollo y Aplicación de la Administración por Valores
Trabajo de desarrollo desoftware
1. ESCUELA ESPECIALIZADA EN INGENIERIA ITCA FEPADE Selección de técnicas de ingeniería de software Docente: Lic. Mario Ernesto Quintanilla Flores Alumno: Francisco Alexander Sánchez. Sección: S-I-B
2. Definición de programa, software y aplicación. Programa: conjunto de instrucciones que una vez ejecutado realiza una o varias tareas en una computadora. Software: equipamiento lógico o soporte lógico de una computadora, conjunto de los programas de computo, procedimientos, reglas, documentación y datos. Aplicación: tipo de programa diseñado como herramienta para permitir al usuario realizar uno o varios tipos de trabajos.
3. ¿Existe alguna diferencia entre programa, software y aplicación? Si existe ya que un programa es un conjunto de instrucciones que se convierte en software cuando estas instrucciones son interpretadas por la maquina una aplicación es diferente por que es solo una herramienta que seguirá las instrucciones del programa y una aplicación no es igual a un software sino una parte del software.
4. ¿Qué es ingeniería? Conjunto de conocimientos y técnicas científicas aplicadas que se dedican a la resolución de problemas.
5. ¿Qué es ingeniería de software? Es el área de informática que ofrece métodos y técnicas para desarrollar y mantener el software de calidad. Es la que trata el área de compiladores , sistemas operativos o desarrollo de internet.
6. ¿Por qué se dice que “el software no se crea ni se construye, sino que se desarrolla”? El software se desarrolla por que va por etapas y una vez que se comienza pueden haber cambios o modificaciones y mantenimiento
7. ¿Qué es calidad? Conjunto de propiedades inherentes que permite satisfacer necesidades implícitas o explicitas
8. ¿Qué es calidad de software? Es una preocupación que tienen todos los desarrolladores de software. Ya que todo proyecto tiene como objetivo producir software de la mejor calidad. calidad de software Es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario.
9. ¿Por qué se dice “que no existe software terminado? No existe un software terminado por que aun después de estar implementando necesitara de modificaciones y mantenimiento para seguir la expectativa de una empresa en crecimiento
10. ¿En que consiste el proyecto de desarrollo de software? Consiste en definir cual será el presupuesto , establecer cuanto tiempo se hará cada fase y definir los recursos necesarios .
11. ¿Cuáles son las etapas del desarrollo de software? Análisis y requisitos Especificación Arquitectura Programación Prueba Documentación Mantenimiento
12. ¿Cuál es la diferencia entre el termino ingeniería de software y el simple desarrollo o producción de software? Pues algunos actores no encuentran ninguna diferencia . Pero Quienes hacen la diferencia destacan que, en general, el desarrollo de software si bien es parte de los objetivos de la ingeniería del software, hace referencia solamente a la programación de software. No incluye todos los procesos inherentes a la ingeniería del software
13. ¿Cuáles son los modelos de desarrollo de software? MODELO DE CASCADA CONCEPTO Enfoque metodológico que ordena rigurosamente las etapas del ciclo de vida de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior.
15. Fases del modelo Análisis de requerimientos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación
16. Ventajas Desventajas Se tiene todo bien organizado y no se mezclan las fases. Es perfecto para proyectos que son rígidos, y además donde se especifiquen muy bien los requerimientos y se conozca muy bien la herramienta a utilizar El proceso de creación del software tarda mucho tiempo ya que debe pasar por el proceso de prueba y hasta que el software no esté completo no se opera. Esto es la base para que funcione bien. En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala implementación del modelo, lo cual hace que lo lleve al fracaso.
17. Ejemplo Un ejemplo de una metodología de desarrollo en cascada es: Análisis de requisitos Diseño del Sistema Diseño del Programa Codificación Pruebas Implantación Mantenimiento
18. MODELO EN ESPIRAL concepto modelo de proceso de software evolutivo, el cual enlaza la naturaleza iterativa de la construcción de prototipos, pero conservando aquellas propiedades del modelo en cascada. Cada ciclo en la espiral representa una fase del proceso del software. Así, el ciclo mas interno podría referirse a la viabilidad del sistema, el siguiente ciclo a la definición de requerimientos, el siguiente ciclo al diseño del sistema, y así sucesivamente.
20. Ventajas Desventaja El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Reduce riesgos del proyecto Incorpora objetivos de calidad Integra el desarrollo con el mantenimiento, etc. Requiere mucha experiencia y habilidad para la evaluación de los riesgos, lo cual es requisito para el éxito del proyecto. Es difícil convencer a los grandes clientes que se podrá controlar este enfoque evolutivo.
21. Ejemplo El desarrollador de software evalúa, analiza, diseña y produce luego que tiene la información regresa reevalúa, vuelve a analizar, rediseña, produce y así sucesivamente
22. Desarrollo por etapas es similar al Modelo de prototipos ya que se muestra al cliente el software en diferentes estados sucesivos de desarrollo, se diferencia en que las especificaciones no son conocidas en detalle al inicio del proyecto y por tanto se van desarrollando simultáneamente con las diferentes versiones del código.
23. Faces Especificación conceptual Análisis de requerimientos Diseño inicial Diseño detallado, codificación, depuración y liberación
25. Desarrollo interactivo y creciente creado en respuesta a las debilidades del modelo tradicional de cascada. El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación conocido como Extreme Programan y los demás frameworks de desarrollo rápido de software.
26. Etapas Etapa de inicialización Etapa de iteración Lista de control de proyecto
27. Características Provee de soporte para determinar la efectividad de los procesos y de la calidad del producto. Permite estudiar y después mejorar y ajustar el proceso para el ambiente en particular.
29. RAD Concepto: tipo de metodología de desarrollo de software que utiliza la planificación mínima a favor de la creación rápida de prototipos. La planificación "de software desarrollado usando RAD se intercala con la escritura del propio software. La falta de una amplia planificación previa por lo general permite que el software escrito para ser mucho más rápido, y hace que sea más fácil cambiar los requisitos. Algo bien importante es que este modelo solo lo hacen desarrolladores profesionales
31. Ventajas Desventajas Velocidad del desarrollo Calidad: según lo definido por el desarrollo rápido de aplicaciones Características reducidas. Escalabilidad reducida: debido a que el desarrollo rápido de aplicaciones se desarrolló como prototipo
32. Ejemplo Si se quiere un trabajo rápido se usa este modelo ya que este modelo tarda entre 60 o 90 días para su desarrollo
33. Desarrollo concurrente Concepto: elmodelo de desarrollo concurrente es aplicable a todo tipo de desarrollo de software y proporciona una imagen exacta del estado actual de un proyecto. Es un modelo de tipo de red donde todas las personas actúan simultáneamente o al mismo tiempo.
35. RUP es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos no es un sistema con pasos firmemente establecidos, sino un conjunto de metodologías adaptables al contexto y necesidades de cada organización.
36. Fases Inicio(También llamado Incepción o Concepción) Elaboración Desarrollo(También llamado Implementación, Construcción) Cierre (También llamado Transición)
37. características El RUP es un producto de Racional (IBM). Se caracteriza por ser iterativo e incremental, estar centrado en la arquitectura y guiado por los casos de uso. Incluye artefactos (que son los productos tangibles del proceso.
39. Proceso unificado marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational Es un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos.
40. Características Iterativo e Incremental Dirigido por los casos de uso Centrado en la arquitectura Enfocado en los riesgos
42. REVISAR EL VIDEO DE “¿QUE PASARIA SI LOS PROGRAMADORES HICIERAN LOS AVIONES?” ¿Por qué se da ese fenómeno? Porque si los programadores hicieran los aviones tendrian que terminarce de construir en marcha ¿Cuál es el mensaje que deja el video? que se debe de cambiar ¿Se hará realmente lo Correcto? Pienso que en el area de ingenieria de software si porque los sistemas necesitan mejoras y mantenimiento ya que la tegnologia siempre esta en cambio
43. ¿Qué estrategia proporciona la Ingeniería de software para resolver esta situación? Metodologías para desarrollo y mantenimiento de sistemas de software. Practica del conocimiento científico en el diseño y construcción de programas Establecimiento y uso de principios sólidos de la ingeniería para obtener económicamente un software confiable y que funcione de modo eficiente en maquinas reales
44. REVISAR EL VIDEO “ARIANE FLIGHT 501” ¿Qué fue lo que sucedió? A los pocos segundos de despegar exploto ¿Qué efectos tienen las fallas del software sobre el cohete? Debastadores ya que se perdio un gran proyecto y se perdieron vidas ¿Cómo afectan nuestras vidas que el software no sea de calidad? Si el software no es de calidad entonces no podrá desempeñar su función y eso nos causaría problemas en nuestra vida ya que nos dificultaría la realización de nuestras labores.
45.
46. Se puede garantizar haciendo todas las pruebas necesarias para que el software no tenga ningún problema y así poder garantizar que el software sean de calidad.