Optativas presentacion gral año 2014 - ing software - versión final
Presentació n de las
materias Optativas para el
añ o 2014
Á
rea: Ingeniería de Software y
Bases de Datos
Profesores
Patrones de Arquitecturas de Software de Aplicaciones Enterprise
Sistemas Colaborativos
Ivana Harari
Introducción a la Computación Móvil
Roxana Giandini
Diseño Centrado en el Usuario
Mariano Bibbó
Desarrollo de Software basado en Modelos
Mariano Bibbó
Silvia Gordillo
Gobierno de TI y Auditoría de los Sistemas de Información
Lía Molinari
Profesores
Laboratorio de Software
Calidad de Sistemas de Software en Pequeñas y Medianas Empresas
Einar Lanfranco
Bases de Datos Distribuidas
Patricia Pesado – Silvia Esponda
Desarrollo Seguro de Aplicaciones
Claudia Queiruga
Rodolfo Bertone
Administración de Empresas
Fausto Simonelli
Contenido General
•
Introducción a la arquitectura de software
•
Requerimientos no funcionales
Responsabilidades de un equipo de arquitectura de
software
•
•
Estilos arquitectónicos
•
Estilo en capas
•
Patrones arquitectónicos
•
Características de las aplicaciones Enterprise
Problemas a los que la arquitectura y la plataforma deben
dar solución
•
•
•
capa de servicios, concurrencia, seguridad, performance,
generalidades de desarrollo, soporte al proceso de desarrollo,
innovación tecnológica, lógica de dominio compleja, motores de
reglas, workflows, entre otros.
Frameworks y tecnologías en las diferentes capas, para
Patrones de Arquitecturas dede desarrollo.Aplicaciones
implementar la plataforma Software de
Metodología de trabajo
Clases teóricas donde se presentan
los temas (en formato digital) y se
comparten experiencias en la
industria.
A lo largo del cuatrimestre, los
alumnos definen una arquitectura y
la plataforma de desarrollo, sobre la
cual construirán una aplicación como
prueba de concepto.
Se realiza un seguimiento de las
consultas de los alumnos vía un
Patrones de Arquitecturas de Software de Aplicaciones
Evaluación
La evaluación se realiza a través de
la implementación de un caso
presentado durante el año.
Se realiza un examen final para
aquellos alumnos que así lo prefieran
Patrones de Arquitecturas de Software de Aplicaciones
¿Por qué elegirla?
Se integran aspectos teóricos con
experiencias en la industria del
desarrollo de aplicaciones Enterprise.
Qué hacer y qué no hacer.
Buenas y malas prácticas
Ventajas y desventajas de varias de los
fwks usados en la comunidad de
desarrollo.
Entendemos que presentamos una
temática actualizada y muy aplicable
en el de Arquitecturas de Software de Aplicaciones
mercado laboral
Patrones
Contenido General
Conceptos de Sistema Colaborativos
¿Cómo se usan los Sistemas
Colaborativos?
Objetos compartidos, sesiones,
herramientas, awareness
Redes sociales, entornos de
enseñanza, toma de decisión
Diseño de sistemas colaborativos
Método de especificación de sistemas
colaborativos
Sistemas Colaborativos
Metodología de trabajo
Clases teóricas donde se presentan
los temas (en formato digital)
Los alumnos realizan ejercicios
prácticos (pruebas de concepto) de
los temas vistos
Se realiza un seguimiento de las
consultas de los alumnos vía un
entorno virtual
Sistemas Colaborativos
Evaluación
La evaluación se realiza a través de
la implementación de un caso
presentado durante el año.
Se realiza un examen final para
aquellos alumnos que así lo prefieran
Sistemas Colaborativos
¿Por qué elegirla?
Entendemos que presentamos una
temática muy actual con alto
impacto en la vida cotidiana social y
laboral
Los temas presentados son
particularmente útiles para aplicarlos
en cualquier tipo de sistemas
Sistemas Colaborativos
Contenido general
Introducción a Lenguajes de modelado: El
Lenguaje Unificado de modelado (UML),
El Lenguaje para restricciones de objetos
OCL.
El proceso de desarrollo de software
iterativo e incremental RUP, al estilo
LARMAN. Uso de OCL para especificar
operaciones y restricciones del modelo.
Introducción a la filosofía del Desarrollo de
software Dirigido por Modelos (MDD).
Técnicas de Metamodelado. Herramientas
para MDD
Desarrollo de Software basado en Modelos
Metodología de trabajo
Se guiará al alumno en el desarrollo de un
sistema a través de la cursada, utilizando las
técnicas aprendidas. Se formarán grupos y se
utilizarán distintas herramientas de
modelado. Cada grupo utilizará una
herramienta diferente. Habrá entregas
parciales obligatorias por etapa, con
devolución del docente y posibilidad de
reentrega.
Actividad curricular alternativa: siguiendo una
modalidad semi-presencial. Se creará un
curso en un entorno virtual donde los
miembros tendrán acceso a temas específicos
correspondientes a las distintas unidades del
Desarrollo de Software basado en Modelos
Evaluació n
Al final de la cursada presencial, se entrega
obligatoriamente el trabajo práctico y se
presentan ventajas y desventajas del uso
de la herramienta de modelado asignada.
Esta actividad se completa mediante un
coloquio.
Para la alternativa semi-presencial, se
analizará adicionalmente otra herramienta
y se presentarán comparaciones entre
ambas.
Aprobación final de la materia: Trabajo final
donde el alumno aplique los conceptos
adquiridos durante la cursada. Será
Desarrollo de Software basado en Modelos
¿Por qué elegirla?
El Desarrollo Dirigido por Modelos (MDD)
se ha convertido en un nuevo paradigma
de desarrollo de software que promete
una mejora de la productividad y de la
calidad del software a través de un
proceso guiado por modelos y soportado
por potentes herramientas que generan
código a partir de modelos. En este
contexto, el aporte de esta asignatura es
brindar conocimientos sobre el proceso
de desarrollo de software iterativo e
incremental basado en modelos. Además
se introduce al alumno enModelos
Desarrollo de Software basado en la metodología
Más información
Plataforma web:
http://moodle.lifia.info.unlp.edu.ar/, el curso
se denomina "Desarrollo De Software
Basado En Modelos"
Contacto: giandini@info.unlp.edu.ar,
natalia.correa@lifia.info.unlp.edu.ar
Inicio del curso: Jueves 20 de Marzo
Se requiere la asistencia a la 1er
clase de todos los alumnos (ambas
modalidades), para organizar el resto
de la cursada.
Desarrollo de Software basado en Modelos
Contenido General
Metodologías de DCU
Proceso de Desarrollo de la Interfaz
de Usuario
Evaluación de la UI
Diseño de diferentes clases de
Interfaces:
para Groupware, para la Web,
Adaptativas,
Hápticas, Accesibles,
de Realidad Aumentada
Medios de Interacción
Hombre-Computadora
no tradicionales el Usuario
Diseño Centrado en
Metodología de trabajo
Modalidad semi presencial (Moodle)
Estructura de cursada tipo taller
Fuerte articulación entre la teoría y
la práctica.
Clases teórico- prácticas con
instancias de diseño, planificación
y evaluación de productos y sitios
Web
Desarrollo experimentales
Trabajos Prácticos con entrega
obligatoria
Trabajo Práctico Final
Diseño Centrado en trabajos
Exposiciones deel Usuario realizados
Evaluación
Aprobación de un parcial teórico
conceptual
Aprobación de los trabajos
prácticos obligatorios y del trabajo
final
Participación en las exposiciones
Diseño Centrado en el Usuario
¿Por qué elegirla?
El mal diseño de los productos es
consecuencia del software
chatarra, de su posterior desuso o
sustitución.
Hay que trabajar en calidad de uso
como objetivo principal del
software.
Esta materia fomenta la
autocrítica, la creatividad,
fomentando normas de diseño
internacionales.
Norma ISO/IEC 9126-4=
eficacia +
Diseño Centrado en el Usuario
Contenido General
Características particulares de las
aplicaciones móviles
Arquitecturas
móviles
para
aplicaciones
Posicionamiento del usuario y de
puntos de interés
Diseño de aplicaciones móviles
usando buenas prácticas de la OO
Plataformas para desarrollo
aplicaciones móviles
Introducción a la Computación Móvil
de
Metodología de trabajo
Presentación de los conceptos en
forma teórica
Generación/Discusión de diseños
OO de manera grupal (taller) a
partir de los conceptos teóricos
presentados
Aplicación
de
los
conceptos
teóricos
en
forma
práctica
utilizando diferentes tecnologías
para
aplicaciones
móviles
(Android, JavaME)
Introducción a la Computación Móvil
Evaluación
Aprobación de la cursada
Promoción
Trabajos Prácticos aprobados con nota
mayor o igual a 7
Cursada
aprobada
(con
trabajos
prácticos aprobados con nota mayor o
igual a 8)
Pueden optar entre:
un coloquio con los temas teóricos y
prácticos abordados en la materia
o bien, la elaboración de un trabajo
final de promoción
Final convencional
Introducción a la Computación Móvil
¿Por qué elegirla?
Masificación
del
uso
de
dispositivos móviles y de la
necesidad
de
crear
nuevas
aplicaciones móviles acordes a los
requerimientos de los usuarios
Uso de buenas prácticas para
lograr diseño de aplicaciones
móviles extensibles y mantenibles
Aprender tecnologías concretas de
desarrollo para aplicaciones
móviles
Introducción a la Computación Móvil
Horarios
Horarios de teoría y práctica
Miércoles 9:00hs.
Encuentros presenciales previamente acordados con los
alumnos para consultas relacionadas con los trabajos
prácticos fuera del día y horario de la materia
Introducción a la Computación Móvil
Más información
Plataforma web
Grupo en Google:
Introducción a la Computación Móvil -Cursada
2014Correo electrónico del grupo:
icm_2014@googlegroups.com
Contacto
Silvia Gordillo
gordillo@lifia.info.unlp.edu.ar
Cecilia Challiol
ceciliac@lifia.info.unlp.edu.ar
Alejandra Lliteras
lliteras@lifia.info.unlp.edu.ar
Inicio del curso
9 de abril de 2014
Introducción a la Computación Móvil
Gobierno de TI y Auditoría de
SI.
TI: Tecnología de la Información
SI: Sistemas de Información
Prof: Lía Molinari
JTP: Viviana Ambrosi
Contenido general
Fundamento de Gobierno de TI. Planificación
Gerencial y Organización de SI
Infraestructura Técnica y Prácticas Operacionales
Protección de Activos de Información.
Recuperación de Desastres y Continuidad de
Negocio
Gestión del servicio
Evaluación de Procesos de Negocios y Gerencia
de Riesgo
Proceso de Auditoría
Gobierno Electrónico
Estándares ISO relacionados, Marcos de
referencia, buenas prácticas: COBIT 5, ITIL,
GTI y SI
PMBOK, etc.
Metodología de trabajo
La materia es semipresencial
Se comparte la plataforma con otros alumnos que no
son de la cursada, pero que eligen el tema por
interés.
Se trabaja en base a documentos, videos y el objetivo
es reflexionar sobre el uso de la tecnología
Se define un cronograma de clases teóricas y
prácticas
Se invita a gerentes de tecnología para compartir sus
experiencias
GTI y SI
Evaluació n
Un parcial práctico donde se realiza (por ejemplo) un
análisis de riesgo sobre un activo, y algunas
preguntas. Con ese parcial se aprueba la cursada.
Alternativas para aprobar el final (una de ellas).
Realizar un trabajo en una empresa
Realizar una monografía sobre un tema a acordar
Rendir un final
GTI y SI
¿Por qué elegirla?
Es un perfil que se requiere en el mercado y no
hay muchos profesionales dedicados
Ayuda a pensarse como un profesional, con un
enfoque gerencial
Participarán en eventos relacionados con la
temática
Se harán actividades con gerentes y empresas de
tecnologías que utilicen algunas de los marcos
referidos
Para quien le interese puede ser parte de un
grupo de interés e investigación
GTI y SI
Horarios
Horarios de teoría y práctica (a confirmar)
lunes de 19 a 21 hs. Aula 2, PB.
jueves de 17.30 a 19.00 el aula 1-4
GTI y SI
Contenido General
Tecnologías JAVA para desarrollo de aplicaciones de
escritorio y móviles para dispositivos Android.
Laboratorio de Software articula los conocimientos
adquiridos hasta el momento en la carrera mediante
su
aplicación
lenguajes
de
concreta.
Se
integran
programación,
temas
de
programación
concurrente, redes, ingeniería de software y base de
datos.
Metodología de trabajo
Clases organizadas en actividades teóricas y prácticas de
carácter presencial.
La asignatura es de tipo taller; teoría y práctica se
encuentran estrechamente vinculadas.
Utilización
de
ambientes
de
desarrollo
de
software
profesional: versionado de código, IDEs de desarrollo,
virtualización,
emuladores
de
dispositivos
móviles,
dispositivos móviles, servidores web, etc
Uso de herramientas de software libre.
Uso de la plataforma de gestión de cursos de la Facultad de
Informática: http://catedras.info.unlp.edu.ar
Evaluación
Régimen de Promoción, que consiste en el desarrollo de un
proyecto y su puesta en funcionamiento.
Evaluación incremental: durante la cursada se realizarán
4 (cuatro) instancias de evaluación que consisten en la
resolución y entrega de diferentes módulos del proyecto.
Se aprueba con al menos 6 puntos de promedio entre las
4 instancias de evaluación y al menos 4 puntos en cada
una de ellas.
Entrega Final del proyecto funcionando.
Los alumnos que obtengan al menos 5 puntos de
promedio entre las 4 instancias de evaluación y al menos
4 puntos en cada una de ellas, aprobarán la cursada.
Las práctica y las evaluaciones se realizan en la sala de PC.
Algunos proyectos: https://wiki.labmovil.linti.unlp.edu.ar
¿Por qué elegirla?
Profundiza los conocimientos adquiridos hasta el
momento aplicándolos en forma concreta sobre
una tecnología ampliamente aceptada en el ámbito
profesional, como es JAVA.
Permite adquirir conocimientos y destrezas para
desarrollar aplicaciones móviles novedosas que
utilicen la ubicación del usuario (geolocalización),
información de contexto a través de sensores, que
se combinan con los robots del proyecto de la
Facultad
“Programando
con
Robots”
(http://robots.linti.unlp.edu.ar/).
Consolida la formación experimental y profesional
del estudiante, ubicándolo en un entorno de
trabajo similar al real y cotidiano.
Horarios
Horarios de teoría
Día y hora: Jueves de 17:30 a 19:30
Horarios de práctica
Día y hora: Miércoles de 16:30 a
20:30, Sala PC (grande)
Calidad de Sistemas de
Software en Pequeñas y
Medianas Empresas
Profesores: Patricia Pesado y Silvia Esponda
Correlativa: Ingeniería de Software II
Segundo semestre
Contenido General
Conceptos de Calidad
Calidad del Proceso y del Producto de Software
Modelos y Normas
Normas ISO 9000/9001 - ISO 15504 - ISO 12207 – ISO 90003
CMM / CMMI
Calidad de Servicio
ITIL – ISO 20000
PMBok – SWEBok
Mejora de Proceso
IDEAL – SiX Sigma
Características de las PyMES
Modelos de calidad para PyMES
Modelos MoProSoft - MPS – Métrica V3
Calidad de Sistemas de Software en Pequeñas y Medianas
Metodología de trabajo
Clases teóricas, explicaciones de práctica, prácticas.
Modalidad presencial
Clases no obligatorias.
Desarrollo de un Manual de Calidad
Modalidad alternativa
Clases no son obligatorias.
Desarrollo individual de un Manual de Calidad.
Calidad de Sistemas de Software en Pequeñas y Medianas
Evaluación
Modalidad Presencial
Aprobación de los TP de la asignatura
Entregas
y evaluación de los ítems del Manual, cada uno con una devolución
explicitando las modificaciones a realizar.
Defensa
final del Manual de Calidad completo.
Aprobación final de la materia
Aprobar
las pruebas teóricas durante la cursada y rendir un coloquio, o
Presentar
una monografía y rendir y aprobar un coloquio donde defienda su
presentación, o
Rendir
un examen final.
Modalidad Alternativa
Aprobación de los TP de la asignatura
Entrega
Defensa
del Manual en un encuentro presencial para la evaluación
presencial del mismo
Aprobación final de la materia
Rendir
un examen final.
Calidad de Sistemas de Software en Pequeñas y Medianas
¿Por qué elegirla?
Actualidad del tema calidad y concepto de
“mejora continua”
Alto porcentaje de PyMEs desarrolladoras de
software
=> Aplicar normas y modelos de calidad para
desarrollo de software adaptadas a Pequeñas
y Medianas Empresas
Calidad de Sistemas de Software en Pequeñas y Medianas
Horarios
Horarios presenciales teórico-prácticos
Jueves 13:30 hs.
Atención de consultas a través de la plataforma
WebUNLP
Las consultas y correcciones se pueden
realizar por este medio el resto de los días
Calidad de Sistemas de Software en Pequeñas y Medianas
Contenido general
Problemas de seguridad que afectan
al software: vulnerabilidades,
amenazas e incidentes
¿Cómo protegerse? Ciclo de
desarrollo seguro. Herramientas y
técnicas que nos ayudan.
¿Cómo suelen atacarnos?
Herramientas y técnicas conocidas.
Desarrollo seguro de aplicaciones
Metodología de trabajo
Tipo taller con conceptos teóricos y
prácticos actuales y aplicables.
Articulación con trabajos de
asignaturas anteriores. Aplicación de
técnicas de desarrollo colaborativo.
Utilización tanto de herramientas
como fuentes de documentación
libres.
Colaboración con algún proyecto de
software libre.
Desarrollo seguro de aplicaciones
Evaluación
+ Seguimiento de entregas pautadas
sobre trabajo planteado
+ Evaluaciones parciales sobre temas
vistos utilizando plataforma virtual
+ Realización y Exposición de trabajo
práctico integrador
= Nota Final de la materia
Desarrollo seguro de aplicaciones
¿Por qué elegirla?
- Temática actual y de aplicación
inmediata. Ej: OWASP TOP TEN 2013
- Hoy los problemas de seguridad afectan
todo el soft existente y es una tendencia
en auge. A mayor conectividad más
problemas.
- NO debería desarrollarse software sin
considerar la seguridad como una
característica vital.
- Al utilizar herramientas libres existe
posibilidad de replicación en el mundo
real
Desarrollo seguro de aplicaciones
¿Por qué elegirla?
Ejemplo: Bug del 2012
1- Abres una cuenta nueva
2- Usas el mail de una cuenta existente
3- Abres la aplicación de Skype con esas
credenciales
4- Solicitas la recuperación de contraseña
5- Skype envía el token de recuperación de
contraseña al mail y a la aplicación
6- Abres el link del token, Skype detecta más de
una cuenta asociada a ese mail, eliges el de la
víctima: cambias la contraseña
Desarrollo seguro de aplicaciones