You are on page 1of 40

1

ORGENES DE LA INGENIERA DE
SOFTWARE

La ingeniera de
software fue
estimulada por la
llamadacrisis del
software de la
dcada de 1960,
1970 y 1980, que
identifica muchos
LOS AOS 50

Cascada Rigurosa
No ignorar
matemticas,
ciencias de la
computacin,
sociales, econmicas
y administrativas.
Usar el mtodo
cientfico para
aprender a travs de
LOS AOS 60

Code And Fix


Inicio de la cultura del Hacker
Evitar parches de ltimo minuto o
trabajo de ltima noche
Atreverse a hacer prototipos novedosos
Respetar que el software es diferente
LOS AOS 70

Diferentes fases de
desarrollo
Programacin
Estructurada
Principios de diseo
Verificacin y
Validacin
Anlisis de Causa
LOS AOS 80
Renace POO
Primer SW-CMM y
primeros
estndares
Fabricas de
Software
Primeros 4GLs
Caminos para
incremento de
productividad
No Silver Buller
LOS AOS 90
Programacin Concurrente
Lenguaje Unificado de Modelado (UML)
Proceso Racional Unificado (RUP)
Modelo Espiral para el desarrollo basado
en el anlisis de riesgos
Software Libre
Mercado competitivo y social (WEB)
2
3
FUNCIONES DE UN INGENIERO DE
SOFTWARE
Estuario
Los problemas que se
presentan en la
construccin de grandes
sistemas de software no
Arroyo
son simples versiones a
gran escala de los
problemas de escribir
Analoga de Zagazara
y Galipenso.
pequeos programas de
Universidad de computador.
Zaragoza(Espaa)
FUNCIONES DE UN INGENIERO DE
SOFTWARE
COMPLEJA ADMINISTRACIN DE PROYECTOS
Los grandes sistemas
son tan complejos que
resulta imposible para
cualquier individuo
recordar los detalles de
cada aspecto del
proyecto
FUNCIONES DE UN INGENIERO
Trabajar DE
en grupo
SOFTWARE tcnicas ms formales de
SOLUCION PARA GRANDES PROYECTOSespecificacin y diseo que
posibiliten una comunicacin

debe documentarse
apropiadamente cada etapa del
proyecto

realizar unas pruebas


exhaustivas

cuidadosa administracin.
FUNCIONES DE UN INGENIERO DE
SOFTWARE
BENEFICIOS DE IMPLEMENTARLO
Con ello se facilita la
construccin de sistemas
en los plazos de tiempo
especificados,
cumpliendo con el
presupuesto estimado, y
satisfaciendo las
necesidades del cliente
FUNCIONES DE UN INGENIERO DE
SOFTWARE
COSTES DE PRODUCCION DEL SOFTWARE
Estimar y presupuestar, con la
mayor precisin posible, el coste
real asociado a la construccin.

Controlar y gestionar los


ingresos y gastos durante el
proceso de construccin.
FUNCIONES DE UN INGENIERO DE
SOFTWARE

El trabajo del ingeniero del


software consiste en construir
productos de alta calidad,
con un determinado
presupuesto y antes de una
determinada
fecha(Humphrey)
TAREAS VINCULADAS AL DESARROLLO DE
UN PRODUCTO SOFTWARE
Especificacin del software, en la que se
definen la funcionalidad y restricciones en
sus operaciones

Diseo e implementacin del software

Verificacin y validacin del software, para


asegurar que hace lo que el cliente desea

Transferencia al cliente y mantenimiento,


que recoge los cambios necesarios
posteriores a su entrega
TAREAS VINCULADAS A LA GESTIN Y
CONTROL DEL DESARROLLO DE
PRODUCTOS

Gestin de los proyectos

Gestin de configuraciones

Aseguramiento de la
calidad
FINALMENTE QU HACE EL INGENIERO?
Gestiona Proyectos de Software

Disea el Proyecto de Software

Analiza los Requerimientos

Crea la Arquitectura del Sistema

Dirige la Programacin

Supervisa las Pruebas

Supervisa la Documentacin

Supervisa el Mantenimiento
HERRAMIENTAS DE LA INGENIERA DE
SOFTWARE
MODELADO UML

Visual Paradigm
Gatherspace
4
ELEMENTOS DE LA INGENIERA DE
SOFTWARE

La Ingeniera de Software es una tecnologa


estratificada y debe estar sustentada en un
compromiso con la calidad
Mtodos Cmo construir tcnicamente un
Software?
Herramientas
Procedimientos
HERRAMIENTAS

La Herramientas de la ingeniera del software proporcionan un enfoque automtico


o semiautomtico para el proceso y para los mtodos.
Son sistemas automticos que apoyan la implementacin de la metodologa
utilizada. Las herramientas pueden ser CASE (Computer-Aided Software
Engineering), control automtico de software.
Hace el trabajo de diseo de software mas fcil y agradable
Verificar el uso de todos los elementos en el sistemas de diseo
Ayuda en la documentacin del sistema
Genera estructuras de cdigo
METODOS
Los mtodos de la ingeniera de software indican como construir
tcnicamente el software
Se componen de una serie de pasos, como identificacin de
necesidades, planificacin, calidad, anlisis, diseo, codificacin,
pruebas y mantenimiento de productos.
Un Mtodo Incluye:
Anlisis de requisitos
Diseo
Construccin
Prueba
Mantenimiento
PROCESOS

El Proceso tambin conocido como ciclo de vida del software es un conjunto de etapas
con la atencin de lograr un objetivo OBTERNER UN SOFTWARE DE CALIDAD.
Son los pasos en que se aplican la metodologa, los artefactos entregados en cada fase,
la calidad en los procesos y productos a travs de controles, as como la verificacin
tanto de hitos como del progreso del proyecto.
Fases Genricas:
Fase de Definicin Qu?
Fase de desarrollo Cmo?
Fase de Mantenimiento Cambio
CALIDAD

Base de cualquier Proceso de ingeniera


La ingeniera de software se basa en
calidad
Mejores tcnicas de construccin de
software
5
ESTNDARES
CMM: Tiene como meta describir los
elementos principales para llevar a cabo
los procesos de software efectivamente
Nivel 1 (Inicial): Resultados
impredecibles y pobremente controlados
Nivel 2 (Repetible): Repeticin de tareas
previamente conocidas
Nivel 3: (Definido): Proceso conocido y
entendido
Nivel 4 (Administrado): Proceso medido
ESTNDARES
ISO 9000-3:
Control de calidad
Colaboracin entre la organizacin y el
proveedor
El proveedor de software debe definir su
sistema de calidad
SPICE:
Desarrollar proyectos de software
Norma restringida
Transferencia de tecnologa a nivel
METODOLOGA

PSP (Personal Software Process):


Mejorar la forma en la que los
ingenieros de sistemas
desarrollan software
considerando aspectos de
planeacin, calidad, estimacin
de costos y productividad
TSP (Team Software Process):
HERRAMIENTA CASE

Se basa en un
anlisis y desarrollo
del tipo
descendiente ("top-
down") en que el
ciclo de vida de un
sistema se compone
de las siguientes
HERRAMIENTA CASE

Estrategia: Lograr un
entendimiento claro de las
necesidades de la
organizacin y del ambiente
en que operar el sistema o
sistemas a implantar.
Anlisis: Asegurar la
HERRAMIENTA CASE

Diseo: Toma los


requerimientos y el
modelado de la etapa de
anlisis y determina la mejor
manera de satisfacerlos
Construccin: Se codificarn
y probarn los nuevos
HERRAMIENTA CASE
Documentacin: En su
elaboracin se consideran el
estilo de trabajo y las
necesidades propias de los
usuarios que utilizarn y
mantendrn el sistema. Se hace
al mismo tiempo que la
construccin
HERRAMIENTA CASE
Produccin: Se asegura que el
sistema funcione correctamente
en la mayora de los casos, y
con intervencin mnima de los
administradores del sistema
6
HERRAMIENTAS DE DISEO DE SOFTWARE

ArgoUML Microsoft
Visio

PowerDesigner
HERRAMIENTAS DE SOFTWARE DE
CONSTRUCCIN
7
SWEBOK
Es una recopilacin o gua que describe el conocimiento que existe de la disciplina de IS elaborada por la
IEEE, quien pens que era necesario convertir la ingeniera del software en una disciplina legitima y una
profesin reconocida, esta gua se divide en 10 reas:
Requisitos software
Diseo software
Construccin software
Pruebas software
Mantenimiento software
Gestin de la configuracin software
Gestin de la Ingeniera del software
Procesos software
Mtodos y herramientas en Ingeniera del software
Calidad software

You might also like