Kategóriák: Minden - implementación - usabilidad - software - eficiencia

a Maria Fernanda Moreno Gomez 6 éve

262

Ingenieria del Software

La ingeniería de software implica un enfoque metódico y cuantitativo para el desarrollo, operación y mantenimiento de programas informáticos. Este campo abarca varias tareas esenciales, como la especificación, implementación y validación del software.

Ingenieria del Software

Nombre: Maria Fernanda Moreno Sergio Becerra

INGENIERÍA DE SOFTWARE

CADA FASE PUEDE INTRODUCIR ERRORES

Problemas mal planteados
Especificación incorrecta

Diseño inadecuado

Implementacion errónea

CONSTRUCCIÓN DE SOFTWARE

La dificultad depende del tamaño
Los errores son muy costosos de corregir
Inspeccionar frecuentemente la obra
Establecer y respetar una temporizacion
Elegir materiales
Planificar minuciosamente

POR QUE ESTÁN DIFÍCIL EL DESARROLLO DE SOFTWARE?

Imposibilidad de utilizar aproximaciones
Gran diferencia entre la teoría y la practica
Formalismos inadecuados
Problemas grandes, complejos y muy variados

ATRIBUTOS DE UN BUEN SOFTWARE

USABILIDAD
Interfaz y documentación apropiados.
Facil de utilizar por los usuarios
EFICIENCIA
Uso adecuado de recursos del sistema: Memoria, ciclos de procesamiento.
CONFIABILIDAD
Proteccion

No causa daños físicos ni económicos en caso de fallo

Seguridad

Mecanismos para garantizar la integridad del software y los datos.

Fiabilidad

Buen funcionamiento

MANTENIBILIDAD
Facil de evolucionar y corregir

MODELO DE SOFTWARE Y HARDWARE

El propósito de los modelos
Para dirigir la implementan: -Particularidad del software: El modelo se convierte en la implementacion.
Permitir la detección de errores y omisiones durante el diseño.
Facilitar la comunicación de ideas sobre un problema o sobre su solución.
Permitir la investigación y comparación de soluciones alternativas.
Ayudarnos a entender un problema complejo mediante análisis y simulación.
Algunas características deseables de un modelo:
No muy caro de construir
Predictivo
Preciso
Comprensible
Abstracto
El uso de modelos es tan antiguo como la ingeniería.
Perspectiva escéptica sobre modelos de software

QUE ES UN PROCESO DE DESARROLLO DE SOFTWARE?

RESTRICCIONES
Sobre las actividades, los artefactos, las herramientas.
CONSIDERACIÓN
De personal y de su organizacion
De herramientas y equipo
PUEDE INCLUIR:
Un modelo de ciclo de vida

define: los deliverables, artefactos y productos de cada fase.

proporciona criterios para determinar cuando una fase de desarrollo termino.

divide el desarrollo en fases y percibe las actividades que se deben realizar en cada fase.

Conjunto de actividades, métodos y practicas utilizadas en la producción y evaluación de software.

PARA QUE LA ING. DE SOFTWARE

Comunicación
Con el equipo de trabajo

Documentación

Con el cliente/usuario es primordial.

*Entender los requisitos del cliente.

RESPUESTA A LA CRISIS DEL SOFTWARE
El termino se popularizo a finales de los 60. Para darle solucion a los problemas.
Necesidad de estimar dinero, tiempo y esfuerzos
Se basa principalmente en el modelado del proyecto actual y su comparación con modelos anteriores.

¿Queremos el trabajo? ¿Como lo queremos? = ¿Cuanto cobramos?

Deseo de beneficiar la experiencia previa.
Necesidad de planificar para el mantenimiento y la evolución.

QUE NO ES LA ING. DE SOFTWARE?

*La ciencia de las computadoras *La ingeniería de sistemas

MODELO DE CAPACIDAD DE MADUREZ DEL PSw

NIVELES DEL MODELO
OPTIMIZADO

*Usa tecnologías avanzadas para mejorar el PSw haciendo sobrealimentar cuantitativa. *Incluye caracteristicas del nivel 4

GESTIONADO

*Recopila métricas del PSw y de calidad *Utiliza medidas para controlar cuantitativa mente el producto Sw y el PSw. *Incluye las características del nivel 3

DEFINIDO

*Documenta actividades de gestión y de ingeniería. *Define estándares para toda la organización y los integra al proceso del software. *Todo proyecto usa una versión de proceso documentado y aprobado. *Incluye características del nivel 2

REPETIBLE

*Define procesos para controlar el coste, planificación y funcionalidad. *Tiene en cuenta aspectos exitosos de anteriores.

INICIAL

*Se define un proceso general según el caso *Puede ser aleatorio o caótico *Define pocos procesos particulares *El éxito depende del esfuerzo individual

Obtenido de estudio de diferentes empresas productoras de software en todo el mundo.
Modelo propuesto por el SEI-estandar

EL DESARROLLO INDISCIPLINADO CONDUCE A ERRORES

En un ecosistema contaminado
Las enfermedades se propagan
El coste del error depende del proyecto
Un proyecto desarrollado de forma indisciplinada tiene muchas posibilidades de fracasar

FASES DE DESARROLLO DE UN PROYECTO

CLIENTE
PROBLEMA

ESPECIFICACIÓN

DISEÑO

PRODUCTO

CRISIS DEL SOFTWARE

DEFICIENCIAS
Carencia de documentos
Escasa portabilidad
Falta de adaptabilidad
Mantenimiento problematico
Ineficiencia
Costo excesivo
Falta de fiabilidad
Retraso de entrega

PROCESO DE SOFTWARE

EVOLUCION Y MANTENIMIENTO
Corrección de errores no detectados
Respuesta a cambios del negocio
VALIDACIÓN DE SOFTWARE
Comprobar que cumple con los requisitos del cliente.
IMPLEMENTACION
Articulación de los programas con:

Otras utilidades(bibliotecas)

Gestores de BD

Codificaron de programas
MARCO GENERAL
Evaluación y mantenimiento Especificación

Las restricciones de operacion

Describe funcionalidad del software

Tareas/Actividades

Validación de Software

Implementaacion/Desarrollo

Especificaciones

Independiente de su complejidad y tamaño
Define las tareas necesarias para producir software.

QUE ES UN CICLO DE VIDA DE SOFTWARE?

Un modelo de ciclo de vida es una abstracción particular que representa un ciclo de vida de software. Un modelo de ciclo de vida se denomina con frecuencia un ciclo de vida de desarrollo software (SDLC, siglas inglesas).
El ciclo de vida del software tipicamente incluye una fase de requisitos, una fase de diseño, una fase de pruebas, una fase de instalación y aceptación, una fase de operación y mantenimiento,y en algunos casos una fase de retirada.
El periodo de tiempo que comienza cuando se concibe un software y concluye cuando el producto ya no esta disponible para su uso.

QUE ES LA ING. DE SOFTWARE?

Aplicaron de un enfoque sistemático disciplinado y cuantifica ble del desarrollo, la operación y el mantenimiento del software.

DEFINICIÓN SEGÚN AUTORES

R. Fairley
La disciplina tecnológica y de gestión que concierne a la producción y el mantenimiento sistemático de productos de software desarrollados y modificados dentro de unos plazos estipulados y costes estimados.
SEI
Ing. es la aplicación de sistema de conocimiento científico en la creación y construcción de soluciones, que satisfacen una buena relación efectividad/precio, de problemas prácticos al servicio de la humanidad. La ing. de software es la forma de Ing. que aplica los principios de las ciencias de la computación y las matemáticas en la obtención de la solución de problemas del software que satisfacen una buena relación efectiva/precio.
F.L Bauer
El establecimiento y uso de principios de ingeniería robustos, orientados a obtener económicamente software que sea fiables y funcionen eficientemente en maquinas reales.

QUE ES UN SISTEMA DE SOFTWARE

TIPOS DE SOFTWARE
SEGÚN SU APLICACIÓN

Software de inteligencia artificial

Hace uso de algoritmos heuristicos para resolver problemas complejos

Software basado en Web

Software de apoyo a la utilizacion de internet

De gestión en Internet

Software de oficina y gestión personal

Procesamiento de textos

Hojas de calculo

Gráficos por computadora

juegos

Software empotrado

Usado para controlar productos electricos y electronicos

Ejecuta funciones limitadas y precisas

Software de Ingeniería y científico

Maneja algoritmos matematicos

aplicado a: *astronomía *cálculos *fabricación automática

Software de gestión

Procesa información de negocios SIG

Apoya la gestión y la toma de decisiones

Puede acceder a múltiples BD

Software de tiempo real

Gestiona el control de sucesos del mundo real: *Adquisición de datos *Control de salida *monitorizacion

Software de sistemas

Programas que sirven a otro programas

Fuerte interaccion con el hardware de la pc

Alta utilizacion

COMO PRODUCTO

Personalizado

El cliente controla los requisitos

Ordenados por un cliente particular a un contratista de software.

Genérico

Los requisitos los controla la factoría del software.

hechos por una organización para propósitos generales y que se venden al publico.

Web para actualizar
Sistemas de documentación
Archivos de configuración
Programas independientes para PC