Beruflich Dokumente
Kultur Dokumente
Objetivos
Introducir la Ingeniera del Software y explicar su importancia. Dar respuesta a las preguntas clave sobre Ingeniera del Software y conceptos relacionados. Introducir el concepto de ciclo de vida del desarrollo de software y los diferentes modelos de procesos software.
Qu es el software?
Programas informticos y la documentacin asociada. Productos software que pueden ser desarrollados para un cliente particular o para el mercado general. Los productos software pueden ser:
Genricos - Desarrollados para ser vendidos a un amplio rango de clientes diferentes. Particulares (Por encargo) - Desarrollados para un cliente individual de acuerdo a sus necesidades.
La Ciencia de la Computacin se refiere a los fundamentos y teoras de la informtica; La Ingeniera del Software se refiere a los aspectos prcticos del desarrollo y entrega de software.
La Ingeniera de Sistemas se refiere a todos los aspectos del desarrollo de sistemas basados en computadora que incluyen hardware, software e ingeniera de procesos. La Ingeniera del Software es parte de este proceso. Los Ingenieros de Sistemas estn involucrados en la especificacin, diseo de la arquitectura, integracin y entrega del sistema.
Ingeniera del Software I (4 I.I.) M1::Tema 1: Introduccin a la Ingeniera del Software 10
Qu es un proceso software?
Un conjunto ordenado de actividades cuyo objetivo es el desarrollo o evolucin de software. Actividades Genricas en todos los procesos software son:
Especificacin - Lo que el sistema debe hacer y sus restricciones de desarrollo. Desarrollo - Produccin del sistema software. Validacin - Comprobar que el software entregado es lo que el cliente quiere. Evolucin - Cambiar el software en funcin de las demandas cambiantes mantenimiento correctivo, adaptativo, preventivo y evolutivo.
M1::Tema 1: Introduccin a la Ingeniera del Software 11
12
Incluyen modelos (grficos) del sistema, notaciones, reglas, consejos de diseo y guas en el proceso. Descripciones de Modelos:
Descripciones de los modelos grficos que se deben crear.
Reglas:
Restricciones que se deben aplicar a los modelos del sistema.
Recomendaciones:
Consejos en la prctica del buen diseo.
Gua en el proceso:
Qu secuencia de actividades seguir.
M1::Tema 1: Introduccin a la Ingeniera del Software 14
Lower-CASE
Herramientas que soportan las actividades finales del proceso tales como programacin, depuracin y testeo.
15
Portable
Capaz de integrarse en entornos distintos con el mismo esfuerzo.
Eficiente
Utilizacin ptima de los recursos de la mquina.
Adaptable (extensibilidad)
Modificar alguna funcin sin que afecte a sus actividades.
Robusto
No poseer un comportamiento catastrfico ante situaciones excepcionales (Tolerante a fallos).
Inteligible
Diseo claro, bien estructurado y documentado.
No Errneo
No exista diferencia entre los valores reales y los calculados
Correcto
Se ajusta a las especificaciones dadas por el usuario.
Reutilizable (reusabilidad)
16
Fiabilidad
Eficiencia Usabilidad
Cules son los grandes retos a los que se enfrenta la Ingeniera del Software?
Hacer frente a los sistemas heredados (legacy systems), hacer frente a la creciente diversidad y hacer frente a las demandas de entrega con tiempos cada vez ms reducidos. Sistemas Heredados (Legacy systems)
Sistemas antiguos pero valiosos, deben ser mantenidos y actualizados. Los sistemas son distribuidos e incluyen una mezcla de diferente hardware y software. (interoperabilidad) Actualmente hay una creciente presin para que los sistemas software sean entregados con rapidez.
M1::Tema 1: Introduccin a la Ingeniera del Software 18
Heterogeneidad
Plazos de entrega
Lenguajes de alto nivel. Primeros mtodos de concepcin de sistemas (CORIG). Programacin estructurada. Primeros conceptos de la ingeniera del software. Intento de estandarizacin en el entorno de bases de datos (database Task Group). Modelo Entidad-Relacin. Gran importancia a los datos. Diseo estructurado.
1975
19
Primeras metodologas de anlisis y diseo estructurado (YOURDON, GANE&SARSON, WARNIER, JACKSON). Primeras metodologas que parten de una visin general del sistema de informacin global (MERISE). Lenguajes de cuarta generacin (4GL). Herramientas que facilitan la utilizacin y documentacin de diagramas o modelos (CASE inicial). Tecnologas CASE integradas. Aproximacin entre metodologas estructuradas y sistmicas (INFORMATION ENGINEERING). Lenguajes de programacin orientados a objetos.
10
Futuro? Metodologas giles (Extreme Programming) MDA / MDE (Model-Driven Arquitecture / Engineering)
21
11