ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ingenieria De Software


Enviado por   •  20 de Septiembre de 2013  •  1.981 Palabras (8 Páginas)  •  203 Visitas

Página 1 de 8

Introducción

Ingeniería de software es la aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de estos enfoques, es decir, la aplicación de la ingeniería al software. Es la aplicación de la ingeniería al software, ya que integra matemáticas, ciencias de la computación y prácticas cuyos orígenes se encuentran en la ingeniería.

Estas definiciones pueden ser elaboradas con la ayuda de una analogía de la construcción de edificios.

Supongamos que tenemos un amigo que nos pide que construyéramos una pequeña pared, muy probablemente podríamos ser capaces de construir dicha pared haciendo uso de nuestro sentido común (haciendo preguntas sencillas) ¿Quieres conseguir materiales de construcción como ladrillos, cemento, etc. y, a continuación, construir el muro?

Ahora bien, supongamos que se nos pide que construyamos un edificio completo, realmente no contamos con ninguna experiencia en este tema, no sabríamos por dónde empezar y cuáles serían los pasos a seguir. Incluso si nos forzamos y construimos el edificio, este se vendría abajo, porque no contamos con los conocimientos requeridos para la construcción de edificios.

Construir edificios requiere de conocimientos de ingeniería civil, arquitectura y otros patrones, que debemos adquirí antes de aventurarnos en la construcción de una obra masiva.

De esta misma forma ocurre con el desarrollo de software, hacer un pequeño “programita” puede ser sencillo y lo podemos llevar a cabo, sin embargo la construcción de un “software empresarial” requiere de conocimientos que debemos adquirir, los cuales platicaremos a continuación.

Par poder desarrollar software de calidad, debemos comprender algunas de las metodologías utilizadas por la Ingeniería de software.

Desarrollo del Tema

Metodologías usadas en Ingeniería de Software

Un objetivo de décadas ha sido el encontrar procesos y metodologías, que sean sistemáticas, predecibles y repetibles, a fin de mejorar la productividad en el desarrollo y la calidad del producto software, algunas de estas metodologías son:

Programación estructurada sol desde 1969

Programación estructurada Jackson desde 1975

Structured Systems Analysis and Design Methodology (SSADM) desde 1980

Structured Analysis and Design Technique (SADT) desde 1980

Ingeniería de la información (IE/IEM) desde 1981

Rapid application development (RAD) desde 1991.

Programación orientada a objetos (OOP) a lo largo de la década de los 90's

Virtual finite state machine (VFSM) desde 1990s

Dynamic Systems Development Method desarrollado en UK desde 1995.

Scrum (desarrollo), en la última parte de los 90's

Rational Unified Process (RUP) desde 1999.

Extreme Programming(XP) desde 1999

Enterprise Unified Process (EUP) extensiones RUP desde 2002

Agile Unified Process (AUP) desde 2005 por Scott Ambler

Cada metodología de desarrollo de software tiene más o menos su propio enfoque para el desarrollo de software. Estos son los enfoques más generales, que se desarrollan en varias metodologías específicas. Estos enfoques son los siguientes:

Modelo en cascada: Framework lineal.

Prototipado: Framework iterativo.

Incremental: Combinación de framework lineal e iterativo.

Espiral: Combinación de framework lineal e iterativo.

RAD: Rapid Application Development, framework iterativo.

Con el pasar de los años se han hecho diferentes combinaciones para llevar a buen Puerto cada una de las metodologías con el desarrollo de software en la vida real, con esto tenemos el nacimiento del desarrollo ágil de software, en mi caso personal me ha tocado trabajar mucho con la metodología “MSF for agile software development” el cual está totalmente orientado a CMMI.

MSF – Microsoft Solution Framework

CMMI - Capability maturity model integration

El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios. Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en lapsos cortos. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación. Una iteración no debe agregar demasiada funcionalidad para justificar el lanzamiento del producto al mercado, sino que la meta es tener una «demo» (sin errores) al final de cada iteración. Al final de cada iteración el equipo vuelve a evaluar las prioridades del proyecto.

Los métodos ágiles enfatizan las comunicaciones cara a cara en vez de la documentación. La mayoría de los equipos ágiles están localizados en una simple oficina abierta, a veces llamadas "plataformas de lanzamiento" (bullpen en inglés). La oficina debe incluir revisores, escritores de documentación y ayuda, diseñadores de iteración y directores de proyecto. Los métodos ágiles también enfatizan que el software funcional es la primera medida del progreso. Combinado con la preferencia por las comunicaciones cara a cara, generalmente los métodos ágiles son criticados y tratados como "indisciplinados" por la falta de documentación técnica.

Microsoft Solution Framework en la vida real

Actividades y entregables del modelo de trabajo del MSF

Principales “milestones” Fase del modelo Principales actividades

Visión / Aprobada visión Establecer la visión del proyecto y levantar los requerimientos

Plan de proyecto aprobado Planeación Desarrollar especificaciones funcionales y un plan de desarrollo

Poner fecha para él “release”

visión de todos los entregables Desarrollo Completar el diseño

Implantar y probar el código

Desarrollar la documentación

Desarrollar la capacitación

Prepararse para la prueba Beta

“Release” Estabilización Completar las pruebas del sistema

Completar toda la presentación

Responsabilidades de los roles de equipo del modelo MSF

Rol Visión Aprobada Plan de Proyecto aprobado Visión completada “Release”

Product management Escribir el documento de visión Contribuir al diseño conceptual Administrar las expectativas del cliente

Coordinar la versión beta y la entrega del producto

...

Descargar como (para miembros actualizados) txt (14 Kb)
Leer 7 páginas más »
Disponible sólo en Clubensayos.com