dpto. de computación y t.i. - ldc.usb.vejtcadenas/ci3715/clas1.pdf · a esta capa se le llama...

26
Taller de Taller de Ingeniería Ingeniería de Software de Software http://ldc.usb.ve/~jtcadenas/CI3715/ http://ldc.usb.ve/~jtcadenas/CI3715/ Dpto. de Computación y T.I. Dpto. de Computación y T.I. Sección Sección 1 : Prof. Alfonso 1 : Prof. Alfonso Reinoza Reinoza [email protected] [email protected] Sección Sección 2: José 2: José Tomás Tomás Cadenas Cadenas [email protected] [email protected]

Upload: ngomien

Post on 28-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Taller de Taller de IngenieríaIngeniería de Softwarede Softwarehttp://ldc.usb.ve/~jtcadenas/CI3715/http://ldc.usb.ve/~jtcadenas/CI3715/

Dpto. de Computación y T.I.Dpto. de Computación y T.I.

SecciónSección 1 : Prof. Alfonso 1 : Prof. Alfonso [email protected]@gmail.com

SecciónSección 2: José 2: José TomásTomás [email protected]@ldc.usb.ve

AgendaAgenda

• Objetivo del Curso

• Aspectos Claves O-O

• Arquitectura de dos y tres capas• Arquitectura de dos y tres capas

• Técnicas para trabajo en equipo

• Asignación 1

Objetivo GeneralObjetivo GeneralIntroducir a los estudiantes al

desarrollo de software por equipos

Para ello el estudiante deberá formar una Para ello el estudiante deberá formar una empresa conformada por 9 ó 10

miembros, los cuales deberán trabajar juntos durante el período académico en la

ejecución de las asignaciones.

AspectosAspectos claves Oclaves O--OO

• Objeto: Representación de alguna cosao evento del mundo real

• Clase: Categoría de objetos similares

• Ocurrencia o instancia : Cuando se • Ocurrencia o instancia : Cuando se crea un objeto de una clase

• Mensajes: Cuando se envíainformación de un objeto a otro

AspectosAspectos claves Oclaves O--OO• Clases: producto de una abstracción

– Características comunes (Propiedades)

– Mecanismos de conducta, acción (Métodos)

– Reacciones ante el entorno (Eventos)

• Encapsulación: ocultamiento de los atributos de un objeto de manera que sólo se puede cambiar mediante los métodos definidos para ese objeto

AspectosAspectos claves Oclaves O--OOFormas de encapsular

• Publico: El miembro de la clase pueda ser

accedido desde el exterior de la Clase y cualquier parte

• Protegido: Solo es accesible desde la Clase y las

clases que heredan• Privado: Solo son accedidas internamente desde

la clase• Local: Solo tienen ámbito en el método donde son

declaradas, fuera del mismo no existen.

AspectosAspectos claves Oclaves O--OO• Herencia: sub-clases, superclases

• Clases Cerradas: todos los eventos, métodos y propiedades están definidas dentro de la clase, así que no es posible agregárselos dinámicamenteagregárselos dinámicamente

AspectosAspectos claves Oclaves O--OO

• Clases Dinámicas: permiten agregar en tiempo de ejecución, propiedades y métodos a la clase, es decir, se puede agregar una nueva propiedad a la instancia de mi clase, aunque ésta no haya sido definida originalmentedefinida originalmente

• Clases Estáticas: Aquellas que resumen funciones utilitarias que se importan para su consumo en otras clases de manera transversal

AspectosAspectos claves Oclaves O--OO

• Sobreescritura de métodos: Reescribir un mismo método en la clase heredada, manteniendo los parámetros

• Sobrecarga de métodos: Reescribir el • Sobrecarga de métodos: Reescribir el mismo método en la clase heredada, incluyendo sus parámetros

Arquitectura dos capasArquitectura dos capas• La aplicación corre localmente en el cliente,

incluyendo toda la implementación de reglas de negocio e interfaz de usuario y de acceso a la base de datos

• El servidor incluye la base de datos • El servidor incluye la base de datos

Arquitectura tres capasArquitectura tres capas• Capa de Presentación: Implementa la interfaz de

usuario, incluyendo validaciones simples de entrada de datos. A esta capa se le llama “thin-client”

• Capa de Servidor de Aplicación: Provee la implementación centralizada de todas las reglas de negocio y lógica de procesos, así como el control d e negocio y lógica de procesos, así como el control d e acceso a datos

• Capa de Servidor de Datos: Provee los datos modelados del negocio, la base de datos

Arquitectura tres capasArquitectura tres capas

Técnicas para trabajo en EquipoTécnicas para trabajo en Equipo• Los seis sombreros para pensar de

Edward de Bono

• La quinta disciplina de Peter Senge

• Tarjeta amarilla / tarjeta roja.• Tarjeta amarilla / tarjeta roja.

Seis sombreros para pensarSeis sombreros para pensar• Cuando se está pensando, se suele tratar de

hacer mucho al mismo tiempo y se termina siendo confuso e ineficaz.

• Si usted “se pone” un sombrero puede centrar, enfocar, el pensamiento.enfocar, el pensamiento.

• Si “cambia” de sombrero puede redirigir su pensamiento

• Si su pensamiento se enfoca su argumentación resulta más centrada y productiva

Seis sombreros para pensarSeis sombreros para pensar• Blanco: hechos, cifras, información

objetiva.

• Rojo: emociones y sensaciones, sentimientos.

• Negro: lógico, negativo.• Negro: lógico, negativo.

• Amarillo: positivo, constructivo.

• Verde: Creatividad, ideas nuevas.

• Azul: Control de los demás sombreros y pasos para pensar

Seis sombreros para pensarSeis sombreros para pensar

El uso de los “sombreros para pensar” puede:

• Llevar a un pensamiento más creativo

• Enfocar y enmarcar con claridad el pensamientopensamiento

• Mejorar la comunicación y la toma de decisiones

La quinta disciplinaLa quinta disciplinaDesde muy temprana edad nos enseñan a analizar los problemas, a fragmentar el mundo, al parecer esto facilita las tareas complejas, pero sin saberlo pagamos un precio enorme. Ya no vemoslas consecuencias de nuestros actos; perdemosnuestra sensación intrínseca de conexión con unanuestra sensación intrínseca de conexión con unatotalidad más vasta. Cuando intentamos ver la “imagen general”, tratamos de ensamblarnuevamente los fragmentos, enumerar y organizartodas las piezas, pero es inútil.

La quinta disciplinaLa quinta disciplina

En alguna ocasión las personas han formado parte de un gran “equipo”, un grupo de personas que juntas funcionan maravillosamente, se profesan confianza, complementan mutuamente sus virtudes y compensan mutuamente sus sus virtudes y compensan mutuamente sus flaquezas, que tienen metas comunes más amplias que las metas individuales, que producen resultados extraordinarios.

Disciplinas de una Disciplinas de una organización inteligenteorganización inteligente

• Dominio personal: comienza por aclarar las cosas que de veras nos interesan, para poner nuestra vida al servicio de nuestras mayores aspiraciones

• Modelos mentales: supuestos hondamente arraigados, generalizaciones e imágenes que influyen arraigados, generalizaciones e imágenes que influyen sobre nuestro modo de comprender el mundo y actuar

• Construcción de visión compartida: propician un compromiso genuino antes que mero acatamiento

DisciplinasDisciplinas de de unauna organizaciónorganización inteligenteinteligente

• Aprendizaje en equipo: Cuando los equipos aprenden de veras, no sólo generan resultados extraordinarios sino que sus integrantes crecen con mayor rapidez. La disciplina del aprendizaje en equipo comienza con el “diálogo”, la capacidad de los miembros del equipo para “suspender los supuestos” e miembros del equipo para “suspender los supuestos” e ingresar en un auténtico “pensamiento conjunto”.

• Pensamiento sistémico: Es la disciplina que integra las demás disciplinas, fusionándolas en un cuerpo coherente de teoría y práctica

• Eliminar el desperdicio, en software se traduce en:

– Características extras

– Sobredocumentación

– Multitarea

– Tiempos de espera

PensamientoPensamiento EsbeltoEsbelto

– Errores de software

• Amplificar el Aprendizaje

– Incrementar retroalimentación

– Pruebas periódicas

• Decidir lo más tarde posible

2121

• Entregar lo más rápido posible

• Facultar o “empoderar” al equipo

– Lista de malas y buenas prácticas del equipo

– Escribir meta de cada iteración

– Programación por pares

PensamientoPensamiento EsbeltoEsbelto

– Programación por pares

– Identificar áreas del equipo débiles

• Integración: arquitectura coherente, ajuste a los

propósitos, mantenible, adaptable y extensible fácilmente

• Enfoque sistémico

2222

AsignaciónAsignación 1: 1: FundaciónFundación EmpresaEmpresa

• Seleccionar el nombre

• Establecer Misión y Visión de la empresa

• Elaborar la imagen corporativa

• Establecer la estructura organizativa • Establecer la estructura organizativa

AsignaciónAsignación 1: 1: AplicaciónAplicación WebWeb• Diseñar en 2 capas, una aplicación de jugadores,

equipos y estadios de beisbol

• Implementar el diseño, incluyendo tanto su interfaz como base de datos. Cada equipo debe seleccionar su tecnología y manejador de BD y mantenerla por todo el trimestre. trimestre.

• No se permite el uso de frameworks para mapping entre capas.

• Presentar los resultados, un responsable por equipo, con avance del plan y esfuerzo invertido por cada miembro del equipo

• Fecha de Entrega y Presentación: Semana 2

AsignaciónAsignación 1: 1: AplicaciónAplicación WebWeb• Diseñar en 3 capas, una aplicación de jugadores,

equipos y estadios de beisbol

• Presentar los resultados, un responsable por equipo, con avance del plan y esfuerzo invertido por cada miembro del equipo

• Fecha de Entrega y Presentación: Semana 3• Fecha de Entrega y Presentación: Semana 3

BibliografíaBibliografía

• Bernd Bruegge, and Allen H. Dutoit. Object-OrientedSoftware Engineering: Using UML, Patterns and Java. Prentice Hall. 3rd Edition, 2009.

• Craig Larman: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process (2nd Edition). 2001.the Unified Process (2nd Edition). 2001.

• Edward de Bono: Seis Sombreros para pensar. 2001.

• Peter Senge: La Quinta disciplina. Ed. Granica. 1994.

• Omaña, Macringer; Cadenas, José. "Herramientas de Manufactura Esbelta aplicadas al desarrollo de software con calidad". Avances en Sistemas e Informática. 2011. Vol. 8(2), pp. 135 - 142