View
225
Download
0
Category
Preview:
Citation preview
04/22/23 Teorí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
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
Extensiones al núcleo
04/22/23 4Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 5Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 6Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 7Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 8Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 9Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 10Teoría y Métodos de la Ingeniería de Software
Extensiones al núcleo
04/22/23 11Teoría y Métodos de la Ingeniería de Software
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.
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.
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.
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.
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
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
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
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
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
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
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
Recommended