1 / 36

Rapid Application Development

Rapid Application Development. EDM Solution. ISEL, Outubro 2010. Ricardo Neto (#26657) - Nuno Sousa (#31923) - Paulo Pires (#32223). Agenda. Introdução Caso Prático Arquitectura da Solução Codificação e Geração Observação de Resultados Utilização Conclusões

leo-fox
Download Presentation

Rapid Application Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RapidApplicationDevelopment EDM Solution ISEL, Outubro 2010 Ricardo Neto (#26657) - Nuno Sousa (#31923) - Paulo Pires (#32223)

  2. Agenda Introdução Caso Prático Arquitectura da Solução Codificação e Geração Observação de Resultados Utilização Conclusões Trabalhos Futuros

  3. 1. Introdução

  4. Identificação do Problema • Aparecimento crescente de softwaremais barato • Software housesfocadas na quantidade e rapidez de produção em detrimento da qualidade do produto final 1 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  5. Análise do Problema • Compromisso crescente das softwarehousescom os seguintes factores: PRAZO QUALIDADE RECURSOS • Solução? 1 Redução dos custos associados ao desenvolvimento de soluções, permitindo permanência em mercado competitivo. Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  6. Identificação da Solução • Opções disponíveis para conseguir redução de custos de desenvolvimento • Diminuir exigência com recursos utilizados ü ü Utilização de metodologia consistente Desenvolvimento estável, repetivel e previsivel û Menor qualidade no produto final û Maior probabilidade de gastos com manutenção • Automatização de processos de trabalho rotineiros 1 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  7. Definição do Âmbito • Automatização de tarefas repetitivas na fase de implementação do ciclo de desenvolvimento: • Caracterização de tipos de dados e restrições de domínio • Identificação e definição de entidades • Relações entre entidades • Especificação de processos • Definição de mecanismos de persistência • Esquema de segurança 1 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  8. Objectivos Gerais • Definição de Dicionário de Dados (3D) • Agregador dos outputsda análise do problema, estruturando-os em secções próprias 1 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  9. Objectivos Gerais • Criação detemplateVisual Studio (Solução EDM) • Estrutura necessária à representação da solução, dividida em projectos com “especialidades” distintas • Possibilidade de sincronização com o dicionário de dados dando origem à geração de código fonte a ser distribuído por cada projecto da Solução EDM • Possibilidade de geração do modelo físico de suporte à persistência 1 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  10. Objectivos Gerais • Estrutura da Solução EDM 3D 1 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . . .

  11. 2. Caso Prático

  12. Problema • FutureView opera no sector do retalho e adquire lojas físicas em zonas de elevada concentração populacional FutureView Loja A Loja B Loja C Loja D • Especificidade do negócio implica investimento inicial elevado na expansão do negócio 2 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . .

  13. Problema • Com vista à redução de custos, a FutureView passou a operar também em regime de parcerias num modelo e-commerce • Opção por solução que dê suporte aos seus processos de negócio Parceiro A Internet FutureView ... Administração Parceiro n Registo Venda 2 Processos Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . .

  14. Modelo Entidade Associação Items Orders • Contact • LastPassword • OrderHeader • OrderItem • Category • SKU LastPasswords Contacts IS-A 2 Has Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . .

  15. Modelo Entidade Associação • Modelação da hierarquia da entidade Contact IS-A IS-A IS-A 2 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . .

  16. 3. Arquitectura da Solução

  17. Arquitectura .NET Framework 3.5 Solução EDM 3D (Dicionário de Dados) Sincronização Gerador Transformação 1 Pipeline de geração … SGBD Transformação n Base de Dados WebServices Serviços Testes Unitários Entidades Tipos Modelo Físico EDM.FoundationClasses.dll Validação Segurança ORM Excepções 3 Internet NHibernate . . . . > Caso Prático > Arquitectura > Codificação e Geração > Observação > . . . . .

  18. 4. Codificação e Geração

  19. Demo • Codificação no dicionário de dados de: • Tipos de domínio • Suporte à persistência • Entidades e seus campos • Processos de negócio 4 . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  20. Processos de Negócio • Protótipo de operação a ser exposta pela solução • BusinessProcess Parâmetros Retorno • Garantia de validação de parâmetros e retorno respeitando as restrições de domínio 4 . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  21. Modelo de Segurança • Exigência de permissão na execução de processos de negócio e operações CRUD sobre entidades com base em RBAC Acesso a Create de Y Acesso a A1 Internet Exigência da permissão “XA1” 4 Exigência da permissão “YCreate” . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  22. Relações 1 - 1 • E • Relações de herança entre as entidades <entitytype=“base"name=“E"> <fields> . . . </fields> </entity> <entitytype=“abstract"name=“A"> <fields> . . . </fields> </entity> <entitytype=“abstractdependent"name=“C“baseEntity=“A"> <fields> . . . </fields> </entity> <entitytype=“dependent"name=“D“ baseEntity=“C"> <fields> . . . </fields> </entity> <entitytype=“dependent” name=“B“baseEntity=“A"> <fields> . . . </fields> </entity> 4 . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  23. Relações 1 - 1 • Representação emobjectmodel corresponde à herança entre classes • Em modelo relacional representam-se numa única relação TabelaA (a1, a2, b1, b2, c1, c2, d1, d2) Campos de A Campos de C Campos de B Campos de D 4 . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  24. Relações 1 – n e n - 1 • Diferentes materializações em objectmodele modelo relacional • B • A • B • A • A • B <relationtype=“OneToMany"name=“relA"oneEntity=“A"manyEntity=“B“inverse=“false” minOccurs=“1"maxOccurs=“unbounded"nillable=“false"> </relation> “true“ relA ObjectModel Modelo Relacional _relA * … … … … 1 4 A . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  25. Relações n – n • Necessária a criação de uma entidade associativa • AB • A • A • B • B • A • B <relationtype=“ManyToMany"entityName=“AB“minOccurs=“1"maxOccurs=“unbounded“> <entityname=“A"nillable=“false“inverse=“false"relationName=“As“> <entityname=“B"nillable=“false“inverse=“false"relationName=“Bs“> </relation> “true“ “true“ ObjectModel Modelo Relacional A B • AB • AB … … … … … 1 1 4 * * _As _Bs . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  26. Demo • Codificação no dicionário de dados de: • Relações entre entidades • Sincronização do 3D com a Solução EDM • Geração doscript de construção do modelo físico 4 . . . . > Arquitectura > Codificação e Geração > Observação de Resultados > . . . . . .

  27. 5. Observação de Resultados

  28. Arquitectura .NET Framework 3.5 Solução EDM 3D (Dicionário de Dados) Sincronização Gerador Transformação 1 Pipeline de geração … SGBD Transformação n Base de Dados WebServices Serviços Testes Unitários Entidades Tipos Modelo Físico EDM.FoundationClasses.dll Validação Segurança ORM Excepções 5 Internet NHibernate Observação de Resultados

  29. 6. Utilização

  30. Problema Parceiro A Internet FutureView ... Parceiro n Registo Administração Venda 6 Processos Conclusões

  31. Modelo Entidade Associação LastPasswords Contacts IS-A • LastPassword IS-A IS-A IS-A 6 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . .

  32. Modelo Entidade Associação • Modelação da hierarquia da entidade Contact IS-A IS-A IS-A 2 Introdução > Caso Prático > Arquitectura > Codificação e Geração > . . . . . .

  33. 7. Conclusões

  34. É sustentável ter um desenvolvimento baseado em dicionário de dados. Há um efectivo ganho de eficiência e eficácia no processo de desenvolvimento O EDM não é apropriado a todo tipo de projectos. 7 Conclusões

  35. 8. Trabalhos Futuros

  36. Trabalhos Futuros Consolidar a solução EDM em casos reais Contemplar a camada de apresentação na solução EDM. Certificação do processo de desenvolvimento utilizando metodologia apropriada. 8 Trabalhos Futuros

More Related