You are on page 1of 5

UNIVERSIDAD NACIONAL JOS MARA ARGUEDAS

ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS

SEMESTRE: 2016-0
Nombre de trabajo: RESUMEN DE CAPITULOS
Asignatura: INGENIERIA DE SOFTWARE 1
Estudiante:
ALAN DEIVER TELLO RAMOS
FECHA: Andahuaylas, 25 de ENERO, 2016

EL SOFTWARE Y LA INGENIERA DE SOFTWARE


El software es un elemento clave en la evolucin de sistemas y productos
basados en computadoras, y una de las tecnologas ms importantes en todo
el mundo. En los ltimos 50 aos, el software ha pasado de ser la solucin de
un problema especializado y herramienta de anlisis de la informacin a una
industria en s misma. No obstante, an hay problemas para desarrollar
software de alta calidad a tiempo y dentro del presupuesto asignado.
El software programas, datos e informacin descriptiva se dirige a una
gama amplia de tecnologa y campos de aplicacin. El software heredado sigue
planteando retos especiales a quienes deben darle mantenimiento.
Los sistemas y aplicaciones basados en web han evolucionado de simples
conjuntos de contenido de informacin a sistemas sofisticados que presentan
una funcionalidad compleja y contenido en multimedios. Aunque dichas
webapps tienen caractersticas y requerimientos nicos, son software.
La ingeniera de software incluye procesos, mtodos y herramientas que
permiten elaborar a tiempo y con calidad sistemas complejos basados en
computadoras. El proceso de software incorpora cinco actividades
estructurales: comunicacin, planeacin, modelado, construccin
y despliegue que son aplicables a todos los proyectos de software. La prctica
de la ingeniera de software es una actividad para resolver problemas, que
sigue un conjunto de principios fundamentales.
Muchos mitos del software todava hacen que administradores y trabajadores
se equivoquen, aun cuando ha aumentado nuestro conocimiento colectivo del
software y las tecnologas requeridas para elaborarlo. Conforme el lector
aprenda ms sobre ingeniera de software, comenzar a entender por qu
deben rebatirse estos mitos cada vez que surjan.

MODELOS DEL PROCESO


Un modelo general del proceso para la ingeniera de software incluye un
conjunto de actividades estructurales y sombrilla, acciones y tareas de trabajo.
Cada uno de los modelos de proceso puede describirse por un flujo distinto del
proceso: descripcin de cmo se organizan secuencial y cronolgicamente las
actividades estructurales, acciones y tareas. Los patrones del proceso
Pueden utilizarse para resolver los problemas comunes que surgen como parte
del proceso del software.
Los modelos de proceso prescriptivo se han aplicado durante muchos aos en
un esfuerzo por introducir orden y estructura al desarrollo de software. Cada
uno de dichos modelos sugiere un flujo de proceso algo distinto, pero todos
llevan a cabo el mismo conjunto de actividades estructurales generales:
comunicacin, planeacin, modelado, construccin y desarrollo.
Los modelos de proceso secuencial, como el de la cascada y en V, son los
paradigmas ms antiguos del software. Sugieren un flujo lineal del proceso que
con frecuencia no es congruente con las realidades modernas (cambio
continuo, sistemas en evolucin, plazos ajustados, etc.) del mundo del
software. Sin embargo, tienen aplicacin en situaciones en las que los
requerimientos estn bien definidos y son estables.

Los modelos de proceso incremental son de naturaleza iterativa y producen


con mucha rapidez versiones funcionales del software. Los modelos de
proceso evolutivo reconocen la naturaleza iterativa e incremental de la mayora
de proyectos de ingeniera de software y estn diseados para aceptar los
cambios. Los modelos evolutivos, tales como el de hacer prototipos y
el espiral, generan rpido productos de trabajo incremental (o versiones
funcionales del software).
Estos modelos se adoptan para aplicarse a lo largo de todas las actividades de
la ingeniera de software, desde el desarrollo del concepto hasta el
mantenimiento del sistema a largo plazo.
El modelo de proceso concurrente permite que un equipo de software
represente los elementos iterativos y concurrentes de cualquier modelo de
proceso. Los modelos especializados incluyen el basado en componentes, que
pone el nfasis en la reutilizacin y ensamble de los componentes; el modelo
de mtodos formales consiste en un enfoque basado en matemticas para
desarrollar y verificar el software; y el modelo orientado a aspectos implica
preocupaciones globales que afectan toda la arquitectura del sistema. El
proceso unificado es un proceso del software diseado como estructura para
los mtodos y herramientas del UML, y est impulsado por el caso de uso,
centrado en la arquitectura, y es iterativo e incremental.
Se han propuesto modelos personal y del equipo para el proceso del software.
Ambos enfatizan la medicin, planeacin y autodireccin como los ingredientes
clave para un proceso exitoso del software.

DESARROLLO GIL
En una economa moderna, las condiciones del mercado cambian con rapidez,
los clientes y usuarios finales necesitan evolucionar y surgen nuevas amenazas
competitivas sin aviso previo.
Los profesionales deben enfocar la ingeniera de software en forma que les
permita mantenerse giles para definir procesos maniobrables, adaptativos y
esbeltos que satisfagan las necesidades de los negocios modernos.
Una filosofa gil para la ingeniera de software pone el nfasis en cuatro
aspectos clave: la importancia de los equipos con organizacin propia que
tienen el control sobre el trabajo que realizan, la comunicacin y colaboracin
entre los miembros del equipo y entre los profesionales y sus clientes, el
reconocimiento de que el cambio representa una oportunidad y la insistencia
en la entrega rpida de software que satisfaga al consumidor. Los modelos de
proceso gil han sido diseados para abordar cada uno de estos aspectos.
La programacin extrema (XP) es el proceso gil de ms uso. Organizada con
cuatro actividades estructurales: planeacin, diseo, codificacin y pruebas, la
XP sugiere cierto nmero de tcnicas innovadoras y poderosas que permiten a
un equipo gil generar entregas frecuentes de software que posee
caractersticas y funcionalidad que han sido descritas y clasificadas segn
su prioridad por los participantes. Otros modelos de proceso gil tambin
insisten en la colaboracin humana y en la organizacin propia del equipo, pero
definen sus actividades estructurales y seleccionan diferentes puntos
de importancia. Por ejemplo, el DAS utiliza un proceso iterativo que incluye un
ciclo de planeacin adaptativa, mtodos relativamente rigurosos para recabar
requerimientos, y un ciclo de desarrollo iterativo que incorpora grupos de

consumidores y revisiones tcnicas formales como mecanismos de


retroalimentacin en tiempo real. El Scrum pone el nfasis en el uso de
un conjunto de patrones de software que han demostrado ser eficaces para
proyectos que tienen plazos de entrega apretados, requerimientos cambiantes
o que se emplean en negocios crticos.
Cada patrn de proceso define un conjunto de tareas de desarrollo y permite al
equipo Scrum construir un proceso que se adapte a las necesidades del
proyecto. El mtodo de desarrollo de sistemas dinmicos (MDSD) resalta el
uso de la programacin con caja de tiempo y sugiere que en cada incremento
de software slo se requiere el trabajo suficiente que facilite el paso al
incremento que sigue. Cristal es una familia de modelos de proceso gil que se
adaptan a las caractersticas especficas del proyecto.
El desarrollo impulsado por las caractersticas (DIC) es algo ms formal que
otros mtodos giles, pero conserva su agilidad al centrar al equipo del
proyecto en el desarrollo de caractersticas, funciones valiosas para el cliente
que pueden implementarse en dos semanas o menos. El desarrollo esbelto de
software (DES) ha adaptado los principios de la manufactura esbelta al mundo
de la ingeniera de software. El modelado gil (MA) sugiere que el modelado es
esencial para todos los sistemas, pero que la complejidad, tipo y tamao del
modelo deben ajustarse al software que se va a elaborar. El proceso unificado
gil (PUA) adopta una filosofa serial en lo grande e iterativo en lo pequeo
para la elaboracin de software.

MODELADO
La prctica de la ingeniera de software incluye principios, conceptos, mtodos
y herramientas que los ingenieros de software aplican en todo el proceso de
desarrollo. Todo proyecto de ingeniera de software es diferente. No obstante,
existe un conjunto de principios generales que se aplican al proceso como un
todo y a cada actividad estructural, sin importar cul sea el proyecto
o el producto.
Existe un conjunto de principios fundamentales que ayudan en la aplicacin de
un proceso de software significativo y en la ejecucin de mtodos de ingeniera
de software eficaz. En el nivel del proceso, los principios fundamentales
establecen un fundamento filosfico que gua al equipo de software cuando
avanza por el proceso del software. En el nivel de la prctica, los principios
fundamentales establecen un conjunto de valores y reglas que sirven como
gua al analizar el diseo de un problema y su solucin, al implementar sta y
al someterla a prueba para, finalmente, desplegar el software en la comunidad
del usuario.
Los principios de comunicacin se centran en la necesidad de reducir el ruido y
mejorar el ancho de banda durante la conversacin entre el desarrollador y el
cliente.
Ambas partes deben colaborar a fin de lograr la mejor comunicacin.
Los principios de planeacin establecen lineamientos para elaborar el mejor
mapa del proceso hacia un sistema o producto terminado. El plan puede
disearse slo para un incremento del software, o para todo el proyecto. Sin
que esto importe, debe definir lo que se har, quin lo har y cundo se
terminar el trabajo.

El modelado incluye tanto el anlisis como el diseo, y describe


representaciones cada vez ms detalladas del software. El objetivo de los
modelos es afirmar el entendimiento del trabajo que se va a hacer y dar una
gua tcnica a quienes implementarn el software. Los principios de modelado
dan fundamento a los mtodos y notacin que se utilizan para crear
representaciones del software.
La construccin incorpora un ciclo de codificacin y pruebas en el que se
genera cdigo fuente para cierto componente y es sometido a pruebas. Los
principios de codificacin definen las acciones generales que deben tener lugar
antes de que se escriba el cdigo, mientras se escribe y una vez terminado.
Aunque hay muchos principios para las pruebas, slo uno predomina:
la prueba es el proceso que lleva a ejecutar un programa con objeto de
encontrar un error.
El despliegue ocurre cuando se presenta al cliente un incremento de software,
e incluye la entrega, apoyo y retroalimentacin. Los principios clave para la
entrega consideran la administracin de las expectativas del cliente y darle
informacin de apoyo adecuada sobre el software.
El apoyo demanda preparacin anticipada. La retroalimentacin permite al
cliente sugerir cambios que tengan valor para el negocio y que brinden al
desarrollador informacin para el ciclo iterativo siguiente de ingeniera de
software.
COMPRENSIN DE LOS REQUERIMIENTOS
Las tareas de la ingeniera de requerimientos se realizan para establecer un
fundamento slido para el diseo y la construccin. La ingeniera de
requerimientos ocurre durante las actividades de comunicacin y modelado que
se hayan definido para el proceso general del software.
Los miembros del equipo de software llevan a cabo siete funciones de
ingeniera de requerimientos:
Concepcin, indagacin, elaboracin, negociacin, especificacin, validacin y
administracin.
En la concepcin del proyecto, los participantes establecen los requerimientos
bsicos del problema, definen las restricciones generales del proyecto, as
como las caractersticas y funciones principales que debe presentar el sistema
para cumplir sus objetivos. Esta informacin se mejora y ampla durante la
indagacin, actividad en la que se recaban los requerimientos y que hace uso
de reuniones que lo facilitan, DFC y el desarrollo de escenarios de uso.
La elaboracin ampla an ms los requerimientos en un modelo: una coleccin
de elementos basados en escenarios, clases y comportamiento, y orientados al
flujo. El modelo hace referencia a patrones de anlisis: soluciones para
problemas de anlisis que se ha observado que son recurrentes en diferentes
aplicaciones.
Conforme se identifican los requerimientos y se crea su modelo, el equipo de
software y otros participantes negocian la prioridad, la disponibilidad y el costo
relativo de cada requerimiento.
Adems, se valida cada requerimiento y su modelo como un todo comparado
con las necesidades del cliente a fin de garantizar que va a construirse el
sistema correcto.

You might also like