Está en la página 1de 40

INGENIERÍA DEL SOFTWARE I

Tema 1

IIntroducción
t d ió a lla Ingeniería
I i í del
d l
Software

Universidad Cantabria – Facultad de Ciencias


Juan Hernández, Francisco Ruiz
Objetivos y Bibliografía

• Comprender qué es la Ingeniería del Software y su


necesidad.
necesidad
• Situarla en el contexto más amplio de la Informática.
• Conocer el significado e implicaciones de la palabra
“ingeniería”.
• Conocer el cuerpo de conocimientos SWEBOK y las
principales áreas que la forman.
• Bibliografía Básica • Bibliografía Complementaria
 IEEE Computer Society (2004)  Caps. 1, 2 y 4 del libro de Sommerville
(2005).
 SWEBOK - Guide to the
Software Engineering Body of  http://www.comp.lancs.ac.uk/computi
htt // l k/ ti
Knowledge, 2004 Version. ng/resources/IanS/SE7/Presentations/i
Capítulo 1. ndex.html
 http://www.swebok.org/  Cap. 1 del libro de Pressman (2005).

Juan Hernández, Francisco Ruiz - IS1 1.2


Contenido
• Evolución Histórica del • Cuerpo de Conocimientos -
Desarrollo de Software SWEBOK
 ¿Cómo hemos llegado hasta aquí?  Definición
 Tendencias del Mercado  Áreas de Conocimiento
 Retos Pendientes  Requisitos
 Diseño
• La problemática del desarrollo 

Construcción
Pruebas
de Sw  Mantenimiento
 Gestión de la Configuración
• Contexto de la Ingeniería
g del  g
Gestión de la Ingeniería Sw
Software  Procesos
Herramientas y Métodos
 Perspectiva de Ingeniería 
 Calidad
 Definición de Ingeniería del Sw
 ¿Es hacer Sw una Profesión?
 Conclusiones

Juan Hernández, Francisco Ruiz - IS1 1.3


Evolución Histórica del Desarrollo de Sw
Boom
B
¿Cómo hemos llegado hasta aquí?
TIC
• Procesamiento distribuido.
• Usuarios demandan grandes PC.
• Surgen LAN y WAN.
• Nace Arpanet. 4ª Era
• Ordenadores Personales (avance de
microprocesadores). Tecnología
ec o og a OO
• Crecimiento del mercado cliente.
• El Sw marca la diferencia: • Ordenador: un
- errores.
+ fácil de mantener.
3ª Era •
electrodoméstico más.
Inteligencia Artificial.
• Nuevos paradigmas de diseño:
• Cambios en el Hw. HW de
d bbajo
j coste
t  Técnicas OO
• Sw un añadido más:
 Poca metodología.  Herramientas CASE

2ª Era
S.O. Multiusuario.
 Sw a medida. • Sistemas de tiempo real.
 Distribución
ó limitada. • Venta Hw y Sw, ¿NEGOCIO?
 1 persona. SW como producto • CRISIS del Sw:
 Documentar ¿Para qué?  Cambios por fallos/Nuevos requisitos.

1ª Era
1 

Incorporación dispositivos hardware.
Mantenimiento elevado y costoso.
 SW Personal e intransferible.
SW a medida  Imposible de mantener

1.950 1.960 1.970 1.980 1.990 2.000 2.010


Juan Hernández, Francisco Ruiz - IS1 1.4
Evolución Histórica del Desarrollo de Sw
¿Cómo hemos llegado hasta aquí?

INFRAESTRUCTURA DE COMUNICACIONES
□ Servidores de comunicaciones, switches, elementos activos sobre IP, software de comunicaciones,
dispositivos móviles, etc.

Boom SISTEMAS CORPORATIVOS


 ERPs (Enterprise Resource Planing).
Herramientas PERSONALES TIC  CRM (Customer relationship
 Correo electrónico (e
(e-mail)
mail) Management). )
 Agenda (Planificación de citas)  BI Tools (Scoreboard, Dashboard).
 Directorio de contactos
 Confección de documentos (MS Word), Hojas de
Cálculo (Excel), Presentaciones (MS Power Point),
Notas (One note).
Herramientas TRABAJO EN GRUPO
 Voz sobre IP (Skype, VoipBuster)
 MS SharePoint (Gestión de Contenidos, Gestión
 Blog
d
documental, l workflow
kfl d aprobaciones,
de b i Listas
i
 Navegador
personalizadas)
 Internet: Páginas de información, videos (YouTube),
 Web 2.0 (Redes sociales)
enseñanza on-line, diccionarios, mapas, enciclopedia.
j
 Project Server
 Aplicaciones
A li i de
d movilidad
ilid d sobre
b smartphones:
t h iPhone,
iPh
 Intranet (Internal Network)
Nexus, HTC.
Juan Hernández, Francisco Ruiz - IS1 1.5
Evolución Histórica del Desarrollo de Sw Tendencias de Mercado
MOVILIDAD SOA (Service Oriented Achitecture)
 Potentes smartphones  Sistemas abiertos a través de servicios RFID (Radio Frequency
 Tablets más delgados,
g más potentes,
p con p
expuestos al exterior Identification))
mayor autonomía en sus baterías.  Integración de soluciones de distintos  Identificación individualizada
Extensión como eBooks. proveedores en un modelo organizativo único. de elementos: personas,
 Todos los dispositivos móviles materias.
permanentemente conectados e integrados  Lectura remota de elementos
en la red corporativa. t bilid d
para su trazabilidad.

ESTÁNDARES DE
SISTEMAS GEORREFERENCIADOS Mercado AUTENTICACIÓN E
INTERCAMBIO DE
 Localización de unidades de logística
(personas, camiones, grúas…). Mejora en la DATOS
explotación de los recursos.  Implantación de certificados
 Presentación sobre mapas para ayudar a la sobre documentos personales:
d decisiones.
toma de d i i G l ’ API.
Google’s DNI
e-DNI
 Autenticación de personas.
MODELADO DE PROCESOS BPM  Firma digital de documentos.
 Definición de los procesos internos de  E-Factura
INTERNET INTERACTIVA cada organización según los estándares
 Todos los servicios accesibles a través de de la compañía y certificados Workflows.
Internet, desde cualquier lugar del mundo.  Orientación a la gestión basada en MDA (Model Driven
 La red como servidor (físico y lógico). procesos y proyectos (unidades de Architecture)
Computación en la nube (Cloud Computing). actuación) frente a las actuaciones  Los Modelos son el artefacto
basadas en gestión de departamentos o central del desarrollo en lugar
unidades de producción. del código fuente
Juan Hernández, Francisco Ruiz - IS1 1.6
Evolución Histórica del Desarrollo de Sw

• Se habla de “crisis del software” desde los años 70.


 Es que nos enfrentamos
E f t a un problema
bl difí
difícil,
il especial
i l y distinto
di ti t all
que se enfrentaron antes otras ingenierías.
• Se confunden ÉXITOS y FRACASOS.
FRACASOS
 En la sociedad actual, no es posible dirigir, gestionar o hacer eficiente
una organización si no se tiene presente la tecnología disponible.
• A lo largo del tiempo se han resuelto una gran cantidad de
dificultades, en un camino que siempre se ha caracterizado
por:
 Aprovechar el aumento de potencia y capacidad del hardware para
“hacer software más cerca de las p
personas y más lejos
j de las
máquinas”.

Juan Hernández, Francisco Ruiz - IS1 1.7


Evolución Histórica del Desarrollo de Sw Retos Pendientes

 Si hemos ido subiendo de nivel de abstracción en los


lenguajes de programación
programación, ¿nos permite la tecnología
actual dar otro salto más?.
 ¿Existe alguna manera de construir software más rápida y con
menos errores?.
 La integración sigue siendo un problema difícil.
 Integrar sistemas y tecnologías
 Seguimos teniendo dificultades para entender bien a los
clientes/usuarios.
 Muchos proyectos técnicamente correctos fracasan (el software
no sirve a los supuestos destinatarios o no lo usan).
 Ell software
f es la
l red.
d
 El concepto clásico cerrado de “aplicación” software está
p
desapareciendo.

Juan Hernández, Francisco Ruiz - IS1 1.8


La Problemática del Desarrollo de Sw

¿Qué es SOFTWARE?

Programas Datos Documentación

Manual de Usuario
Líneas de Código Estructura de Modelos de
Datos Construcción

Juan Hernández, Francisco Ruiz - IS1 1.9


La Problemática del Desarrollo de Sw

Características. Es…

• Es un elemento lógico y no físico.


• E d
Es desarrollado,
ll d no se “fabrica”.
“f b i ”
• No se estropea, pero se degrada:
 C
Curva de
d bañera
b ñ para fallos
f ll del
d l Hw.
H
 Curva ideal de fallos del Sw.
 Curva real de fallos del Sw.
Sw
• No hay piezas de repuesto.
• Se construye a medida  Reusabilidad.
Reusabilidad

Juan Hernández, Francisco Ruiz - IS1 1.10


La Problemática del Desarrollo de Sw

Características. Y además, debería ser…


• Mantenible.
 Construido y documentado para permitir cambios.
• Fiable.
 Debe hacer lo que se espera de él, no debe fallar más a menudo de
l que se acordó
lo dó en la
l especificación.
ifi ió
• Eficiente.
 No debe hacer uso innecesario de recursos
recursos.
• Usable.
 Interfaz de usuario adecuada
adecuada.

Juan Hernández, Francisco Ruiz - IS1 1.11


La Problemática del Desarrollo de Sw

• ¿A qué se parece el software?


 A un frigorífico
f i ífi (que( se fabrica).
f bi )
 A un libro (que se idea y se escribe).
 A una receta de cocina (que se inventa y se anota).
anota)
 A un servicio de un abogado en un juicio (que nos ayuda con su
conocimiento especializado).
• ¿Producto o Servicio?.
• Entonces,, ¿la gente
g que
q hace software qué
q clase de
habilidades y capacidades debe tener?
 Arquitecto
 Albañil
 Jardinero
 Artista
Juan Hernández, Francisco Ruiz - IS1 1.12
La Problemática del Desarrollo de Sw

Problemas, problemas, problemas…


• Planificación
Pl ifi ió imprecisa
i i  ¿Cuándo
C á d entregamos??
• Baja Productividad  ¿Es rentable?
• Calidad
C lid d “dudosa”
“d d ”  ¿Alguna vez se ve?
• Insatisfacción del cliente  ¿Es esto lo que quería?
• Mantenimiento ineficaz
f  ¿Siempre desarrollando?
Hay que actuar sobre…
 Calidad.
 Productividad.
Es necesario
 Control y Seguimiento.
aplicar conceptos
 Metodología.
g
de Ingeniería
 Plazo y Coste.
Juan Hernández, Francisco Ruiz - IS1 1.13
Contexto de la Ingeniería del Sw Perspectiva de Ingeniería

• Ingeniería (DRAE)
 Estudio
E di y aplicación,
li ió por especialistas,
i li d las
de l di
diversas
ramas de la tecnología.

• Ingeniero/a
 Persona
P que aplica
li l
los conocimientos
i i t d una o varias
de i
ramas de la ciencia para resolver cierto tipo de
necesidad de la gente,
g ,
 Mediante el diseño, construcción u operación de algún tipo de
artefacto o sistema.

Juan Hernández, Francisco Ruiz - IS1 1.14


Contexto de la Ingeniería del Sw Perspectiva de Ingeniería

sistema proceso

INGENIERO/A
palabras clave
p
proyecto
t usuario
¿?? i

Juan Hernández, Francisco Ruiz - IS1 1.15


Contexto de la Ingeniería del Sw Perspectiva de Ingeniería

• Cualquier ingeniería se caracteriza porque:


 Se necesitan conocimientos avanzados para diseñar y
construir el tipo de sistemas que la caracteriza.
 Diferencia
Dif i entre técnico
é i e ingeniero.
i i
 Existen dos “momentos”:
 Primero,
Pi conocer ell problema,
bl y
 Sólo después, podemos diseñar y construir la solución.
 Para conseguir buenos resultados (en calidad
calidad, tiempo y
costes) es necesario trabajar de forma organizada y
sistemática.
 La creatividad es necesaria (diseño), pero no es suficiente,
 Diferencia entre artista e ingeniero.

Juan Hernández, Francisco Ruiz - IS1 1.16


Contexto de la Ingeniería del Sw Perspectiva de Ingeniería

• El sentido común es muy importante.


 Ley del Mínimo Esfuerzo
 Entre las opciones correctas elegir la más sencilla.
 Reutilización
R ili ió (código,
( ódi artefactos
f software
f y del
d l conocimiento).
i i )
 No inventar la rueda
 Emplear
E l estándares.
tá d
 Aprender de la experiencia (nuestra o de otros).
 Utilizar
Utili “buenas
“b prácticas”
á ti ” y “lecciones
“l i aprendidas”.
did ”

“El sentido común es el arte de resolver los


problemas, no de plantearlos.” Yoritomo Tashi

Juan Hernández, Francisco Ruiz - IS1 1.17


Contexto de la Ingeniería del Sw Perspectiva de Ingeniería

• La ingeniería existe porque las personas diseñan y


construyen artefactos/sistemas cada vez más complejos.
complejos
• El mayor nivel de complejidad que el ser humano ha
enfrentado a lo largo de su historia se encuentra en algunos
de los sistemas software actuales (Windows Vista, Linux, MS
Office,, …).
)
• Un indicador de la complejidad de un sistema es el número
de variables independientes que afectan al comportamiento
del sistema.
 En un sistema físico (automóvil) son decenas o cientos.
 En un sistema software (Windows) pueden ser miles o decenas de
miles.

Juan Hernández, Francisco Ruiz - IS1 1.18


Contexto de la Ingeniería del Sw Definición

“Aplicación
Aplicación de un enfoque sistemático, disciplinado
y cuantificable al desarrollo, operación
(funcionamiento) y mantenimiento del software; es
decir la aplicación de los principios y hábitos de la
decir,
ingeniería al software.”
(IEEE 1993)
(IEEE,1993)

Juan Hernández, Francisco Ruiz - IS1 1.19


Contexto de la Ingeniería del Sw ¿Es hacer Sw una Profesión?

Distribución de los ocupados en Total % Incr.


Ocupaciones
perfiles TIC en la Unión Europea 15 (SOC90)
Puestos 2000-
(miles), Career-Space.
TIC 2004
Analistas y
1.885 +6,1
Programadores
Ingenieros de Software 1.306 +10,0
Administradores de
1.019 +4,1
Sistemas Informáticos
Operadores Informáticos 696 -0,5
05
Consultores y Gestores 437 +3,7
Ingenieros de Diseño y
399 +0,2
Desarrollo TIC
Ingenieros de
348 +6,5
Computadores
Ingenieros Eléctricos 203 -0,5
Ingenieros Electrónicos 196 +3,0
Total TIC 6.489 +4,7
Total Empleo 166.696 +0,8

Juan Hernández, Francisco Ruiz - IS1 1.20


Contexto de la Ingeniería del Sw ¿Es hacer Sw una Profesión?

Telefónica (2007): Personal por áreas funcionales en el sector de TI en España).

35000
30000
Empleados

25000
20000
Número de E

15000
2004
10000 2005
N

5000
0
Producción HW

Producción SW
ón y

Comercial y

i+D
ción

ción

oría

des

Ottros
ento

edia
Márketing
oy

Red
Consulto
Direcció

Financiero
Administrac

Formac
Stafff

Mantenimie

Multime
Juan Hernández, Francisco Ruiz - IS1 1.21
Contexto de la Ingeniería del Sw ¿Es hacer Sw una Profesión?

Informe PAFET (2002): Evolución profesional habitual de los profesionales TIC.

Experiencia

Evolución
hacia gestión
de negocios
Evolución hacia
dirección técnica
d proyectos
de t

Evolución
técnica
Tiempo
Recién
1- 3 años 3 -5 años > 5 años
egresados

Juan Hernández, Francisco Ruiz - IS1 1.22


Contexto de la Ingeniería del Sw ¿Es hacer Sw una Profesión?

• Características de una Profesión:


1. Campo
C duradero
d d de
d preocupación/interés
ó / é humano.
h
2. Cuerpo de conocimientos codificado (Conocimiento conceptual)

3. Cuerpo de prácticas codificado (Conocimiento experimental)

4. Estándares de competencia, ética y práctica (Responsabilidad


profesional)

¿Cómo está la Informática?


• P. Denning. El Futuro de la Profesión de TI. Novática, nº
147.
 Aprender de otros campos ya consolidados.
 MEDICINA vs SALUD.
 ABOGACÍA vs DERECHO.
DERECHO

Juan Hernández, Francisco Ruiz - IS1 1.23


Contexto de la Ingeniería del Sw ¿Es hacer Sw una Profesión?

• En Informática todavía se confunden tres cosas


diferentes:
 Sector Económico – Profesión – Puesto de Trabajo
Salud Médico Cirujano

• Un título académico forma para una o varias profesiones


dentro de un cierto sector económico
• ¿Cuál de las tres cosas es Informática?
 Sector Económico – Profesión – Puesto de Trabajo
¿? ¿? Informática
¿? Informática Ing. Software
Informática
f á Ing. Software
f Analista
l
Juan Hernández, Francisco Ruiz - IS1 1.24
Contexto de la Ingeniería del Sw ¿Es hacer Sw una Profesión?

• ¿Y Hacer Software?
 Construir edificios no es una profesión. La profesión
es arquitecto, albañil.
 Profesiones relacionadas con Hacer Software:
 Ingeniero de Software
 Programador
P d
 ….

! HAGAMOS QUE NUESTROS TITULADOS SEAN MÁS


INGENIEROS DE SOFTWARE Y MENOS PROGRAMADORES
DE SOFTWARE !

Juan Hernández, Francisco Ruiz - IS1 1.25


Contexto de la Ingeniería del Sw Conclusiones

• Hacer Software es un problema complejo y seguirá siéndolo.


• La Ingeniería del Software pretende resolverlo mediante la aplicación de
maneras sistemáticas y metódicas de trabajar (igual que hicieron hace
tiempo otras ingenierías).
• Existe una creciente opinión internacional para que se separe de la
Informática tradicional (Ciencia de la Computación).
• Es vital para el futuro (profesional, laboral y académico) de la Informática
que se incida más en la perspectiva de ingeniería.
 Más arquitecto, menos albañil.
• La carrera de Ingeniería Informática prepara para los trabajos más
cualificados dentro de un sector económico, que está llamado a tener
varias profesiones diferenciadas.
• Una de las profesiones será ingeniería de software.

Juan Hernández, Francisco Ruiz - IS1 1.26


Cuerpo de Conocimientos - SWEBOK

Software Engineering Body of Knowledge


http://www.swebok.org/
p // bo o g/

Juan Hernández, Francisco Ruiz - IS1 1.27


Cuerpo de Conocimientos - SWEBOK

• Proyecto conjunto de IEEE-CS y ACM.


• Versión actual de 2004.
2004
 Aprobada oficialmente como ISO/IEC TR 19759:2005.

• Los objetivos principales de SWEBOK son cinco:


 Promover una visión consistente del mundo de la IS.
 Clarificar
Cla ifica el papel –y delimitar
delimita las fronteras-
f onte as de la IS con respecto
especto a otras
ot as
disciplinas asociadas: ciencia de la computación, gestión de proyectos,
ingeniería de computadores, y matemáticas.
 Caracterizar los contenidos de la disciplina.
disciplina
 Proveer acceso a los contenidos del cuerpo de conocimientos.
 Proveer las bases para desarrollar planes de estudios o materiales para
certificaciones individuales.
individuales

Juan Hernández, Francisco Ruiz - IS1 1.28


Cuerpo de Conocimientos - SWEBOK
Guía para el Cuerpo de Conocimientos de Ingeniería del Software (IS)
SWEBOK (versión 2004)

Gestión de la Gestión de la Herramientas y


Requisitos Diseño Construcción Pruebas Mantenimiento Proceso de IS Calidad
Configuración IS Métodos

* Fundamentos * Fundamentos * Fundamentos * Fundamentos * Fundamentos * Gestión del * Iniciación y * Implementación * Herramientas * Fundamentos
proceso definición del y cambio del software para:
* Proceso * Aspectos * Gestión de la * Niveles de * Aspectos alcance proceso * Procesos de
- requisitos
clave construcción prueba clave * Identificación gestión de la
- diseño
* Elicitación de la * Planificación * Definición del - construcción
calidad
* Estructura y * Consideracio- * Técnicas * Proceso configuración del proyecto proceso - pruebas
* Análisis arquitectura nes prácticas - mantenimiento * Consideracio-
software * Mediciones *Técnicas * Control de la * Realización * Evaluación del - gestión de la nes prácticas
* Especificación relacionadas configuración del proyecto proceso configuración
* Análisis y - gestión de la IS
- el proceso de IS
* Validación evaluación de * Proceso * Contabilidad * Revisión y * Medición del
- calidad
la calidad de un del estado de la evaluación proceso - problemas
* Consideracio
Consideracio- diseño configuración y el producto varios
nes prácticas
* Notaciones * Auditoría de la * Cierre
configuración
* Medición en IS * Métodos de
* Gestión y desarrollo de
entrega de software:
versiones
- heurísticos
- formales
- prototipado

Juan Hernández, Francisco Ruiz - IS1 1.29


Cuerpo de Conocimientos - SWEBOK
Guía para el Cuerpo de Conocimientos de Ingeniería del Software (IS)
SWEBOK (versión 2004)

Requisitos Diseño Construcción Pruebas Mantenimiento

* Fundamentos * Fundamentos * Fundamentos * Fundamentos * Fundamentos

* Proceso * Aspectos * Gestión de la * Niveles de * Aspectos


clave
l construcción
t ió prueba
b clave
l
* Elicitación
* Estructura y * Consideracio- * Técnicas * Proceso
* Análisis arquitectura nes prácticas
software * Mediciones *Técnicas
* Especificación relacionadas
* Análisis y
* Validación * Proceso
evaluación de
la calidad de un
Fases en el proceso de
* Consideracio
Consideracio- diseño desarrollo de software
nes prácticas
* Notaciones
Juan Hernández, Francisco Ruiz - IS1 1.30
Cuerpo de Conocimientos - SWEBOK
Guía para el Cuerpo de Conocimientos de Ingeniería del Software (IS)
SWEBOK (versión 2004)

Gestión de la Gestión de la Herramientas y


Proceso de IS Calidad
Configuración IS Métodos

* Gestión del * Iniciación y * Implementación * Herramientas * Fundamentos


proceso definición del y cambio del software para:
alcance proceso * Procesos de
- requisitos gestión de la
* Identificación
- diseño calidad
de la * Planificación * Definición del
- construcción
configuración del proyecto proceso - pruebas
- mantenimiento * Consideracio-
* Control de la *R
Realización
li ió *E
Evaluación
l ió del
d l - gestión de la nes prácticas
á ti
configuración del proyecto proceso configuración
- gestión de la IS
* Contabilidad * Revisión y * Medición del - el proceso de IS
evaluación proceso - calidad
del estado de la
configuración
g y el producto
- problemas
varios
Incorporación de la
* Auditoría de la * Cierre perspectiva de
configuración * Métodos de
* Medición en IS desarrollo de ingeniería
* Gestión y software:
entrega de
versiones - heurísticos
- formales
- prototipado

Juan Hernández, Francisco Ruiz - IS1 1.31


Cuerpo de Conocimientos - SWEBOK
Descripción de un Área de Conocimiento
Clasificación de Matriz de Tópicos y Referencias
Tópicos Referencias

Descripciones Clasificación Clasificación Referencias a


de Tópicos Taxonomía de Taxonomía de Disciplinas
Vincenti Bloom Relacionadas
Juan Hernández, Francisco Ruiz - IS1 1.32
Cuerpo de Conocimientos - SWEBOK
Diseño del Software

Análisis
Aspectos Estructura y Estrategias y
Fundamentos Cualitativo y Notaciones
Clave Arquitectura Métodos
Evaluación

* Conceptos * Concurrencia * Estructuras y * Atributos de * Descripciones * Estrategias


generales puntos de vista calidad estructurales generales
*C
Control
t ly arquitecturales
it t l ( i t estática)
(vista táti )
* Contexto manejo de * Técnicas de * D. orientado a
eventos * Estilos análisis y * Descripciones funciones
* Proceso arquitecturales evaluación de del (estructurado)
* Distribución de (patrones la Calidad comportamiento
* Técnicas Componentes macro-
macro (vista dinámica)
facilitadoras arquitecturales) * Mediciones * D. orientado a
* Manejo de objetos
errores y
excepciones, y * Patrones de * D. centrado en
tolerancia a fallos diseño las estructuras
(patrones micro- de datos
* Interacción y arquitecturales)
presentación * D. basado en
* Familias de componentes)
* Persistencia de programas y
datos marcos * Otros métodos
(frameworks)

Juan Hernández, Francisco Ruiz - IS1 1.33


Áreas de Conocimiento

• Fases del Proceso de Desarrollo


 Requisitos
 Diseño
 Construcción
 Pruebas
 Mantenimiento
• Perspectiva de Ingeniería
 Gestión de la Configuración (gestión de productos)
 G
Gestión
ó dde lla Ingeniería
í (gestión
( ó de
d proyectos))
 Proceso de Ingeniería (orientación a procesos)
 Herramientas y Métodos (tecnología de soporte)
 Calidad

Juan Hernández, Francisco Ruiz - IS1 1.34


Áreas de Conocimiento
• Requisitos
 Elicitación, análisis, especificación y validación de los requisitos sw.
 En la industria del software existe el consenso en que los proyectos de
I.S. son muy vulnerables cuando estas actividades se realizan de forma
pobre.
 Los requisitos sw expresan las necesidades y restricciones que debe
satisfacer un producto software para contribuir a la solución de un
problema
bl real.
l
• Diseño
 El proceso de diseño de software consiste en analizar los requisitos
con el fin de producir una descripción de la estructura interna del
software que sirva como base para su construcción.
 Un diseño software (resultado) debe describir:
 La arquitectura (cómo está descompuesto y organizado en componentes)
y las interfaces entre dichos componentes; y
 Los componentes con el nivel de detalle adecuado para poder
construirlos. Juan Hernández, Francisco Ruiz - IS1 1.35
Áreas de Conocimiento
• Construcción
 Se refiere a la creación detallada de software mediante la
combinación de codificación, verificación, pruebas unitarias, pruebas
de integración y depuración.

• Pruebas
 Sirve p
para evaluar la calidad de un producto
p software o para
p
mejorarlo, mediante la identificación de sus defectos y problemas.
 Consiste en la verificación dinámica del comportamiento real de un
programa frente al comportamiento esperado
esperado, para un conjunto finito
de casos de prueba (convenientemente seleccionados entre las
usualmente infinitas posibilidades de ejecución) .

Juan Hernández, Francisco Ruiz - IS1 1.36


Áreas de Conocimiento
• Mantenimiento
 Todo producto software, después de su despliegue o entrega, “está
está
destinado” a cambiar o evolucionar.
 Algunas causas de ello son:
 Defectos descubiertos durante su uso,
 Cambios en el entorno operativo,
 Nuevos requisitos del usuario, ..
 En SWEBOK este área se refiere a las actividades requeridas para
proveer un adecuado soporte al software, sea antes o después del
d
despliegue
li o entrega.
t

Juan Hernández, Francisco Ruiz - IS1 1.37


Áreas de Conocimiento
• Gestión de la Configuración
 Es la disciplina de identificar la configuración de un sistema en
distintos momentos en el tiempo con el fin de controlar
sistemáticamente los cambios y mantener la integridad y trazabilidad.
 Una configuración
U fi ió de
d un sistema
i t es una colección
l ió de d versiones
i
específicas de sus elementos (items de configuración) combinados de
acuerdo a procedimientos de construcción adecuados a los propósitos
buscados.
• Gestión de la Ingeniería
 Consiste en aplicar actividades de gestión (planificar, coordinar, medir,
supervisar, controlar e informar) para asegurar que el desarrollo y
mantenimiento de software se realizan de forma sistemática,
disciplinada y cuantificable.
 Básicamente, engloba dos clases de esfuerzos:
 Gestión de Proyectos (Project Management)
 Medición (futura nueva área en SWEBOK)
Juan Hernández, Francisco Ruiz - IS1 1.38
Áreas de Conocimiento
• Proceso de Ingeniería
 Se refiere a la definición, implementación, evaluación, medición,
gestión, cambio y mejora de los propios procesos del ciclo de vida del
software.
 E l b aspectos
Engloba t con fuerte
f t iimpacto
t en lla iindustria:
d ti
 Madurez de las organizaciones (CMMI, SPICE)
 Mejora
j de Procesos
 Por ello, ha surgida la llamada Ingeniería de Procesos Software

• Herramientos y Métodos
 Las herramientas (basadas en computador) ayudan a realizar los
procesos del ciclo de vida del software.
 Los métodos imponen una manera o estructura para realizar las
actividades de ingeniería del software, de forma que el trabajo sea
más sistemático y mas exitoso
exitoso.

Juan Hernández, Francisco Ruiz - IS1 1.39


Áreas de Conocimiento
• Calidad
 En este área se abordan las técnicas estáticas para alcanzar la calidad
del software.
 Las técnicas dinámicas (ejecutar el software) son parte de las Pruebas.
 Este campo también
é ha tenido un fuerte desarrollo en la industria:
 Aseguramiento de la Calidad
 Verificación y validación
 Auditoría

Juan Hernández, Francisco Ruiz - IS1 1.40

También podría gustarte