Beruflich Dokumente
Kultur Dokumente
3 I.T.I.Gestin
Miguel A. Laguna
1. Introduccin
Producto y Proceso
Aspectos de Gestin
Miguel A. Laguna
3
Objetivos
1.1. El software y la
Ingeniera del software
Qu es el Software?
Cul es la importancia y coste del Software?
Qu es la Ingeniera del Software?
Cul es la diferencia entre Ingeniera del Software e
Ingeniera de Sistemas?
Qu es un sistema y un sistema de informacin?
Qu es un proceso software y un mtodo de
desarrollo?
Cmo se gestiona el proceso?
Qu es CASE (Computer-Aided Software
Engineering)?
Cules son las responsabilidades de un Ingeniero
Software?
Qu es el Lenguaje Unificado de Modelado (UML)?7
Qu es el Software?
11
El software se deteriora
Tasa de
fallos
Incremento de fallos
cambio
1.5-6x
1x
curva real
curva ideal
Definicin
Desarrollo
Despus de
entregado
Tiempo
13
14
15
Objetivos de la
Ingeniera del software
16
17
19
20
Disciplinas integradas en la
Ingeniera del Software
SWEBOK
Requisitos del
software
Proceso de
Ingeniera de
Requisitos
Obtencin de
requisitos
Anlisis de
requisitos
Especificacin
de requisitos
Validacin de
requisitos
Gestin de
requisitos
(a)
Gua
SWEBOK (I))
(I
Dis
Diseo
Diseo
e
delsoftware
odel
del
ssoftware
oftw
are
Cons
Construccin
Constructr
cciin
del
software
uc
n
deldel
ssoftware
oftwa
Reduccin
de la
re
Prueba del
software
Mantenimiento
del software
complejidad
Conceptos bsicos
y definiciones
Conceptos
bsicos
Ellementos clave en el
diseo del software
Anticipacin de la
diversidad
Niveles de
pruebas
Proceso de
mantenimiento
Estructura y arquitectura
del software
Estructuracin para
la validacin
Tcnicas de
prueba
Principales
problemas
del mantenimiento
Uso de estndares
externos
Mtricas
relacionadas con
las pruebas
Conceptos y principios
bsicos
Anlisis y evaluacin de
la calidad del diseo
Notaciones
de diseo
Tcnicas para
el mantenimiento
Estrategias y mtodos
de diseo
(b)
(c)
21
(d)
(e)
22
SWEBOK
Gua
Gua
Gua
SWEBOK
(II)
SWEBO
SWEBOK
(II)
SWEB
OKK ((IIII))
Gestin
de
Gestin
de la
la
Gesti
configuracin
de
nconfiguracin
de la
la
configuracico
nfiguracinn
Gestin del proceso de
gestin de la configuracin
Gestin
Gestin
G
Gestin
de
estin
de la
la IS
IS
de
la
S
de
dela
la IIIIS
de
la
S
S
Gestin de
la organizacin
Conceptos del
proceso de IS
Herramientas
yy t
H
Herramientas
Heerramirramien
en
as
yy
mtodos
de la IS
tasmtodos
mtodosmtodos
de
de la
la IS
IS
Herramientas
software
Identificacin de lla
configuracin del software
Gestin delll
proceso/proyecto
Infraestructura del
proceso
Mtodos
software
Control de la configuracin
del software
Medida de la
IS
Medida del
proceso
Definicin del
proceso
Auditora de la gestin
de la configuracin
Anlisis cualitativo
del proceso
Gestin de la distribucin
del software
Implementacin y
cambio del proceso
(a)
(b)
Proceso
de
P
rroceso
Proceso
de
P
oces
IS
de
oIS
de
IS
IS
(c)
(d)
Calidad
del
Calidad
del
Calid
software
deldel
ad
software
sof
tware
Conceptos sobre
calidad del software
Propsito y planificacin
del SQA y de la V&V
(e)
1.2. Sistemas de
Informacin
23
Sistema y subsistemas
Qu es un sistema?
Subsistemas:
25
Qu es un sistema de
informacin?
Sistema y subsistemas
OBJETIVOS
SISTEMA DE
GESTIN
Informacin de objetivos
Informacin de
funcionamiento
Decisin de comportamiento
Entrada
Salida
SISTEMA FSICO
27
Qu es un sistema de
informacin?
Qu es un sistema de
informacin?
Objetivos
SIST. DE
GESTION
Decisin de
comportamiento
Informacin
SIST. FISICO
Decisin para
su propio
control
SIST. DE INFORMACION
Interaccin
con el
sistema
fsico
Entrada
28
Salida
29
Qu es un sistema de
informacin automatizado?
Propiedades emergentes
31
32
La usabilidad
Componentes de un mtodo
Qu es un mtodo?
Together
Rose
HERRAMIENTAS
UML
TECNICAS
PROCESO
UP
36
Actividades complementarias
de gestin
Qu es un proceso software?
38
37
Especificacin de requisitos
del software
Requirements
elicitation and
analysis
Feasibility
study
Feasibility
report
Requirements
validation
System
models
Requirements
specification
Estudio de viabilidad
Elicitacin y anlisis de requisitos
Especificacin de requisitos: los del usuario y los del sistema
Validacin de requisitos
Requirements
document
39
40
Diseo e implementacin
Diseo e implementacin
Design activities
Architectural
design
Abstract
specification
Interface
design
Component
design
Data
structure
design
Algorithm
design
System
architecture
Software
specification
Interface
specification
Component
specification
Data
structure
specification
Algorithm
specification
Implementacin
Requirements
specification
Design products
41
42
Tcnicas de diseo
44
43
Etapas en el proceso de
pruebas
Prueba de unidades
Prueba de mdulos
Prueba de subsistemas
System
specification
System
design
System
integration
test plan
Acceptance
test plan
Requirements
specification
Etapas en el proceso de
pruebas
Acceptance
test
Service
Detailed
design
Sub-system
integration
test plan
System
integration test
Module and
unit code
and tess
Sub-system
integration test
Prueba de aceptacin
46
47
Define system
requirements
Assess existing
systems
Existing
systems
Propose system
changes
Modify
systems
New
system
48
Automatizacin de actividades
49
Tool type
Planning tools
Examples
PERT tools, estimation tools,
spreadsheets
Editing tools
Text editors, diagram editors, word
processors
Change management tools
Requirements traceability tools, change
control systems
Configuration management tools
Version management systems, system
building
Very
high-level
tools languages,
Prototyping tools
user interface generators
Design editors, data dictionaries, code
Method-support tools
generators
Language-processing tools
Compilers, interpreters
Cross reference generators, static
Program analysis tools
analysers, dynamic analysers
Testing tools
Test data generators, file comparators
Debugging tools
Interactive debugging systems
Documentation tools
Page layout programs, image editors
Re-engineering tools
Cross-reference systems, program restructuring systems
50
Reengineering tools
Testing tools
Debugging tools
Program analysis tools
CASE
technology
Language-processing
tools
Method support tools
Tools
Workbenches
Environments
Prototyping tools
Configuration
management tools
Editors
Compilers
File
comparators
Integrated
environments
Process-centred
environments
Analysis and
design
Multi-method
workbenches
Programming
Single-method
workbenches
Testing
General-purpose
workbenches
Planning tools
Specification
Language-specific
workbenches
51
1.4.
Disciplinas de gestin de
proyectos
Design
Implementation
Verification
and
Validation
52
Objetivos de la gestin de
proyectos
Organizar, planificar y programar los
proyectos de software
Disciplinas y tcnicas:
Medicin de la Productividad
Se intenta determinar una medida de la
cantidad de software y de documentacin
asociada que produce un programador
individual
Hay que tener en cuenta que existen
muchas soluciones software con distintas
caractersticas: ms eficiente, ms
mantenible,
Hay varias propuestas de mtricas para
medir diversos aspectos del software
Medicin
Estimacin
El plan de proyecto
Herramientas grficas
Mtricas de la productividad
10
Calidad y productividad
weighting factor
simple avg. complex
X 3
X 4
X 3
number of files
X 7
10
15
number of ext.interfaces
X 5
10
count-total
complexity multiplier
function points
Tcnicas de estimacin
Estructura de un plan de
proyecto
1. Introduccin.
3. Anlisis de riesgos.
Tcnicas de estimacin
Estructura de un plan de
proyecto
4. Requisitos de recursos de hardware y de software.
11
Duracin (das)
8
15
15
10
10
5
20
25
15
15
7
10
11/7
18/7
25/7
1/8
8/8
15/8
Red de actividades
Dependencias
14/7/99
15 days
M1
T3
8 days
T1 (M1)
29/8
5/9
12/9
5 days
4/8/99
25/8/99
T6
M4
M6
M3
start
22/8
25/7/99
4/7/99
T2, T4 (M2)
T1, T2 (M3)
T1 (M1)
T4 (M5)
T3, T6 (M4)
T5, T7 (M7)
T9 (M6)
T11 (M8)
15 days
T9
T1
7 days
20 days
15 days
T11
T7
T2
25/7/99
10 days
M2
T4
10 days
11/8/99
T5
M7
5/9/99
M8
15 days
T10
18/7/99
10 days
T12
M5
25 days
T8
Finish
19/9/99
Actividades en el calendario
4/7
Asignacin de personal
19/9
4/7
Start
11/7
18/7
25/
1/8
8/8
15/8
22/8
29/8
5/9
12/9
19/9
T4
Fred
T1
T2
T4
T8
M1
T7
T3
M5
T8
T11
T12
Jane
T1
T3
M3
M2
T6
T5
T9
Anne
T2
M4
T6
T9
M7
T10
Jim
M6
T10
T7
T11
M8
Mary
T5
T12
Finish
12
Problemas en la planificacin
1.4.2
Otras actividades de gestin
Gestin de riesgos
Garanta de calidad
Gestin de la configuracin
Tabla de riesgos
Riesgo
Posibles riesgos:
Probabilidad Impacto
Escala 1..5
1=impacto
bajo
5=catstrofe
Ejemplo:
Software
empotrado
depende de
hardware no
disponible
60%
4(crtico)
Ajustar pruebas a la
disponiblilidad del
HW
Utilizar simulacin
Conceptos de calidad
Garanta de calidad
Coste de los fallos encontrados en distintas etapas
100
60.00-100.00
10.00
10
Gestin y
Mitigacin del
Riesgo
3.00
1.50
1
0.75
1.00
Req.
Diseo
Pruebas
En uso
Prueba
Prog.
del sistema
13
Caractersticas
Nivel
Proceso y
Estandares
Inicial
Revisiones
formales
Anlisis
&
Informes
Planificacin de las
pruebas
Mtricas
Resultados
Repetible
Productividad y
calidad escasa.
Riesgo mximo
Productividad y
calidad baja.
Riesgo alto.
Nivel
Resultados
Definido
Productividad y
calidad media.
Riesgo medio.
Gestionado
Productividad y
calidad alta.
Riesgo mnimo.
proyectos futuros.
Optimizado
Productividad y
calidad total.
Riesgo nulo.
Cambios en
Requisitos de negocio
Cambios en
Requisitos tcnicos
Cambios en
Requisitos de usuario
otros
programas
documentacin
modelos de software
Plan
datos
Pruebas
cdigo
Hay cambios
en muchas
piezas
datos
14
identificacin
control de versiones
control de cambios
auditora
informes
construccin
Recomendaciones de IEEE-CS
y ACM
Objetivos:
87
88
89
90
15
Por qu se necesita un
lenguaje de modelado?
1.6.Lenguaje Unificado de
Modelado (UML)
1.6.1
1.6.2
1.6.3
1.6.4
Qu es UML?
Arquitectura
Elementos de Modelado
Mecanismos de extensin
Qu es UML?
UML- Objetivos
Odell
Shlaer-Mellor
Ciclo de vida de los objetos
Jacobson
Meyer
UML
Pre- y
Post-condiciones
Harel
State Charts
Frameworks, patrones
Embly
Singleton
Fusion
Wirfs-Brock
Responsabilidades
Descripciones de operaciones,
Numeracin de mensajes
95
Participantes en UML
Rumbaugh
94
96
16
UML: Evolucin
Documentos pblicos
UML 1.3
Abril 1999:
UML 1.1
Estandarizacin
UML 1.0
Unificacin
OOPSLA95
Booch93
OMT-2
Fragmentacin
Otros mtodos
Booch91
Aspectos Novedosos
(2003)
UML 1.4
septiembre de 2001
UML 1.5
OMT-1
OOSE
97
98
Perspectivas de UML
Use
UseCase
Case
Diagrams
Diagramas
Diagrams de
Secuencia
Scenario
Scenario
Diagrams
Diagramas
Diagrams de
Colaboracin
Inconvenientes:
Scenario
Scenario
Diagrams
Diagramas
Diagrams de
Estados
Use
UseCase
Case
Diagrams
Diagramas
Diagrams de
Casos de Uso
State
State
Diagrams
Diagramas
Diagrams de
Clases
Modelo
State
State
Diagrams
Diagramas
Diagrams de
Objetos
State
State
Diagrams
Diagramas
Diagrams de
Componentes
Component
Component
Diagrams
Diagramas
Diagrams de
Diagramas de
Actividad
Distribucin
99
17
Jerarqua de modelos
Arquitectura
Arquitectura de cuatro capas, definida en la
especificacin Meta Object Facility del OMG:
Meta-metamodelo: define el lenguaje para
especificar metamodelos
Metamodelo: define el lenguaje para especificar
modelos
Modelo: define el lenguaje para describir un
dominio de informacin
Objetos de usuario: define un dominio de
informacin especfico
104
103
Modelado de objetos
...Modelado de objetos
Una situacin parecida ocurre con las relaciones:
105
106
Houston
Pop = 2M
Ar ea = 40 SM
Pop = 2M
Area = 40 SM
Is In
Metamodelado...
Metamodelado...
IsIn
USA
Pop = 250M
Area = 200 SM
Pop
T ype = R eal
UML
Area
Attribute
type
T ype = R eal
H as Attri bute
H as Attri bute
H as Attri bute
Class
City
N oOfIns tanc es
H as R el ati ons hi p
H as R el ati ons hi p
Relationship
Sour c eC ar di nali ty
USA
IsIn.Country
Pop = 250M
Sour c eC ar di nali ty = 0
T ar g etC ar di nali ty
Houston
N oOfIns tanc es = 1
Ar ea = 200 SM
T ar g etC ar di nali ty = 1
Pop
Type = Real
Attribute
Area
Type = Real
type
HasAttribute
HasAttribute
Class
City
NoOfInstances
HasRelationship
107
HasAttribute
NoOfInstances = 1
HasRelationship
Relationship
IsIn.Country
SourceCardinality
TargetCardinality
SourceCardinality = 0
TargetCardinality = 1
108
18
...Metamodelado
Terminologa de metamodelado...
109
110
Terminologa de metamodelado...
...Terminologa de metamodelado
111
112
UML: Notacin
1.6.3
Elementos de modelado en UML
Bloques
Elementos
Elementos y Relaciones
Diagramas UML
Vistas
Estructurales
De comportamiento
De Agrupacin
De anotacin
Relaciones
Diagramas
Mecanismos
Mecanismos de Especificacin
Divisiones
Adornos
Mecanismos de extensibilidad
114
19
Paquetes en UML
Bloques y relaciones
Clase
Objeto
Atributos
Atributos
Mtodos
Mtodos
Estado
Caso de
Uso
Nodo
Interfaz
Actor
Componente
Nota
Paquete
Nombre
Dependencia
Asociacin
Nombre
Generalizacin
Nombre
116
115
Notas
Nombre
Realizacin
UML- Diagramas
Ejemplo de una
Clase
Atributos
Mtodos
117
Diagramas de estructura
118
Diagramas de comportamiento
119
120
20
UML- Diagramas
Diagrama de Clases
Diagrama de Componentes
Diagrama de Distribucin
Modelado de interaccin
Casos de Uso
Diagrama de secuencia
Diagrama de comunicacin
Modelado dinmico
Diagrama de Estados
Diagrama de Actividades
121
caso de uso
incorporar
libros
include
extend
consultar
libro
actor
122
crear nuevo
cdigo
Bibliotecario
include
realizar
prstamo
Alumno
123
124
Persona
Autor
asociacin
1
generalizacin
Alumno
clase
solicita
0..*
0..*
1..*
Libro
navegabilidad
Prstamo
nota
clase asociacin
multiplicidad
125
126
21
objeto 2
objeto 3
inicio de un mtodo
auto-delegacin
activacin
retorno
destruccin de un
objeto
127
128
1: maximo_alcanzado ( )
: Usuario
: bibliotecario
2: ejemplares disponibles ( )
: Libro
: Ejemplar
2.1: prestado ( )
129
130
131
132
22
Se va en
su auto
Cambia de
marcha
1.6.4
Mecanismos generales de
extensin de UML
Toma un
taxi
Estereotipos.
Restricciones.
Valores etiquetados.
Mira por el
espejo
Entra a su
trabajo
133
Mecanismos de extensin:
Estereotipos
Mecanismos de UML
Tipos de mecanismos
Mecanismos de Especificacin
Divisiones (dicotomas)
Adornos
Mecanismos de extensibilidad
Estereotipos
Valores etiquetados
Restricciones (OCL)
136
135
Mecanismos de extensin:
Mecanismos de extensin:
Restricciones:
Valores etiquetados:
Ventana
{abstract,
autor=Jos Z.,
estado=comprobada}
137
23
Mecanismos de extensin:
Mecanismos de extensin:
Restricciones:
Restricciones: OCL
Miembro de
*
Persona
*
Persona
jefe
Comit
{Subconjunto}
1
trabajador
Preside
Empleado
*
Empleador
0..1
Empresa
0..1
{Persona.empleador=
Persona.jefe.empleador}
139
Bibliografa general
140
Lecturas complementarias
SWEBOK: http://www.swebok.org
Cdigo etico: http://seeri.etsu.edu/SpanishVersionSECode.htm
Colegio profesional de ingenieros en informatica de Castilla y
Len: http://www.cpiicyl.org/index.html
141
142
Enfoque: Se pretende
independizar las capas del sistema:
Capa de objetos
del dominio
Capa de servicios
Venta
Registro
Pago
Foco
principal
Persistencia
144
24