1 / 16

Metamodelo de Artefatos de Software

Metamodelo de Artefatos de Software. Toacy Oliveira 2 toacy@acm.org. Ricardo Bastos 3 bastos@pucrs.br. Marcos Silva 1 mtsilva@inf.puc-rio.br. 1 Pontifícia Universidade Católica do Rio de Janeiro ( PUC-Rio ) 2 School of Computer Science – University of Waterloo

margie
Download Presentation

Metamodelo de Artefatos de Software

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. Metamodelo de Artefatos de Software Toacy Oliveira2 toacy@acm.org Ricardo Bastos3 bastos@pucrs.br Marcos Silva1 mtsilva@inf.puc-rio.br 1Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) 2School ofComputerScience – Universityof Waterloo 3Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) 14 de outubro de 2014

  2. Visão Geral • Processo de Desenvolvimento de Software Papéis Atividades Artefatos I. Sommerville, Software Engineering (7th Edition). Pearson Addison Wesley, 2004. Informações Pessoas

  3. Problema • Após algum tempo, como descobrir: Mas isso é ruim? Por que? O que? Quando? Quem? Artefato Como? Onde?

  4. Motivação • Realidade: Artefatos são aglomerados de informações • Objetivo: Elaborar uma representação que permita enxergar os Artefatos de Software como entidades “estruturadas”. + Dificuldades: D1: Inconsistência da Informação D2:Reutilização de Informações D3:Versionamento MetamodeloMOF Repository + UML + SPEM Informações Artefatos

  5. Solução 1 <<reflect>> Class (from MOF) Extent (from MOF) VersionedExtent (from MOF Versioning) M3 meta meta-model <<instanceOf>> <<instanceOf>> <<instanceOf>> WorkProduct (from SPEM) 3 Image List Text Definition Layer 2 M2 meta-model Artifact Information * 1..* <<instanceOf>> <<instanceOf>> <<instanceOf>> M1 model Use Layer 1..* Vision Requirement Stakeholder 1..* <<instanceOf>> <<instanceOf>> <<instanceOf>> <<instanceOf>> <<instanceOf>> M0 real instances Marcos S. Vision Project Layer Toacy O. PrintReceipt PaywithDebitCard

  6. D1: Inconsistência da Informação WorkProductDefinition (from SPEM) Extensão SPEM ArtifactDefinition * 1..* isExternal:Boolean Akind:ArtifactKind Fragment_Relationship FragmentDefinition /fragment * ContainerFragment_Relationship ArtifactFragment_Relationship * . . * * 1..* Relacionamentos ArtifactContainer_Relationship ContainerDefinition /parent /children * * * WorkProductDefinitionRelationship (from SPEM) ContainerDefinition_Relationship

  7. D2: Reutilização de Informações Composição de Informações • Metamodelo para estruturar a informação Tipos de informação mais comuns Ponto de extensão parent internalContents * SimpleInformationElement Group contents * * children Text List value:String isLabeled: String isOrdered: String isEnumerated:String Image caption: String Path: String Label:String ComplexInformationElement orderByAZ() orderByZA() * Diagram SpecificInformationElement

  8. Exemplo a) Concept b) Structure c) Model <<defines>> <<realizes>> I) Vision 1. Introduction 1.1 Purpose 1.2 Scope ... 4. Stakeholders 4.1 Stakeholder 1 2.2 Problema II)UC-Spec. 1.Description 2.Flow of Events ... 4.Preconditions 4.1 Precondition 1 ... III) Glossary ... 2. Terms, Abbreviations Vision name purpose Artifacts scope Glossary Containers Commons Descriptors Use-Case Definition Text Referenced Artifacts Informations List Group Types D1 Associations D2 D3

  9. D 2,5: Rastreabilidade • Quem? O que? Quando? Como? Onde? Papéis Atividades Pessoas Artefatos D1 D2 D2,5 D3 Informações

  10. D3: Versionamento Revisions Revision: 0 1st Commit Revision: 1 Modifications at M2, M1, M0 Revision: 2 Modifications at M1 and M0 Text Artifact Artifact Artifact name: String Metamodel v1.0 Metamodel v2.0 value: String name: String mandatory: Boolean name: String mandatory: Boolean Tool Vendor M2 meta-model Process Engineer Software Engineer Process v1.0 Process v2.0 Process v3.0 UseCase Specification UseCase Specification Glossary UseCase Specification Terms Glossary M1 model <<content>> mandatory=true <<content>> Glossary Login CRUD mandatory=false mandatory=true mandatory=true Logoff Project A Project B Project C Use-Case Specification Use-Case Specification Use-Case ... Glossary M0 real instances Glossary (notcreated) Terms Glossary D1 D2 D2,5 D3

  11. Avaliação: Procedimento 3 – Enactment(Instância de Processo) Modelagem de Artefatos RUP e Scrum 2 – Tailoring(Família) 1 – Authoring(Processo) MethodContent ProcessStructure Project Library File SVN Ferramenta + MethodContent, ProcessStructure

  12. Avaliação: Comparações • Exame analítico em relação a: • Estruturação • Organização • Rastreabilidade • Reutilização • Redundância • Versionamento

  13. Contribuição • No contexto de uma solução com artefatos de software bem estruturados: • Metamodelo que define como modelar Processos de Desenvolvimento de Software • Eclipse plugin “apoiar a modelagem desses processos (SwAT)” • http://code.google.com/p/spemarti • - Guia de Modelagem • - Regras para Boa Estruturação e Reutilização • - Metamodelo SPEM2xt • - UML Profile • - SwAT (Software ArtifactSpecificationTool) • - Exemplos de Utilização

  14. Conclusão O paradigma atual não se preocupa com essa situação. Entretanto, a solução obteve sucesso nos objetivos, alterando o paradigma de utilização das informações em PDSs. • + avaliação (estudo de caso, experimentos) • Observar Variabilidades na modelagem Processos • Fazer análise comportamental dos Artefatos

  15. Obrigado! zero.ufal@gmail.com

  16. Software Artifact Metamodel Toacy Oliveira2 toacy@acm.org Ricardo Bastos3 bastos@pucrs.br Marcos Silva1 mtsilva@inf.puc-rio.br 1Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio) 2School ofComputerScience – Universityof Waterloo 3Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) 14 de outubro de 2014

More Related