Ingeniería de Software
Tarea
Investigar: 1. Definición de ingeniería de software. (Consultar una fuente formal -libro, artículo científico- y una fuente informal sitio Web)
La ingeniería de software es un enfoque sistemático y disciplinado para el desarrollo de software. Se aplica tanto la informática y los principios de ingeniería y prácticas para la creación, operación y mantenimiento de sistemas informáticos. (Ken Schwaber, Mike Beedle Agile Software Development with Scrum 2001 )
La Ingeniería del software es una disciplina o área de la Informática o Ciencias de la Computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. (http://www.sei.cmu.edu/)
Es 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 (IEEE, 1993).
2. Modelos de desarrollo tradicionales: cascada, espiral. Cascada: es el enfoque metodológico que ordena rigurosamente las etapas del proceso para el desarrollo de software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la etapa anterior Espiral: Las actividades de este modelo se conforman en una espiral, en la que cada bucle o iteración representa un conjunto de actividades. Las actividades no están fijadas a ninguna prioridad, sino que las siguientes se eligen en función del análisis de riesgo, comenzando por el bucle interior. Modelos ágiles: El método comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE (Computer Aided Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución
1
Alumnos: Vázquez Arteaga J. Samuel 271450, Garcia Sida Alan 267614
Ingeniería de Software
Tarea
No lo desarrollan equipos diferentes con especialistas en distintas áreas. Hay un sólo equipo, formado por personas muy competentes, con perfiles y conocimientos que cubren las disciplinas necesarias para construir el producto. No hay fases. Éstas pasan a ser tareas que se ejecutan cuando se necesitan. No se hace primero el diseño del concepto o los requisitos, más tarde el análisis, luego el desarrollo, etc. Lo que en el software serían las fases de requisitos del sistema, requisitos del software, análisis, diseño, construcción, pruebas e integración, y se ejecutarían de forma secuencial, pasan a ser tareas que se llevan a cabo cada vez que hacen falta. Normalmente a lo largo de pequeñas iteraciones durante todo el desarrollo. No se espera a desarrollar requisitos detallados antes de empezar el análisis o el desarrollo.
3. Actividades y Entregables de cada una de las fases: fase de requerimientos, fase de análisis, fase de diseño, fase de implementación, fase de pruebas, fase de mantenimiento.
Fase de Requerimientos
Fase de análisis
Fase de Diseño
Fase de implementación
Actividades Recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar requisitos generales de la arquitectura de la aplicación, y definición precisa de cada subconjunto de la aplicación Es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
Entregables Documento ERS, Especificación de Requerimientos del Sistema, cuya estructura puede venir definida por varios estándares, tales como CMMI. 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. Descripción del Problema
Algoritmo (diagrama de flujo o Pseudocódigo)
Código Fuente (programa)
Fase de pruebas
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. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas
Manual de Usuario: Describe paso a paso la manera cómo funciona el programa, con el fin de que el usuario lo pueda manejar para que obtenga el resultado deseado.
Fase de Mantenimiento
Parte de este trabajo consiste eliminar errores (bugs); siendo que la mayor parte reside en extender el sistema para incorporarle nuevas funcionalidades y hacer frente a su evolución.
Manual de mantenimiento si es necesario.
2
Alumnos: Vázquez Arteaga J. Samuel 271450, Garcia Sida Alan 267614