© 2017 mecalux software solutions · 2020. 6. 6. · © 2017 mecalux software solutions...

33
© 2017 MECALUX Software Solutions

Upload: others

Post on 01-Feb-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

  • © 2017 MECALUX Software Solutions

  • © 2017 MECALUX Software Solutions

    Arquitectura y Calidad de un producto Software –

    EasyWMS

    Arquitectura de un producto real y extensible

  • © 2017 MECALUX Software Solutions

    Parte I

    Logística y Almacenes

  • © 2017 MECALUX Software Solutions 4

    ¿Para qué sirve un almacén?

    Su uso es muy diverso, depende de las necesidades de la organización:

    • Evitar costes de rotura de stock• Permite operativas de organización (etiquetado, inventario) de forma mucho más controlada y cómoda que teniendo que hacerlo en el destino final (tiendas, por ejemplo).

    •Abastecimiento de cadena de suministro de forma eficiente

  • © 2017 MECALUX Software Solutions 5

    • Hacer más con menos• Hacer cosas mejor (o en menos tiempo)• Obtener más beneficios

    No perder de vista los objetivos

    Almacenes y Cadena de Suministro (Supply Chain)

  • © 2017 MECALUX Software Solutions 6

    El almacén puede integrarse en una organización que es la que gobierna la cadena de suministro

    • El almacén y su contenido son recursos de una empresa / organización, luego son susceptibles de ser gestionados por un ERP (Enterprise Resource Planning).

    • Íntimamente ligados con Supply Chain• Ejemplo: Los contenidos del almacén pueden ser directamente relacionados con las ordenes de compra – ventas a cliente, luego están relacionados con un CRM (Customer Relationship Management) 

    ERP y otros subsistemas empresariales

  • © 2017 MECALUX Software Solutions 7

    Tipologías de Almacenes ‐Manuales

  • © 2017 MECALUX Software Solutions 8

    Tipologías de Almacenes ‐Automáticos

  • © 2017 MECALUX Software Solutions 9

    Tipologías de Almacenes por tipo de estantería, algunos ejemplos

  • © 2017 MECALUX Software Solutions 10

    Atributos buscados

    en un WMS

    • Trazabilidad• Interconexión• Fiabilidad de las operativas• Rapidez de implantación*• Facilidad de uso*• Escalable*• Adaptable a los cambios de mercado*

    Retos que plantea

    • Cantidad de datos a almacenar muy alta

    • Arquitectura lo más abierta posible

    • Herramientas de ayuda a la configuración

    • Interface de usuario muy simple

    • Infinitas posibilidades de configuraciones

    Importante: El ciclo de vida del software, va unido al del mercado

    Atributos de calidad

  • © 2017 MECALUX Software Solutions 11

    Parte II

    Arquitectura de EasyWMS

  • © 2017 MECALUX Software Solutions 12

    Envío / recepción de información

    Sincronización entre aplicaciones en la empresa

    Utilizando ficheros (.txt, .xml...), bases de datos, etc. 

    Extract, Transform, Load

    Define un DSL con operaciones para:

    ‐ Procesar información recibida (Otros ‐> WMS)

    ‐ Enviar información (WMS ‐> Otros)        

    Lenguaje nativo de .NET

    Fácilmente extensible

    Sintaxis similar a Phyton

    Comunicaciones: Interconexión con sistemas empresariales

    Motor procesado

    DSL que extiende

    GNA

    ETL

    Boo

  • © 2017 MECALUX Software Solutions 13

    Flexibilidad y Adaptación al entorno: EasyBuilder ‐WorkFlows

  • © 2017 MECALUX Software Solutions 14

    Flexibilidad y Adaptación al entorno: EasyBuilder – Edición de vistas

  • © 2017 MECALUX Software Solutions 15

    Flexibilidad y Adaptación al entorno: EasyS – Interfaz gráfico de configuración

  • © 2017 MECALUX Software Solutions 16

    Flexibilidad y Adaptación al entorno: EasyS – Simulación

  • © 2017 MECALUX Software Solutions 17

    Parte III

    Calidad y Desarrollo

  • © 2017 MECALUX Software Solutions 18

    • SVN• GIT• Operativas en Ramas

    Control de versiones

    • Control continuo del estado del producto• Ayudan a sincronizar el trabajo entre equipos• Evitan DLL Hell

    Sistema de CI/CC

    Herramientas de Desarrollo / Calidad

    •Control de cambios / Test de regresión• Permiten probar muchas casuísticas en poco tiempo•Uso de tecnología de virtualización en contenedores 

    Test Automatizados

  • © 2017 MECALUX Software Solutions 19

    https://jenkins.io/http://cruisecontrolnet.org/

    Sistemas de IC / CC

  • © 2017 MECALUX Software Solutions 20

    • Check‐Out• Build• Test• Rinse and Repeat• Prioridad: Arreglar el build lo antes posible

    Integración Continua

  • © 2017 MECALUX Software Solutions 21

    • Criterios de aceptación• SpecFlow (notación Gherkin)• Test distribuidos (Pruebas reales)

    Test Automáticos

    • Comprobación de escalado• Validación de virtualmente, infinidad de configuraciones

    • Múltiples motores de BBDD soportados• Riesgo de no focalizar

    Retos

    Test Automatizados

  • © 2017 MECALUX Software Solutions 22

    https://cucumber.io/docs/referencehttp://specflow.org/

    Test de Aceptación

  • © 2017 MECALUX Software Solutions 23

    Análisis de escalado

  • © 2017 MECALUX Software Solutions 24

    Test distribuidos

  • © 2017 MECALUX Software Solutions 25

    Otras herramientas de calidad: Revisión de código

  • © 2017 MECALUX Software Solutions 26

    Issue tracker (redmine)• Fundamental para trazar la historia de modificaciones

    • Enlaza los test de aceptación con las historias de usuario

    • Permite seguimiento de problemáticas de clientes• http://www.redmine.org/

    Otras herramientas de calidad: IssueTracker

  • © 2017 MECALUX Software Solutions 27

    Parte IV

    Evolución de la organización del desarrollo

  • © 2017 MECALUX Software Solutions 28

    Metodologías usadas

    ICONIX (http://www.iconixsw.com/)

    Scrum (http://www.scrumguides.org/)

    TDD / BDD

    Kanban / JiT

    Calidad y Desarrollo en Equipo

  • © 2017 MECALUX Software Solutions 29

    Desarrollo en equipo único – monolítico ‐ ICONIX

    •Ciclos de desarrollo muy largos•Tiempos de análisis demasiado largos para los requerimientos del mercado•Fase de pruebas estresante y con muchos retrasos•La documentación se quedaba obsoleta con facilidad

    Pros ‐Cons

  • © 2017 MECALUX Software Solutions 30

    Desarrollo con separación UI / Lógica de negocio ‐ ICONIX

    •Ciclos de desarrollo aun muy largos•Perdida del sentido de propiedad para los desarrollos•Se crean islas de conocimiento muy específico•Los primeros test automáticos son muy complejos y muy dependientes. El mantenimiento de los mismos es demasiado costoso

    Pros ‐Cons

  • © 2017 MECALUX Software Solutions 31

    Desarrollo en Equipos ‐ SCRUM

    • Calidad empieza a llevarse a desarrollo, su papel cambia• Los tiempos de iteración no son todo lo efectivos que quisiéramos• Se consiguen ciclos de publicación más cortosPros ‐Cons

  • © 2017 MECALUX Software Solutions 32

    Desarrollo en equipos – Kanban / JiT

    •Equipos autónomos, sentido de la propiedad del desarrollo•Los equipos deciden los plazos•Roles, no personas•Se evitan los valles en roles muy específicos, el equipo decide si pueden apoyar otras partes del desarrollo

    Pros ‐Cons

  • © 2017 MECALUX Software Solutions 33

    ¡Fin!

    ¡Gracias por asistir!

    MJF1