CARACTERÍSTICAS
ADICIONALES DE SEMAT
Carlos Mario Zapata J.
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
1
GENERALIDADES
• El núcleo en la Esencia (accionable,
extensible y práctico)
• Separación de Intereses
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
2
El núcleo de la Esencia
Los estados de los
alfas permiten
determinar el estado
de salud y progreso
del esfuerzo
independientemente
del método de
desarrollo empleado
Las prácticas son
independientes entre
sí y se puede agregar
tantas como se quiera
Se pueden agregar
nuevos elementos
Se basa en tarjetas
y listas de chequeo
que todo el equipo
de desarrollo puede
usar
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
3
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
4
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
5
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
6
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
7
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
8
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
9
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
10
Extensiones al núcleo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
11
Extensiones al núcleo
Practice Authoring
Identified
10/3/2015
Expressed
The way of working to be authored as a practice is identified by
the practitioners.
The way of working is expressed as a practice using the
practice template.
Agreed
The practice is agreed on by the practitioners.
In Use
The practice is used in software projects by the practitioners as
their way of working.
In
Optimization
The practice is adapted and/or improved by the practitioners based
on their experience, knowledge and external influence.
Consolidated
The practice is mature and adopted by the practitioners as a routine
way of working.
Teoría y Métodos de la Ingeniería
de Software
12
Extensiones al núcleo
Method Authoring
Identified
10/3/2015
Integrated
Well Formed
In Use
Individual practices, needed to accomplish an endeavor, to be
authored as a method are selected by the practitioners.
The method is integrated as a composition of agreed practices.
The method is agreed on by the practitioners and accomplishes
the properties of coherency, consistency and completeness
The method is used in software projects by the practitioners.
In
Optimization
The method is adapted and/or improved by the practitioners based
on their experience and external influence.
Consolidated
The method is mature and adopted by practitioners as a routine
way of working.
Teoría y Métodos de la Ingeniería
de Software
13
Extensiones al núcleo
Practice Instance
Instantiated
Can Start
The required entry has been assigned to the practice instance
and it can start it execution.
In Execution
The practice instance has been chosen to be executed, its measures
have been estimated and practitioners have agreed who is
responsible for it. The practice instance guide is being carried out..
In Verification
The practice instance result is being verified against the
completion criteria.
Finished
10/3/2015
The practice instance is created as a work unit to be done.
Optionally, practice measures can be estimated.
The practice instance is over and its result has been produced
correctly.
Teoría y Métodos de la Ingeniería
de Software
14
Method Enactment
Extensiones al núcleo
Selected
The method has been selected from the organizational methods
and practices infrastructure according to general characteristics of
a project. The practitioners have to fulfill the required competences
specified in the method practices guides. If it is not the case,
appropriate training is needed.
Adapted
The method has been adapted and the resulting set of
practices is instantiated as work units planned to be executed
during the project.
Ready to
Begin
The method has at least one practice instance in Can -Start state.
The method is ready to begin at any time.
In Progress
The method has at least one practice In -Execution, Stand-By or
In-Verification states. The method remains in this state while it is
being applied.
Finished
10/3/2015
The method is over and its result can be delivered.
Teoría y Métodos de la Ingeniería
de Software
15
Separación de intereses
“Es lo que algunas veces llamé ‘Separación de
intereses’, la cual, aún sin ser perfectamente
posible, es la única técnica disponible para
ordenar los propios pensamientos. Es lo que
quiero decir con ‘enfocar nuestra atención en
algún aspecto’: esto no significa ignorar los otros
aspectos, sino hacer justicia al hecho de que,
desde este punto de vista, el otro es irrelevante”.
Edsger Dijkstra, 1974
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
16
Separación de intereses
•
•
•
•
Sistemas con módulos no solapados
Un interés distinto por cada módulo
Genera extensibilidad y mantenibilidad
Se posee un núcleo y se hacen extensiones que
no complican el núcleo
• Tres tipos:
– Separar el núcleo de las prácticas
– Separar los alfas de los productos de trabajo
– Separar la esencia de los detalles
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
17
Separación entre núcleo y
prácticas
• Seguir las modas en los métodos no es la
solución
• Necesitamos reutilizar lo que sirve y tan solo
desechar lo que no sirve
• Se separan unas prácticas de otras para
entender y adoptar
• El núcleo es el resultado del estudio de las
prácticas
• Las prácticas extienden el núcleo sin modificarlo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
18
Separación entre núcleo y
prácticas
• Ventajas:
– El núcleo es estable
• Provee un lenguaje común
• No depende del esfuerzo, la complejidad, el
método, el sistema o el tamaño
– Los métodos
práctica
evolucionan
práctica
por
• Las prácticas son unidades modulares
• Los métodos pueden intercambiar prácticas
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
19
Separación entre alfas y
productos de trabajo
• Los métodos de desarrollo se basan en
artefactos
• El progreso del esfuerzo se suele medir con el
progreso en los artefactos
• En el agilismo, el software funcional también
parece insuficiente como medida de progreso
• Se requiere un análisis de todas las
dimensiones del esfuerzo
• Los alfas son esas dimensiones
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
20
Separación entre alfas y
productos de trabajo
• Usos de los alfas:
– Hacer avanzar el equipo
– Determinar el estado actual del esfuerzo, planear los
estados siguientes y rastrear el progreso
– Adaptar la forma de trabajo
– Establecer acuerdos sobre el nivel de compromiso
del equipo
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
21
Separación entre la esencia y
los detalles
• La funcionalidad del núcleo obliga la separación
en capas
• Las capas ayudan a la formación (ya sea en
Academia o Industria)
• Las tarjetas contribuyen a mantener lo
fundamental a mano
• Las guías detalladas constituyen material de
consulta cuando es necesario (antes de pasar a
libros o artículos)
10/3/2015
Teoría y Métodos de la Ingeniería
de Software
22
Descargar

INGENIERIA DEL SOFTWARE