Está en la página 1de 76

Sesin 02:

Estructura, Modelos y Procesos


Ingeniera de Software

Ing. Lenin Huayta Flores

Planeacin de una estructura organizacional


1.

2.
3.
4.

Factores a considerar
Paradigmas organizacionales
Los actores en proyecto
Los trabajadores

Ingeniera de Software

1. Factores a considerar
Ingeniera de Software

Ing. Lenin Huayta Flores

Factores a considerar para formar Equipos de


Software

Los siguientes factores deben ser considerados


cuando se selecciona la estructura del equipo del
proyecto de software...

Dificultad del problemas a ser resuelto


El tamao de las lneas de cdigo de los programas
resultantes o puntos funcin
El tiempo en que el equipo estar junto (tiempo de vida del
equipo)
El grado de modularidad del problema
La calidad y confiabilidad requeridas del sistema a ser
construido
La rigidez de la fecha de entrega
El grado de sociabilidad (comunicacin) requerida para el
proyecto.

Ingeniera de Software

Riesgos Asociados a las Personas

Cuestionamientos que deben ser resueltos:

Est disponible el mejor personal?


El staff tiene las habilidades adecuadas?
Hay suficiente personal disponible?
Existe el compromiso completo?
Habr gente que trabaje parcialmente?
El staff tiene las expectativas adecuadas?
El staff tiene el suficiente entrenamiento?
Podra la respuesta del staff ser baja?

Ingeniera de Software

2. Paradigmas organizacionales
Ingeniera de Software

Ing. Lenin Huayta Flores

Paradigmas Organizacionales

Paradigma cerrado estructura al equipo a travs de una


jerarqua de autoridad tradicional
Paradigma aleatorio estructura a un equipo de manera
dispersa y depende de la iniciativa individual de los
miembros del equipo
Paradigma abierto estructura al equipo de una manera en
la que se llevan a cabo algunos de los controles asociados
con el paradigma cerrado pero tambin mucha de la
innovacin ocurre cuando se usa el paradigma aleatorio
Paradigma sncrono depende de la fragmentacin natural
de un problema y organiza a los miembros del equipo para
trabajar en piezas del problema con poca comunicacin
activa entre ellos.

Ingeniera de Software

Distribucin del Esfuerzo

Actividades Front-end

40 50%

15 20%

Actividades de construccin

30 40%

Codificacin o generacin de cdigo

Prueba e instalacin

Ingeniera de Software

Comunicacin con el cliente


Anlisis
Diseo
Revisin y modificacin

Unitarias, integracin
Caja-blanca, caja-negra
Regresin

3. Los actores
Ingeniera de Software

Ing. Lenin Huayta Flores

Los Actores
Lder de Proyecto
(gestor tcnico)
SQA
Gestor superior
(aspectos de negocio)

Productores
(trabajadores)
Clientes
(requisitos)

Representante de usuario
(coordinador de usuarios)

Usuario final
(pruebas)
Ingeniera de Software

10

4. Los trabajadores
Ingeniera de Software

Ing. Lenin Huayta Flores

Trabajadores (Workers)

Personas que participan en el proceso


Tienen competencias especficas

En cada flujo de trabajo

Worker

Ingeniera de Software

12

Trabajadores
1.

2.
3.
4.
5.
6.
7.
8.
9.

Analista de Sistemas
Especificador de Casos de Uso
Arquitecto
Ingeniero de Casos de Uso
Ingeniero de Componentes
Integrador de Sistemas
Diseador de Pruebas
Ingeniero de Pruebas de Integracin
Ingeniero de Pruebas del Sistema

Ingeniera de Software

13

Analista de Sistemas

Responsable del conjunto de


modelados en los casos de uso

Analista de
Sistemas

Flujos de Trabajo
Requerimientos

Ingeniera de Software

requisitos

Requisitos funcionales y no funcionales

Delimitar el sistema
Encontrar actores y casos de uso
Asegurar modelos de casos de uso completos
y consistentes
Elaborar un glosario para mantener la
consistencia semntica
Dirigir el modelado
Coordinar la captura de requisitos

14

Especificador de Casos de Uso

Responsable de la descripcin detallada de


un caso de uso
Establecer una comunicacin estrecha y
eficaz con los usuarios (directos)

Especificador
de C.U.

Flujos de Trabajo
Requerimientos

Ingeniera de Software

15

Diseador de Interfaces

Disear las interfaces de usuario

Aspecto visual

Desarrollar prototipos de interfaces


usuario para algunos casos de uso

de

Diseador de
Interfaces

Flujos de Trabajo
Requerimientos

Ingeniera de Software

16

Arquitecto

Requerimientos

Describir la arquitectura y prioridades del modelo de


casos de uso

Anlisis

Garantizar la integridad del modelo de anlisis

Arquitecto
Flujos de Trabajo
Requerimientos
Anlisis
Diseo
Implantacin

Ingeniera de Software

Diseo

Correcto, consistente y legible

Garantizar la integridad de los modelos de diseo y


despliegue

Implantacin

Garantizar la integridad del modelo de implantacin


Asignar componentes a nodos

17

Ingeniero de Casos de Uso

Anlisis

Mantener la integridad de las realizaciones de casos


de uso

Diseo

Detallar las realizaciones de casos de uso


Verificar la correspondencia entre anlisis y diseo

Ingeniero
de C.U.

Flujos de Trabajo
Anlisis
Diseo

Ingeniera de Software

18

Ingeniero de Componentes

Anlisis

Diseo

Ingeniero de
Componentes

Flujos de Trabajo
Anlisis
Diseo
Implantacin
Pruebas

Ingeniera de Software

Definir y mantener las operaciones, mtodos,


atributos, relaciones y requisitos de implantacin de
una o ms clases del diseo

Implantacin

Definir y mantener las responsabilidades, atributos,


relaciones y requisitos especiales de una o varias
clases del anlisis

Definir y mantener el cdigo fuente de uno o varios


componentes

Pruebas

Desarrollar componentes de prueba que automatizan


algunos de los procedimientos de prueba

19

Integrador de Sistemas

Planificar la secuencia de construcciones


necesarias en cada iteracin
Integrar cada construccin a partir de sus
partes implementadas

Integrador de
Sistemas

Flujos de Trabajo
Implantacin

Ingeniera de Software

20

Diseador de Pruebas

Garantizar la integridad
pruebas
Planear las pruebas

del

modelo

de

Establecer objetivos de prueba apropiados

Seleccionar y describir casos de prueba y los


procedimientos de prueba

Diseador
de Pruebas

Flujos de Trabajo
Pruebas

Ingeniera de Software

21

Ingeniero de Pruebas de Integracin

Ejecutar las pruebas de integracin


Verificar el correcto funcionamiento
componentes
Documentar los defectos

de

Ing. de Pruebas
de Integracin

Flujos de Trabajo
Pruebas

Ingeniera de Software

22

Ingeniero de Pruebas del Sistema

Ing. de Pruebas
del Sistema

Ejecutar las pruebas del sistema para cada


iteracin completa
Verificar los resultados en conjunto con los
usuarios finales
Documentar los defectos
Facilidad para tener familiaridad con el
comportamiento observable del sistema

Flujos de Trabajo
Pruebas

Ingeniera de Software

23

Modelos y Procesos
Ingeniera de Software

Ing. Lenin Huayta Flores

Significado del proceso

Conjunto ordenado de tareas como Proceso: serie


de pasos con actividades, restricciones y recursos
que producen una salida de cierto tipo.
Cuando el proceso involucra la construccin de un
producto, a veces se menciona como Ciclo de Vida
(del producto).

Ingeniera de Software

25

Siguiendo un Proceso

Un proceso es un conjunto de procedimientos


(receta), organizado para construir productos que
satisfacen una seria de objetivos y estndares.
Los procesos son importantes porque imponen
consistencia y estructura en un conjunto de
actividades.
Sabemos cmo hacer algo bien y queremos forzar
que otros lo hagan de la misma forma.

Ingeniera de Software

26

Escribiendo un Proceso

(un programa que otros deben seguir)

Prescribir todas las actividades principales


Usa recursos sujeto a restricciones
Puede estar compuesto de subprocesos
Cada actividad tiene un criterio de entrada y otro de
salida
Las Actividades estn organizadas en una
secuencia.
Establecer los objetivos de cada actividad.

Ingeniera de Software

27

Modelos de Procesos de Software

Prescripciones de la forma en que el desarrollo de


software debera llevarse a cabo.
Descripciones de la forma en que el desarrollo se
lleva a cabo realmente.
Cada modelo de desarrollo de software incluye los
requerimientos del sistema como entrada y el
producto librado al uso como salida.

Ingeniera de Software

28

Modelo Cascada

Definicin de
Requerimientos

Diseo del Sistema y


Software

Implementacin y
Pruebas de Unidad

Integracin
y Prueba

Operacin y
Mantenimiento

Ingeniera de Software

29

(Proceso de desarrollo en la realidad)


ANLISIS DE
REQUERIMIENTOS

DISEO DEL
SISTEMA

MANTENIMIENTO

DISEO DE
PROGRAMAS

LIBRAR AL USO

PRUEBA DEL
SISTEMA

IMPLEMENTACIN
DE PROGRAMAS

PRUEBA DE
INTEGRACIN

Ingeniera de Software

PRUEBA UNITARIA

30

Cascada c/prototipos

ANALISIS DE
REQUERIMIENTOS

DISEO DEL
SISTEMA

DISEO DE
PROGRAMAS

IMPLEMENTACION
DE PROGRAMAS

PRUEBA UNITARIA
Y DE INTEGRACION

PROTOTIPADO

PRUEBA DEL
SISTEMA

PRUEBA DE
ACEPTACION

OPERACION Y
MANTENIMIENTO

Ingeniera de Software

31

Modelo V

Definicin de
Requerimientos

Desincorporacin
del Sistema

Diseo del
Sistema

Evolucin del
Sistema

Desarrollo de
Sub-sistemas

Instalacin de
Sistemas

Integracin de
Sistemas

Ingeniera de Software

32

Modelo de Prototipacin

LISTA DE
REVISIONES

LISTA DE
REVISIONES

LISTA DE
REVISIONES

PROTOTIPAR
DISEO

PROTOTIPAR
SISTEMA

revisar
prototipo

PROTOTIPAR
REQUERIMIENTOS

REQUERIMIENTOS
DEL SISTEMA
(a veces informales
o incompletos)

Ingeniera de Software

PRUEBA

SISTEMA
LIBRADO
AL USO

33

Especificacin Operacional:

Los requerimientos se ejecutan utilizando


un producto de software
EJECUTAR Y
REVISAR

ESPECIFICACION
OPERACIONAL
(orientada al
problema)
REQUERIMIENTOS
DEL SISTEMA
(a veces informales
o incompletos)

Ingeniera de Software

ESPECIFICACION
TRANSFORMADA
(orientada a la
implementacin)

PRUEBA

SISTEMA
LIBRADO
AL USO

34

Modelo Transformacional

Comparar con
requerimientos;
actualizar si se
necesita

REGISTRO FORMAL DEL DESARROLLO


Secuencia de transformaciones + sus justificaciones

TRANSFORM. N
.
.
ESPECIFICACION
FORMAL

TRANSFORM. 2

PRUEBA

TRANSFORM. 1
REQUERIMIENTOS
DEL SISTEMA
(a veces informales
o incompletos)

Ingeniera de Software

SISTEMA
LIBRADO
AL USO

35

DESARROLLADORES

Desarrollo en Fases

Sistemas en Desarrollo
Construir
liberacin 1

Construir
liberacin 2

Construir
liberacin 3

USUARIOS

Tiempo

Usar
liberacin 1

Usar
liberacin 2

Usar
liberacin 3

Sistemas en Produccin

Ingeniera de Software

36

Incrementos e Iteraciones

DESARROLLO INCREMENTAL

DESARROLLO ITERATIVO

Ingeniera de Software

37

Modelo Espiral

Ingeniera de Software

38

Modelo Espiral

Ingeniera de Software

39

Modelo de Proceso y de Ciclo de Vida

La preocupacin por el Proceso (fin de los 80) es


ms reciente que la definicin del Ciclo de Vida
(fin de los 60)
En general se asocia a la nocin de modelo de
proceso un mayor detalle y precisin
Los modelos previos presentan en general poco nivel
de detalle y fueron propuestos originalmente como
modelos de Ciclo de Vida

Ingeniera de Software

40

Herramientas y Tcnicas para el Modelado de


Procesos

Elegir un lenguaje o notacin


Tener claro objetivos del modelo

Detalle (granularidad)
Describir-prescribir
Predecir (requiere agregar relaciones cuantitativas entre
elementos)
Ejecutar (asistir en el uso)

Vamos a ver algunos ejemplos

Ingeniera de Software

41

Modelo de Factores que inciden en la


productividad (Abdel-Hamid 96)
Porcin de personal experiente
Productividad potencial nominal
de personal experiente

Productividad potencial
nominal de personal nuevo

% completado del
proyecto

Multiplicador de
aprendizaje

Productividad potencial
promedio nominal

Productividad
potencial
Productividad de Desarrollo

Porcin real de persona-da


en el proyecto

Sobre/bajo Tolerancia
del trabajo

Ingeniera de Software

Prdidas por motivacin y


comunicacin

Presin del Calendario

Esfuerzo adicional de
omunicaciones

Tamao del equipo

42

Estructura del Desarrollo de Software


(Abdel-Hamid 96)
GESTION DE RRHH

PRODUCCION DE SOFTWARE

Prdidas del Proceso


Deteccin y
Correccin de
Errores

Productividad
Potencial

Tasa de
Desarrollo
de SW

Productividad
Real

Esfuerzo
de Q A

Tasa de
Errores

Aprendizaje

Fecha Planificada
de Terminacin

Ajustes a
Personal y
Calendario
PLANIFICACION

Ingeniera de Software

Mezcla de experiencia del


personal

Personal

Presin del Calendario

Nivel de Personal
percibido como
necesario

Tasa de
bajas

Tasa de
Incorporacin
De personal

Productividad Percibida
Tareas percibidas
como terminadas

Fecha estimada
de Terminacin

Nivel de precisin
en medir el avance

Esfuerzo faltante
percibido
Estado percibido del proyecto
CONTROL

43

Modelado de Proceso
Para que?

Entender el proceso (real o propuesto)

Simulacin del proceso y planificacin del proyecto

Revelar inconsistencias, problemas (base para la mejora)


Poco nivel de detalle adicional necesario
Factores que afectan la productividad global.
Relaciones (cuantificadas) entre los factores.
Soportados por software que simulan el proceso.

Gua en la ejecucin real del proceso

Se precisa agregar mltiples detalles

Ingeniera de Software

44

Modelo de Ingeniera del Proceso

Especificacin - establecer los requerimientos y


restricciones del sistema
Diseo - Producir un modelo en papel del sistema
Manufactura - construir el sistema
Prueba - verificar que el sistema cumpla con las
especificaciones requeridas
Instalacin - entregar el sistema al usuario y
asegurar su operacionalidad
Mantenimiento - reparar fallos en el sistema cundo
sea descubiertos

Ingeniera de Software

45

Problemas en el Modelo del Proceso

Normalmente, las especificaciones son incompletas


o anmalas
No existe una distincin precisa entre la
especificacin, el diseo y la manufactura
Solo hasta que el sistema se ha producido se puede
probar
El software no se puede remplazar siempre durante
el mantenimiento

Ingeniera de Software

46

Modelos Genricos del Desarrollo de Software

Modelo de Cascada

Desarrollo Evolutivo

Un modelo sirve de prototipo para la construccin del


sistema final.

Transformacin Formal

La especificacin y el desarrollo estn intercalados.

Prototipado

Separar en distintas fases de especificacin y desarrollo.

Un modelo matemtico del sistema


formalmente en la implementacin.

se

transforma

Desarrollo basado en Reutilizacin

El sistema
existentes.

Ingeniera de Software

es

ensamblado

partir

de

componentes

47

Modelo Cascada (grfica)

Definicin de
Requerimientos

Diseo del Sistema y


Software

Implementacin y
Pruebas de Unidad

Integracin
y Prueba

Operacin y
Mantenimiento

Ingeniera de Software

48

Fases del Modelo de Cascada

Anlisis de requerimientos y definicin.


Diseo del sistema y del software.
Implementacin y prueba de unidades
Integracin y prueba del sistema.
Operacin y mantenimiento.
La dificultad en esta modelo reside, en la dificultad
de hacer cambios entre etapas.

Ingeniera de Software

49

Desarrollo Evolutivo

Especificacin

Versin
Inicial

Desarrollo

Versiones
Desarrollo
Intermedias
Desarrollo

Validacin

Versin
Final

Descripcin

Ingeniera de Software

50

Desarrollo Evolutivo

Problemas

Poca visibilidad en el proceso


Los sistemas estn pobremente especificados
Se requieren habilidades especiales.

Aplicabilidad

Para sistemas interactivos pequeos o medianos.


Para partes de sistemas grandes (p.ej. la interfaz de
usuario).
Para sistemas de corta vida.

Ingeniera de Software

51

Prototipado

Prototipado exploratorio

El objetivo es trabajar con clientes hasta evolucionar a un


sistema final, a partir de una especificacin inicial. Se debe
comenzar con unas especificaciones bien entendidas.

Prototipado de throw-away.

El objetivo es entender los requerimientos del sistema. Se


puede comenzar con especificaciones poco entendidas.

Ingeniera de Software

52

Problemas y Riesgos con los Modelos

Cascada.

Prototipado.

Alto riesgo en sistemas nuevos debido a problemas en las


especificaciones y en el diseo.
Bajo riesgo para desarrollos bien comprendidos utilizando
tecnologa conocida.
Bajo riesgo para nuevas aplicaciones debido a que las
especificaciones y el diseo se llevan a cabo paso a paso.
Alto riesgo debido a falta de visibilidad

Evolutivo.

Alto riesgo debido a la necesidad de tecnologa avanzada y


habilidades del grupo desarrollador.

Ingeniera de Software

53

Manejo de Riesgos

La tarea principal del administrador consiste en


minimizar riesgos.
El riesgo inherente en una actividad es se mide en
base a la incertidumbre que presenta el resultado
de esa actividad.
Las actividades con alto riesgo causan sobre-costes
en cuanto a planeacin y costos
El riesgo es proporcional al monto de la calidad de
la
informacin
disponible.
Cuanto
menos
informacin, mayor el riesgo.

Ingeniera de Software

54

Modelos de Procesos Hbridos

Los sistemas grandes estn hechos usualmente de


varios subsistemas.
No es necesario utilizar el mismo modelo de proceso
para todos los subsistemas.
El prototipado es recomendado cuando existen
especificaciones de alto riesgo.
El modelo de cascada es utilizado en desarrollos
bien comprendidos.

Ingeniera de Software

55

Modelo de Proceso de Espiral

Ingeniera de Software

56

Fases del Modelo de Espiral

Planteamiento de Objetivos

Identificacin y reduccin de riesgos.

Los riesgos clave se identifican y analizan, y la informacin


sirve para minimizar los riesgos.

Desarrollo y Validacin.

Se identifican los objetivos especficos para cada fase del


proyecto.

Se elige un modelo apropiado para la siguiente fase del


desarrollo.

Planeacin.

Se revisa el proyecto y se trazan planes para la siguiente


ronda del espiral.

Ingeniera de Software

57

Plantilla para una ronda del espiral

Objetivos.
Restricciones.
Alternativas.
Riesgos.
Resolucin de riesgos.
Resultados.
Planes.
Garantas (commitments).

Ingeniera de Software

58

Mejoramiento de la Calidad en el
Modelo de Espiral

Objetivos

Restricciones.

Mejorar significativamente la calidad del software.


Dentro de los 3 primeros anos.
Sin que se produzcan grandes inversiones de capital.
Sin que se lleven a cabo grandes cambios organizacionales.

Alternativas.

Reutilizar software certificado existente.


Introducir especificaciones formales y verificacin.
Invertir en herramientas de prueba y validacin.

Ingeniera de Software

59

Mejoramiento de la Calidad

Riesgos.

No existen mejoras en el software baratas.


Las mejoras en la calidad pueden incrementar costes
excesivamente
Los nuevos mtodos pueden causar bajas en el personal.

Solucin de riesgos.

Estudio de la literatura existente.


Proyecto piloto.
Bsqueda de todos los componentes reutilizables
potenciales.
Identificacin del soporte disponible de herramientas
Entrenamiento al personal y seminarios motivacionales.

Ingeniera de Software

60

Mejoramiento de la Calidad

Resultados.

Planes.

La experiencia en mtodos formales es limitada - es muy


difcil cuantificar las mejoras.
Limitado el soporte en herramientas para sistemas de
desarrollo de la compaa.
Existencia de componentes reutilizables, pero poco soporte
de herramientas de reuso.
Explorar la opcin de la reutilizacin a mas detalle.
Desarrollar herramientas prototipo para reutilizacin.
Explorar el esquema de certificacin de componentes.

Garantas.

Explorar los siguientes 18 meses.

Ingeniera de Software

61

Modelo de Espiral para la elaboracin de un


catlogo

Objetivos

Restricciones.

Desarrollar un catlogo de componentes de software


A un ano.
Debe soportar los tipos de componentes existentes.
Costo total menor de $100,000.

Alternativas.

Comprar software de captura de informacin.


Comprar bases de datos y desarrollar el catlogo utilizando
la BD.
Desarrollar catlogo de propsito especial.

Ingeniera de Software

62

Mejoramiento de la Calidad

Riesgos.

Puede ser imposible satisfacer las restricciones.


La funcionalidad del catlogo puede ser inapropiada.

Solucin de riesgos.

Desarrolla un prototipo del catlogo (utilizando lenguajes de


cuarta generacin 4GL y una BD existente) para clarificar
los requerimientos.
Relaja restricciones de tiempo.

Ingeniera de Software

63

Mejoramiento de la Calidad

Resultados.

Planes.

Los sistemas de captura de informacin son inflexibles. Los


requerimientos no pueden cumplirse.
El prototipo que utiliza la BD puede mejorarse para
completar el sistema.
El desarrollo de un catlogo de propsito especfico no es
costeable.
Desarrolla el catlogo utilizando una BD
mejorando el prototipo y la interfaz de usuario.

existente

Garantas.

Explorar los siguientes 12 meses.

Ingeniera de Software

64

Flexibilidad en el modelo de Espiral

Para sistemas bien comprendidos utiliza el Modelo


de Cascada. La fase de anlisis de riesgos es
relativamente fcil.
Con requerimientos estables y sistemas de
seguridad crticos, utiliza modelos formales.
Con especificaciones incompletas, utiliza el modelo
de prototipado.
Pueden utilizarse modelos hbridos en distintas
partes del desarrollo.

Ingeniera de Software

65

Ventajas del Modelo de Espiral

Centra su atencin en la reutilizacin de


componentes y eliminacin de errores en
informacin descubierta en fases iniciales.
Los objetivos de calidad son el primer objetivo.
Integra desarrollo con mantenimiento.
Provee un marco de desarrollo de hardware/
software.

Ingeniera de Software

66

Problemas con el Modelo de Espiral

El desarrollo contractual especifica el modelo del


proceso y los resultados a entregar por adelantado.
Requiere de experiencia en la identificacin de
riesgos.
Requiere refinamiento para uso generalizado.

Ingeniera de Software

67

Visibilidad de Procesos

Los sistemas de software son intangibles por lo que


los administradores necesitan documentacin para
identificar el progreso en el desarrollo.
Esto puede causar problemas..

El tiempo planeado para entrega de resultados puede no


coincidir con el tiempo necesario para completar una
actividad.
La necesidad de producir documentos restringe la iteracin
entre procesos.
El tiempo para revisar y aprobar documentos es
significativo.

El modelo de cascada es an el modelo basado en


resultados mas utilizado.

Ingeniera de Software

68

Documentos del Modelo de Cascada


Actividad

Documentos Producidos

Anlisis de Requerimientos

Documento de Requerimientos

Definicin de Requerimientos

Documento de Requerimientos

Especificacin del Sistema

Especificacin Funcional, Plan de Pruebas de Aceptacin

Diseo Arquitectural

Especificacin de la Arquitectura, y Plan de Pruebas del


Sistema

Diseo de Interfaces

Especificacin de las Interfaces y Plan dePpruebas de


Integracin

Diseo Detallado

Especificacin del diseo y Plan de prueba de Unidades

Codificacin

Cdigo de Programa

Prueba de Unidades

Reporte de prueba de unidades

Prueba de Mdulos

Reporte de prueba de mdulos

Prueba de Integracin

Reporte de prueba de integracin y Manual de usuario


final

Prueba del Sistema

Reporte de prueba del sistema

Prueba de Aceptacin

Sistema final mas la documentacin

Ingeniera de Software

69

Visibilidad del Modelo


Modelo de Proceso

Visibilidad del Proceso

Modelo de Cascada

Buena visibilidad, cada actividad produce un documento o


resultado.

Desarrollo Evolutivo

Visibilidad pobre, muy caro al producir documentos en


cada iteracin.

Modelos Formales

Buena visibilidad, en cada fase deben producirse


documentos.

Desarrollo orientado a la reutilizacin

Visibilidad moderada. Importante contar con


documentacin de componentes reutilizables.

Modelo de Espiral

Buena visibilidad, cada segmento y cada anillo del espiral


debe producir un documento.

Ingeniera de Software

70

Responsabilidad profesional

Los Ingenieros de software no solo deben considerar


aspectos tcnicos. Deben tener una visin mas
amplia, en lo tico, social y profesional.
No existe estatutos para ninguno de estos aspectos.

Desarrollo de sistemas militares.


Piratera.
Que es mejor para la profesin de Ingeniero de Software.

Ingeniera de Software

71

Aspectos ticos

Confidencialidad.
Competencia.
Derechos de propiedad intelectual.
Mal uso de la computadora.

Ingeniera de Software

72

Resumen

La Ingeniera de software concierne a las teoras,


mtodos y herramientas para el desarrollo,
administracin y evolucin de productos de
software.
Los productos de software consisten de programas y
documentacin. Los atributos de los productos son,
mantenabilidad,
dependabilidad,
eficiencia
y
usabilidad.
El proceso de software consiste en aquellas
actividades involucradas en el desarrollo de
software.

Ingeniera de Software

73

Resumen

El modelo de cascada considera cada actividad del


proceso como una actividad discreta.
El modelo de desarrollo evolutivo considera
actividades del proceso en forma concurrente.
El modelo de espiral se basa en anlisis de riesgos.
La visibilidad del proceso involucra la creacin de
documentos o resultados de las actividades.
Los
Ingenieros
de
software
deben
tener
responsabilidades ticas, sociales y profesionales.

Ingeniera de Software

74

Otros
IEEE-Std1074-1991

Standard for
Processes
Alcance

Developing

Software

Life

Cycle

Indica un conjunto de actividades que constituyen los


procesos que son obligatorios para el desarrollo y
mantenimiento del software, tanto por si slo, como
formando parte de un sistema.
No incluye actividades para el desarrollo del hardware,
realizacin de compras, ...
No recomienda un ciclo de vida especfico

Aplicabilidad

Proyectos de desarrollo y mantenimiento de software


Descomponer proyectos grandes en subproyectos,

Ingeniera de Software

75

Estndar ESA para el Ciclo de Vida

Ingeniera de Software

76

También podría gustarte