Antes de implementar um software e posterior ao conhecimento do problema e das necessidades dos clientes, é uma boa prática realizar a modelagem do software a ser construído como forma a construir uma abstração da solução que seja entendida pela equipe de desenvolvimento. Ainda na fase de elicitação de requisitos, as informações capturadas e registradas são feitas utilizando basicamente a linguagem natural. Por si só, a linguagem natural é ambígua e essa ambiguidade, embora presente durante a interação com interessados pelo projeto, não é bem-vinda durante a construção do produto. A modelagem de software, então, permite que as informações anteriormente capturadas possam ser representadas em uma linguagem intermediária (nem linguagem natural e nem linguagem de máquina) que consiga expressar as necessidades levantadas. De acordo com Ian Sommerville (Sommerville, 2011), os modelos utilizados para descrever software podem ser classificados em:
.modelo de pretexto, modelo de inversão, modelo construtural e modelo comportamental.
.modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental.
.modelo de requisitos, modelo de arquitetura, modelo de codificação e modelo de teste.
.modelo de contexto, modelo de interação, modelo conjuntural e modelo psicológico.
.modelo de requisitos, modelo de arquitetura, modelo de codificação e modelo de implantação.
Soluções para a tarefa
A alternativa correta seria a B: modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental.
Modelo de contexto: serve para modelar um escopo através de um diagrama.
Modelo de interação: Descreve como grupo de objetos auxiliam em um determinado comportamento.
Modelo estrutural: São métodos que usam cálculos matemáticos para simular como esse objeto seria na vida real.
Modelo comportamental: Serve para dizer como o sistema irá se comportar de forma interna.
Resposta:
modelo de contexto, modelo de interação, modelo estrutural e modelo comportamental
Explicação:
Ao modelar um sistema, você deve ter uma visão e criar modelos em visões e perspectivas diferentes.
O analista de sistemas tem, como objetivo, projetar o sistema conforme as necessidades do cliente e informações
repassadas por ele, mas pode ocorrer que as informações estejam incompletas ou indeterminadas, cabendo ao
analista de sistemas ter habilidade e expertises para buscá-las.
Dentro da equipe de desenvolvimento também existem outros profissionais, mas com visões de qualidade
diferentes, veja alguns exemplos:
a) o gerente de projetos busca estimar recursos, prazos, tarefas, custos e informações de projeto;
b) o programador objetiva que a aplicação funcione de forma estabelecida;
c) o design está buscando que a tela fique agradável e que tenha usabilidade para o usuário.
Repare que, para cada profissional dentro da equipe, a perspectiva do projeto é diferente. O caminho para o risco
é alto, caso o projeto seja encaminhado para o destino incorreto, e a percepção de cada membro da equipe conta
muito neste momento. Para reduzir o risco e alinhar a produção, é necessário o desenvolvimento de modelos em
diferentes perspectivas, que, de acordo com Ian Sommerville (2011), se classificam em: modelo de contexto,
interação, estrutural e comportamental.
• Modelo de contexto: perspectiva externa, que modela o ambiente de negócio e tecnológico, no qual o
sistema irá funcionar.
• Modelo de interação: interação entre sistemas, componentes, módulos, usuários e negócio.
• Modelo estrutural: modelagem da estrutura de arquivos, dados e processos dentro do sistema.
• Modelo comportamental: modelagem do comportamento do sistema em relação a eventos aplicados
em sua utilização.