www.inf.upv.es www.upv.es
La Ingeniería del Software se ocupa de todos los procesos
y herramientas orientadas a la construcción y el
mantenimiento del software,
entendido éste como un
producto industrial.
Objetivo: Formar Ingenieros Software, integrando:
– Prácticas ingenieriles:• control de calidad, diseño de procesos
• uso de herramientas
• reutilización de componentes
– Destrezas computacionales:
• modelado/abstracción
• automatización
3
Nuestra sociedad depende de la Calidad del Software
Visión
Software “everywhere” Software vez más complejo
y sometido a severas restricciones de diseño Software como elemento
estratégico para las empresas
Presión para desarrollar software en plazos más cortos y sin renunciar a altos niveles de calidad.
Fuerte demanda de
profesionales capaces de desarrollar soluciones y
Objetivos
Formación integral como
Ingeniero Software
, con conocimientos y
habilidades para abordar
todas las etapas de la vida de un
proyecto
:
– La gestión del proceso de desarrollo de Software.
– El análisis de las necesidades del cliente.
– La especificación de requisitos.
– El diseño.
– La selección de tecnologías y herramientas de desarrollo.
– La verificación de la alineación del código con los modelos de alto nivel del sistema.
– La integración, depuración, prueba, verificación, certificación, evolución, mantenimiento y gestión del proceso software.
1. Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan
normas de calidad
.2. Capacidad para valorar las necesidades del cliente y especificar los requisitos software, reconciliando objetivos en conflicto dentro de las limitaciones derivadas del
coste
, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.Competencias
3. Capacidad de dar solución a problemas de
integración
en función de las estrategias,estándares
y tecnologías disponibles.4. Capacidad de identificar y analizar problemas, y diseñar, desarrollar, implementar, verificar y
documentar
soluciones software.
5. Capacidad de identificar, evaluar y gestionar los
riesgos potenciales
que pudieran presentarse.6. Capacidad para diseñar soluciones apropiadas en diversos
dominios
de aplicación utilizando métodos que integren aspectos éticos, sociales, legales y económicos.Metodologías Test-driven
Static analysis
Runtime analysis
Estándares
Generación de casos de prueba
Pruebas y automatización
Pruebas unitarias y de integración, de aceptación, rendimiento y carga, pruebas funcionales, de regresión y de usabilidad
Asignaturas de la Intensificación
Negociación
Ingeniería de Requisitos
Detección de errores en la
especificación de requisitos
Elicitar, modelar, analizar, validar
y documentar los requisitos
Asignaturas de la Intensificación
Análisis y especificación de requisitos
Gestión, control y garantía de la calidad
Calidad del producto y del proceso Software
Asignaturas de la Intensificación
Calidad de software
Modelos, métricas y estándares
Planes de garantía
Plataformas industriales: Eclipse EMF, OMF
Consorcio OMG, Microsoft DSL:
artefactos software/factorías
Asignaturas de la Intensificación
Desarrollo de software dirigido por modelos
Compilación/Transformación de modelos
Metamodelos, Ontologías
Asignaturas de la Intensificación
Diseño de software
Reutilización y calidad del código
Refactorización, ingeniería inversa
Diseño OO basado en componentes
Interfaces
.Net
Patrones de diseño
Tecnologías de comunicación (RMI, msg, Servicios Web)
Middleware y arquitecturas software
Asignaturas de la Intensificación
Integración e interoperabilidad
Patrones de diseño
para la integración
Arquitecturas SOA
Tipos, costes, y problemas
Asignaturas de la Intensificación
Mantenimiento y evolución de software
Herramientas y técnicas para planificar y
gestionar y ejecutar eficazmente el proceso
Métodos formales ligeros
Asignaturas de la Intensificación
Métodos formales industriales
Model checking y asistentes de prueba
Estándares de certificación (Common Criteria )
Modelos de Proceso Software
organización, gestión, medición y mejora
Asignaturas de la Intensificación
Proceso de software
eXtreme programming, SCRUM
Rational Unified Process (RUP), Metrica 3
Casos prácticos,
Gestión de riesgos
Planificación, roles:
gestor, analista, probador, consultor, auditor
Metodologías ágiles
Asignaturas de la Intensificación
Proyecto de ingeniería de software
Recrea un proyecto de desarrollo de software
Salidas Profesionales
– Ingeniero de sistemas/aplicaciones
– Gestor de proyectos de Software
– Auditor de procesos de desarrollo
– Consultor sobre calidad
– Asesor en seguridad
– Arquitecto software
– Ingeniero en infraestructuras de datos
– Desarrollador de Software/de Herramientas Software
– Desarrollador Web
– Experto en Usabilidad
– Perito informático
Mercado Laboral para II en IS
http://money.cnn.com/magazines/moneymag/best-jobs/!
http://www.softwareengineerjobs.org/!
http://www.facebook.com/careers/department.php?dept=engineering!
http://www.bls.gov/oco/ocos303.htm!
http://www.infoempleo.com (canal informática)!
http://www.trabajar.com ("informático")!
http://www.tecnoempleo.com!
http://www.madrimasd.org/empleo/!
http://buscartrabajo.monster.es ("analista programador")!
http://www.coiicv.org/servicios/ofertas-de-empleo.html!
http://www.upv.es/entidades/SIE/!
Software Engineer, Infrastructure Engineering Software Engineer, Mobile/Network
Software Engineer, Platform/Integrity Software Engineer, Benchmarking
Software Engineer, Compiler & Virtual Machine Software Engineer, Data Center Tools
Software Engineer, Data Infrastructure Engineering Software Engineer, Desktop Software
Software Engineer, Developer Platform Software Engineer, Developer Tools
Software Engineer, HTML5 Application Developer Software Engineer, IT Tools
Software Engineer, Products
Software Engineer, Test Frameworks Software Engineer, Tools Engineering