SEMAT

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

SEMAT (Software Engineering Method and Theory) é uma iniciativa para remodelar a engenharia de software de tal forma que a transforme em uma disciplina mais rigorosa. A iniciativa foi lançada em Dezembro de 2009 por Ivar Jacobson, Bertrand Meyer e Richard Soley[1] .

No início da iniciativa os fundadores escreveram uma chamada para ação[2] (call for action statement) e uma declaração de visão[3] (vision statement). A iniciativa foi idealizada para ser um esforço em conjunto de vários anos de trabalho em paralelo para fazer a ponte entre a comunidade de desenvolvedores e a comunidade acadêmica.

Atualmente o trabalho encontra-se estruturado em quatro diferentes frentes, mas que estão fortemente ligadas: a área prática, a área de educação, a área de teoria e a área relacionada a comunidade. A Área Prática aborda principalmente as práticas utilizadas. A Área de Educação que cuida de todas as questões relacionadas a formação, tanto para os desenvolvedores quanto para os estudantes acadêmicos. A Área de Teoria aborda essencialmente a busca de uma Teoria Geral para a Engenharia de Software. Finalmente, a Área de Comunidade que trabalha com o contato com as entidades legais, criando sites para disseminar as ideias e progressos do SEMAT, contribuindo com o crescimento da comunidade. Esperava-se que a área de Prática, a área de Educação e a área de Teoria iriam em algum ponto se integrar de forma que gerassem valor para cada uma delas: a área Prática sendo uma espécie de “cliente” da área de Teoria e direcionar a pesquisa para resultados úteis para a comunidade de desenvolvedores. A área de Teoria daria uma sólida e prática plataforma para a área de Prática. E a área de Educação iria disseminar estes resultados de forma adequada.

Um número significativo de especialistas de renome internacional no campo da engenharia de software apoiaram a chamada para ação, onde os signatários incluem Scott Ambler, Dines Bjørner, Barry Boehm, Erich Gamma, Ken Schwaber etc. A iniciativa também é apoiada por empresas como a IBM, Microsoft, Ericsson, ABB e Samsung, e instituições acadêmicas como a Universidade de Pequim, [[Chalmers University of Technology] ], Florida Atlantic University, Wits University, KAIST e Escola Politécnica da Universidade de São Paulo. Alguns dos signatários são conhecidos no campo por métodos e modelos bem estabelecidos para a engenharia de software, mas que nem sempre são compatíveis uns com os outros. No entanto, o consenso sobre a iniciativa mostra que todos eles concordam com a importância de refundação da engenharia de software.

A Área Prática[editar | editar código-fonte]

O primeiro passo dado foi para o desenvolvimento de um “terreno comum” ou um Kernel, como é chamamos, que inclui tudo o que consideramos a essência da engenharia de software (mas que pode crescer conforme nossas novas descobertas) – coisas que sempre lidamos, sempre fazemos e sempre produzimos quando desenvolvemos software. O segundo passo foi concebido para agregar valor ao topo deste Kernel na forma de uma biblioteca de práticas para serem compostas e se tornarem métodos específicos, específicos para qualquer que seja sua finalidade, tais como as preferências da equipe de usá-lo, tipo de software que está sendo construído e etc. O primeiro já está concluído. Tendo seus resultados no Kernel desenvolvido, incluindo elementos universais para o desenvolvimento de software - chamado de Essence Kernel, e uma linguagem – chamada de Essence Language - para descrever esses elementos (e os elementos construídos em cima do kernel (práticas, métodos e mais). A Essência, incluindo tanto o Kernel como a linguagem, foram publicados como um padrão do OMG em estado beta em julho de 2013 [4] e é esperado que se tornar um padrão formalmente adotado no início de 2014.

A segunda etapa já começou, e a área de Prática será dividida em um número frentes interligadas, mas que serão divididas: a prática (relacionada a biblioteca) e a de ferramenta que foi recentemente identificada e seu trabalho foi recentemente iniciado. A frente prática está atualmente trabalhando em um Guia do Usuário para ajudar os profissionais de software/estudantes, autores de práticas/métodos e construtores de ferramentas no uso da Essência. Este guia irá conter cenários que demonstram como as equipes podem usar a Essência do Kernel para avaliar onde eles estão e onde eles precisam se concentrar no próximo ciclo do método utilizado, independente de qual tenha sido o método escolhido para guiar o ciclo de vida do desenvolvimento. Cenários também estão sendo desenvolvidos para mostrar as equipes como eles podem avaliar suas práticas atuais que procurando lacunas e possíveis sobreposições. O Guia do Usuário também contém um guia de desenvolvimento de práticas para ajudar os autores da prática e praticantes a criarem e atualizarem suas práticas e métodos.

A Área de Educação[editar | editar código-fonte]

Esta área vai trabalhar a educação em temas relacionados como: O Kernel Essence e a Essence Language, as Práticas e a Biblioteca de Práticas e também os Métodos. Atualmente este trabalho já está sendo tratado em diversas universidades ao redor do mundo, como KTH Royal Institute of Technology, Universidade de Oslo, FAU, CMU West, Free University of Bozen Bolzano e da Universidade Nacional da Colômbia, em Medellin.

A Área de Teoria[editar | editar código-fonte]

Uma parte importante do SEMAT é que a teoria geral da engenharia de software é planejada para emergir. Como argumentado extensivamente em outros lugares (por exemplo, o artigo na IEEE Software Onde está a Teoria da Engenharia de Software? – em inglês), os benefícios de tais teorias são significantes. Uma série de workshops realizadas sob o título Workshop SEMAT sobre uma Teoria Geral da Engenharia de Software (TGES) são componentes-chave na construção da consciência em torno das teorias gerais. Além de construir a conscientização da comunidade, o SEMAT também visa contribuir com uma teoria geral específica da engenharia de software. Esta teoria deve ser solidamente baseada na linguagem da essência SEMAT e no Kernel, e deve apoiar os praticantes da engenharia de software orientada a tomada de decisão. Esse apoio se baseia nas capacidades de previsão da teoria. Assim, a essência do SEMAT deve ser aumentada para permitir a previsão dos fenômenos críticos da engenharia de software.

Exemplos de perguntas que a teoria visa responder, incluem o seguinte:

a. Como o sucesso do projeto pode ser afetado pela mudança na forma de trabalho (way of working)?
b. Como o sucesso do projeto pode ser afetado pela mudança da estrutura do time e suas características?
c. Como o sucesso do projeto pode ser afetado pela mudança do conteúdo e a forma dos requisitos?
d. Como é que o sucesso do projeto pode ser afetado pela mudança?

A série de oficinas TGES auxilia no desenvolvimento da teoria de engenharia de software SEMAT geral por envolver uma comunidade mais ampla na procura, desenvolvimento, e na avaliação de teorias promissoras que podem ser utilizadas como uma base de teoria para o SEMAT.

Capítulos Regionais do SEMAT[editar | editar código-fonte]

Capítulos do SEMAT na China, América Latina, África do Sul, Rússia, Japão e Coréia.

Aplicações Práticas do SEMAT[editar | editar código-fonte]

KPN, MunichRe, Fujitsu UK

Ferramentas de apoio ao SEMAT[editar | editar código-fonte]

A primeira ferramenta que apoiou a criação e desenvolvimento de práticas SEMAT com base em um Kernel foi o EssWork Practice Workbench [5] ferramenta fornecida pela Ivar Jacobson International . A ferramenta Practice Workbench foi disponibilizada para a comunidade SEMAT em junho de 2012 e agora está publicamente disponível e de uso livre. A ferramenta Practice Workbench é um Ambiente de Desenvolvimento Integrado de Prática com suporte para a prática de colaboração e desenvolvimento de métodos. As principais características do Practice Workbench incluem:

  • Apresentação interativa do Kernel Essence
  • Prática de autoria e extensão usando a Essence Language
  • Composição de Métodos
  • Representação inovadora baseada em cartão
  • Publicação de métodos, práticas e Kernels como cartões baseados em sites HTML
  • Exportar para o ambiente de implantação EssWork

Outra iniciativa de ferramenta disponível ao público é o SematAcc[6] , the Essence Accelerator system. Esta ferramenta é projetada para acelerar o aprendizado da Teoria da Essência em Engenharia de Software e testá-la facilmente com qualquer projeto de software.

Crítica[editar | editar código-fonte]

As críticas ao SEMAT argumentam que a Engenharia de Software é heterogênea por natureza, e que "moda" é uma palavra imprecisa pois até mesmo a orientação a objetos já foi considerada moda[7] .

Referência[editar | editar código-fonte]

Links Externos[editar | editar código-fonte]