Академический Документы
Профессиональный Документы
Культура Документы
01
Ingeniera de software
Presentado por:
Camilo Esteban Rodriguez
Brayan Andres Valero
Andres Mauricio Clavijo
Jhon Alexander Chacon
Presentado a:
Juan Carlos Guevara Bolaos
Contenido
1. Introduccin................................................................................................................ 4
2.
2.1.
Definicin ............................................................................................................... 4
2.2.
Objetivos ................................................................................................................. 4
2.3.
Caractersticas ......................................................................................................... 5
2.4.
Historia ................................................................................................................... 5
3.
3.1.
Nombre ................................................................................................................. 10
3.1.1.
3.1.2.
3.1.3.
3.1.4.
3.1.5.
3.1.6.
3.2.
Etapas ................................................................................................................... 10
3.3.
3.3.1.
3.3.2.
3.3.3.
3.3.4.
3.3.5.
3.3.6.
4.
4.1.
Nombre ................................................................................................................. 18
4.3.
4.4.
Artefactos.............................................................................................................. 26
5.
5.1.
Nombre ................................................................................................................. 29
5.2.
Descripcin ........................................................................................................... 29
5.3.
6.
6.1.
6.2.
7.
8.
Conclusiones............................................................................................................. 38
9.
Bibliografa ............................................................................................................... 38
1. Introduccin
El presente trabajo tiene como objetivo identificar, estudiar y conocer los diferentes
conceptos, objetivos, historia, modelos de ciclo de vida, metodologas, mtodos, estndares
y procesos de evaluacin de la calidad de la ingeniera de software.
El trabajo se divide en los diferentes conceptos, objetivos, historia, modelos de ciclo de vida,
metodologas, mtodos, estndares y procesos de evaluacin de la calidad de la ingeniera de
software.
2. Ingeniera de software
2.1.
Definicin
Segn la definicin del IEEE, citada por [Lewis 1994] "software es la suma total de los
programas de computadora, procedimientos, reglas, la documentacin asociada y los
datos que pertenecen a un sistema de cmputo". Segn el mismo autor, "un producto de
software es un producto diseado para un usuario". En este contexto, la Ingeniera de
Software es un enfoque sistemtico del desarrollo, operacin, mantenimiento y retiro del
software", que en palabras ms llanas, se considera que "la Ingeniera de Software es la
rama de la ingeniera que aplica los principios de la ciencia de la computacin y las
matemticas para lograr soluciones costo-efectivas (eficaces en costo o econmicas) a
los problemas de desarrollo de software", es decir, "permite elaborar consistentemente
productos correctos, utilizables y costo-efectivos" [Cota 1994].
El proceso de ingeniera de software se define como "un conjunto de etapas parcialmente
ordenadas con la intencin de logra un objetivo, en este caso, la obtencin de un producto
de software de calidad" [Jacobson 1998].El proceso de desarrollo de software "es aquel
en que las necesidades del usuario son traducidas en requerimientos de software, estos
requerimientos transformados en diseo y el diseo implementado en cdigo, el cdigo
es probado, documentado y certificado para su uso operativo". Concretamente "define
quin est haciendo qu, cundo hacerlo y cmo alcanzar un cierto objetivo" [Jacobson
1998].
2.2.
Objetivos
2.3.
Caractersticas
2.4.
Historia
El trmino Ingeniera del software apareci por primera vez en a finales de la dcada de
1950. La Ingeniera de software fue estimulada por la crisis del software de las dcadas
de entre 1960 y 1980. La Ingeniera del software viene a ayudar a identificar y corregir
mediante principios y metodologas los procesos de desarrollo y mantenimiento de
sistemas de software.
Aparte de la crisis del software de las dcadas de entre 1960 y 1980, la ingeniera de
software se ve afectada por accidentes que conllevaron a la muerte de tres personas; esto
sucedi cuando la mquina de radioterapia Therac-25 emite una sobredosis masiva de
radiacin y afecto contra la vida de estas personas.9 Esto remarca los riesgos de control
por software,10 afectando directamente al nombre de la ingeniera de software.
A principios de los 1980,11 la ingeniera del software ya haba surgido como una genuina
profesin, para estar al lado de las ciencias de la computacin y la ingeniera tradicional.
Antes de esto, las tareas eran corridas poniendo tarjetas perforadas como entrada en el
lector de tarjetas de la mquina y se esperaban los resultados devueltos por la impresora.
Debido a la necesidad de traducir frecuentemente el software viejo para atender las
necesidades de las nuevas mquinas, se desarrollaron lenguajes de orden superior. A
medida que apareci el software libre, las organizaciones de usuarios comnmente lo
liberaban.
Durante mucho tiempo, solucionar la crisis del software fue de suma importancia para
investigadores y empresas que se dedicaban a producir herramientas de software.
Para la dcada de 1980, el costo de propiedad y mantenimiento del software fue dos veces
ms caro que el propio desarrollo del software, y durante la dcada de 1990, el costo de
propiedad y mantenimiento aument 30 % con respecto a la dcada anterior. En 1995,
muchos de los proyectos de desarrollo estaban operacionales, pero no eran considerados
exitosos. El proyecto de software medio sobrepasaba en un 50 % la estimacin de tiempo
previamente realizada, adems, el 75 % de todos los grandes productos de software que
eran entregados al cliente tenan fallas tan graves, que no eran usados en lo absoluto o
simplemente no cumplan con los requerimientos del cliente.10
Algunos expertos argumentaron que la crisis del software era debido a la falta de
disciplina de los programadores.
Cada nueva tecnologa y prctica de la dcada de 1970 a la de 1990 fue pregonada como
la nica solucin a todos los problemas y el caos que llev a la crisis del software. Lo
cierto es que la bsqueda de una nica clave para el xito nunca funcion. El campo de
la ingeniera de software parece un campo demasiado complejo y amplio para una nica
solucin que sirva para mejorar la mayora de los problemas, y cada problema representa
slo una pequea porcin de todos los problemas de software.
El auge del uso del Internet llev a un vertiginoso crecimiento en la demanda de sistemas
internacionales de despliegue de informacin en la World Wide Web. Los desarrolladores
se vieron en la tarea de manejar ilustraciones, mapas, fotografas y animaciones, a un
ritmo nunca antes visto, con casi ningn mtodo para optimizar la visualizacin y
6
El trmino Ingeniera del software apareci por primera vez en la dcada de 1950 y
principios de los aos 1960. Los programadores siempre haban sabido sobre ingenieros
civiles, elctricos y de computadores y debatan qu podra significar la ingeniera para
el software.
1965 a 1985: La Crisis del Software
La ingeniera de software fue estimulada por la llamada crisis del software de la dcada
de 1960, 1970 y 1980, que identifica muchos de los problemas de desarrollo de software.
7
Durante dcadas, solucionar la crisis del software fue de suprema importancia para
investigadores y empresas productoras de herramientas de software.
El costo de propiedad y mantenimiento del software en la dcada de 1980 fue dos veces
ms caro que el propio desarrollo del software.
Durante la dcada de 1990, el costo de propiedad y mantenimiento aument en un 30%
con respecto a la dcada anterior.
En 1995, las estadsticas mostraron que la mitad de los proyectos de desarrollo
encuestados estaban operacionales, pero no eran considerado exitoso.
El proyecto de software medio sobrepasa su estimacin en tiempo en el 50%. Las tres
cuartas partes de todos los grandes productos de software son entregados al cliente con
tales fallas que no son usados en absoluto, o no cumplen con los requerimientos del
cliente.
El crecimiento del uso del navegador, corriendo en el lenguaje HTM, cambi la manera
en que estaba organizada la visualizacin y la recuperacin de la informacin. Las
amplias conexiones de red condujeron al crecimiento y la prevencin de virus
informticos internacionales en computadores con MS Windows, y la gran proliferacin
8
El software en la actualidad.
Nombre
3.1.1.
Modelo Cascada
3.1.2.
3.1.3.
3.1.4.
3.1.5.
Modelo Espiral
3.1.6.
Modelo Concurrente
3.2.
Etapas
Modelo Cascada
Este es el ms bsico de todos los modelos, y sirve como bloque de construccin para los
dems modelos de ciclo de vida. La visin del modelo cascada del desarrollo de software
es muy simple; dice que el desarrollo de software puede ser a travs de una secuencia
simple de fases. Cada fase tiene un conjunto de metas bien definidas, y las actividades
dentro de una fase contribuyen a la satisfaccin de metas de esa fase o quizs a una
subsecuencia de metas de la fase. Las flechas muestran el flujo de informacin entre las
fases. La flecha de avance muestra el flujo normal. Las flechas hacia atrs representan la
retroalimentacin.
Modelo Espiral
El modelo espiral de los procesos software es un modelo del ciclo de meta-vida. En este
modelo, el esfuerzo de desarrollo es iterativo. Tan pronto como uno completa un esfuerzo
de desarrollo, otro comienza. Adems, en cada desarrollo ejecutado, puedes seguir estos
cuatros pasos:
Determinar qu quieres lograr.
Determinar las rutas alternativas que puedes tomar para lograr estas metas. Por cada una,
analizar los riesgos y resultados finales, y seleccionar la mejor.
Seguir la alternativa seleccionada en el paso 2.
12
Evaluar qu tienes hecho y qu tienes que haber aprendido despus de hacer algo.
No ser tan ingenuo para pensar que el sistema que ests construyendo ser "EL"
sistema que el cliente necesita, y
El modelo espiral no es una alternativa del modelo cascada, ellos son completamente
compatible.
13
Modelo Concurrente
Como el modelo espiral, el modelo concurrente provee una meta-descripcin del proceso
software. Mientras que la contribucin primaria del modelo espiral es en realidad que
esas actividades del software ocurran repetidamente, la contribucin del modelo
concurrente es su capacidad de describir las mltiples actividades del software ocurriendo
simultneamente.
Esto no sorprende a nadie que ha estado involucrado con las diversas actividades que
ocurren en algn tiempo del proceso de desarrollo de software. Discutamos un poco tales
casos:
Los requerimientos son usualmente "lneas de base", cuando una mayora de los
requerimientos comienzan a ser bien entendidos, en este tiempo se dedica un esfuerzo
considerable al diseo. Sin embargo, una vez que comienza el diseo, cambios a los
requerimientos son comunes y frecuentes (despus de todo, los problemas reales
cambian, y nuestro entendimiento de los problemas desarrollados tambin). Es
desaconsejado detener el diseo en este camino cuando los requerimientos cambian; en
su lugar, existe una necesidad de modificar y rehacer lneas de base de los requerimientos
mientras progresa el diseo. Por supuesto, dependiendo del impacto de los cambios de
los requerimientos el diseo puede no ser afectado, medianamente afectado o se requerir
comenzar todo de nuevo.
Durante el diseo de arquitectura, es posible que algunos componentes comiencen a ser
bien definidos antes que la arquitectura completa sea estabilizada. En tales casos, puede
ser posible comenzar el diseo detallado en esos componentes estables. Similarmente,
durante el diseo detallado, puede ser posible proceder con la codificacin y quizs
regular testeando en forma unitaria o realizando testeo de integracin previo a llevar a
cabo el diseo detallado de todos los componentes.
En algunos proyectos, mltiples etapas de un producto se han desarrollado
concurrentemente. Por ejemplo, no es inusual estar haciendo mantencin de la etapa 1 de
un producto, y al mismo tiempo estar haciendo mantencin sobre un componente 2,
mientras que se est haciendo codificacin sobre un componente 3, mientras se realiza
diseo sobre una etapa 4, y especificacin de requisitos sobre un componente 5.
En todos estos casos, diversas actividades estn ocurriendo simultneamente. Eligiendo
seguir un proyecto usando tcnicas de modelacin concurrente, se posibilita el
conocimiento del estado verdadero en el que se encuentra el proyecto.
14
3.3.
15
16
17
Nombre
Vista fsica
Mapa de comportamiento a nivel de hardware
4.3.2. SCRUM
Fases de scrum
SCRUM comprende las siguientes fases:
1.- Pre-juego
Planificacin: Definicin de una nueva versin basada en la pila actual, junto con una
estimacin de coste y agenda. Si se trata de un nuevo sistema, esta fase abarca tanto
la visin como el anlisis. Si se trata de la mejora de un sistema existente comprende
un anlisis de alcance ms limitado. Arquitectura: Diseo de la implementacin de
las funcionalidades de la pila. Esta fase incluye la modificacin de la arquitectura y
diseo generales.
2.- Juego
Desarrollo de sprints: Desarrollo de la funcionalidad de la nueva versin con respeto
contino a las variables de tiempo, requisitos, costo y competencia. La interaccin
con estas variables define el final de esta fase. El sistema va evolucionando a travs
de mltiples iteraciones de desarrollo o sprints.
3.- Post-juego
Preparacin para el lanzamiento de la versin, incluyendo la documentacin final y
pruebas antes del lanzamiento de la versin.
Herramientas y artefactos
Scrum no requiere ni provee prcticas de Ingeniera. En lugar de eso, especifica
prcticas y herramientas de gerencia que se aplican en sus distintas fases para evitar
el caos originado por la complejidad e imposibilidad de realizar predicciones.
Product Backlog List
Es una lista priorizada que define el trabajo que se va a realizar en el proyecto. Cuando
un proyecto comienza es muy difcil tener claro todos los requerimientos sobre el
producto. Sin embargo, suelen surgir los ms importantes que casi siempre son ms
que suficientes para un Sprint.
El objetivo es asegurar que el producto definido al terminar la lista es el ms correcto,
til y competitivo posible y para esto la lista debe acompaar los cambios en el
entorno y el producto.
21
Sprints
Un Sprint es el procedimiento de adaptacin de las cambiantes variables del entorno
(requerimientos, tiempo, recursos, conocimiento, tecnologa). Son ciclos iterativos en
los cuales se desarrolla o mejora una funcionalidad para producir nuevos incrementos.
Durante un Sprint el producto es diseado, codificado y probado. Y su arquitectura y
diseo evolucionan durante el desarrollo.
El objetivo de un Sprint debe ser expresado en pocas palabras para que sea fcil de
recordar y est siempre presente en el equipo.
Burn down Chart
La burn down chart es una grfica mostrada pblicamente que mide la cantidad de
requisitos en el Backlog del proyecto pendientes al comienzo de cada Sprint.
Dibujando una lnea que conecte los puntos de todos los Sprints completados,
podremos ver el progreso del proyecto. Lo normal es que esta lnea sea descendente
(en casos en que todo va bien en el sentido de que los requisitos estn bien definidos
desde el principio y no varan nunca) hasta llegar al eje horizontal, momento en el
cual el proyecto se ha terminado (no hay ms requisitos pendientes de ser completados
en el Backlog).
Sprint Backlog
Es el punto de entrada de cada Sprint. Es una lista que tiene los tems de la Product
Backlog List que van a ser implementados en el siguiente Sprint.
Stabilization Sprints
En estos Sprints el equipo se concentra en encontrar defectos, no en agregar
funcionalidad. Suelen aplicarse cuando se prepara un producto para el release. Son
tiles cuando se estn realizando pruebas beta, se est introduciendo a un equipo en
la metodologa de Scrum o cuando la calidad de un producto no alcanza los lmites
esperados.
4.3.3. XP
Entendimiento
1. Diseo simple: se basa en la filosofa de que el mayor valor de negocio es entregado
por el programa ms sencillo que cumpla los requerimientos. Simple Design se enfoca
en proporcionar un sistema que cubra las necesidades inmediatas del cliente, ni ms
ni menos. Este proceso permite eliminar redundancias y rejuvenecer los diseos
obsoletos
de
forma
sencilla.
22
2. Metfora: desarrollada por los programadores al inicio del proyecto, define una
historia de cmo funciona el sistema completo. XP estimula historias, que son breves
descripciones de un trabajo de un sistema en lugar de los tradicionales diagramas y
modelos UML (Unified Modeling Language). La metfora expresa la visin evolutiva
del proyecto que define el alcance y propsito del sistema. Las tarjetas CRC (Clase,
Responsabilidad y Colaboracin) tambin ayudarn al equipo a definir actividades
durante el diseo del sistema. Cada tarjeta representa una clase en la programacin
orientada a objetos y define sus responsabilidades (lo que ha de hacer) y las
colaboraciones con las otras clases (cmo se comunica con ellas).
3. Propiedad colectiva del cdigo: un cdigo con propiedad compartida. Nadie es el
propietario de nada, todos son el propietario de todo. Este mtodo difiere en mucho a
los mtodos tradicionales en los que un simple programador posee un conjunto de
cdigo. Los defensores de XP argumentan que mientras haya ms gente trabajando
en
una
pieza,
menos
errores
aparecern.
4. Estndar de codificacin: define la propiedad del cdigo compartido as como las
reglas para escribir y documentar el cdigo y la comunicacin entre diferentes piezas
de cdigo desarrolladas por diferentes equipos. Los programadores las han de seguir
de tal manera que el cdigo en el sistema se vea como si hubiera estado escrito por
una sola persona.
4.3.4. AUP
Fases de Agile UP
Las fases son implementadas de una forma serial a lo largo de un proyecto de Agile
UP. Estas fases son:
1. Iniciacin. El objetivo de esta fase es identificar el alcance inicial del proyecto, una
arquitectura potencial para el sistema y obtener, si procede, financiacin para el
proyecto y la aceptacin por parte de los promotores del sistema.
2. Elaboracin. Mediante esta fase se pretende identificar y validar la arquitectura del
sistema.
3. Construccin. El objetivo de esta fase consiste en construir software desde un punto
de vista incremental basado en las prioridades de los participantes.
4. Transicin. En esta fase se valida y despliega el sistema en el entorno de
produccin.
23
Actividades y artefactos
1.
2.
3.
4.
5.
6.
7.
Cada una de estas fases se unen entre s para llevar a cabo diversas funciones, pero
en si estas funciones son para sacar adelante un proyecto de software de manera
rpida, y trabajando en equipo, para que en un futuro, obtengamos un software
eficiente.
El Desarrollo adaptativo del software (ASD) proporciona un marco para el desarrollo
iterativo de sistemas grandes y complejos. El mtodo fomenta el desarrollo iterativo
e incremental con el uso de prototipos.
Actividades
Codificar: Es necesario codificar y plasmar nuestras ideas a travs del cdigo
Hacer pruebas: Las caractersticas del software que no pueden ser demostradas
mediante pruebas simplemente no existen. Las pruebas dan la oportunidad de saber
si lo implementado es lo que en realidad se tena en mente.
25
4.4.
Artefactos
4.4.1. RUP
26
4.4.2. SCRUM
4.4.3. XP
27
4.4.4. AUP
28
4.4.6. 3P
5.2.
Descripcin
29
Componentes:
Smbolos grficos: Son los iconos y convenciones para identificar y describir los
componentes de un sistema y las relaciones entre estos.
Diseo estructurado:
El diseo estructurado es una tcnica especfica que busca crear programas formados
por mdulos independientes unos de otros desde el punto de vista funcional y no
mostrar la lgica de los programas.
La herramienta fundamental del diseo estructurado es el diagrama estructurado, el
cual describe la interaccin entre mdulos independientes junto con los datos que un
mdulo pasa a otro cuando interacciona con l.
5.2.2. ENFOQUE ORIENTADO A OBJETOS
finales, as como las propias de los desarrolladores de productos software. Estas tareas
se realizan mediante la modelizacin del mundo real. El soporte fundamental es el
modelo objeto.
El anlisis orientado a objetos y su diseo se enfoca en los objetos. Los objetos tienen
ciertos comportamientos y atributos que determinan la manera en que interactan y
funcionan. No se intenta proporcionar un orden para las acciones al momento del
diseo debido a que los objetos funcionan basados en la manera en que funcionan
otros objetos.
31
Una mayor facilidad para razonar sobre las materias, ya que estn separadas y tienen
dependencia mnima.
Se tiene un cdigo reusable y que se puede acoplar y desacoplar cuando sea necesario.
Fundamentos de la POA:
Para que ambos (aspectos y componentes) se puedan mezclar, deben tener algunos
puntos comunes, que son los que se conocen como puntos de enlace, y debe haber
algn modo de mezclarlo.
32
Beneficios:
Reducir el riesgo: Menos servicios reutilizables brindan mayor control sobre las
polticas gubernamentales de IT y corporativas, y reducen el riesgo general
relacionado con el cumplimiento.
poco rgida para dar soporte a los requisitos de los negocios altamente competitivos
de hoy en da.
Las soluciones para SOA de Telelogic permiten a los gestores visualizar la solucin
empresarial completa y controlar el desarrollo de servicios SOA. Se ofrece al negocio
y a las TI un workflow SOA, que abarca desde la planificacin empresarial y
arquitectnica hasta el desarrollo de nuevos servicios. Se ha creado una base que
permite a los usuarios empresariales definir las estrategias y los requisitos necesarios
para garantizar en mayor medida que los servicios SOA satisfagan sus necesidades.
Con las soluciones para SOA de Telelogic, puede alinear la estrategia de TI con sus
objetivos empresariales y controlar el desarrollo, la implementacin y el
mantenimiento de aplicaciones basadas en servicios.
5.3.
Nombre
Diseo
Construccin
Pruebas
Gestin de la configuracin
Gestin de la ingeniera
Proceso de ingeniera
Herramientas y mtodos
Calidad
34
6.2.
Descripcin de rea
6.2.1. DISEO
El proceso de diseo de software consiste en analizar requisitos con el fin de
producir una descripcin de la estructura interna del software que sirva como base
para su construccin.
Un diseo software (resultado) debe describir:
6.2.2. CONSTRUCCIN
Se refiere a la creacin detallada de software mediante la combinacin de
codificacin, verificacin, pruebas unitarias, pruebas de integracin y depuracin.
6.2.3. PRUEBAS
Sirve para evaluar la calidad de un producto de software o para mejorarlo, mediante
la identificacin de sus defectos y problemas.
Consiste en la verificacin dinmica del comportamiento real de un programa frente
al comportamiento esperado, parte un conjunto finito de casos de prueba.
Gestin de proyectos
Medicin
6.2.8. CALIDAD
En esta rea se abordan las tcnicas estticas para alcanzar la calidad del software.
Aseguramiento de la calidad.
Verificacin y validacin
Auditora
36
EL PRODUCTO
Muchas veces cuando un cliente pide que le construyan una solucin, siempre pregunta
cunto me va a costar? Pues bien, todo producto requiere estimaciones cuantitativas y
una adecuada planificacin. Una adecuada recoleccin de informacin y un anlisis
detallado de los requerimientos proporciona la informacin necesaria para dar una
estimacin del costo del producto. Antes de planear un proyecto, se debe establecer los
objetivos y el alcance que tendr el proyecto, adems de sus restricciones tcnicas y de
gestin. Con una buena planificacin se puede estimar el tiempo que tomar desarrollar
o construir el producto y redimensionar el valor cuantitativo del producto.
EL PROCESO
El proceso del software proporciona un marco de trabajo desde el cual se puede establecer
un plan detallado para la construccin del software. Todas las actividades del marco de
trabajo se las pueden aplicar a la mayora de proyectos de software, sino es a todos. El
equipo de desarrollo debe elegir el proceso adecuado y que le permita obtener una
solucin o producto que satisfaga las necesidades o requerimientos del cliente.
EL PROYECTO
Cuando se gestiona un proyecto exitoso, es necesario entender que este puede llegar a
fracasar. Segn John Reel, existen 10 razones por las cuales un proyecto puede fracasar:
1. El personal de software no entiende las necesidades de los clientes.
37
8. Conclusiones
En el desarrollo del trabajo investigativo se pudo concluir, que se entendieron diferentes
metodologas y conceptos tales como:
Disear aplicaciones informticas que se ajusten a las necesidades de las
organizaciones.
Dirigir y coordinar el desarrollo de aplicaciones complejas.
Intervenir en todas las fases del ciclo de vida de un producto.
Estimar los costes de un proyecto y determinar los tiempos de desarrollo.
Hacer el seguimiento de costes y plazos.
Dirigir equipos de trabajo de desarrollo software.
Organizar la realizacin de pruebas que verifiquen el correcto funcionamiento de los
programas y que se ajustan a los requisitos de anlisis y diseo.
Disear, construir y administrar bases de datos.
Dirigir y asesorar a los programadores durante el desarrollo de aplicaciones.
Introducir procedimientos de calidad en los sistemas, evaluando mtricas e
indicadores y controlando la calidad del software producido.
9. Bibliografa
38
http://helisulbaransistemas.blogspot.com.co/2014/09/paradigmas-en-el-desarrollode-software.html
http://www.angelfire.com/scifi/jzavalar/apuntes/IngSoftware.html
http://www.etsisi.upm.es/estudios/grados/software/objetivos
http://www.buenastareas.com/ensayos/Metodologia-3P/5885628.html
http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm
https://procesosdesoftware.wikispaces.com/METODOLOGIAS+PARA+DESARR
OLLO+DE+SOFTWARE
http://www.monografias.com/trabajos60/metodologias-desarrollosoftware/metodologias-desarrollo-software.shtml
http://ingenieriasoftbejarano.blogspot.com.co/2012/10/caracteristicas-y-tipos-desoftware.html
http://www.academia.edu/5767578/INGENIER%C3%8DA_DEL_SOFTWARE_I_
Tema_1_Tema_1_Introducci%C3%B3n_a_la_Ingenier%C3%ADa_del_Software
http://arelyescobar.bligoo.com.mx/paradigmas-de-la-ingenieria-de-software
https://sites.google.com/site/paradigmasdelais/4-1-el-enfoque-estructurado
http://es.slideshare.net/carlossing/paradigmas-de-la-programacion-202983
39