ingenieria de Software I

12
Qué es la Ingeniería de Software Software: Programas de computador, procedimientos, y la documentación y los datos posiblemente asociados relacionados con la operación de un sistema de computador ...(el ingeniero) aplica el método y enfoque científico a la solución de problemas... Ingeniería de Software: Es una disciplina de la Ingeniería que concierne a todos los aspectos de la producción de software.

Transcript of ingenieria de Software I

Page 1: ingenieria de Software I

Qué es la Ingeniería de Software

• Software: Programas de computador, procedimientos, y la

documentación y los datos posiblemente asociados relacionados

con la operación de un sistema de computador

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

de problemas...

• Ingeniería de Software: Es una disciplina de la Ingeniería que

concierne a todos los aspectos de la producción de software.

Page 2: ingenieria de Software I

• En los comienzos:

el programador era el usuario

los problemas a resolver bien conocidos y simples

• Desarrollo de las computadoras:

aparece la figura del programador especializado

la mayor potencia de los equipos permite atacar problemas más

complejos

Se habla de la “Crisis del Software”

• El término Ing. de Software aparece por 1ra. vez en 1968

Page 3: ingenieria de Software I

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:

Métodos (o Técnicas)

Herramientas (mejorar resultado o eficiencia)

Procedimientos (combinan métodos y herramientas)

Paradigmas (“estilo” de la solución)

Page 4: ingenieria de Software I

Ingeniería de Sistemas e Ingenieria de Software

• La Ingeniería de Sistemas concierne a todos los

aspectos del desarrollo de sistemas basados en

cómputo, que incluyen hardware, software y el

proceso de Ingeniería. La Ingeniería de Software es

solo parte de este proceso.

Page 5: ingenieria de Software I

Ética y Responsabilidad

• Repercusiones de fallas en el software:pérdidas financieras riesgo a la seguridad

• Más allá de las fallas: Impacto socialCalidad de vidaCuestiones legales

Page 6: ingenieria de Software I

?!un error humano una falta

(interna)

una falla

(externa)

puede generar que puede generar

Calidad (falta-falla)

Page 7: ingenieria de Software I

Visiones• Visión:

Trascendente -se reconoce pero no se puede definir

del Usuario - adecuación al uso

del Productor- adecuación a las especificaciones

del Producto - características específicas

comportamiento externo (visible para todos)

características internas (normalmente sólo visibles al

productor)

basada en el Valor - cuánto estaría dispuesto a pagar• Usuario:

satisfacer necesidades/expectativas (utilidad, tiempo de respuesta)

Page 8: ingenieria de Software I

esfuerzo necesario (facilidades de aprendizaje y uso)

sin inconvenientes (frecuencia e impacto de fallas)• Implementador:

cantidad y tipo de faltas

facilidad de entender

bajo impacto de las modificaciones• según la visibilidad:

factores externos (visibles a todos)

factores internos (visibles a los implementadores)

Page 9: ingenieria de Software I

• Atinentes al:

Producto (una vez que el producto ya existe)

Proceso de Producción (mientras se produce)

• En el contexto del Negocio

Valor Técnico - Valor para el Negocio

• Retorno de la Inversión (Negocio)

Período de Repago

Tasa de Retorno

Valor Actual de los Flujos de Caja

• Retorno de la Inversión (Software)

Factores de Costo, Beneficios

Page 10: ingenieria de Software I

CLIENTE Patrocina el desarrollo del sistema

USUARIO

Usa elsistema

DESARROLLADOR

Construye el sistema

Obligacióncontractual

$$$,necesidades

Sistema de software

Necesidades

Page 11: ingenieria de Software I

Ing.Software y de Sistemas

• El Software como componente de un sistema:

Hardware

Software

Personas

• Sistema

Límite

Interacción con el exterior

Componentes y sus relaciones

Page 12: ingenieria de Software I

Cambios

• Nociones Fundamentales: Abstracción

Métodos y Notaciones para Análisis y Diseño

Arquitectura del Software

Proceso de Software

Mediciones

Herramientas y Ambientes Integrados