Академический Документы
Профессиональный Документы
Культура Документы
INGENIERIA DE SOFTWARE
Descripcin breve
El trabajo consiste en realizar una investigacin rigurosa sobre los diferentes
elementos que se deben tener en cuenta en el desarrollo de un producto de
software.
INTRODUCCION
CONCEPTOS
Ingeniera de Software
La Ingeniera de Software es aquella disciplina que se ocupa del desarrollo, la
operacin y el mantenimiento del software o programas informticos.
Cabe destacarse que es preciso estudiar tanto los principios como las
metodologas para llevar a cabo estas acciones mencionadas, en tanto, la
disposicin de ese conocimiento es lo que permitir el diseo y la construccin
de programas informticos con los cuales se pueda operar de modo
satisfactorio en las diversas computadoras personales.
Entonces, la ingeniera de software implica un trabajo integral, es decir, se
produce un anlisis del contexto, se disea el proyecto, se desarrolla el
correspondiente software, se efectan las pruebas para asegurar su correcto
funcionamiento y finalmente se implementa el sistema.
Modelos de Estimacin
El Modelo COCOMO:
MODELO
Modelo En Cascada:
ste toma las actividades fundamentales del proceso de especificacin,
desarrollo, validacin y evolucin y las representa como fases separadas del
proceso.
El modelo en cascada consta de las siguientes fases:
1. Definicin de los requisitos: Los servicios, restricciones y objetivos son
establecidos con los usuarios del sistema. Se busca hacer esta definicin en
detalle.
2. Diseo de software: Se particiona el sistema en sistemas de software o
hardware. Se establece la arquitectura total del sistema. Se identifican y
describen las abstracciones y relaciones de los componentes del sistema.
3. Implementacin y pruebas unitarias: Construccin de los mdulos y unidades
de software. Se realizan pruebas de cada unidad.
4. Integracin y pruebas del sistema: Se integran todas las unidades. Se
prueban en conjunto. Se entrega el conjunto probado al cliente.
5. Operacin y mantenimiento: Esta es la fase ms larga. El sistema es puesto
en marcha y se realiza la correccin de errores descubiertos. Se realizan
mejoras de implementacin. Se identifican nuevos requisitos.
Una fase no comienza hasta que termine la fase anterior y generalmente se
incluye la correccin de los problemas encontrados en fases anteriores.
Desventajas
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una
mala implementacin del modelo, lo cual hace que lo lleve al fracaso.
El proceso de creacin 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.
Cualquier error de diseo detectado en la etapa de prueba conduce
necesariamente al rediseo y nueva programacin del cdigo afectado,
aumentando los costos del desarrollo.
Modelo Evolutivo:
La idea detrs de este modelo es el desarrollo de una implantacin del sistema
inicial, exponerla a los comentarios del usuario, refinarla en N versiones hasta
que se desarrolle el sistema adecuado. En la Figura se observa cmo las
actividades concurrentes: especificacin, desarrollo y validacin, se realizan
durante el desarrollo de las versiones hasta llegar al producto final.
Ventaja: es que es ideal para sistemas que no tiene bien definidos los
requerimientos, es decir, para la mayora de los sistemas que se desarrollan. El
cliente desde el principio tiene una idea de los requerimientos de su sistema,
pero no estn claros hasta el ltimo detalle. Aun as podemos basarnos en lo
ya entendido como cliente y desarrollador, trabajar con esta informacin, y
mientras se vayan creando prototipos, el cliente detallar sus especificaciones.
Desventaja: es que es difcil distinguirlo del proceso "codifica y corrige", pues
en cierta medida son parecidos, la diferencia est que en la prctica se
requiere que al construir el prototipo se aplique el anlisis y el diseo pero slo
a una parte de los requerimientos ya entendidos, que se documente y se
codifique, logrndose con todo esto, un poco de disciplina heredada del modelo
en cascada, de esta manera, la desventaja no lo es tanto. La caracterstica de
este modelo es que est enfocado a la produccin de prototipos.
Modelo Incremental:
Es una forma de reducir la repeticin del trabajo en el proceso de desarrollo y
dar oportunidad de retrasar la toma de decisiones en los requisitos hasta
adquirir experiencia con el sistema. Es una combinacin del Modelo de
Cascada y Modelo Evolutivo.
Reduce el rehacer trabajo durante el proceso de desarrollo y da la oportunidad
para retrasar las decisiones hasta tener experiencia en el sistema.
Durante el desarrollo de cada incremento se puede utilizar el modelo de
cascada o evolutivo, dependiendo del conocimiento que se tenga sobre los
requisitos a implementar. Si se tiene un buen conocimiento, se puede optar por
cascada, si es dudoso, es mejor el evolutivo.
Modelo Espiral:
El modelo en espiral fue desarrollado por Boehm, quien lo describe as:
El modelo de desarrollo en espiral es un generador de modelo de proceso
guiado por el riesgo que se emplea para conducir sistemas intensivos de
ingeniera de software concurrente y a la vez con muchos usuarios.
Caractersticas
Principios bsicos:
No ser tan ingenuo para pensar que el sistema que ests construyendo
ser "EL" sistema que el cliente necesita.
Hay una cosa que solo se hace una vez: planificacin inicial o previa.
Planificar
Se Revisa todo lo hecho, evalundolo, y con ello decidimos si continuamos
con las fases siguientes y planificamos la prxima actividad.
Ventajas
El anlisis del riesgo se hace de forma explcita y clara. Une los mejores
elementos de los restantes modelos.
Desventajas
Modelo costoso
1979
1980
1982
1989 1992
1983
2001
Osborne
1979
Describi una nueva revolucin industrial
Tofler
1980
Llam al surgimiento de la microelectrnica parte de la tercera ola de cambio
en la historia de la humanidad.
Naisbitt
1982
Predijo la transformacin de una sociedad industrial en una sociedad de la
informacin.
Feigenbaum y McCorduck
1983
Sugirieron que la informacin y el conocimiento (controlados por
computadoras) seran el punto de enfoque para el poder en el siglo XXI.
Stoll
1989
Argument que la comunidad electrnica creada por redes y software era la
clave del intercambio de conocimiento alrededor del mundo.
2003
HOY
Toffler
1990
Describo un cambio de poder en el que todas las viejas
estructuras (gubernamentales, educativas, industriales, militares) se
desintegraran a medida que las computadoras y el software condujeran a una
democratizacin del conocimiento.
Yourdon
1992
Se preocupaba de que las compaas estadounidense pudieran perder su
margen competitivo en negocios relacionados con el software y predijo la
declinacin y cada del programador estadounidense.
Hammer y Champy
1993
Argumentaban que las tecnologas de la informacin representaran un papel
primordial en la reingeniera de corporacin.
James Brook, Lain Boal, Stephen Talbot
1995
Satanizabana la computadora al enfatizar inquietudes legtimas, pero
ignorando los grandes beneficios que ya se haban obtenido.
Yourdon
1996
Evalu de nuevo a los candidatos de software y sugiri el surgimiento y
resurreccin del programador estadounidense.
Y2K
1998-1999
Bomba de tiempo. Sus populares escritos acarrearon la permanencia del
software en la vida de los seres humanos.
Johnson
2001
Explic el poder del surgimiento como un fenmeno que explica lo que
sucede cuando interconexiones presentes en entidades relativamente simples
resultan en un sistema que se autorganiza para formar un comportamiento
ms adaptable e inteligente.
Yourdon
2002
Retom los trficos sucesos del 11 de septiembre de 2001 en NY
para
explicar el impacto continuo del terrorismo global en la comunidad informtica.
Wolfram
2002
Present un nuevo tratado sobre un nuevo tipo de ciencia sobre simulaciones
de software.
Daconta y sus colegas
2003
Explicaron la evolucin de la red semntica y como esto cambiar el
modo en que la gente interacta a travs de las redes globales.
En la actualidad
Una enorme industria del software se ha convertido en un factor dominante en
la economa del mundo industrializado. El programador solitario ha sido
cambiado por equipos especialistas en software, donde cada uno se enfoca en
una parte de la tecnologa requerida para desarrollar una aplicacin compleja.
Modelador;
Desarrollador;
Evaluador (Reviewer);
Stakeholder;
Coordinador General
El principal objetivo del Coordinador General es dirigir un equipo efectivo. Sus
principales responsabilidades son:
Stakeholder
Un usuario directo que trabaja en otros sistemas que se integran o interactan
con el software en desarrollo, o profesionales de mantenimiento potencialmente
afectados por el desarrollo y puesta en marcha del software.
Docmaster
El principal objetivo del Docmaster es lograr calidad y completitud en los
documentos del desarrollo. Sus responsabilidades son:
Definir y velar por los estndares que deben cumplir los documentos, en
cuanto a organizacin, redaccin, ortografa y consistencia de
presentacin.
POST-IMPLEMENTACIN
1. Asistencia sistemtica a usuarios: Cualquier cambio genera dudas e
incertidumbre, por lo que es preciso asistir a los usuarios en forma sistemtica
durante un tiempo, para asegurar la fluidez de las operaciones. El lapso de
asistencia necesario depende del nfasis que se haya puesto en una correcta
capacitacin y de haber dedicado tiempo suficiente a las prcticas y la
simulacin.
2. Deteccin de nuevos requerimientos o necesidades de informacin: Es
normal que en desarrollo de las operaciones de la empresa vayan surgiendo
inquietudes para mejorar el sistema o se quiera obtener ms y mejor
informacin. Esto puede dar lugar a nuevos desarrollos. Dependiendo de su
amplitud, podemos estar en presencia de nuevos proyectos.
Especificacin
Anlisis
Diseo
Implementacin
Pruebas
Debe tener una identificacin que permita acceder de una manera rpida
a su clasificacin.
Debe ser adaptable al cambio, esto quiere decir que debe mejorar
continuamente para cubrir nuevas necesidades.
Debe permitir que sea cargado en tiempo de ejecucin bien sea de una
aplicacin o del proyecto como tal.
Funcionalidad mejorada.
Calidad en uso
La norma ISO/IEC 9126 define la calidad en uso como la perspectiva del
usuario de la calidad del producto software cuando ste es usado en un
ambiente especfico y un contexto de uso especfico. ste mide la extensin
para la cual los usuarios pueden conseguir sus metas en un ambiente
particular, en vez de medir las propiedades del software en s mismo. Consta
de las siguientes caractersticas:
-
CONCLUSIONES
Bibliografa
1. https://books.google.es/books?hl=es&lr=lang_es&id=_tKTpr4Ah88C&oi=
fnd&pg=PA15&dq=ingenieria+de+software&ots=RvHSo0CDwL&sig=yTi2
yOM1RxeoX0g9QHj5xoyvwCo#v=onepage&q&f=false
2. https://books.google.es/books?hl=es&lr=lang_es&id=gQWd49zSut4C&oi
=fnd&pg=PA1&dq=ingenieria+de+software&ots=s647uoswxc&sig=pzBX
ZKH0wUBwcU8vva64tNqA364#v=onepage&q&f=false
3. http://www.monografias.com/trabajos5/inso/inso.shtml
4. http://www.slideshare.net/vdaniel20/metodologas-y-ciclos-de-vida
5. http://seeri.etsu.edu/Codes/SpanishVersionSECode.htm
6. http://datateca.unad.edu.co/contenidos/301569/AVA_2014_II__301569/AVA_ESTANDARES_Y_MODELOS_DE_CALIDAD_DEL_SOF
TWARE.pdf
7. http://blogs.sld.cu/alejandro/2014/10/23/roles-y-responsabilidades-delequipo-web/