Ing Software1
Transcript of Ing Software1
INGENIERÍA DE
SOFTWARE I Mae. Mariuxi Vinueza Morales
Unidad Académica Ciencias de la Ingeniería
Ingeniería en Sistemas
Computacionales
Unidad 1: El software y la
ingeniería del software Ingeniería de Software I
Taller 1 (individual)
Software
¿Qué es?
¿Quién lo hace?
¿Por qué es importante?
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.
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.
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.
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.
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
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).
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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
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
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?
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
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.
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
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
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
FIN Unidad 1: El software y la ingeniería del software