clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · web viewentiende la...

24
CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN” GUIA DE APRENDIZAJE Nº 1 PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3 MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 1 y 2 DOCENTE: Eliana Hernández Gutiérrez FECHA: OBJETIVO: Define y construye interfaz humana desde la lógica del análisis, teniendo en cuenta las normas y lineamientos de diseño de sistemas de información. EXPLORACIÓN DE CONOCIMIENTOS PREVIOS COMPETENCIAS INDICADORES DE DESEMPEÑO ¿Qué es un estándar? ¿Qué lineamientos de diseño de software conoces? Se anotaran las respuestas. Identifica una variedad de interfaces de usuario y sus usos apropiados. Diseña un diálogo eficaz para la comunicación humano- computadora. Entiende la importancia del uso de los diferentes tipos de retroalimentaci ón del usuario de sistemas de información. Integra las consideraciones de diseño especiales para Establece semejanzas y diferencias entre los distintos tipos de interfaces. Crea un diseño de interfaz teniendo en cuenta los diferentes tipos de interfaz. Diseña consultas que pueden ser consultadas desde la web. Expresa sus opiniones con respeto y escucha con atención a los demás.

Upload: vuthu

Post on 28-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

º CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 1

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 1 y 2DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Define y construye interfaz humana desde la lógica del análisis, teniendo en cuenta las normas y lineamientos de diseño de sistemas de información.

EXPLORACIÓN DE CONOCIMIENTOS PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿Qué es un estándar?¿Qué lineamientos de diseño de software conoces?Se anotaran las respuestas.

Identifica una variedad de interfaces de usuario y sus usos apropiados.

Diseña un diálogo eficaz para la comunicación humano-computadora.

Entiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas de información.

Integra las consideraciones de diseño especiales para los sitios Web de comercio electrónico.

Formula consultas que permitan a los usuarios hacer búsquedas en la Web.

Establece semejanzas y diferencias entre los distintos tipos de interfaces.

Crea un diseño de interfaz teniendo en cuenta los diferentes tipos de interfaz.

Diseña consultas que pueden ser consultadas desde la web.

Expresa sus opiniones con respeto y escucha con atención a los demás.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

Diseño de interfaces de usuario.- Tipos de

interfaces.

En clases: Socialización

de syllabus de la asignatura.

Estructuración

Texto: “Análisis y diseño de Sistemas” Kendall y

Claridad y coherencia al exponer ideas.

Responsabilidad en la entrega de

Page 2: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

- Menús.- Lineamientos

para el diseño de diálogos.

- Consideraciones especiales para el diseño web.

conceptos básicos de diseño de interfaces.

Lectura grupal: Oportunidad de Consultoría 14.1 – 14.3 (pág. 501) Kendall y Kendall.

Responder preguntas al final de cada lectura.

Socialización de respuestas.

Trabajo independiente: Realizar una

tabla comparativa de los diferentes tipos de interfaces, señalando semejanzas y diferencias de cada una.

Presentar trabajo escrito teniendo en cuenta la estructura recomendada.

Kendall. trabajos y tareas asignadas.

Asistencia a clases.

Participación en clases.

Sustentación de ideas con fundamentación teórica.

RECURSOS BIBLIOGRÁFICOS:

Análisis y diseño de Sistemas. Kendall y Kendall. 6º edición. Ed. Prentice Hall. Análisis y diseño de sistemas de información. James Senn. 2º edición. Ed. Mc Graw

Hill.

Page 3: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 2

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 3 DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Diagrama sistemas con el conjunto de herramientas de UML con el fin de que se puedan describir y diseñar apropiadamente mediante diagramas de casos de uso.

EXPLORACIÓN DE CONOCIMIENTOS PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿Qué es un caso de uso?¿Qué elementos crees que se deben tener en cuenta al momento de construir un diagrama de casos de uso?Se anotaran las respuestas.

Comprende los conceptos del lenguaje unificado de modelación (UML).

Utiliza correctamente la notación para describir un diagrama de casos de uso.

Aplica los pasos usados en UML para dividir el sistema en un diagrama de casos de uso.

Diseña a partir de un problema planteado, las entradas, salidas y actores que inciden en el sistema de información.

Utiliza las notaciones de diagramas de casos de uso, de acuerdo a su funcionalidad.

Crea diagrama de casos de uso de su proyecto grupal.

Expresa sus opiniones con respeto y escucha con atención a los demás.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

- Diseño casos de uso, patrones y objetos.

En clases: Socialización de

trabajo independiente

Estructuración conceptos

Texto: “UML y patrones” Craig Larman.

Claridad y coherencia al exponer ideas.

Responsabilidad en la entrega de trabajos y tareas

Page 4: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

básicos de diseño de casos de uso.

Ejercicios paso a paso:Creación de DCU.

Oportunidad de Consultoría 18.1: “Haciendo la bobina mágica” pág. 661 libro: Análisis y diseño de Kendall y Kendall.

Responder preguntas al final de la lectura.

Socialización de respuestas.

Trabajo independiente: Realizar

diagrama de casos de uso de su proyecto grupal.

Presentar trabajo escrito teniendo en cuenta la estructura recomendada.

asignadas. Asistencia a

clases. Participación en

clases. Sustentación de

ideas con fundamentación teórica.

RECURSOS BIBLIOGRÁFICOS:

UML y patrones” Craig Larman. Análisis y diseño de Sistemas. Kendall y Kendall. 6º edición. Ed. Prentice Hall.

Page 5: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 3

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 4, 5 y 6. DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Selecciona el lenguaje adecuado para implementar un sistema de información, teniendo en cuenta los estándares aplicables y aplicando las pruebas de rigor en el desarrollo de software.

EXPLORACIÓN DE CONOCIMIENTOS PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿De qué forma seleccionas el lenguaje en el que desarrollas un sistema de información?¿Cómo puedes reutilizar un software?

Se anotaran las respuestas.

Implementa diferentes sistemas distribuidos.

Diseña programas de capacitación adecuados para los usuarios del nuevo sistema.

Reconoce las diferencias entre las estrategias de conversión física y recomienda la más apropiada a cada cliente.

Soluciona las preocupaciones de seguridad para los sistemas tradicionales y los basados en Web.

Entiende la importancia de evaluar el nuevo sistema y recomienda la técnica de evaluación más conveniente a cada cliente.

Crea un sistema de información teniendo en cuenta los diferentes tipos de sistemas distribuidos.

Estructura un plan de capacitación para los nuevos usuarios del software creado.

Evalúa el sistema de información creado y reconoce las diferentes técnicas de evaluación de acuerdo a las necesidades del cliente.

Expresa sus opiniones con respeto y escucha con atención a los demás.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

Implementación: - Elección

lenguaje.

En clases: Socialización

trabajo

Texto: “Análisis y diseño de Sistemas”.

Claridad y coherencia al exponer ideas.

Page 6: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

- Mejores prácticas.

- Estándares.- Reutilización.- Capacitación de

usuarios.- Técnicas

evaluación.

independiente. Estructuración

conceptos básicos de implementación de software.

Lectura grupal: Oportunidad de Consultoría 17.1 (pág. 635) Kendall y Kendall.

Responder preguntas al final de la lectura.

Socialización de respuestas.

Primer parcial.Trabajo independiente: Estructurar un

plan de capacitación, teniendo en cuenta el proyecto grupal desarrollado.

Socialización y revisión próximo encuentro.

Kendall y Kendall

Responsabilidad en la entrega de trabajos y tareas asignadas.

Asistencia a clases.

Participación en clases.

Sustentación de ideas con fundamentación teórica.

RECURSOS BIBLIOGRÁFICOS:

Análisis y diseño de Sistemas. Kendall y Kendall. 6º edición. Ed. Prentice Hall. UML y patrones” Craig Larman.

Page 7: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 4

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 7 y 8. DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Aplica pruebas a un sistema de información, teniendo en cuenta los diferentes tipos de pruebas y reconociendo la importancia que tienen en el desarrollo de software fiable y robusto.

EXPLORACIÓN DE CONOCIMIENTOS

PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿Cuál es la finalidad de realizar una prueba para un sistema de información?¿Qué tipos de prueba conoces para ser aplicados en la implementación de software?

Se anotaran las respuestas.

Identifica las diferencias entre pruebas de validación y pruebas de defectos.

Conoce con claridad las estrategias que se utilizan para generar pruebas del sistema.

Utiliza las herramientas de software que soportan la automatización de pruebas.

Aplica al sistema de información propuesto las pruebas necesarias para verificar su fiabilidad.

Diferencia los tipos de pruebas que pueden utilizarse en la verificación de un software.

Automatiza una prueba para ser aplicada a un software específico.

Expresa sus opiniones con respeto y escucha con atención a los demás.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

Pruebas del software.

En clases: Socialización

Texto: “Ingeniería

Claridad y coherencia al

Page 8: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

- Pruebas del sistema.

- Pruebas de componentes.

- Diseño y automatización de las pruebas.

trabajo independiente

Estructuración conceptos básicos de pruebas de software. Pág. 491 Libro: Ingeniería de software. Ian Sommerville

Lectura grupal: Plan de pruebas de software. (Anexo 1).

Socialización de dudas e inquietudes.Trabajo independiente:

Estructurar un plan de pruebas, teniendo en cuenta el proyecto grupal desarrollado.

Socialización y revisión próximo encuentro.

de software”. Ian Sommerville

exponer ideas. Responsabilidad

en la entrega de trabajos y tareas asignadas.

Asistencia a clases. Participación en

clases. Sustentación de

ideas con fundamentación teórica.

RECURSOS BIBLIOGRÁFICOS:

Ingeniería de software”. Ian Sommerville. 7º edición. Ed. Pearson educación. 2005. Análisis y diseño de Sistemas. Kendall y Kendall. 6º edición. Ed. Prentice Hall.

Page 9: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 5

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 9, 10 y 11. DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Aplica el proceso de gestión de calidad a un sistema de información desarrollado, teniendo en cuenta las métricas y estándares como punto de partida para determinar los atributos de calidad del software.

EXPLORACIÓN DE CONOCIMIENTOS

PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿Qué se entiende por el término: calidad?¿Cómo se garantiza la calidad de un software?

Se anotaran las respuestas.

Reconoce la importancia de la utilización de estándares en el proceso de gestión de calidad de un software.

Aplica las métricas de calidad y diferencia entre métricas de predicción y métricas de control.

Comprende las limitaciones actuales a las que se enfrenta la medición de calidad del software.

Aplica al sistema de información propuesto las métricas de medición de calidad.

Diferencia los tipos de métricas que pueden utilizarse en la gestión de calidad de un software.

Determina las limitaciones de medición de calidad que tiene el software objeto de estudio.

Expresa sus opiniones con respeto y escucha con atención a los demás.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

Page 10: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

Gestión de la calidad.- Calidad del

proceso y del producto.

- Garantía de calidad y estándares.

- Medición y métricas del software.

En clases: Socialización

trabajo independiente

Estructuración conceptos básicos de gestión de la calidad de software. Pág. 586 Libro: “Ingeniería de software”. Ian Sommerville

Responder preguntas pág. 606. (27.1 – 27.6).

Socialización de respuestas.

Segundo parcial

Trabajo independiente: Implementar

las métricas de calidad vistas en la medición de calidad del sistema de información propuesto.

Visitar al menos una empresa desarrolladora de software de la región y determinar que tipos de métricas de calidad implementan en sus productos.

Socialización y revisión

Texto: “Ingeniería de software”. Ian Sommerville

Claridad y coherencia al exponer ideas.

Responsabilidad en la entrega de trabajos y tareas asignadas.

Asistencia a clases. Participación en

clases. Sustentación de

ideas con fundamentación teórica.

Page 11: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

próximo encuentro.

RECURSOS BIBLIOGRÁFICOS:

Ingeniería de software”. Ian Sommerville. 7º edición. Ed. Pearson educación. 2005. Análisis y diseño de Sistemas. Kendall y Kendall. 6º edición. Ed. Prentice Hall.

Page 12: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 6

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 12, 13 y 14. DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Prepara un plan de capacitación y determina si es completo y tiene posibilidades de éxito o no, teniendo en cuenta los métodos de capacitación y conversión estudiados.

EXPLORACIÓN DE CONOCIMIENTOS

PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿Qué aspectos crees que se deben considerar en la fase de capacitación de los usuarios y los operadores?

Se anotaran las respuestas.

Identifica los diferentes métodos de capacitación utilizados en la ingeniería de software.

Conoce la funcionalidad de una lista de verificación y la utiliza en la capacitación inicial de un sistema de información.

Reconoce la importancia de someter a los nuevos usuarios a procesos de capacitación.

Diseña un procedimiento para la conversión de los datos y archivos ya existentes para utilizarlos en el nuevo sistema.

Delinea un plan de revisión después de la implantación.

Diferencia cada uno de los métodos de capacitación.

Realiza una lista de verificación para probar de forma inicial un sistema de información.

Realiza un plan de capacitación y determina sus fortalezas y debilidades.

Realiza la conversión de datos de un sistema antiguo a uno nuevo.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

Capacitación.- Operadores

de sistemas.- Usuarios.

En clases: Socialización

trabajo independiente

Texto: “Análisis y diseño de sistemas de

Claridad y coherencia al exponer ideas.

Responsabilidad

Page 13: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

- Métodos de capacitación.

Métodos de conversión:- Sistemas

paralelos.- Conversión

directa.- Plan de

conversión.

Estructuración conceptos básicos de capacitación de usuarios. Pág. 814 Libro: “Análisis y diseño de sistemas de información”. James Senn.

Revisión Tablas:- 15.2. Lista

de verificación de la instalación

- 15.3 preguntas para la evaluación de datos de un sistema de información

Gráfico:- 15.5

Especificaciones de la instalación eléctrica.

- Lectura: Frito- Lay: el enlace con la información

Trabajo independiente: Responder

preguntas pág. 843 (1 – 10).

Presentación trabajo escrito.

Socialización y revisión próximo encuentro.

información”. James Senn

en la entrega de trabajos y tareas asignadas.

Asistencia a clases. Participación en

clases. Sustentación de

ideas con fundamentación teórica.

Page 14: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

RECURSOS BIBLIOGRÁFICOS:

Ingeniería de software”. Ian Sommerville. 7º edición. Ed. Pearson educación. 2005. Análisis y diseño de Sistemas. Kendall y Kendall. 6º edición. Ed. Prentice Hall.

Page 15: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR “CUN”

GUIA DE APRENDIZAJE Nº 7

PROGRAMA: Ingeniería de Sistemas ASIGNATURA: Ingeniería de software 3MODALIDAD: Presencial SEMESTRE: III Tecnológico. ENCUENTRO: 15 y 16. DOCENTE: Eliana Hernández Gutiérrez FECHA:OBJETIVO: Diseñar, construir y probar un producto web, teniendo en cuenta los tipos de estructura y los patrones de diseño estudiados.

EXPLORACIÓN DE CONOCIMIENTOS

PREVIOS

COMPETENCIAS INDICADORES DE DESEMPEÑO

¿A qué crees que hace referencia el termino Ingeniería web?¿Quién desarrolla ingeniería web?¿Qué elementos tienes en cuenta apara juzgar la calidad de un sitio web?

Se anotaran las respuestas.

Identifica los patrones de diseño y los tipos de estructura web.

Diseña un sitio web según los estándares establecidos.

Construye y prueba teniendo como base el diseño creado un sitio web.

Conoce los elementos que hay que tener en cuenta en la selección de un proveedor web.

Realiza un diseño de un sitio web.

Construye un prototipo rápido web.

Prueba el contenido de un sitio web seleccionado de forma libre.

Sustenta sus ideas teniendo en cuenta las teorías revisadas.

Realiza trabajo en grupo de forma cooperativa.

CONTENIDO ACTIVIDAD RECURSO(S) DIDÁCTICO(S)

EVALUACIÓN

Diseño Web- Reglas de oro- Estructuras de

las WebApps- Desarrolladores - Gestión del

proyecto.- Selección

proveedores.

En clases: Socialización

trabajo independiente

Debate: Calidad de un sitio web.

Estructuración conceptos: Diseño web.

Realizar en equipos de trabajo un análisis del contenido

Texto: “Ingeniería de software”. Roger Pressman.

Claridad y coherencia al exponer ideas.

Responsabilidad en la entrega de trabajos y tareas asignadas.

Asistencia a clases.

Participación en clases.

Sustentación de ideas con fundamentación teórica.

Page 16: clasescun.pbworks.comclasescun.pbworks.com/w/file/fetch/44629718/guias... · Web viewEntiende la importancia del uso de los diferentes tipos de retroalimentación del usuario de sistemas

para un sitio Web seleccionado de forma libre.

Trabajo independiente: Realice una

pequeña investigación y realice un trabajo de 2 ó 3 páginas que resuma una de las tres tecnologías que se destacaron en la Sección 29.1.2.

Presentación trabajo escrito.

Socialización y revisión final próximo encuentro.

Examen final.RECURSOS BIBLIOGRÁFICOS:

Ingeniería de software, un enfoque práctico. Roger Pressman. 5º edición. Mc Graw Hill. 2002.

Ingeniería de software. Ian Sommerville. 7º edición. Ed. Pearson educación. 2005.