30
INGENIERÍA DE SOFTWARE I Mae. Mariuxi Vinueza Morales Unidad Académica Ciencias de la Ingeniería Ingeniería en Sistemas Computacionales

Ing Software1

Embed Size (px)

Citation preview

Page 1: Ing Software1

INGENIERÍA DE

SOFTWARE I Mae. Mariuxi Vinueza Morales

Unidad Académica Ciencias de la Ingeniería

Ingeniería en Sistemas

Computacionales

Page 2: Ing Software1

Unidad 1: El software y la

ingeniería del software Ingeniería de Software I

Page 3: Ing Software1

Taller 1 (individual)

Software

¿Qué es?

¿Quién lo hace?

¿Por qué es importante?

Page 4: Ing Software1

SOFTWARE ¿Qué es?

Es el producto que los Ingenieros de software construyen y mantienen a largo plazo. Incluye los programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura.

¿Quién lo hace ?

Los ingenieros de software los construyen y lo mantienen, y casi todos en el mundo industrializado lo usan de manera directa o indirecta.

Page 5: Ing Software1

SOFTWARE

¿Por qué es importante?

Porque afecta de forma muy cercana

todos los aspectos de nuestras vidas y se ha

vuelto omnipresente en el comercio, la

cultura y las actividades cotidianas.

Page 6: Ing Software1

Richard Fairley y Mary Willshire

En la sociedad

moderna el papel de

la ingeniería es

proporcionar sistemas

y productos que

mejoren los aspectos

materiales de la vida

humana, para que así

la vida sea mas fácil,

segura y placentera.

Page 7: Ing Software1

Papel evolutivo del software

El software actúa como:

la base para el control de la computadora (Sistemas operativos),

la comunicación de la información (redes),

y la creación y control de otros programas (utilitarios de software y lenguajes de programación).

El software entrega el producto mas importante de nuestro tiempo: información.

Page 8: Ing Software1

Papel evolutivo del software

El papel del software de computadora ha experimentado un cambio significativo en un periodo un poco mayor a 50 años.

Las mejorías sustanciales en el desempeño del hardware.

Los cambios profundos en las arquitecturas de computo.

Los enormes incrementos en las capacidades de memoria y almacenamiento.

Sistemas mas elaborados y complejos basados en computadoras

Page 9: Ing Software1

Naturaleza del software Producto

•Brinda el potencial de cómputo incorporado en el hardware de cómputo.

•El software es un transformador de información (produce, administra, adquiere, modifica, despliega o transmite información).

Vehículo que entrega el producto

•Utilizado para distribuir el producto.

•El software actúa como la base para el control de la computadora (S.O.)

•Para la comunicación de la información (Redes).

•Creación y control de otros programas (herramientas y ambiente de software).

Page 10: Ing Software1

Definición de Software ¿Qué es software de computadora?

El software se forma con las instrucciones (programas de computadoras) que al ejecutarse proporcionan las características, funciones y el grado de desempeño deseados.

El software se forma con las estructuras de datos que permite que los programas manipulen información de manera adecuada.

El software se forma con los documentos que describen la operación y el uso de los programas.

Page 11: Ing Software1

Características

El software se desarrolla o modifica con intelecto, no se produce en el sentido clásico.

Hay similitudes entre el desarrollo de software y la fabricación de hardware, en ambos, la alta calidad se logra a través de un buen diseño, pero la fase de producción del hardware introduce problemas de calidad que no existen en el software.

Page 12: Ing Software1

Características

El software no se “desgasta”.

El hardware presenta una tasa de fallas relativamente elevada en una etapa temprana de su vida (diseño o fabricación), a medida que pasa el tiempo la tasa de fallas aumenta. El software no es susceptible a los problemas ambientales que hacen que el hardware se desgaste, sin embargo se presenta una tasa de fallas elevada al comienzo de la vida de un programa, sin embargo, estas se corrigen.

Page 13: Ing Software1

Características

Aunque la industria se mueve hacia la

construcción basada en componentes, la

mayor parte del software se construye

para uso individualizado.

Un componente d software debe diseñarse

e implementarse de modo que pueda

volverse a usar en muchos programas

diferentes.

Page 14: Ing Software1

Dominios de aplicación del

software

Software de sistemas: conjunto de programas escritos para servicio a otros programas (editores, SO).

Software de aplicación: programas aislados que resuelven una necesidad específica de negocios(TPS).

Software de ingeniería y ciencias: el diseño asistido por computadoras, la simulación de sistemas y otras aplicaciones interactivas, han comenzado a hacerse en tiempo real.

Page 15: Ing Software1

Dominios de aplicación del

software

Software incrustado: reside dentro de un producto o sistema y se usa para implementar o controlar características y funciones para el usuario final y para el sistema en si (control del tablero de un horno microondas).

Software de línea de productos: es diseñado para proporcionar una capacidad específica para uso de muchos consumidores, se centra en un mercado particular (control de inventario de productos).

Page 16: Ing Software1

Dominios de aplicación del

software

Aplicaciones web: llamadas “webapps”, agrupa una amplia gama de aplicaciones, son un conjunto de archivos de hipertexto vinculados que presentan información con uso de texto y gráficas limitadas, están integradas con bases de datos y aplicaciones de negocios.

Software de inteligencia artificial: las aplicaciones en esta área incluyen robótica, sistemas expertos, reconocimientos de patrones (imagen y voz), juegos, etc.

Page 17: Ing Software1

Ingeniería de software

Software: en casi todos los aspectos de

nuestras vidas.

Aplicación nueva, deben escucharse

muchas opiniones.

Se concluye que debe hacerse un

esfuerzo concentrado para entender el

problema antes de desarrollar una

aplicación de software.

Page 18: Ing Software1

Ingeniería de software

Requerimientos mas complejos con cada

año que pasa.

Grandes equipos de personas trabajan,

antes un solo individuo.

Se concluye que el diseño se ha vuelto

una actividad crucial.

Page 19: Ing Software1

Ingeniería de software

Los individuos, negocios y gobierno:

dependen del software para tomar

decisiones estratégicas.

Si el software falla: pueden experimentar

desde un inconveniente menor hasta

fallas catastróficas.

Se concluye que el software debe tener

alta calidad.

Page 20: Ing Software1

Ingeniería de software

A medida que aumenta el valor

percibido de un aplicación específica se

incrementa la probabilidad de que su

base de usuario y longevidad también

crezcan; la demanda de adaptarla

también crecerá

Se concluye que el software debe tener

facilidad para recibir mantenimiento.

Page 21: Ing Software1

Ingeniería de software

Debe hacerse ingeniería con

el software en todas sus

formas y a través de todos

sus dominios de aplicación.

Page 22: Ing Software1

Ingeniería de software

La ingeniería de software es el establecimiento y uso de principios fundamentales de la ingeniería con

objeto de desarrollar en forma económica software que sea confiable y que trabaje con

eficiencia en máquinas reales.

Fritz Bauer

Page 23: Ing Software1

Ingeniería de software

La ingeniería de software es la aplicación de un enfoque sistémico,

disciplinado y cuantificable al desarrollo, operación y

mantenimiento de software; es decir, la aplicación de la ingeniería al

software.

IEEE

Page 24: Ing Software1

Taller 2 (equipos 2 personas)

¿Por qué se requiere tanto tiempo para terminar el software?

¿Por qué son tan altos los costos de desarrollo?

¿Por qué no podemos detectar todos los errores antes de entregar el software a nuestros clientes?

¿Por qué dedicamos tanto tiempo y esfuerzo a mantener los programas existentes?

¿Por qué seguimos con dificultades para medir el avance mientras se desarrolla y mantiene el software?

Page 25: Ing Software1

Proceso del software

• Conjunto de actividades, acciones y tareas. Proceso

• Busca lograr un objetivo amplio (sin importar el esfuerzo). Actividad

• Un conjunto de tareas que producen un producto importante. Acción

• Un objetivo pequeño pero bien definido. Tarea

Page 26: Ing Software1

Proceso del software

Enfoque adaptable.

Conjunto apropiado de acciones y

tareas.

Software en forma oportuna.

Calidad: satisfacer a quienes lo usarán.

Estructura del proceso: actividades

estructurales, aplicables a todos los

proyectos de software.

Page 27: Ing Software1

Proceso del software •Entender los objetivos de los participantes.

•Requerimientos para definir las características. Comunicación

•Plan de proyecto de software.

•Tareas técnicas, riesgos, recursos, programación. Planeación

•Crear modelos para entender los requerimientos.

•Diseño que los satisfará. Modelado

•Generar código.

•Pruebas. Construcción

•Evaluación y retroalimentación. Despliegue

Page 28: Ing Software1

Proceso del software

•Evaluar el progreso con el plan del proyecto.

Seguimiento y control del proyecto de software

•Riesgos que afecten los resultados o calidad.

Administración del riesgo

•Actividades para garantizar la calidad. Aseguramiento de la calidad del software

•Productos del trabajo de la IS. Revisiones técnicas

•Mediciones del proceso, proyecto y producto.

Medición

Page 29: Ing Software1

Principios generales IS

La razón de que exista todo

¿Esto agrega valor real al sistema?

Mantenlo sencillo….

Todo diseño debe ser tan simple como sea posible, pero no más.

Mantener la visión

Una visión clara es esencial para el éxito de un proyecto de software.

Otros consumirán lo que usted ve.

Establezca especificaciones, diseñe e implemente con la seguridad de

que alguien mas tendrá que entender lo que usted haga.

Principios

Page 30: Ing Software1

FIN Unidad 1: El software y la ingeniería del software