Buscar

Lista de Revisão - AP2 - ES

Prévia do material em texto

1. O que é modelagem de sistema? Qual a sua importância? 
É o processo de desenvolvimento de modelos abstratos de um sistema. Os 
modelos são usados durante o processo de engenharia de requisitos para 
ajudar a extrair os requisitos do sistema; durante o processo de projeto, são 
usados para descrever o sistema para os engenheiros que o implementam; e, 
após isso, são usados para documentar a estrutura e a operação do sistema. 
 
2. Quais os tipos de modelo utilizados? Apresente suas principais 
características. 
Modelos de contexto​: ​Definem os limites do sistema. Normalmente usados 
em um estágio inicial da especificação de um sistema; Trabalha com os 
stakeholders para descobrir funcionalidades do sistema e o que são 
fornecidos pelo ambiente; Mostram quais outros sistemas fazem parte do 
ambiente, mas não mostram os tipos de relacionamentos entre sistemas. 
Modelos de interação ​: ​A modelagem da interação do usuário é importante, 
pois ajuda a identificar os requisitos do usuário. O sistema de modelagem da 
interação do sistema destaca os problemas de comunicação que podem 
surgir. A modelagem da interação nos ajuda a compreender se a estrutura 
proposta para o sistema é suscetível de produzir o desempenho e a 
confiança requerida do sistema. Duas abordagens relacionadas à 
modelagem da interação: Modelagem de caso de uso, usada principalmente 
para modelar interações entre um sistema e atores externos (usuários ou 
outros sistemas). Diagramas de seqüência, usados para modelar interações 
entre os componentes do sistema, embora os agentes externos também 
possam ser incluídos. 
Modelos estruturais ​: ​exibem a organização de um sistema em termos de 
seus componentes e seus relacionamentos. Os modelos estruturais podem 
ser modelos estáticos, que mostram a estrutura do projeto do sistema, ou 
modelos dinâmicos, que mostram a organização do sistema quando ele está 
em execução. Pode-se criar modelos estruturais quando se discute e projeta 
a arquitetura do sistema. 
Modelo de classe​: ​Representa termos do domínio do negócio. Ideias, 
coisas, e conceitos no mundo real. Descreve o problema representado pelo 
sistema a ser desenvolvido, sem considerar características da solução a ser 
utilizada. 
Modelos comportamentais: ​são modelos do comportamento dinâmico do 
sistema quando está em execução. Eles mostram o que acontece ou deve 
acontecer quando o sistema responde a um estímulo de seu ambiente. 
Estímulos são dados ou eventos; Dados: dados que chegam precisam ser 
processados pelo sistema. Eventos: eventos disparam o processamento do 
sistema. 
Modelagem orientada a dados​: ​mostram a seqüência de ações envolvidas 
no processamento de dados de entrada e a geração de uma saída 
associada. Eles são particularmente úteis durante a análise de requisitos, 
pois podem ser usados para mostrar, do início ao fim, o processamento de 
um sistema. Ou seja, eles mostram toda a seqüência de ações, desde uma 
entrada sendo processada até a saída correspondente, que é a resposta do 
sistema. A UML não tem diagramas orientado a dados. Entretanto pode-se 
usar diagramas de sequência (Diagramas de sequência destacam os objetos 
de um sistema, enquanto os diagramas orientados a dados destacam as 
funções e os dados). 
Modelagem orientada a eventos: ​Mostram como o sistema reage a eventos 
internos e externos. Sistemas têm número finito de estados. Eventos podem 
causar uma transição de um estado para outro. O diagrama de estados da 
UML (StateCharts) mostra os estados como nós e eventos como arcos entre 
nós. Quando ocorre um evento, o sistema move de um estado para outro. 
Não mostra o fluxo de dados, mas pode incluir informações adicionais sobre 
o processamento realizado em cada estado. É importante fornecer mais 
detalhes sobre os estímulos e estados, utilizando texto e tabelas. 
 
3. Explique por que é importante modelar o contexto de um sistema que 
está sendo desenvolvido. Dê dois exemplos de possíveis erros que 
podem ocorrer, caso os engenheiros de software não entendam o 
contexto do sistema. 
É importante usar a modelagem para evitar softwares mal sucedidos e para 
ajudar a entender os requisitos do usuário. Podem ocorrer problemas de 
comunicação e também pode ocorrer de enviar uma estrutura com um 
desempenho ruim. 
 
4. Explique quando são criados e utilizados os diagramas de casos de uso 
no processo de desenvolvimento incremental e iterativo. 
Na fase de concepção se faz a identificação da maioria dos atores e casos de 
uso e também a descrição dos casos de uso considerados mais críticos ( ao 
final da fase de concepção temos 10% a 20% do modelo de casos de uso 
modelado). 
Na fase de elaboração, a construção do modelo continua de tal forma que, ao 
seu término, 80% do modelo de casos de uso esteja construído. 
Na fase de construção, casos de uso formam uma base natural através da 
qual podem-se realizar as iterações do desenvolvimento. Um grupo de casos 
é alocado a cada iteração. Então, o desenvolvimento do sistema segue a 
alocação realizada: em cada iteração, um grupo de casos de uso é detalhado 
e desenvolvido. O processo continua até que todos os casos de uso tenham 
sido desenvolvidos e o sistema esteja completamente construído. 
 
5. Explique a utilidade do diagrama de casos de uso para os testes do 
sistema. 
Os profissionais responsáveis pelos testes utilizam o modelo de casos de uso 
para planejar as atividades de teste. Os casos de uso e seus cenários 
oferecem casos de teste. Quando o sistema está sendo testado, os cenários 
sobre o sistema podem ser verificados para identificar a existência de erros. 
 
6. Explique por que nem sempre é necessário que um modelo de sistema 
seja completo e correto. 
Os modelos podem ser incompletos (contanto que cubram os pontos 
essenciais da discussão) e podem usar a notação de modelagem 
informalmente. Quando os modelos são usados como documentação, não 
precisam ser completos, pois você pode querer desenvolver modelos apenas 
para algumas partes de um sistema. No entanto, esses modelos precisam ser 
corretos; eles devem usar a notação de forma correta e apresentar uma 
descrição precisa do sistema. 
 
7. Como funciona o modelo de análise no processo de Engenharia de 
Software? 
Após a etapa de análise de requisitos, temos documentos de requisitos e os 
casos de uso em mãos. Queremos agora gerar um primeiro modelo do 
sistema a partir dos casos de uso. Este modelo é chamado de modelo de 
análise. Combinação de formas textuais e diagramas para mostrar os 
requisitos, função e comportamento de maneira fácil de entender, é 
importante para validação dos requisitos através de suas representações em 
forma de diversas visões. 
 
8. O que é modelagem de projeto? Para que serve e como funciona? 
É a base para outras etapas na qual é modelada uma solução para atender 
requisitos funcionais e não funcionais e consiste nas atividades de criação, 
ocorre o refinamento dos requisitos a fim de chegar ao produto final. 
 
9. Qual a diferença entre modelagem de análisee modelagem de projeto?? 
Na ​análise modela-se o problema, esta etapa consiste na investigação do 
problema e requisitos, ou seja, as atividades necessárias para entender o 
domínio do problema, as quais estão focadas nos requisitos, casos de uso, 
restrições e vocabulário. Já na etapa do ​projeto ​é feita uma descrição de 
uma solução lógica, onde o foco está nos objetos, arquitetura, instalação e 
operação e interface do usuário. 
 
 
 
10.O que é e qual a importância da utilização da arquitetura de software? 
Consiste na atividade em que a solução computacional e, por consequência, 
a arquitetura do software são definidas, onde são tomadas decisões a partir 
do raciocínio dos requisitos, onde ohs elemento da arquitetura são 
organizados atendendo aos requisitos, ela é importante pois pode ter efeitos 
profundos sobre as partes emergentes de um sistema, em resumo arquitetura 
consiste em um modelo de alto nível que possibilita um entendimento e uma 
análise mais fácil do software a ser desenvolvido. 
 
11.Qual o papel da arquitetura em um processo de desenvolvimento de 
software (e quais os benefícios de sua avaliação)? 
O principal papel desse artefato é servir como instrumento para comunicar a 
solução proposta. O principal benefício em se avaliar um documento 
arquitetural está na diminuição das chances de um stakeholder utilizar um 
documento defeituoso nas atividades subsequentes do processo de 
desenvolvimento de software. 
 
12.Documentação Arquitetural, por quê é tão importante? 
Pois traz a possibilidade de usá-la como ferramenta para comunicar a 
solução projetada aos diversos stakeholders que participam do processo de 
desenvolvimento do software, através da representação da arquitetura. 
 
13.O que é interação? Por quê é importante estudar esses aspectos no 
processo de Engenharia de Software? 
É a troca de informações entre homem e computador, composta por: 
execução de comandos do ser humano – interface de ação; apresentação de 
respostas do computador – interface de percepção. Pois a questão da 
usabilidade do sistema deve ser levada em consideração, ou seja, a Interface 
de Usuário afeta a percepção sobre o software, este deve ter boa usabilidade 
para ser mais atrativo para clientes, pois se não forem logo são abandonados 
pelos usuários. 
 
14.O que é usabilidade? Quais seus critérios de aceitabilidade? 
Exprime quão bem um usuário utiliza as funcionalidades oferecidas pela 
interface do sistema interativo o que é extremamente relevante para 
interfaces, envolvendo critérios referentes a facilidade e esforço necessários 
para que o usuário aprenda a utilizar o sistema, os quais são: Facilidade de 
aprendizado; Facilidade de recordação; Eficiência; Segurança de uso 
Satisfação do usuário. 
 
 
15.Como os processos cognitivos influenciam a interação dos usuários 
com o sistema? 
Os processos cognitivos envolvem fatores que fazem parte do 
desenvolvimento do intelecto, compreendem o processo de aquisição de 
conhecimento, e assim exercem influência na experiência do usuário com as 
interfaces do sistema, tais como a atenção, percepção, memória, 
aprendizado, entre outros. 
 
16.Como surgiu o conceito de reuso? Como ele pode ser feito? 
Surgiu com a necessidade de atingir software melhor, mais rapidamente e a 
custo reduzido, nós necessitamos, através da adoção de um processo de 
projeto que é baseado no reuso sistemático de software, dessa forma os 
sistemas são projetados por meio da composição de componentes existentes 
que foram usados em outros sistemas. Pode ser feito de três formas: ​Reuso 
de aplicação de sistema, onde todo o sistema de aplicação pode ser reusado 
por incorporação a outros sistemas sem mudanças ou pelo desenvolvimento 
de famílias de aplicações; ​Reuso de componentes​, no qual os componentes 
de uma aplicação, desde subsistemas até objetos simples, podem ser 
reusados; ​Reuso de objeto e função​, onde componentes de software que 
implementam um objeto único bem definido ou função podem ser reusados. 
 
17.Quais os benefícios e problemas associados ao reuso de software? 
Como benefícios temos a confiança aumentada, risco de processo reduzido, 
uso eficaz de especialistas, conformidade com padrões e desenvolvimento 
acelerado, como problemas temos maiores custos de manutenção, falta de 
ferramentas de suporte, síndrome de ‘não-inventado-aqui’(preferem o desafio 
de softwares originais), criação, manutenção e uso de uma biblioteca de 
componentes, e encontrar, compreender e adaptar os componentes 
reusáveis. 
 
18.Quais fatores-chave que devem ser considerados ao planejar o reuso? 
Cronograma de desenvolvimento; Expectativa de duração do software; 
Conhecimento, habilidades e a experiência da equipe; Importância do 
software e seus requisitos não funcionais; Domínio da aplicação; Plataforma 
em que o sistema será executado. 
 
19.Cite quatro casos em que você pode recomendar o não reuso de 
software? 
Quando o código-fonte de um sistema ou componente não estiver mais 
disponível, tornando inviável utilização dos componentes que tornam-se cada 
vez mais incompatíveis; quando há o uso de uma biblioteca de componentes, 
que neste caso irá gerar custos de criação, manutenção e adaptação ao 
longo do processo de desenvolvimento do sistema; em outro caso de acordo 
com processo de software escolhido por determinadas ferramentas torna-se 
inviável o desenvolvimento com reuso, impossibilitando a integração de 
bibliotecas de componentes; já em outros casos é escolha refere-se a 
compreensão das partes componentes da biblioteca a ser implantada no 
desenvolvimento do sistema, e por isso só irá complicar ainda mais nos 
processos de adaptação. 
 
20.O que é reuso de conceito? Quais abordagens para esse tipo de reuso? 
Uma forma complementar de reuso, em vez de reusar um componente de 
software, você reusa uma ideia, uma forma, um trabalho ou um algoritmo. O 
conceito reusado é representado em uma notação abstrata que inclui 
detalhes de implementação. Pode, portanto, ser configurado e adaptado para 
uma série de situações. 
 
21.O que são produtos COTS? Quais os principais benefícios de sua 
utilização? 
É um sistema de software que pode ser adaptado às necessidades de 
diferentes clientes sem alterar o código-fonte do sistema. Os produtos COTS 
são adaptados por mecanismos internos de configuração que permitem que a 
funcionalidade do sistema seja customizada para se adaptar às necessidades 
específicas do cliente. 
Benefícios: Pode ser possível a implantação mais rápida de um sistema 
confiável; É possível ver qual funcionalidade é fornecida pelas aplicações; 
Alguns riscos de desenvolvimento são evitados usando-se softwares 
existentes; As empresas podem concentrar-se em sua atividade principal 
sem precisar dedicar uma grande quantidade de recursos para 
desenvolvimento de sistemas de TI; Como as plataformas operacionais 
evoluem, as atualizações das tecnologias podem ser simplificadas. 
 
22.O que são sistemas de solução COTS e sistemas integrados COTS? 
Sistemas de solução COTS são sistemas genéricos de aplicação que podem 
serprojetados para suportar um tipo de negócio em particular, atividade de 
negócio ou, por vezes, uma empresa completa. 
Sistemas integrados COTS são aplicações que incluem dois ou mais 
produtos COTS ou, às vezes, sistemas de aplicações legados. Pode-se usar 
essa abordagem quando não houver um sistema COTS único que atenda a 
todas as suas necessidades ou quando desejar integrar um novo produto 
COTS com sistemas que já usa. 
 
 
23. Identifique seis possíveis riscos que podem surgir quando os sistemas 
são construídos usando COTS. Que medidas uma empresa pode tomar 
para reduzir esses riscos? 
Adaptação, eficiência, manutenção, documentação, requisitos e 
compatibilidade. Analisar e planejar as funcionalidades dos COTS, os 
requisitos e todas as modulares do mesmo, para garantir que todos requisitos 
sejam atendidos.

Continue navegando