Вы находитесь на странице: 1из 38

Jun-14 Ing. de Software Qu es la Ing.

de Sw - 1

Qu es la Ingeniera
de Software

Surgimiento
Definiciones
Solucin de Problemas
Relacin con otras disciplinas
El Software en la sociedad actual
Etica y Responsabilidad
Calidad del Software
Participantes en el Desarrollo
Ingeniera de Software e Ingeniera de Sistemas
Cambios y Tendencias
Jun-14 Ing. de Software Qu es la Ing. de Sw - 2
Surgimiento


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 ms complejos
Se habla de la Crisis del Software
El trmino Ing. de Software aparece por 1ra.
vez en 1968
Jun-14 Ing. de Software Qu es la Ing. de Sw - 3
Definiciones

Software: Programas de computador, procedimientos, y
la documentacin y los datos posiblemente asociados
relacionados con la operacin de un sistema de
computador - IEEE 90.
...(el ingeniero) aplica el mtodo y enfoque cientfico a
la solucin de problemas...
Ingeniera de Software:(1)aplicacin de un enfoque
sistemtico, disciplinado y cuantificable al desarrollo,
operacin y mantenimiento de software, esto es, la
aplicacin de la ingeniera al software -
(2)El estudio de enfoques como en (1) - IEEE 90.
Jun-14 Ing. de Software Qu es la Ing. de Sw - 4
Solucin de Problemas

Solucionar un problema complejo
Anlisis (en subproblemas ms simples)
Sntesis de una solucin al problema a partir de las
soluciones a los subproblemas
Recurriendo a:
Mtodos (o Tcnicas)
Herramientas (mejorar resultado o eficiencia)
Procedimientos (combinan mtodos y herramientas)
Paradigmas (estilo de la solucin)
Jun-14 Ing. de Software Qu es la Ing. de Sw - 5
Relacin con otras disciplinas

Ciencias de la Computacin aporta:
Teoras
Funciones de Computadoras
Cliente trae:
Problema
Ingeniera de Software (2) desarrolla:
Mtodos,Herramientas, Procedimientos, Paradigmas
para resolver problemas
Ingeniera de Software (1) resuelve problemas
Jun-14 Ing. de Software Qu es la Ing. de Sw - 6
Ciencias de la
Computacin
Ingeniera de
Software (2)
Cliente
Teoras
Herramientas y
Tcnicas para
resolver problemas
Problema
Funciones
de las
Computa-
doras
Ingeniera de
Software (1)
Solucin
Jun-14 Ing. de Software Qu es la Ing. de Sw - 7
Relacin con otras disciplinas

Programacin -Programa-Producto-Sistema
Ingeniera: Construccin de artefactos
cumpliendo con restricciones
Arte ms que Ciencia (hacer ms que saber)
Plazo, Costo, Calidad, Otras
Administracin
Proyectos, Recursos Humanos
Jun-14 Ing. de Software Qu es la Ing. de Sw - 8
Software en la Sociedad Actual

Dnde no est presente?
Energa
Comunicaciones
Automviles
Electrodomsticos
Equipos mdicos
...
Crisis del Software?
Jun-14 Ing. de Software Qu es la Ing. de Sw - 9
Etica y Responsabilidad
Repercusiones de fallas en el software:
prdidas financieras
riesgo a la seguridad
...
Ms all de las fallas:
Impacto social
Calidad de vida
Cuestiones legales

Jun-14 Ing. de Software Qu es la Ing. de Sw - 10
Calidad

Problemas:
Plazo
Costo respecto a presupuesto
Utilidad
Requerimientos oscuros o cambiantes
Fallas
Rigidez
Alto costo de mantenimiento
Riesgos
Jun-14 Ing. de Software Qu es la Ing. de Sw - 11
?!
un error humano
una falta

(interna)
una falla

(externa)
puede generar que puede generar
Calidad (falta-falla)

Jun-14 Ing. de Software Qu es la Ing. de Sw - 12
Calidad - Visiones

Qu es la Calidad?
Visin:
Trascendente -se reconoce pero no se puede definir
del Usuario - adecuacin al uso
del Productor- adecuacin a las especificaciones
del Producto - caractersticas especficas
comportamiento externo (visible para todos)
caractersticas internas (normalmente slo visibles al
productor)
basada en el Valor - cunto estara dispuesto a pagar



Jun-14 Ing. de Software Qu es la Ing. de Sw - 13
Calidad - Visiones(2)

Usuario:
satisfacer necesidades/expectativas (utilidad,tiempo
de respuesta)
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
Jun-14 Ing. de Software Qu es la Ing. de Sw - 14
Correctness
Reliability
Efficiency
Integrity
Usability
Maintainability
Testability
Flexibility
Portability
Reusability
Interoperability
Completeness
Traceability
Consistency
Accuracy
Error tolerance
Execution efficiency
Storage efficiency
Access control
Access audit
Operability
Training
Communicativeness
Simplicity
Conciseness
Instrumentation
Self-descriptiveness
Expandability
Generality
Modularity
Software system independence
Machine independence
Communications commonality
Data Commonality
Jun-14 Ing. de Software Qu es la Ing. de Sw - 15
Calidad - Visiones (4)

segn la visibilidad:
factores externos (visibles a todos)
factores internos (visibles a los implementadores)
atinentes al:
Producto (una vez que el producto ya existe)
Proceso de Produccin (mientras se produce)
Qu relacin habr entre
factores internos y externos?
factores del proceso y del producto?
Jun-14 Ing. de Software Qu es la Ing. de Sw - 16
Calidad - Visiones(5)

En el contexto del Negocio
Valor Tcnico - Valor para el Negocio
Retorno de la Inversin (Negocio)
Perodo de Repago
Tasa de Retorno
Valor Actual de los Flujos de Caja
Retorno de la Inversin (Software)
Factores de Costo, Beneficios
Jun-14 Ing. de Software Qu es la Ing. de Sw - 17
Software process group
Quality group
Process
IR&D
Assessments
Materials
Hardware costs
Facilities
0% 10% 20%
30%
40% 50% 60% 70%
General
Documentation
SCE costs
General
Software costs
E
s
f
u
e
r
z
o

% de entrevistas
D

l
a
r
e
s


Calidad - Valor para el negocio
Disparidad de factores considerados en la definicin de ROI
en SW entre gobierno de US y sus proveedores
Jun-14 Ing. de Software Qu es la Ing. de Sw - 18
Quines participan
Desarrollo a Medida
Cliente (solicita)
Desarrollador construye
Usuario
COTS (Commercial Off The Shelf)
Desarrollador subcontrata parte
Producto llave en mano
Personalizacin
Integracin
Jun-14 Ing. de Software Qu es la Ing. de Sw - 19
CLIENTE
Patrocina el desarrollo
del sistema
USUARIO
Usa el
sistema
DESARROLLADOR
Construye
el
sistema
Obligacin
contractual
$$$,
necesidades
Sistema de software
Necesidades
Jun-14 Ing. de Software Qu es la Ing. de Sw - 20
Mantenimiento
Diseo del Sistema
Anlisis y Definicin de
Requerimientos
Diseo del programa
Implementacin del
programa
Prueba Unitaria
Prueba de Integracin
Prueba del Sistema
Liberacin del Sistema
P
a
s
o

e
n

e
l

D
e
s
a
r
r
o
l
l
o

d
e

S
o
f
t
w
a
r
e

R
o
l
e
s

d
e

l
o
s

D
e
s
a
r
r
o
l
l
a
d
o
r
e
s

Analista
Diseador
Programador
Tester
Capacitador
Jun-14 Ing. de Software Qu es la Ing. de Sw - 21
Ing.Software y de Sistemas
El Software como componente de un sistema:
Hardware
Software
Personas
Sistema
Lmite
Interaccin con el exterior
Componentes y sus relaciones

Jun-14 Ing. de Software Qu es la Ing. de Sw - 22
Lmite
ENTIDADES:
Partculas
Oxgeno
Dixido de Carbono
Agua
Nitrgeno
Nariz
Boca
Trquea
Bronquios
Pulmones
Alvolos
ACTIVIDADES:
Inhalar gases
Filtrar gases
Transferir molculas
desde/a la sangre
Exhalar gases
Jun-14 Ing. de Software Qu es la Ing. de Sw - 23
Sistema de Informes
Sistema de
Administracin de los datos
Sistema de
recopilacin de
datos remotos
Sistema de clculo
de los datos remotos
Sistema de Comunicacin
de ubicaciones remotas a central
Jun-14 Ing. de Software Qu es la Ing. de Sw - 24
Cambios y Tendencias
Tiempo para
salir al mercado
Inversin de relacin
de costo entre HW y SW
Desktop computing
Interconexin
en Redes
Tecnologa de Objetos
Problemas con
Modelo en Cascada
Interfaces
Grficas
CAMBIOS EN
INGENIERIA DE
SOFTWARE
Jun-14 Ing. de Software Qu es la Ing. de Sw - 25
Cambios y Tendencias
Nociones Fundamentales:
Abstraccin
Mtodos y Notaciones para Anlisis y Diseo
Prototipacin
Arquitectura del Software
Proceso de Software
Reuso
Mediciones
Herramientas y Ambientes Integrados
Jun-14 Ing. de Software Qu es la Ing. de Sw - 26

Abstraccin
es una decripcin del problema a cierto nivel de
generalizacin que permite concentrarnos en los
aspectos esenciales del problema sin
preocuparnos de detalles.
Identificar clases de objetos que permiten
agrupar elementos
Formar jerarquas
Jun-14 Ing. de Software Qu es la Ing. de Sw - 27
Dispositivo elctrico
Sensor
Sensor de Agua Sensor de Aire

Abstraccin
Jun-14 Ing. de Software Qu es la Ing. de Sw - 28

Construir Modelos y verificar completitud
y consistencia
Usar notacin estndar para ayudarnos a
comunicar y documentar las decisiones

Mtodos de Notacin Anlisis y Diseo
Jun-14 Ing. de Software Qu es la Ing. de Sw - 29
Prototipos
Construir una pequea versin de un
sistema para
ayudar al usuario y al cliente a identificar los
requerimientos clave
demostrar la factibilidad de un diseo o
enfoque
El usuario se siente cmodo con la
apariencia y forma de interaccin?
Jun-14 Ing. de Software Qu es la Ing. de Sw - 30

Arquitectura
La arquitectura de un sistema lo describe
en trminos de un conjunto de unidades
arquitectnicas y de cmo esas unidades
se relacionan entre s
Existen distintos estilos arquitectnicos y
distintos enfoques para identificar las
unidades arquitectnicas
Jun-14 Ing. de Software Qu es la Ing. de Sw - 31

Arquitectura- cmo descomponer
a partir de las funciones: asignar funciones a
mdulos
orientada a los datos: a partir de las
estructuras de datos externas
orientada a eventos
diseo de afuera hacia adentro: basada en
las entradas del usuario al sistema
diseo orientado a objetos: basado en
identificar clases de objetos y sus
interrelaciones
Jun-14 Ing. de Software Qu es la Ing. de Sw - 32

Proceso
Proceso de desarrollar software
(organizacin y disciplina en las
actividades)
contribuir a la calidad del software y a la
velocidad con la que se desarrolla
Jun-14 Ing. de Software Qu es la Ing. de Sw - 33
Aplicaciones para
toda la
empresa o divisin
Aplicaciones
Departamentales
Mono-usuario,
herramientas para
PC de escritorio
Desarrollo
Controlado
Desarrollo
Rpido
de aplicaciones
Mision -critica
Multi -usuario
Multi -plataforma
2- 3-capas
Visin/Alcance limitados
Riesgo bajo/medio
mono/ multi -plataforma
1-2-capas
Paquetes/desarrollo
minimo
Bajo costo/bajo
riesgo
plataforma nica

Proceso- especificidad
Jun-14 Ing. de Software Qu es la Ing. de Sw - 34

Reuso
Sacar partido de los elementos comunes
entre aplicaciones reutilizando elementos
de desarrollos previos
Componentes Reusables como bienes de
activo del negocio
Jun-14 Ing. de Software Qu es la Ing. de Sw - 35

Mediciones
Cuantificando dnde estamos y lo que
podemos, describimos nuestras acciones y
sus resultados en un lenguaje matemtico
comn que nos permite evaluar nuestro
progreso.
Jun-14 Ing. de Software Qu es la Ing. de Sw - 36

Herramientas y Ambientes Integrados
Utilizar herramientas para mejorar el
desarrollo de software, ayudan en:
anlisis y diseo
registrar el avance
depurar programas
probar programas
Jun-14 Ing. de Software Qu es la Ing. de Sw - 37

Preguntas
Brinde al menos una definicin de Ing. de
software (IS)
Cuntos aos tiene como disciplina?
Con qu otras disciplinas est relacionada?
Qu se entiende por crisis del software?
Cmo afecta a la IS que el software est
presente en las ms diversas reas?
Qu implicancias tiene sobre la tica y
responsabilidad?
Qu relacin tiene la IS con cuestiones legales?


Jun-14 Ing. de Software Qu es la Ing. de Sw - 38

Preguntas (2)
Cul es la diferencia entre falta (o defecto) y
una falla del software?
Cundo es posible evaluar los factores de
calidad externos de un producto de software?
Qu problemas plantea la evaluacin de los
factores de calidad externos durante el proceso
de desarrollo?
Qu nociones fundamentales han persistido?

Вам также может понравиться