Buscar

Engenharia de Software - Atividade ou Prova

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

ENGENHARIA DE SOFTWARE 
Modelos de processos de software fornecem diretrizes gerais para o desenvolvimento do 
software e devem ser escolhidos e utilizados de acordo com características específicas 
do projeto de desenvolvimento do software que envolve informações da equipe a 
desenvolver o software e também do cliente. Imagine a situação abaixo. 
Um escritório de advocacia deseja contratar os seus serviços para apoiar no suporte 
automatizado de tarefas jurídicas comumente realizadas por seus advogados. Dentre as 
atividades tem-se a elaboração de documentos a serem protocolizados em diferentes 
tribunais de justiça de esfera estadual e federal; o acompanhamento de movimentações 
processuais de processos judiciais sob os cuidados dos advogados do escritório; e o 
gerenciamento de prazos jurídicos para manifestação em processos judiciais 
acompanhados pelo escritório. Você, como bom engenheiro de software, percebe que 
muito tem a aprender sobre a área jurídica e também sobre a forma de trabalho dentro 
do escritório cujo processo de negócio deverá ser apoiado pelo software solicitado. Ao 
visitar o escritório e conhecer um pouco mais da empresa, você percebe que todo o 
acompanhamento de processos judiciais é realizado ainda em papel e pilhas e mais pilhas 
de papel podem ser vistas nas mesas dos advogados da empresa. Duas coisas você 
consegue deduzir disso: 1) a empresa parece ser bem sucedida e os advogados devem 
ser bastante ocupados já que a quantidade de processos judiciais é bem alta; 2) o sistema 
trará economia para a empresa de milhares de reais, hoje gastos com impressão. Você 
percebe que a agenda lotada dos advogados do escritório pode se mostrar um desafio 
para uma comunicação mais efetiva de levantamento do problema e também do 
processo de negócio. Para a sua sorte, o principal advogado do escritório que iniciou o 
contato com você está bastante engajado no projeto e se mostra disposto a participar de 
quantas interações com a equipe de desenvolvimento forem necessárias para a captura 
das necessidades da empresa quanto ao software. Ele deseja também que sejam 
entregues versões intermediárias do software final contendo funcionalidades prioritárias 
e estratégicas para o negócio; uma vez que ele não tem certeza de todas as 
funcionalidades que serão necessárias para compor o software no inícío do projeto, ele 
quer garantir que as mais importantes sejam implementadas primeiro. Do seu lado, você 
tem uma equipe reduzida de analistas, desenvolvedores e testadores, porém bem coesa 
e comunicativa, com a ressalva de nunca terem trabalhado com a construção de nenhum 
sistema para a área jurídica. 
Considerando o cenário acima, identifique que modelo de processo de desenvolvimento 
de software você escolheria para apoiar o desenvolvimento do software solicitado. 
Justifique sua escolha associando as características do cenário acima com as do modelo 
selecionado. 
 
Resposta correta: 
 
Diante dos fatos expostos, podemos concluir: 
 
- Destaca-se que a empresa possui uma grande condição financeira, assim como, a 
indisponibilidade de alguns de seus colaboradores, excluindo-se o advogado principal. 
- Logo, o modelo escolhido deveria ser o de Entrega Evolutiva, considerando a 
eficiência na mão de obra do software. Especialmente, em relação à análise e ao 
desenho arquitetônico, resultando no melhor desempenho das outras etapas. 
- Portanto, as vantagens expostas e o modelo mais adequado, temos a permissão de 
que o projeto pode ser apresentado ao cliente antes mesmo da sua conclusão, como 
também a possibilidade de uma melhor comunicação entre os desenvolvedores e os 
usuários do software. 
- Nesta vertente, podemos ressaltar o modelo de processo de desenvolvimento de 
software, como a solicitação do cliente é receber versões intermediárias do produto 
final, conforme estudamos a *melhor opção, seria o modelo espiral, O ciclo de vida 
espiral tem como característica básica, o formato de divisões de um determinado 
sistema em módulos funcionais. 
- Dessa forma, o cliente tem a possibilidade de utilizar os módulos (partes) já liberados 
e, com isso, a fábrica de software tem maior facilidade de fidelização do cliente, que é 
exatamente o que o nosso cliente deseja, e na maioria dos casos, quase todos clientes 
desejam. Abaixo está a figura onde podemos ver o modelo espiral e sua dinâmica de 
iteração: 
A) Planejamento (estimativa de risco); 
B) Modelagem (análise de projeto); 
C)Construção; 
D)Implantação (entrega - feedback); 
E) Comunicação 
- Sendo assim, para melhor esclarecimento, o motivo de escolha do modelo espiral é 
dividido em 5(cinco) fases: 
* Comunicação - primeiro contato com o cliente e entendimento das necessidades, 
nesse primeiro contato tivemos a oportunidade de conhecer o advogado mais engajado, 
onde ele nos informou suas necessidades, que sejam entregues versões intermediárias 
do software final contendo funcionalidades prioritárias e estratégicas para o negócio; 
uma vez que ele não tem certeza de todas as funcionalidades que serão necessárias 
para compor o software no início do projeto, ele quer garantir que as mais importantes 
sejam implementadas primeiro, também debatemos sobre as atividades que 
eles desejam sobre a elaboração de documentos que devem ser protocolizados em 
diferentes tribunais de justiça de esfera estadual e federal, o acompanhamento de 
movimentações processuais de processos judiciais sob os cuidados dos advogados do 
escritório, e o gerenciamento de prazos jurídicos para manifestação em processos 
judiciais acompanhados pelo escritório. 
* Planejamento - abstração das necessidades, momento de aplicação do brainstorming 
e ativação de uma nova unidade de gerenciamento ou módulo Nesse momento, vamos 
estimar o cronograma, já que Do meu lado, tenho uma equipe reduzida de analistas, 
desenvolvedores e testadores, porém bem coesa e comunicativa, mesmo que nunca 
trabalharam com a construção de nenhum sistema para a área jurídica, utilizando o 
framework adequado, conseguimos fazer também uma análise de risco que podemos 
entender como um “grande problema” é dividido em partes menores, tornando o 
gerenciamento mais eficaz. 
* Modelagem - consolidação e especificação dos requisitos;Com a consolidação do 
projeto, podemos analisar o projeto usando o olhar analítico, fazendo uma junção do 
que podemos notar ao que o sistema trará economia para a empresa de milhares de 
reais, hoje gastos com impressão e as principais funções que o escritório deseja por 
hora, assim planejamos e consolidamos os requisitos, de forma que saberemos o que 
entrará para essa entrega. 
* Construção - construção das telas, codificação e testes, e Nesse momento trataremos 
toda a parte da construção da tela, o famoso front end, a tela em que o cliente irá 
interagir, e claro o back end, toda a estrutura que trabalhará por trás dessa interação 
tela/cliente, e por último e muito importante os testes de funcionalidades que dirão se 
o que foi implementado condiz com a solicitação/planejamento; 
* Implantação - transição dos artefatos funcionais do servidor de homologação para o 
de produção. Aqui faremos a homologação do produto (geralmente versionado), 
recebendo assim o feedback do cliente sobre o que foi 
solicitado/planejado/implantado. Finalizando assim a primeira entrega, o produto 
inicial/parcial em funcionamento, o cliente tem a possibilidade de utilizar os módulos 
(partes) já liberados e, com isso, temos uma maior facilidade de fidelização do cliente. 
Outro ponto interessante é que este modelo possui a possibilidade de abstrações de 
novos requisitos, tanto para o analista quanto para o cliente, permitindo que o cliente 
passe uma informação mais refinada para os próximos módulos. 
- O modelo escolhido seria a Entrega Evolutiva, pela eficiência na mão de obra do 
software, e com a atenção do principal advogado teremos mais chances de sucesso 
na análise e no desenho arquitônico como consequência o melhor desempenho das 
demais etapas a seguir, sendopossível fazer fazer ou refazer de acordo com as 
exigências do cliente.

Mais conteúdos dessa disciplina