Sie sind auf Seite 1von 26

INGENIERÍA INFORMATICA

DESARROLLO DE SOFTWARE
TEMA MODELOS DE DESARROLLO
TEMA ESTANDARES DE CALIDAD
TEMA PLANIFICACIÓN DE UN PROYECTO DE SOFTWARE

“Toda la actividad humana es un proceso,


pero cada uno de nosotros obtiene un
sentido de beneficio propio gracias a aquellas
actividades que dan como resultado una
representación o instancia que puede usar
o apreciar más de una persona, utilizarla
una y otra vez, o emplearla en
algún otro contexto no considerado. Es decir,
obtenemos sentimientos de satisfacción por
la reutilización de nuestros productos,
ya sea que lo hagamos nosotros u otras personas”[2]

“Venimos de la era análoga a la


era digital e iniciamos
la era de la IA”[7]

Objetivo General:

 Fortalecer los conceptos de los procesos de desarrollo de software, en cuanto a


estándares, modelos y planificación.

Objetivos específicos:

 Aportar al estudiante los conceptos de estándares de calidad del software.

 Fundamentar al estudiante en los modelos de desarrollo de software.

 Lograr que el estudiante planifique un proyecto de software.

Herramientas:

Internet.

Problemática:

El estudiante proyectado a la vida de laboral se encuentra enfrentado en diferentes


momentos a liderar proyectos de solución de software, para ello debe tener la
fundamentación técnica clara de ingeniería de software.

Es por ello que a continuación de presentan la conceptualización de algunos métodos de


desarrollo.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
MODELO DE PROCESO: Obtenido de [1][2][3][4][5].

Colección de actividades de trabajo, acciones y tareas que se realizan cuando va a


crearse un producto.

En la siguiente figura se muestra el proceso de software, cada actividad estructural


está formada por un conjunto de acciones de ingeniería y cada una de ellas se encuentra
definida por un conjunto de tareas, los productos, los puntos de aseguramiento de la
calidad y los puntos de referencia que se utilizan para evaluar el avance.

Nota: Actividad -> Acciones -> Tareas -> Productos

Quien lo realiza:

- Los ingenieros de software y sus gerentes junto con los usuarios.

Es importante porque:

- Da estabilidad al proceso, este debe ser agil.

Pasos:

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
- De acuerdo al proyecto se debe planificar el proceso. El mismo proceso no
es el mismo para proyectos diferentes.

Producto final:

- Programas.

- Documentos.

- Datos que se producen durante el proceso.

Como asegurar que se hace bien:

- Calidad, oportunidad y viabilidad a largo plazo del producto que se


construye.

Flujo del proceso:

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Actividad:

¿qué acciones son apropiadas para una actividad estructural, dados la naturaleza del
problema por resolver, las características de las personas que hacen el trabajo y los
participantes que patrocinan el proyecto?

Proyecto sencillo (Acciones):

- Hacer contacto con el cliente

- Analizar los requerimientos, tomar notas.

- Organizar las notas, en un formulario breve de requerimientos.

- Acta para aprobación de requerimientos.

Proyecto complejo:

- Concepción

- Indagación

- Elaboración

- Negociación

- Especificación y

- Validación

Tareas:

- Es el trabajo real que hay que hacer a fin de cumplir cada acción.

- Conjunto de tareas, proyecto básico:

o Elaborar la lista de participantes del proyecto.

o Invitar a todos los participantes a una reunión informal.

o Pedir a cada participante que haga una relación de las características


y funciones que requiere.

o Analizar los requerimientos y construir la lista definitiva.

o Ordenar los requerimientos según su prioridad.

o Identificar las áreas de incertidumbre.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
- Conjunto de tareas, proyecto complejo (hy):

o Hacer la lista de participantes del proyecto.

o Entrevistar a cada participante por separado a fin de determinar los


deseos y necesidades generales.

o Formar la lista preliminar de las funciones y características con base


en las aportaciones del participante.

o Programar una serie de reuniones para facilitar la elaboración de las


especificaciones de la aplicación.

o Celebrar las reuniones.

o Producir en cada reunión escenarios informales de usuario.

o Afinar los escenarios del usuario con base en la retroalimentación de


los participantes.

o Formar una lista revisada de los requerimientos de los participantes.

o Usar técnicas de despliegue de la función de calidad para asignar


prioridades a los requerimientos.

o Agrupar los requerimientos de modo que puedan entregarse en forma


paulatina y creciente.

o Resaltar las limitantes y restricciones que se introducirán al sistema.

o Analizar métodos para validar el sistema.

Productos:

Patrón describe soluciones fáciles para dichos problemas, en el contexto del proceso
de software.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Ejemplo de un patrón:

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Evaluación y mejora del proceso:

1. Método de evaluación del estándar CMMI para el proceso de mejora (SCAMPI, por sus
siglas en inglés): proporciona un modelo de cinco fases para evaluar el proceso:
inicio, diagnóstico, establecimiento, actuación y aprendizaje, este método emplea
el SEI CMMI como la base de la evaluación.

2. Evaluación basada en CMM para la mejora del proceso interno (CBA IPI, por sus siglas
en inglés): proporciona una técnica de diagnóstico para evaluar la madurez relativa
de una organización de software; usa el SEI CMM como la base de la evaluación.

3. SPICE (ISO/IEC 15504): estándar que define un conjunto de requerimientos para la


evaluación del proceso del software. El objetivo del estándar es ayudar a las
organizaciones a desarrollar una evaluación objetiva de cualquier proceso del
software definido.

4. ISO9001:2000 para software: estándar genérico que se aplica a cualquier organización


que desee mejorar la calidad general de los productos, sistemas o servicios que
proporciona. Por tanto, el estándar es directamente aplicable a las organizaciones
y compañías de software.

Nota: si los procesos están bien, los resultados cuidarán de si mismos (Takashi Osada).

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
2. MODELOS DE DESARROLLO, modelos prescriptivos:

2.1. Modelo de cascada

MMM (Etapas: Inicial, Repetible, Definido, gestionado, optimizado)

Variante del modelo en cascada, modelo en V:

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
2.2 Modelo Incremental:

2.2.3 Modelo de proceso evolutivo

2.2.3.1 Prototipos:

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
2.2.3.2 Espiral

2.2.4 Modelos Concurrentes

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
3. MODELOS DE DESARROLLO, modelos especializados:

3.1 Desarrollo basado en componentes

 Brindan funcionalidades específicas.

 Permite que el componente se integre con otros.

 Es de naturaleza evolutiva.

 Demandan un desarrollo iterativo.

 Se construye el componente a partir de software prefabricado.

 Inicia con la identificación de candidatos de componentes.

 Se construyen como módulos o clases.

 El software es de cualquier tecnología.

Las siguientes etapas:

1. Se investigan y evalúan, para el tipo de aplicación de que se trate, productos


disponibles basados en componentes.

2. Se consideran los aspectos de integración de los componentes.

3. Se diseña una arquitectura del software para que reciba los componentes.

4. Se integran los componentes en la arquitectura.

5. Se efectúan pruebas exhaustivas para asegurar la funcionalidad apropiada.

3.2 El modelo de métodos formales

 Agrupa especificación matemática.

 Usan notación matemática rigurosa.

 Lo ambiguo, inconsistente se descubre y se corrige con facilidad.

 El análisis matemático se utiliza para detectarlos.

Características:

• El desarrollo de modelos formales consume mucho tiempo y es caro.

• Debido a que pocos desarrolladores de software tienen la formación necesaria


para aplicar métodos formales, se requiere mucha capacitación.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
• Es difícil utilizar los modelos como mecanismo de comunicación para clientes
sin complejidad técnica.

3.3 Desarrollo de software orientado a aspectos

 Las características se modelan como componentes.

 Implementan de manera invariante un conjunto de características funciones y


contenidos de información.

 Las propiedades de seguridad y tolerancia pueden ser orientadas a aspectos.

 Otras afectan a las reglas del negocio.

 Otras a sincronización de tareas o administración de memoria.

 Los requerimientos de aspecto se preocupa por las preocupaciones globales.

 Proporciona un proceso y enfoque para definir, especificar, diseñar y construir


aspectos. Mecanismos más allá de las subrutinas y herencia.

3.4 El proceso Unificado UML

 Fase de concepción.

 La fase de elaboración.

 Fase de construcción.

 Fase de transición.

 Fase de producción.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Diagramas

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera
PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera
PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Diagrama de actividades

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Diagrama de Colaboraciones

Diagrama de distribución

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
3.5 Modelos del proceso personal y del equipo (PPS)

- Planeación
- Diseño de alto nivel (especificaciones externas de cada componente),
prototipo.
- Revisión del diseño de alto nivel (métodos de verificación formal).
- Desarrollo.
- Post mórtem (Mediciones de datos).

3.6. Proceso del equipo de software (PES)

Características:

- Formar equipos autodirigidos que planeen y den seguimiento a su trabajo, que


establezcan metas y que sean dueños de sus procesos y planes. Éstos pueden ser
equipos de software puros o de productos integrados (EPI) constituidos por 3
a 20 ingenieros.
- Mostrar a los gerentes cómo dirigir y motivar a sus equipos y cómo ayudarlos
a mantener un rendimiento máximo.
- Acelerar la mejora del proceso del software, haciendo del modelo de madurez
de la capacidad, CMM (modelo de madurez de la capacidad) nivel 5, el
comportamiento normal y esperado.
- Brindar a las organizaciones muy maduras una guía para la mejora.
- Facilitar la enseñanza universitaria de aptitudes de equipo con grado
industrial.
- El equipo tiene la capacidad de comprensión de sus metas y objetivos generales.
- Define el papel y la responsabilidad de cada miembro del equipo.
- Da seguimiento cuantitativo a los datos del proyecto (productividad y calidad).
- Identifica un proceso de equipo que sea apropiado para el proyecto y una
estrategia para implementarlo.
- Define estándares locales aplicables al trabajo de ingeniería de software del
equipo.
- Evalúa en forma continua el riesgo y reacciona en consecuencia y da
seguimiento, administra y reporta el estado del proyecto.

Etapas:
- Inicio del proyecto.
- Diseño de alto nivel.
- Implementación
- Integración.
- Pruebas.
- Post mórtem.

3.7 Herramientas tecnológicas del proceso de software.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
4. MODELOS DE DESARROLLO, Desarrollo ágil:

5. Costos de acuerdo al método de desarrollo

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Principios de agilidad:

1. La prioridad más alta es satisfacer al cliente a través de la entrega pronta y


continua de software valioso.
2. Son bienvenidos los requerimientos cambiantes, aun en una etapa avanzada del
desarrollo. Los procesos ágiles dominan el cambio para provecho de la ventaja
competitiva del cliente.
3. Entregar con frecuencia software que función, de dos semanas a un par de meses,
de preferencia lo más pronto que se pueda.
4. Las personas de negocios y los desarrolladores deben trabajar juntos, a diario y
durante todo el proyecto.
5. Hay que desarrollar los proyectos con individuos motivados. Deben darse a estos
el ambiente y el apoyo que necesiten y confiar en que harán el trabajo.
6. El método más eficiente y eficaz para transmitir información a los integrantes
de un equipo de desarrollo, y entre estos, es la conversación cara a cara.
7. Las medidas principales del avance es el software que funciona.
8. Los procesos ágiles promueven el desarrollo sostenible. Los patrocinadores,
desarrolladores y usuarios deben poder mantener un ritmo constante en forma
indefinida.
9. La atención continua a la excelencia técnica y el buen diseño mejora la agilidad.
10. Es esencial la simplicidad: El arte de maximizar la cantidad de trabajo no
realizado.
11. Las mejores arquitecturas, requerimientos y diseños surgen de los equipos con
organización propia.
12. El equipo reflexiona a intervalos regulares sobre cómo ser más eficaz, para
después afinar y ajustar su comportamiento en consecuencia.

Los factores humanos se centran en los talentos y habilidades del individuo, adapta el
proceso a personas y equipos específicos.

Características del equipo:

 Competencia
 Enfoque común
 Colaboración
 Habilidad para tomar decisiones
 Capacidad para resolver problemas difusos
 Confianza y respeto mutuos
 Organización propia.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
6. MODELOS DE DESARROLLO, Programación Extrema (XP):

Valores XP:

 Comunicación
 Simplicidad
 Retroalimentación
 Valentia
 Respeto

Esto focaliza actividades, acciones y tareas específicas de xp.

El proceso:

- Planificación de procesos. Los clientes y desarrolladores trabajan juntos.


Desarrollo incremental. Se ordenan: Todas las historias se implementan de
inmediato (pocas semanas), Las historias con más valor entrarán a la
programación de actividades y se implementaran en primer lugar, las historias
más riesgosas formarán parte de la programación de actividades y se
implementarán primero.

La primera entrega mide la velocidad del proyecto, esto es: el número de


historias de los clientes implementadas durante la primera entrega determina
la velocidad.

La velocidad se usa para:

o Estimar fechas de entrega, programar actividades para entregas


posteriores.
o Determinar si se ha hecho un gran compromiso para todas las historias
durante todo el desarrollo del proyecto.
o A medida que avanza el proyecto se agregan historias, se cambia el valor
de una existente, se descompone o elimina. El equipo Xp estima entregas
faltantes y modifica sus planes en consecuencia.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
- Diseño: Principio: Mantenlo sencillo.

o El diseño sencillo se prefiere sobre el complejo.


o El diseño guía la implementación de una historia, conforme se escribe
(nada más ni nada menos).
o XP estimula pensar el software como orientado a objetos (Clase-
responsabilidad-colaborador).
o XP recomienda un prototipo inmediato del diseño (llamado solución de
punta).
o Se implementa y evalúa el diseño.
o El prototipo disminuye el riesgo, cuando inicie la implementación
verdadera y valida las estimaciones originales para la historia que
contiene el problema de diseño.
o XP estimula el rediseño (no modifica el comportamiento externo del
software).
o El concepto central es que el diseño se hace de manera continua conforme
se construye el sistema. Rediseñar significa que el diseño se hace de
manera continua conforme se construye el sistema.

- Codificación:
o Después de que las historias han sido desarrolladas, y de que se ha
hecho el trabajo de diseño preliminar, el equipo no inicia la
codificación, sino que desarrolla una serie de pruebas unitarias a cada
una de las historias (desarrollo incremental). Tan pronto se termine la
codificación se realiza la prueba unitaria.
o Programación por parejas (tiempo de codificación): Se recomienda en
crear código por parejas en una máquina para una historia. Solución en
tiempo real.
o Programación por parejas (dos cabezas piensan más que una.. ???), esto
para el aseguramiento de la calidad en tiempo real.
o Concentra a los desarrolladores en la solución del problema.
o Cada persona (en pareja), adopta un papel diferente.
o A medida qwue se termina una su trabajo (de la pareja) se integra al
grupo.
o La pareja asegura los estándares de codificación.
o Se realizan pruebas de humo que descubre a tiempo los errores.

- Pruebas: Uso de sistemas de automatización para las pruebas. Esto garantiza


las pruebas de regresión.

7. MODELOS DE DESARROLLO, IAAS (Inteligencia Artificial como Servicio):

Características y preguntas de los desafíos[6]:

 Como integrar la tecnología cloud a los dispositivos móviles.


 Como aplicar los conocimientos de inteligencia artificial, el hardware y
software móvil a nuestro bienestar.
 Nuevos algoritmos de inteligencia artificial.
 No es suficiente los servicios en la nube si tiene los mismos servicios web o
software de servicios (Saas).
 Es importante que la nube proporcione servicios de valor agregado (VAS). Muchos
más potentes que los actuales y mucho más escalabres que los modelos
tradicionales.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
 El conocimiento es una función de la información y del contexto (La economía
del conocimiento no genera valor por medio de su transformación). Crea valor
añadido de los productos y servicios.
 La información son datos procesados con una utilidad general. Mientras que el
conocimiento significa formas, métodos y maneras de abordar y resolver problemas
(Know-how, Know Who) o herramientas o medios de producción para producir a su
vez, o más conocimiento o productos o servicios con valor añadido, útil y
cuantificable para la sociedad cada uno en un contexto definido y cambiante por
definición inestable..
 La nueva base material aplicada a la producción está constituida por la
computadora electrónico digital, que ha reconfigurado las relaciones sociales y
de producción, distribución e intercambio en el mundo.
 El incremento de conocimiento no conlleva necesariamente al incremento de la
inteligencia.
 Definir que es la inteligencia.
 La IA lleva rindiendo por debajo de sus posibilidades, Ya que a los ordenadores
les queda increíblemente difícil hacer cosas que a todos los seres humanos les
parecen fáciles, como entender palabras normales y corrientes o reconocer objetos
diferentes en una foto. (Últimamente… han derribado las barreras y no porque
hayamos aprendido a reproducir el entendimiento humano).
 Los ordenadores pueden ofrecer hoy en día resultados aparentemente inteligentes,
buscando patrones en bases de datos (search engines, big data, patter recognition,
crawlers)[Krugman].

Según []

Introducción al concepto de inteligencia:

Según [8] en [1]:

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Las características de un sistema de agentes de software móvil según el estándar FIPA
son:

Autonomía: La autonomía es una de las características más importantes de concepto de


agente. El software tradicional suele ejecutarse en entornos interactivos de tal forma
que responde a órdenes directas del usuario…”. La idea de los agentes consiste en
crear programas informáticos que tengan una serie de objetivos y posean unos
conocimientos del mundo, sean capaces de aproximarse lo más posible a sus objetivos
sin necesidad de que ningún usuario los guie paso a paso hacia ellos.

Sociabilidad:

Cuando se habla de agente no se suele pensar en una única entidad que se ejecuta de
forma aislada. Más bien se piensa en sistemas complejos (multi-agnte) en los que una
serie de agentes colaboran entre sí para llevar a cabo una tarea. Este modelo denominado
tradicionalmente como divide y vencerás presupone que los agentes son capaces de
interactuar entre si y al mismo tiempo, hacerlo con entidades externas al propio sistema
como es el caso del usuario.

Reactividad:

A pesar de su autonomía, un agente debe ser capaz de percibir estímulos externos tanto
para actuar de acuerdo a su entorno cambiante como para poder conocer en todo momento
cómo es el mundo que lo rodea. Es decir, que el agente debe tener estímulos y actuar
de acuerdo con ellos. Estos estímulos afectarán a las acciones realizadas por él para
alcanzar sus objetivos.

Pro-actividad:

Es una de las consecuencias de la autonomía de un agente. Este es capaz de elegir, en


cada momento, cuáles son las acciones a realizar para alcanzar sus objetivos. Es decir,
un agente no solo actúa en función de los objetivos que recibe desde el exterior, sino
que puede ejecutar acciones como resultado de sus propias decisiones.

Inteligencia:

Un agente es inteligente si es racional, coherente, adaptable y móvil, en mayor o menor


medida. Podemos decir que será más inteligente cuanto más desarrolladas tenga estas
características.

1. Racional: La racionalidad es una característica propia del ser humano. Un


agente se considera racional cuando tiene conocimientos de su entorno,
objetivos deseables y reglas que determinan cómo alcanzar los objetivos a
partir del conocimiento que se tiene del medio.

Estas características le permite a un agente tomas decisiones sin la


intervención humana. De momento en problemas muy simples, se está modelando
la racionalidad propia del hombre.

2. Coherencia: El conocimiento que un agente tiene de su mundo se almacena en una


base de datos de conocimiento interna al propio agente. Todo este conocimiento
debe guardar un alto grado de coherencia para que el comportamiento del agente
sea el esperado.

3. Adaptabilidad: El aprendizaje o adaptabilidad es una de las características


más complejas que se le puede pedir a una entidad de software inteligente. Un
Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera
PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
agente aprende cuando es capaz de aumentar su base de conocimiento y su base
de reglas a partir de las percepciones que recibe del entorno y de sus
comportamientos anteriores a la hora de resolver problemas.

Esta es una característica bastante deseable debido a que el entorno de un


agente suele ser dinámico en el tiempo y es necesario que se adapte al mismo.

4. Movilidad: Esta es una característica opcional que pueden poseer los agentes.
Un agente móvil es aquel que se puede mover físicamente por los nodos de una
red para llevar a cabo sus tareas. El objetivo de la movilidad puede ser una
mejor distribución de la carga de procesamiento, una mejor repartición de
recursos, o una lógica distribuida.

Según [6]: Aplicar el adjetivo inteligente a un sistema, éste debe poseer varias
características, tales como la capacidad de razonar, planear, resolver problemas,
pensar de manera abstracta, comprender ideas y lenguajes, y aprender.

Según [7]:

Estas temáticas plantean grandes retos para el desarrollo de software por componentes
que integren elementos de inteligencia artificial. Para ello se requiere:

 Hacer algoritmos que corran localmente o por lo menos a bajo costo.


 El movimiento de los robots con inteligencia requiere que se optimice su
rendimiento y costo.
 Como hacer el reconocimiento de objetos con el simple aprendizaje de ellos y que
requieran bajos costos en almacenamiento, proceso y precisión en su respuesta.
 Venimos de la era análoga a la era digital e iniciamos la era de la IA.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN
Referencias:

[1] Martinez, Crisman. Agentes de software móviles. (2001). Agentes de software móviles.

[2] Pressman, Roger. (2010). Ingeniería de Software. Url:


http://cotana.informatica.edu.bo/downloads/ld-
Ingenieria.de.software.enfoque.practico.7ed.Pressman.PDF. Consultado en Octubre 24 de
2018.

[3] Gradecki Joseph D. (2003). Aspcet Oriented Programming in Java. URL:


https://doc.lagout.org/programmation/Java/Mastering%20AspectJ_%20Aspect-
Oriented%20Programming%20in%20Java%20%5BGradecki%20%26%20Lesiecki%202003-03-
07%5D.pdf. Consultado en Octubre de 2018.

[4] Proceso Unificado de Software (UML).


http://www.teatroabadia.com/es/uploads/documentos/iagramas_del_uml.pdf. Consultado en
Octubre de 2018.

[5] Modelo de capacidad y madurez o CMM.


https://www.globales.es/imagen/internet/Informaci%C3%B3n%20General%20CMMI.pdf.
Consultado en octubre de 2018.

[7] Martinez Barrera, Crisman. (2018). Notas de clase.

[6] Knowdle. La nube inteligente bioinspirada y la inteligencia colectiva.


<http://www.knowdle.com/wp-
content/uploads/2014/05/KnowdleInside.WeBioCloud.v.1.4.pdf>. Consultado en marzo 21 de
2019.

[8] The foundation for Intelligent Physical Agents (FIPA Specification). Standards
committee of the IEEE Computer Society. Consultado en Marzo 21 de 2019.
<http://www.fipa.org>.

[9] Ramos Sandoval, Olga Lucía. Arquitectura algorítmica para el reconocimiento de


patrones fonéticos del habla sub-vocal en el españo. (2016). pg. 81. <
http://repository.udistrital.edu.co/bitstream/11349/4473/1/RamosSandovalOlgaLuc%C3%AD
a2016.pdf>. Consultado en marzo 21 de 2019.

[10]Gartner Says Worldwide Public Cloud Services Market to Grow 18 percent in 2017.
(2017). <https://www.gartner.com/en/newsroom/press-releases/2017-02-22-gartner-says-
worldwide-public-cloud-services-market-to-grow-18-percent-in-2017>. Consultado en
abril 22 de 2019.

Material Elaborado por Ingeniero Magíster Crisman Martinez Barrera


PROHIBIDO SU USO Y REPRODUCCIÓN SIN AUTORIZACIÓN