Baixe o app para aproveitar ainda mais
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.
Compartilhar