Está en la página 1de 16

U

n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
1
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Es el equipamiento o soporte lgico de un
sistema informtico; comprende el conjunto de
los componentes lgicos necesarios que hacen
posible la realizacin de tareas especficas, en
contraposicin a los componentes fsicos, que
son llamados hardware.
Instrucciones (programas de cmputo) que
cuando se ejecutan proporcionan las
caractersticas, funcin y desempeo buscados.
Estructuras de datos que permiten que los
programas manipulen en forma adecuada la
informacin.
Informacin descriptiva, tanto en papel como
en formas virtuales, que detalla la operacin y
uso de los programas.
Definicin de Software
2
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Naturaleza del Software
PRODUCTO
Brinda el potencial del cmputo incorporado en el
hardware informtico.

Es un transformador de informacin (produciendo,
gestionando, adquiriendo, modificando, mostrando o
transmitiendo informacin de forma tan sencilla como
un bit o tan compleja como una presentacin
multimedia)
VEHCULO PARA ENTREGAR UN PRODUCTO
Acta como base de control de la computadora (Sistema
Operativo).
Posibilita la comunicacin de informacin (Redes).
Permite la creacin y el control de otros programas
(Herramientas de software y entornos).
3
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
1. El software se desarrolla o modifica con intelecto, no se manufactura en
el sentido clsico
Caractersticas del Software
SOFTWARE
Capital Intelectual
Conocimiento Materializado
Disperso
Tcito
Latente
Incompleto
Desarrollo de Software
Es un proceso de aprendizaje social
Es un dilogo en el cual el conocimiento que se convertir en software se junta y se materializa en ste
Proporciona interaccin entre: los usuarios y las herramientas en evolucin
los diseadores y sus herramientas
Es un proceso iterativo en el que la herramienta en evolucin sirve como un medio para la comunicacin
4
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
1. El software se desarrolla o modifica con intelecto, no se manufactura en
el sentido clsico (cont)
Caractersticas del Software
Construccin del Hardware
Anlisis, diseo, construccin y prueba
ELEMENTO FSICO
Desarrollo del Software
Anlisis, diseo, construccin y prueba
ELEMENTO LGICO
CONCLUSIONES:

Tanto el hardware como el software requieren la construccin de un producto,
pero los enfoques son diferentes.

En la construccin del hardware existen costos asociados a ingeniera y a
materiales; en la del software slo los de ingeniera.

=> Los proyectos de software no se pueden gestionar como los
proyectos de fabricacin
5
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Caractersticas del Software
2. El software no se desgasta, se deteriora!
Software Hardware

Cuando un componente de hardware se estropea se sustituye por una pieza de repuesto.
No hay piezas de repuesto del software, cada fallo en el software indica un error en el
diseo o en el proceso de traduccin del diseo al cdigo de mquina ejecutable, por lo que
el mantenimiento del software tiene una complejidad considerablemente mayor que la del
hardware
Conclusin
6
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
3. Aunque la industria se mueve hacia la construccin basada en
componentes, la mayor parte del software se construye para un uso
individualizado
Caractersticas del Software
7
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Software de Sistemas
Dominios de Aplicacin del
Software de Aplicacin
Software de Ingeniera y Ciencias
Software Incrustado
Software de Lnea de Productos
Aplicaciones Web
Software de Inteligencia Artificial
8
Conjunto de programas escritos para dar
servicios a otros programas.
Se caracteriza por:
Gran interaccin con el hardware
Uso intensivo por usuarios mltiples
Operacin concurrente que requiere
secuenciacin
Recursos compartidos
Administracin de un proceso
sofisticado
Programas aislados que resuelven una
necesidad especfica de negocios en tiempo
real, facilitando la gestin del negocio y la
toma de decisiones Se han caracterizado por ser algoritmos numricos.
Sin embargo, en los ltimos tiempos han
comenzado a hacerse en tiempo real. En esta
categora se encuentran: aplicaciones de
astronoma, anlisis de tensin de automviles,
dinmica orbital, transbordadores espaciales,
simulaciones de sistemas, entre otros.
Reside dentro de un producto o sistema y se usa
para implementar y controlar caractersticas y
funciones para el usuario final y para el sistema
en s. Ej: Control del tablero de un horno de
microondas
Proporciona una capacidad especfica para
uso de muchos consumidores diferentes,
centrndose en algn mercado limitado y
particular (Ej: Control de inventario de
productos) o se dirige a mercados masivos de
consumidores (Ej. Procesadores de texto,
Hojas de clculo, entretenimiento, etc.)
Llamadas Webapps. Desde el surgimiento de la
web 2.0, estas aplicaciones han evolucionado
hacia ambientes de cmputo sofisticados que no
slo proveen caractersticas aisladas, funciones
de cmputo y contenido para el usuario final, sino
que tambin estn integradas con bases de datos
corporativas y aplicaciones de negocios.
Hacen uso de algoritmos no numricos para
resolver problemas complejos que no son fciles de
tratar computacionalmente o con el anlisis directo
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Nuevos Desafos
Computacin en un mundo abierto
Construccin de redes
Fuente abierta
El crecimiento de las redes inalmbricas quizs lleve pronto a la
computacin ubicua y distribuida
Con la rpida expansin de la WWW, el reto de los
Ingenieros de Software ser crear arquitecturas de redes
sencillas
La creciente tendencia a la distribucin de cdigo fuente donde muchos
desarrolladores pueden contribuir plantea 2 nuevos desafos:
1. Elaborar cdigo fuente que sea autodescriptivo

2. Desarrollar tcnicas que permitan tanto a los desarrolladores
como a los consumidores saber: cules son los cambios hechos
y cmo se manifiestan dentro del software
9
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Interrogantes
lleva tanto tiempo terminar los programas?
Por qu
son tan elevados los costos de desarrollo?
no podemos encontrar todos los errores antes de entregar el
software a nuestros clientes?
nos resulta difcil constatar el progreso conforme se desarrolla el
software?
10
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Es el estudio de los principios y metodologas para el desarrollo y
mantenimiento de sistemas software (Zelkovitz, 1978)
Ingeniera de Software
Es la aplicacin prctica del conocimiento cientfico al diseo y
construccin de programas de computadora y a la documentacin
asociada requerida para desarrollar, operar y mantenerlos. Se conoce
tambin como Desarrollo de Software o Produccin de Software
(Bohem, 1976)
Trata del establecimiento de los principios y mtodos de la ingeniera a
fin de obtener software de modo rentable, que sea fiable y trabaje en
mquinas reales (Bauer, 1972)
Es la aplicacin de un enfoque sistemtico, disciplinado y cuantificable
al desarrollo, operacin y mantenimiento del software; es decir, la
aplicacin de la ingeniera al software (IEEE, 1993)
11
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Ingeniera de Software

ENFOQUE DE CALIDAD

PROCESOS

MTODOS
HERRAMIENTAS
Compromiso de organizacin de calidad

Gestin de Calidad
Sigma Seis (Six Sigma)

Es la base que soporta a la IS
Es la base de la IS; es un conjunto de
actividades, acciones y tareas que se
ejecutan para crear algn producto de
trabajo

Mantiene juntos los estratos de
tecnologa

Define un marco de trabajo que debe
establecerse para la entrega efectiva
de la tecnologa de la IS

Forma la base de control de la gestin
de los proyectos de software

Establece el contexto en el cual se
aplican los mtodos tcnicos, se
generan los productos, se asegura la
calidad y el cambio se maneja de
manera apropiada
INGENIERA DE SOFTWARE
Es una tecnologa estratificada o multicapa
Proporcionan los CMO tcnicos
para construir software

Abarcan un amplio espectro de tareas
que incluyen:
Comunicacin
Anlisis de requisitos
Modelado de diseo
Construccin de programas
Realizacin de pruebas
Soporte

Se basan en un conjunto de principios
que gobiernan cada rea de la
tecnologa e incluyen actividades de
modelado y otras tcnicas
descriptivas

Proporciona el soporte automatizado
o semiautomatizado para el proceso
y los mtodos (CASE)
12
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
MARCO DE TRABAJO
PROCESO DE SOFTWARE
ACTIVIDADES SOMBRILLA O PROTECTORAS
ACTIVIDADES DEL MARCO DE TRABAJO # 1
ACCIN DE LA I.S. # 1.1
Tarea de Trabajo
Producto de Trabajo
Puntos de Aseguramiento de la Calidad
Tarea de Trabajo
Producto de Trabajo
Puntos de Aseguramiento de la Calidad
Tarea de Trabajo
Producto de Trabajo
Puntos de Aseguramiento de la Calidad
Conjunto de Tareas
ACTIVIDADES DEL MARCO DE TRABAJO # N
ACCIN DE LA I.S. # N.1
Tarea de Trabajo
Producto de Trabajo
Puntos de Aseguramiento de la Calidad
Tarea de Trabajo
Producto de Trabajo
Puntos de Aseguramiento de la Calidad
Tarea de Trabajo
Producto de Trabajo
Puntos de Aseguramiento de la Calidad
Conjunto de Tareas
.
.
.
MARCO DE TRABAJO DEL PROCESO
Comprende un conjunto de actividades
genricas, que pueden ser aplicadas en la
inmensa mayora de proyectos de software:

COMUNICACIN: implica una intensa
colaboracin entre el cliente y el desarrollador

PLANEACIN: establece el plan de trabajo,
describe tareas tcnicas, riesgos probables,
recursos requeridos, productos que han de
generarse y un programa de trabajo

MODELADO: abarca la creacin de modelos que
permiten el entendimiento entre el cliente y el
desarrollador sobre los requisitos y el diseo

CONSTRUCCIN: combina la generacin de
cdigo y la realizacin de pruebas para descubrir
errores en ste

DESPLIEGUE: representa la entrega (del producto
completo o de una entrega) al cliente para ser
evaluado y que ste proporcione informacin
sobre el mismo.
Las actividades sombrilla se aplican a lo largo de
un proyecto de software y ayudan al equipo que
lo lleva a cabo a administrar y controlar el
avance, la calidad, el cambio y el riesgo:

Seguimiento y Control del Proyecto: permite
hacer seguimiento del progreso comparndolo
con el plan

Administracin del Riesgo: evala los riesgos
que puedan afectar el resultado del proyecto o la
calidad

Aseguramiento de la Calidad del Software:
define y ejecuta las actividades requeridas para
garantizar la calidad del software

Revisiones Tcnicas: evala los productos de
trabajo a fin de descubrir y eliminar errores antes
de que se propaguen

Medicin: define y rene mediciones del
proceso, del proyecto y del producto para ayudar
al equipo de proyecto a entregar un producto
que satisfaga las expectativas del cliente
Una actividad busca lograr un objetivo amplio
(Comunicacin con los participantes) y se
desarrolla sin importar el dominio de la
aplicacin, tamao del proyecto, complejidad del
esfuerzo o grado de rigor con el que se usar la
Ingeniera de Software
Una accin es un conjunto de tareas que
producen un producto importante del trabajo .
Por ejemplo:
Accin: Diseo de la Arquitectura
Producto: Modelo de diseo de la arquitectura
Una tarea se centra en un objetivo pequeo pero
bien definido. Por ejemplo:
Realizar una prueba unitaria que produce un
resultado tangible
13
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
La Prctica de la Ingeniera de Software
14
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
1. Entender el problema (Comunicacin y anlisis)
Ingeniera de Software
Esencia de la Prctica
George Polya: How to solve it
2. Planear la solucin (Modelado y diseo del software)
3. Ejecutar el plan (Generacin del cdigo)

4. Examinar la exactitud del resultado (Probar y asegurar la
calidad)
15
U
n
i
d
a
d

I
.

S
o
f
t
w
a
r
e

e

I
n
g
e
n
i
e
r

a

d
e

S
o
f
t
w
a
r
e

Ing. Fiuna Mammarella B.
Ingeniera de Software
Principios Generales
1 Principio: La razn de que exista todo
Dar valor al usuario

Esto agrega valor real al sistema?
Todo diseo debe ser tan simple
como sea posible,
pero no ms
2 Principio: MSE (Mantenlo sencillo, Estpido)

3 Principio: Mantener la visin
4 Principio: Otros consumirn lo que usted produce
5 Principio: brase al futuro
6 Principio: Planee por anticipado la reutilizacin
7 Principio: Piense!
Una visin clara es esencial
para el xito de un proyecto de software
Siempre establezca especificaciones,
disee e implemente
con la seguridad de que alguien ms
tendr que entender lo que usted haga
Los sistemas deben ser fciles de adaptar
a los constantes cambios que impone
el ambiente actual
Nunca disee sobre algo iniciado
Pregntese: qu pasa si?
Es quizs la meta ms difcil de alcanzar.
La reutilizacin ahorra tiempo y dinero
Disminucin de costos
Incremento del valor de los componente reutilizables
Incremento del valor de los sistemas
Pensar en TODO con claridad
antes de emprender la accin,
casi siempre produce mejores resultados
16

También podría gustarte