Publicidad
Publicidad

Más contenido relacionado

Publicidad

García _Herrera_Victor_Eduardo_S9.pptx

  1. UNIVERSIDAD INTERAMERICANA PARA EL DESARROLLO LIC. INGENIERIA EN SOFTWARE Y SISTEMAS COMPUTACIONALES MAESTRO: LUIS MANUEL LARA SU ALUMNO: VICTOR EDUARDO GARCÍA HERRERA MATERIA: HERRAMIENTAS DE SOFTWARE Y SISTEMAS OPERATIVOS MODALIDAD: ONLINE SEDE: VIRTUAL CANCÚN PRESENTACION ELECTRONICA
  2. Software de sistema. El software de sistema, digamos que es la parte esencial, en ella no solamente podemos clasificar los sistemas operativos como Linux, Windows o Mac, también debemos agregar aquel software que permite la comunicación entre el Hardware y el sistema operativo, los controladores de sistema para la ejecución de diversos sectores de la computadora e incluso programas que son capaces de administrar los recursos y de proporcionarle al usuario una bella interfaz para que pueda controlar la computadora de una forma muy sencilla. La clasificación del Software de sistema queda de la siguiente manera: ● Sistemas operativo ● Controladores de dispositivo ● Herramientas de diagnóstico ● Herramientas de Corrección y Optimización ● Servidores ● Utilidades
  3. Software de Programación Está claro que para que puedan existir diversos programas, primero debe haber personas encargadas del desarrollo de sistemas, en este caso haciendo uso de software de programación, por eso la clasificación continua en este punto, después de que el sistema operativo es la base de todo, la programación le sigue muy detrás, un software que ayuda en la creación y desarrollo de aplicaciones, haciendo uso de conocimientos lógicos y de programación. Algunos ejemplos de esto, son los compiladores y los editores de texto, un conjunto de software que trabaja de la mano uno con el otro, el programador desarrolla en un editor de texto y posteriormente compila el programa para verificar que está correcto, esto en cualquier lenguaje de programación, aunque actualmente existen Entornos de Desarrollo Integrados (IDE) que no son más que un programa informático que consta de una serie de herramientas de programación, los que actualmente utilizan los lenguajes de programación para su desarrollo. La Clasificación del software de programación es la siguiente: ● Editores de texto ● Compiladores ● Intérpretes ● Enlazadores ● Depuradores ● Entornos de Desarrollo Integrados (IDE)
  4. Software de Aplicación El software de aplicación, es aquel que utilizamos día a día, cada uno de los programas, aplicaciones o utilidades que manejamos dentro de nuestra computadora, entran dentro de esta clasificación de software, es el resultado de la programación de software, enfocado hacia alguno de los sistemas operativos, como puedes ver es el tercer y último paso, hablando de forma técnica es el software diseñado para el usuario final. Dentro de los ejemplos, se encuentran todos los programas que usamos día a día, la paquetería de Office, los programas para comunicarse por medio de chat, los programas para ver fotos, utilidades para escuchar música en la computadora, los antivirus, etc. La clasificación del software de aplicación queda de la siguiente manera: ● Aplicaciones de Sistema de control y automatización industrial ● Aplicaciones ofimáticas ● Software educativo ● Software médico ● Software de Cálculo Numérico ● Software de Diseño Asistido (CAD) ● Software de Control Numérico (CAM)
  5. INVESTIGAR LOS PARADIGMAS DE DESARROLLO DE SOFTWARE ● CICLO DE VIDA CLÁSICO (CASCADA) Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son vistos hacia abajo (como en una cascada de agua) a través de las fases de análisis de las necesidades, el diseño, implantación, pruebas (validación), la integración, y mantenimiento. La primera descripción formal del modelo de cascada se cita a menudo a un artículo publicado por Winston Royce en 1970, aunque Royce no utilizó el término “cascada” en este artículo. Es el paradigma más antiguo y fue el más utilizado durante la hegemoníadesarrollar estructurado. El número de etapas propuestas varía de acuerdo al proyecto a desarrollar, aunque existen etapas comunes para este paradigma. Este paradigma concibe las fases de desarrollo como proceso independientes en el tiempo, es decir, no se pueden realizar de manera simultánea; cada fase empieza cuando se ha terminado la fase anterior y para poder pasar a otra fase es necesario haber conseguido todos los objetivos de la etapa previa. Las etapas de este paradigma se desarrollan en forma secuencial y cuando se detecta algún error en alguna etapa, lo más probable será abandonar todo lo avanzado y regresar a la etapa primera de análisis de requisitos del sistema; pues, aunque la vuelta atrás por etapas es posible, ésta demanda mucho esfuerzo y puede terminar en el colapso. Definición de los requisitos. En este proceso se identifican las necesidades y requerimientos del cliente con respecto al software. Análisis y Diseño. En el análisis se establece la viabilidad del software desde el punto de vista técnico y económico, se planifican las actividades y el presupuesto. El diseño del software se centra en cuatro atributos de un programa: estructura de datos, arquitectura del software, representaciones de interfaz y detalle procedimental (algoritmo). Codificación: Se traduce en forma legible por la máquina el modelo previamente diseñado. El paso de generación de código lleva a cabo esta tarea. Si lleva a cabo el diseño de una forma detallada, la generación de código se realiza mecánicamente.
  6. Pruebas. El proceso de pruebas se centra en los procesos lógico internos del software, y en los procesos externos funcionales. Se deben realizar las pruebas para detección de errores y asegurarse que las entradas definidas produzcan resultados reales que concuerden con los resultados requeridos. Mantenimiento. El software indudablemente sufrirá cambios después de ser entregado al cliente. El mantenimiento vuelve a aplicar cada una de las fases precedentes a un programa ya existente y no a uno nuevo.
  7. ● ESPIRAL El desarrollo o modelo en espiral es un enfoque de desarrollo de software que puede ser considerado como una respuesta a los inconvenientes del desarrollo en cascada. El modelo en espiral describe el ciclo de vida de un software por medio de espirales, que se repiten hasta que se puede entregar el producto terminado. El desarrollo en espiral también se conoce como desarrollo o modelo incremental. El producto se trabaja continuamente y las mejoras a menudo tienen lugar en pasos muy pequeños. Una característica clave del desarrollo en espiral es la minimización de los riesgos en el desarrollo de software, lo que podría resultar en un aumento de los costes totales, más esfuerzo y un lanzamiento retardado. Estos riesgos son contrarrestados por el enfoque incremental, haciendo primero prototipos, que luego pasan al menos una vez, por las fases de desarrollo de software. El desarrollo en espiral es genérico y puede combinarse con otros métodos de desarrollo clásicos y ágiles, por lo que también se denomina modelo o desarrollo de segundo orden. Información general El desarrollo en espiral fue propuesto por Barry W. Boehm en su ensayo "A Spiral Model of Software Development and Enhancement." En ese momento, el modelo de desarrollo en cascada prevalecía, por lo que los inconvenientes asociados fueron discutidos con frecuencia. A diferencia de otros modelos como "code and fix" o el "modelo cascada", el desarrollo en espiral está basado en el riesgo. La identificación y resolución de riesgos juega un papel importante en las diferentes espirales del proyecto una vez definidos los objetivos y condiciones. El enfoque se centra en los posibles factores que pueden causar incertidumbres para el software o para todo el proyecto. Según el supuesto, si los riesgos pueden ser controlados de una manera rentable, no hay nada que impida la finalización exitosa del proyecto. Los enfoques para minimizar estos riesgos son, por ejemplo, prototipos, simulaciones, pruebas de referencia o entrevistas con los usuarios. Para ciertos tipos de riesgos, todo el procedimiento puede incluso ser revisado y estructurado de manera diferente. La intervención de la gerencia o management es posible en cada fase del proyecto y pueden adaptarse otros enfoques de desarrollo.
  8. Cómo funciona el modelo espiral. ● Análisis y evaluación de riesgos: Se identifican y evalúan los riesgos potenciales. También se evalúan las alternativas existentes. Los riesgos son registrados, evaluados y luego reducidos utilizando prototipos, simulaciones y softwares de análisis. En este ciclo, existen varios prototipos como plantillas de diseño o componentes funcionales
  9. ● Planificación del siguiente ciclo: El siguiente ciclo se planifica al final de cada etapa. Si se producen errores, se buscan soluciones, y si una alternativa es una mejor solución, se prefiere en el siguiente ciclo. La fuerza impulsora más importante del desarrollo en espiral es el análisis y la evaluación de riesgos. Cualquier riesgo que amenace el proyecto debe ser identificado desde el principio. El progreso del proyecto depende decisivamente de cómo se puedan eliminar los riesgos. El proyecto se considera exitoso sólo cuando no hay riesgos. El objetivo del ciclo es producir un producto en continua mejora. El software o la aplicación se perfecciona constantemente. El modelo en espiral es incremental, pero no necesariamente repetitivo. Las repeticiones ocurren sólo cuando los riesgos, errores o conflictos amenazan el proyecto. Entonces el producto tiene que pasar por un ciclo de nuevo, llamado una iteración o repetición. ●TÉCNICAS DE CUARTA GENERACIÓN
  10. ● PROTOTIPOS El modelo de prototipos permite desarrollar modelos de aplicaciones de software que permiten ver la funcionalidad básica de la misma, sin necesariamente incluir toda la lógica o características del modelo terminado. El prototipo permite al cliente evaluar en forma temprana el producto, e interactuar con los diseñadores y desarrolladores para saber si se está cumpliendo con las expectativas y las funcionalidades acordadas. Los Prototipos no poseen la funcionalidad total del sistema pero si condensa la idea principal del mismo, Paso a Paso crece su funcionalidad, y maneja un alto grado de participación del usuario. Los modelos previos pueden ser en papel o computadora para mostrar la interacción hombre-máquina; un modelo que muestra algunas funciones del software; o, algún software anterior (parte o todo) parecido al que se desea, que luego será modificado y adaptado según los requerimientos del usuario. El paradigma de construcción de prototipos comienza con la recolección de requisitos. El desarrollador y el cliente encuentran y definen los objetivos globales para el software, identifica los requisitos conocidos, y las áreas del esquema en donde es obligatoria más definición. Entonces aparece un “diseño rápido”.
  11. ● PUDS PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE El Proceso Unificado de Desarrollo de Software (PUDS) es un proceso iterativo e incremental caracterizado por casos de uso, estar centrado en la arquitectura y estar enfocado en el riesgo. Este proceso permite el desarrollo de software de gran escala, al estar teniendo pruebas constantes y obteniendo respuesta con base en estas pruebas, esto con el fin de garantizar la calidad del resultado final. Sin embargo, esto ocasiona un incremento en la complejidad de la realización del proyecto. ● Inicio: En esta fase se busca definir las metas del proyecto, la viabilidad del mismo, se elabora el modelo de negocio, se identifican los actores y los requisitos del cliente. Se propone una arquitectura general y se obtienen estimaciones de costos. ● Elaboración: En esta fase se detalla la visión del proyecto, se seleccionan los casos de uso, se realiza un análisis del dominio del problema con lo que obtienen nuevos requisitos y nuevos alcances para poder diseñar una primera solución.
  12. ● Construcción: En esta fase se completa la funcionalidad del proyecto, se debe obtener un producto que incluya todos los requisitos para entregar al cliente. Al finalizar esta fase se deben tener todos los casos de uso en el sistema. ● Transición: En esta fase se entrega el producto al cliente, se ajustan los posibles errores encontrados y se provee el soporte necesario. FASES DE SCRUM SCRUM comprende las siguientes fases: 1.- Pre-juego Planificación: Definición de una nueva versión basada en la pila actual, junto con una estimación de coste y agenda. Si se trata de un nuevo sistema, esta fase abarca tanto la visión como el análisis. Si se trata de la mejora de un sistema existente comprende un análisis de alcance más limitado. Arquitectura: Diseño de la implementación de las funcionalidades de la pila. Esta fase incluye la modificación de la arquitectura y diseño generales. 2.- Juego Desarrollo de sprints: Desarrollo de la funcionalidad de la nueva versión con respeto continuo a las variables de tiempo, requisitos, costo y competencia. La interacción con estas variables define el final de esta fase. El sistema va evolucionando a través de múltiples iteraciones de desarrollo o sprints. 3.- Post-juego Preparación para el lanzamiento de la versión, incluyendo la documentación final y pruebas antes del lanzamiento de la versión.
  13. ● DRA (DESARROLLO RÁPIDO DE APLICACIONES) Modelo DRA (Desarrollo Rápido de Aplicaciones), Modelo de proceso del desarrollo del software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. Es una adaptación a “Alta velocidad” en el que se logra el desarrollo rápido utilizando un enfoque de construcción basado en componentes. Si se comprenden bien los requisitos y se limita el ámbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un “sistema completamente funcional” dentro de períodos cortos de tiempo.
  14. ● INCREMENTAL El modelo incremental combina elementos del modelo en cascada con la filosofía interactiva de construcción de prototipos. Se basa en la filosofía de construir incrementando las funcionalidades del programa. Este modelo aplica secuencias lineales de forma escalonada mientras progresa el tiempo en el calendario. Cada secuencia lineal produce un incremento del software.
  15. ● DESARROLLO BASADOS EN COMPONENTES El desarrollo de software basado en componentes (en lo adelante DSBC) constituye una aproximación del desarrollo de software que describe, construye y emplea técnicas software para elaborar sistemas abiertos y distribuidos, mediante el ensamblaje de partes software reutilizables.
  16. ● PROGRAMACIÓN EXTREMA (XP) La metodología XP o Programación Extrema es una metodología ágil y flexible utilizada para la gestión de proyectos. Extreme Programming se centra en potenciar las relaciones interpersonales del equipo de desarrollo como clave del éxito mediante el trabajo en equipo, el aprendizaje continuo y el buen clima de trabajo. Esta metodología pone el énfasis en la retroalimentación continua entre cliente y el equipo de desarrollo y es idónea para proyectos con requisitos imprecisos y muy cambiantes.
  17. La Programación Extrema PX, mejor conocida por su nombre en inglés Extreme Programming (PX), es una de las llamadas Metodologías Ágiles de desarrollo de software más exitosas de los tiempos recientes, nace como nueva disciplina de desarrollo de software hace aproximadamente unos seis años, y ha causado un gran revuelo entre el colectivo de programadores del mundo. Kent Beck, su autor, es un programador que ha trabajado en múltiples empresas y que actualmente lo hace como Programador en la conocida empresa automovilística DaimlerChrysler. ● WIN WIN Esta es una adaptación del modelo de espiral que se hace hincapié explícitamente situados en la participación del cliente en un proceso de negociación en la génesis del desarrollo de productos. Idealmente, el desarrollador simplemente preguntar al cliente lo que se requiere y el cliente proporcionaría el suficiente detalle para proceder. Por desgracia esto rara vez sucede y negociaciones significativas entre ambas partes son necesarias para equilibrar la funcionalidad, rendimiento, etc ... con los costos y de salida al mercado razones de tiempo. El modelo “win-win”. deriva su nombre del objetivo de estas negociaciones, es decir, de "ganar-ganar". El cliente recibe el producto que satisface la mayoría de sus necesidades, y el desarrollador trabaja para alcanzar presupuestos y fechas de entrega. Para lograr este objetivo, el modelo define un conjunto de actividades de negociación al principio de cada paso alrededor de la espiral. En vez de una sola actividad de los clientes de comunicación las actividades se definen los siguientes: •Identificación de los actores del sistema. •Determinación de las partes interesadas de "ganar" condiciones. Las negociaciones de la victoria de las condiciones de las partes interesadas a reconciliarnos en un conjunto de condiciones de •ganar-ganar para todos los interesados.
  18. ● FRAMEWORK Un Framework es una herramienta que contiene un conjunto de librerías orientadas a la reutilización de componentes de Software para el desarrollo rápido de aplicaciones y podemos adaptarlo a las necesidades de nuestros proyectos, dando la ventaja de no partir de cero sino más bien podemos hacer uso del código ya existente. O dicho de otra forma, un Framework viene siendo una estructura genérica, formada por un conjunto de bloques predefinidos del Software, utilizándose para colocar diversos elementos necesarios para el desarrollo de nuestro proyecto haciendo uso de la reutilización del código.
  19. BIBLIOGRAFÍA BROOKSHEAR, GLEN J. 1985. Introducción a las Ciencias de la Computación. Universidad Marquette. 451 Ed., Edit. Addison Wesley Iberoamericana, SA EE.UU. WATT, D. 1989. Conceptos y Paradigmas del Lenguaje de Programación. Universidad de Glasgow, Reino Unido. Editar. Prentice Hall Reino Unido García Sánchez, Eduardo, Vite Chávez, Osbaldo, Navarrate Sánchez, Miguel Ángel, García Sánchez, Miguel Ángel, & Torres Cosío, Verónica. (2016). Metodología para el desarrollo de software multimedia educativo MEDESME. CPU-e. Revista de Investigación Educativa, (23), 216-226. Recuperado en Julio 2022, de http://www.scielo.org.mx/scielo.php?script=sci_arttext&pid=S1870- 53082016000200216&lng=es&tlng=es. Altamirano, L. (2003). Metodologías para generación de Sistemas Orientados a Objetos. Recuperado de: https://docplayer.es/4772039-Metodologias-para-generacion-de-sistemas-orientados-a-objetos.html HUGO VENEGAS. (25 de abril 2016). Paradigma de la ingeniería de software. Julio 2022, de WordPress Sitio web: https://ingenieriasofwarehugovenegas.wordpress.com/2016/04/25/paradigma-de- la-ingenieria-de-software/
Publicidad