---> Quem não entregou o trabalho final de ER, pode mandar o trabalho por correio
para o endereço jcspleite@yahoo.com com o título "Trabalho de ER". A aula de hoje (terçar-feira) foi cancelada!
----> Aluno(a)s: está havendo um desencontro. Estive duas vezes na sala e vocês não estavam lá. Espero-os no dia 30.
----> Recentemente disponibilizei um pré-livro sobre engenharia de requisitos. Dêem uma olhada aqui.
Aula 11
Nessa aula sobre modelagem falamos sobre a perspectiva intencional. Isso quer dizer que o modelador procura modelar a intencionalidade existente no Universo de Informações. Apresentamos duas linguagens distintas que são orientadas a metas.
A estratégia chamada de Esquema de Requisitos Não Funcionais, utiliza-se de um grafo com dois tipos de nodos: metas flexíveis e operacionalizações e de dois tipos de elos. O primeiro tipo de elo é o elo E/OU e o segundo é o elo de contribuições. Esse grafo é utilizado para que um requisito não funcional, representado por uma meta flexível, seja decomposto em partes, através de elos E/OU. Quando ao final da decomposição essas metas flexíveis são operacionalizadas, isto é transformadas em implementações abstratas dessas metas flexíveis, pode-se usar o elo de contribuição. O elo de contribuição pode ter os seguintes valores (--, - , nulo, +, ++). Esse tipo de elo caracteriza bem a característica de meta flexível, porque introduz o conceito de qualidade, expressa como um conjunto de possíveis 5 valores de gradação.
A Figura abaixo foi retirada da dissertação de Geórgia Maria Carvalho de Souza na Seção 5.2.3 que começa na página 131.
Maiores detalhes sobre o Esquema de Requisitos Não Funcionais podem ser encontrados no texto acima e na tese de doutorado de Luiz Marcio Cysneiros, especialmente na Seção 2.7 (página 37). Vale também ler a Seção 5.3.1 e 5.3.2 (página 85).
A segunda linguagem apresentada, o i*, promove a visão da intencionalidade distribuída. Para essa visão de modelagem o importante é além de identificar as metas, também identificar os atores que tem interesse ou responsabilidade de que as metas sejam alcançadas. Essa linguagem utiliza duas sub-linguagens ou diagramas para explicitar a intencionalidade distribuída.
A primeira sub-linguagem mapeia a intencionalidade distribuída entre os atores. Esta sub-linguagem produz o diagrama de dependências estratégicas. Esse diagrama utiliza o conceito de dependência (interesse/responsabilidade) para mostrar como os atores cooperam para que as metas sejam atingidas. Uma intencionalidade é chamada de elemento de dependência e está ligada a um interessado pelo elo dependente e a um responsável pelo elo de quem se depende. A intencionalidade distribuída pode ser expressa através de metas, metas flexíveis e também por recursos e tarefas. Os recursos e tarefas tornam-se elementos de intencionalidade na medida em que são necessários para que um dos atores alcance uma determinada meta.
Veja abaixo um exemplo de uso da sub-linguagem para dependências estratégicas. Esse exemplo foi retirado do artigo de Sayão e Leite apresentado no WER 05. Note que o o símbolo do D denota o elo do tipo de quem se depende e o D invertido denota o elo do tipo dependente.
Mais detalhes sobre a linguagem i* podem ser encontrados no Capítulo 2 da dissertação de Herbet de Souza Cunha (página 18).
---------------------------------------------------------------------------------
Aula 12
Nessa aula voltamos a falar sobre a diferença entre as tarefas de elicitação sem uso de uma perspectiva específica e da elicitação orientada a modelos, ou seja com uma perspectiva pré-selecionada. Ressaltamos que quando utiliza-se uma estratégia de modelagem como guia para a tarefa de elicitação estamos impondo uma perspectiva ao mundo que queremos conhecer. Isso pode ser útil em determinadas situações, mas pode levar a que uma série de conhecimentos do Universo de Informações deixe de ser capturado.
Por outro lado o uso de diferentes métodos de elicitação e suas técnicas, sem um comprometimento com uma perspectiva pré-selecionada permite com que o conhecimento a ser elicitado do Universo de Informações seja mais abrangente e sem o viés de uma perspectiva pré-selecionada. No entanto, esse tipo de elicitação é mais custoso e menos estruturado.
Vale lembrar que vimos diferentes perspectivas de modelagem:
a) perspectiva funcional: digrama de fluxo de dados, sadt, casos de uso, diagrama de atividades
b) perspectiva de dados: sadt, dicionário de dados, mer, digrama de classes
c) perspectiva de estados: statechart, máquinas de estado
d) perspectiva de atores: i*, casos de uso
e) perspectiva situacional: cenários
f) perspectiva intencional: i*, esquema de requisitos não funcionais.
Em algumas das linguagens de modelagem as perspectivas misturam-se como no caso de casos de uso (atores, funcional), i* (intencional, atores), cenários (situacional, atores, funcional, estados) e sadt (funcional, dados). Quanto mais perspectivas abraçar, mais complexa será a linguagem de modelagem.
Nessa aula apresentamos uma outra perspectiva a perspectiva ontológica, através de uma representação chamada de léxico ampliado da linguagem. Nessa perspectiva o importante é modelar a linguagem utilizada no Universo de Informações e não sua funcionalidade ou intencionalidade. O lema dessa perspectiva é “entenda a linguagem do problema antes de tentar entender o problema”.
Veja aqui e aqui material de apoio para o entendimento do LAL. Aproveite e faça você o seu léxico, utilizando o protótipo de editor de léxico.
-------------------------------------------------------------------------------------
Aula 13
Esta aula será sobre Análise. Entendemos análise no processo de definição de requisitos como composto de três atividades: identificação de partes, verificação e validação.
Nessa aula o tema principal é Inspeção. Inspeção foi uma técnica desenvolvida para verificação de programas fontes, mas é hoje utilizada em diferentes tipos de documentos. Leiam a Seção 3, página 6 do artigo “Scenario Inspections” e o artigo "Técnicas de Inspeção de Documentos de Requisitos de Software: Um Estudo Comparativo".
terça-feira, julho 17, 2007
Aulas -- 11, 12 e 13
Postado por
evolsoftware
às
7:31 AM
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário