22
06/24/22 Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J.

4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Embed Size (px)

Citation preview

Page 1: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

04/22/23 Teoría y Métodos de la Ingeniería de Software

1

CARACTERÍSTICAS ADICIONALES DE SEMAT

Carlos Mario Zapata J.

Page 2: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

GENERALIDADES

• El núcleo en la Esencia (accionable, extensible y práctico)

• Separación de Intereses

04/22/23 2Teoría y Métodos de la Ingeniería de Software

Page 3: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

El núcleo de la Esencia

04/22/23 Teoría y Métodos de la Ingeniería de Software

3

Las prácticas son independientes entre sí y se puede agregar tantas como se quiera

Se pueden agregar nuevos elementos

Los estados de los alfas permiten

determinar el estado de salud y progreso

del esfuerzo independientemente

del método de desarrollo empleado

Se basa en tarjetas y listas de chequeo que todo el equipo

de desarrollo puede usar

Page 4: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 4Teoría y Métodos de la Ingeniería de Software

Page 5: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 5Teoría y Métodos de la Ingeniería de Software

Page 6: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 6Teoría y Métodos de la Ingeniería de Software

Page 7: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 7Teoría y Métodos de la Ingeniería de Software

Page 8: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 8Teoría y Métodos de la Ingeniería de Software

Page 9: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 9Teoría y Métodos de la Ingeniería de Software

Page 10: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 10Teoría y Métodos de la Ingeniería de Software

Page 11: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 11Teoría y Métodos de la Ingeniería de Software

Page 12: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 12Teoría y Métodos de la Ingeniería de Software

Expressed

Agreed

In Use

In Optimization

Consolidated

Pra

ctice A

uth

ori

ng

The way of working is expressed as a practice using the practice template.

The practice is agreed on by the practitioners.

The practice is used in software projects by the practitioners as their way of working.

The practice is adapted and/or improved by the practitioners based on their experience, knowledge and external influence.

The practice is mature and adopted by the practitioners as a routine way of working.

IdentifiedThe way of working to be authored as a practice is identified by the practitioners.

Page 13: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 13Teoría y Métodos de la Ingeniería de Software

Integrated

Well Formed

In Use

In Optimization

Consolidated

Meth

od A

uth

ori

ng 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.

The method is adapted and/or improved by the practitioners based on their experience and external influence.

The method is mature and adopted by practitioners as a routine way of working.

IdentifiedIndividual practices, needed to accomplish an endeavor, to be authored as a method are selected by the practitioners.

Page 14: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 14Teoría y Métodos de la Ingeniería de Software

Can Start

In Execution

In Verification

Finished

Pra

ctic

e In

stan

ce The required entry has been assigned to the practice instance and it can start it 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..

The practice instance result is being verified against the completion criteria.

The practice instance is over and its result has been produced correctly.

InstantiatedThe practice instance is created as a work unit to be done.Optionally, practice measures can be estimated.

Page 15: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

Extensiones al núcleo

04/22/23 15Teoría y Métodos de la Ingeniería de Software

Adapted

Ready to Begin

In Progress

Finished

Met

hod

En

actm

ent

The method has been adapted and the resulting set of practices is instantiated as work units planned to be executed during the project.

The method has at least one practice instance in Can-Start state. The method is ready to begin at any time.

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.

The method is over and its result can be delivered.

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.

Page 16: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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, 197404/22/23 16Teoría y Métodos de la Ingeniería

de Software

Page 17: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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

04/22/23 17Teoría y Métodos de la Ingeniería de Software

Page 18: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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

04/22/23 18Teoría y Métodos de la Ingeniería de Software

Page 19: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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 evolucionan práctica por práctica

• Las prácticas son unidades modulares• Los métodos pueden intercambiar prácticas

04/22/23 19Teoría y Métodos de la Ingeniería de Software

Page 20: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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

04/22/23 20Teoría y Métodos de la Ingeniería de Software

Page 21: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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

04/22/23 21Teoría y Métodos de la Ingeniería de Software

Page 22: 4/27/2015Teoría y Métodos de la Ingeniería de Software 1 CARACTERÍSTICAS ADICIONALES DE SEMAT Carlos Mario Zapata J

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)

04/22/23 22Teoría y Métodos de la Ingeniería de Software