Page 1

Universidad Católica de El Salvador Centro Regional de Ilobasco Ingeniería en Sistemas Informáticos

Técnicas de Producción de Sistemas. CONCEPTOS DE INGENIERÍA DE SOFTWARE Tema 1: Antecedentes ingeniería de software.


Ingeniería de Software (Premisas) La economía de todos los países desarrollados es dependiente del software.

Actualmente cada vez mas sistemas son controlados por software.

La Ingeniería de Software concierne a teorías, métodos y herramientas para el desarrollo profesional de software.

El gasto en la Ingeniería de Software, representa un alto porcentaje del PIB de los países desarrollados

TECNICAS DE PRODUCCION DE SISTEMAS


¿Qué es software? Programas de computador, procedimientos, y la documentación y los datos posiblemente asociados relacionados con la operación de un sistema de computador IEEE 90. Programas de ordenador y la documentación asociada. Los productos de software se pueden desarrollar para algún cliente en particular o para un mercado general. (ian Sommerville, séptima edición)

...(el ingeniero) aplica el método y enfoque científico a la solución de problemas...

TECNICAS DE PRODUCCION DE SISTEMAS


¿Qué es software? El software de computadora es el producto que los ingeniero

de

software

construyen

y

después

mantienen en el largo plazo. Incluye los programas

que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, el contenido que se presenta conforme los programas se ejecutan y los documentos,

tanto

físicos

como

virtuales,

que

engloban todas las formas de medios electrónicos.

(Roger pressman 6th ed.) TECNICAS DE PRODUCCION DE SISTEMAS


Consideraciones generales del software.  El software puede ser desarrollado para un cliente en particular o para un mercado general  El software puede ser :  Genérico: Desarrollado para venderse a múltiples clientes (Excel, Word, etc.)  A la medida: desarrollado bajo demanda del cliente a

un

desarrollador específico  El software nuevo puede ser creado desarrollando nuevos programas, configurando sistemas de software genérico o

reutilizando software existente.

TECNICAS DE PRODUCCION DE SISTEMAS


Complejidad del Software.  Complejidad. Las entidades de software son mas complejas para su tamaño quizás que ningún otro constructo humano porque no existen dos partes iguales (al menos sobre el nivel de sentencias). Si existen, hacemos que las partes similares sean una única rutina, cerrada o abierta. De esta forma, los sistemas de software difieren profundamente de los computadores, edificios o automóviles, donde existen abundantes elementos repetidos. La complejidad del software es una propiedad esencial, no accidental.

TECNICAS DE PRODUCCION DE SISTEMAS


Complejidad del Software.

La complejidad es

La complejidad del dominio del problema

Difícil interacción entre usuarios y desarrolladores. Requisitos cambiantes

inherente al software. La dificultad de gestionar el proceso de desarrollo

 Tamaño de código  Desarrolladores Uso de componentes.

La flexibilidad a través del software

Que se puede alcanzar?  Uso de estándares  Reutilización de código

problemas de caracterización del comportamiento de sistemas

TECNICAS DE PRODUCCION DE SISTEMAS

 Interacción entre estados de un Sistema.  Prever un mínimo impacto. Imposibilidad a pruebas exhautivas


Consecuencias de la complejidad Entre más complejo es el sistema, mayor es el riesgo de derrumbamiento total. Gran inversión de tiempo y recursos humanos. Mayor planeación y mejor modelado para minimizar el efecto del mantenimiento y la evolución.

TECNICAS DE PRODUCCION DE SISTEMAS


Factores en la calidad de software CALIDAD DEL SOFTWARE

Eficiencia Portabilidad Verificabilidad Integridad Robustez Reutilizaci贸n

Compatibilidad F谩cil de utilizar Extensibilidad TECNICAS DE PRODUCCION DE SISTEMAS


Características de los Sistemas de Software Tamaño

Prestaciones  Hacer lo que tiene que hacer. Tiempos estipulados Manejo de información

Estructura interna  Agrupación de módulos  Interacción concurrente.  Coordinación. TECNICAS DE PRODUCCION DE SISTEMAS

Líneas de código Estimación de costos Requisitos de infraestructura

Vida útil Evolución de un sistema  Apreciar esfuerzos y costos  Actualización.

Información manipulada  Captura de la información Volumen de información Gestión de información entre módulos.


Características de los Sistemas de Software Tamaño

Líneas de código Estimación de costos Requisitos de infraestructura

Un sistema complejo suele ser grande, tener una vida útil muy larga, procesar Prestaciones Vida útil Evolución de un sistema Hacer lo que tiene que hacer. información rica y compleja, organizarse

 Tiempos estipulados en módulos Manejo de información

que operan

 Apreciar esfuerzos y costos  Actualización. concurrentemente

y requerir la satisfacción de prestaciones

críticas. Estructura interna  Agrupación de módulos  Interacción concurrente.  Coordinación. TECNICAS DE PRODUCCION DE SISTEMAS

Información manipulada  Captura de la información Volumen de información Gestión de información entre módulos.


Tipos de software según su utilidad . Software base

Proporciona plataforma de ejecución para otros programas (ej.: SO, compilador)

Software empotrado - Reside dentro de la memoria de solo lectura -Realizan pocas funciones dedicadas. -Incluidos por lo general en la placa base (la tarjeta de vídeo, audio, módem, etc.)

TECNICAS DE PRODUCCION DE SISTEMAS

Add Yourde Text Software aplicación Responde a necesidades de usuarios . Son horizontales ó verticales (De uso general o específico)


Tipos de software según su utilidad . Software base

Proporciona plataforma de ejecución para otros programas (ej.: SO, compilador)

La utilidad es visible al usuario que lo adquiere…

Software empotrado

Los parámetros técnicos solo son de para el diseñador.

-Realizan pocas funciones utilidad dedicadas. -Incluidos por lo general en la placa base (la tarjeta de vídeo, audio, módem, etc.)

TECNICAS DE PRODUCCION DE SISTEMAS

Add Yourde Text Software aplicación Responde a necesidades de usuarios . Son horizontales ó verticales (De uso general o específico)


Comienzos de la Ingeniería de Software El término ingeniería del software empezó a usarse a finales de la década de los sesenta (1969), para expresar el área de conocimiento que se estaba desarrollando en torno a las problemáticas que ofrecía el software en ese momento (Crisis del software).

El software era caro, poco fiable y escaso. TECNICAS DE PRODUCCION DE SISTEMAS


La ingenier铆a de Software se define como: la disciplina tecnol贸gica relacionada con la producci贸n sistem谩tica y el mantenimiento de productos de software que son desarrollados y modificados en el tiempo previsto y dentro de los costos estimados.

TECNICAS DE PRODUCCION DE SISTEMAS


Ingeniería de Software La ingeniería de software es una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software.

Los Ingenieros de Software deben:  Adoptar un enfoque sistemático para llevar a cabo su trabajo.  Utilizar las herramientas y técnicas apropiadas para resolver el problema planteado, de acuerdo a las restricciones de desarrollo y a los recursos disponibles TECNICAS DE PRODUCCION DE SISTEMAS


Ingeniería de Software.

TECNICAS DE PRODUCCION DE SISTEMAS


Evolución de la ingeniería de Software Programación como base del desarrollo (19551965). • Escribir Código en lenguaje de programación. • Alejamiento de estructura de ordenadores. • Aplicaciones de usuario.

La consolidación (19751985). • métricas para estimar tamaño del sistema • métodos de desarrollo • Analista, diseñador

TECNICAS DE PRODUCCION DE SISTEMAS

La génesis (1965-1975). • Crisis del software. • Proceso de desarrollo • Ciclo de vida (Control)

Hacia una ingeniería (1985-1995). • Tecnologías de soft. • Mejora en la calidad de prod. • Gestión de procesos. • Control riesgos y madurez


Evoluci贸n de la ingenier铆a de Software

TECNICAS DE PRODUCCION DE SISTEMAS


Solución de Problemas Solucionar un problema complejo  Análisis (en subproblemas más simples)  Síntesis de una solución al problema a partir de las soluciones a los subproblemas

Recurriendo a:    

Técnicas, Métodos Herramientas (mejorar resultado o eficiencia) Procedimientos (combinan métodos y herramientas) Paradigmas (“estilo” de la solución)

TECNICAS DE PRODUCCION DE SISTEMAS


Ingeniería de Software

Técnicas

Método

Herramienta

• Procedimiento para construir o evaluar software que requiere habilidades y produce un resultado técnico. (Probar, codificar, etc.)

• Procedimiento para gestionar la aplicación de técnicas de software.

• Producto de software que facilita la ejecución de técnica o método.

Procedimiento

Paradigma

• Combinación de métodos, técnicas y herramientas.

• Filtro conceptual que determine como percibimos/interpretam os.

TECNICAS DE PRODUCCION DE SISTEMAS


Estratos de la ingeniería de Software

TECNICAS DE PRODUCCION DE SISTEMAS


Diferencia entre Ingeniería de Software y Ciencias Computacionales  Las Ciencias Computacionales conciernen a la

teoría y fundamentos de cualquier sistema de cómputo (hardware o software)

 La Ingeniería de software concierne los aspectos prácticos del desarrollo y puesta en marcha de

productos útiles de software

TECNICAS DE PRODUCCION DE SISTEMAS


Diferencia entre Ingeniería de Software e Ingeniería de Sistemas.  La Ingeniería de Sistemas concierne a todos los aspectos del desarrollo de sistemas basados en cómputo incluyendo hardware, software y la ingeniería de procesos.  La Ingeniería de Software es una parte de este proceso que comprende el desarrollo de software, control, aplicaciones y bases de datos del sistema.  Los ingenieros de software son los encargados de la especificación del sistema, del diseño de la arquitectura, la integración y la puesta en marcha. TECNICAS DE PRODUCCION DE SISTEMAS


Relación con otras disciplinas Ciencias de la Computación

Funciones de las Computadoras

Teorías

Ingeniería de Software (2)

Herramientas y Técnicas para resolver problemas TECNICAS DE PRODUCCION DE SISTEMAS

Cliente

Problema

Ingeniería de Software (1)

Solución


¿Qué es un proceso de software? Un conjunto estructurado de actividades cuya meta es el desarrollo o evolución de un software Algunas actividades genéricas en todos los procesos de software son: Especificación, qué debe hacer el software y cuáles son sus especificaciones de desarrollo Desarrollo, producción del sistema de software Validación, verificar que el software cumple con lo solicitado por el cliente. Evolución, cambiar/adaptar el software a las nuevas demandas TECNICAS DE PRODUCCION DE SISTEMAS

expo  

expocicion report