Questões de Concurso Sobre engenharia de software
Foram encontradas 14.480 questões
A modelagem orientada a objetos utilizando a Unified Modeling Language (UML) é uma ferramenta essencial na fase de análise e projeto de Software. O Diagrama de Classes, em particular, estabelece a estrutura estática do sistema por meio de classes, seus atributos, operações e os relacionamentos entre os objetos. Sobre as características, o nível de detalhamento e a semântica dos relacionamentos nesse diagrama, analise as assertivas abaixo e assinale V, se verdadeiras, ou F, se falsas.
( ) Para evitar os conflitos de interpretação entre os requisitos do cliente e o código que será efetivamente implementado pelos desenvolvedores, o nível de detalhamento do diagrama de classes (incluindo visibilidade de atributos, tipos de dados rigorosos e assinaturas completas de métodos) deve ser mantido invariavelmente alto desde as fases iniciais da modelagem conceitual.
( ) Na UML, o relacionamento de agregação estabelece um vínculo semântico restrito no qual ocorre uma coincidência de tempo de vida entre os objetos modelados. Nesse tipo de associação, se o objeto contêiner (o “todo”) for destruído da memória, as instâncias exclusivas que formam as suas “partes” também deverão obrigatoriamente ser destruídas, visto que não podem existir de forma independente no sistema.
( ) A relação de generalização permite a modelagem de herança estrutural e comportamental. Na construção do diagrama de classes UML, é totalmente válido modelar uma classe filha com herança múltipla (recebendo características de múltiplas superclasses), ainda que a equipe de desenvolvimento vá implementar o sistema em uma linguagem que não suporta herança múltipla de classes nativamente, como a linguagem Java.
A ordem correta de preenchimento dos parênteses, de cima para baixo, é:
A elaboração do Documento de Requisitos exige uma separação clara entre os níveis de abstração e a natureza técnica das necessidades de um projeto. Descrições em linguagem natural e diagramas gerais são essenciais para validar a ideia com stakeholders, mas frequentemente são ambíguas e inadequadas para guiar diretamente o desenvolvimento. Essas descrições compõem os requisitos _____________. Para solucionar essa ambiguidade, elabora-se uma especificação técnica detalhada, que serve como contrato e guia exato para a equipe técnica, denominada requisitos _____________. Independentemente do nível de detalhamento documental, as necessidades também se dividem quanto à sua natureza: as descrições dos serviços exatos que o software deve fornecer e como deve reagir a entradas específicas formam os requisitos _____________. Em contrapartida, as restrições que afetam as propriedades emergentes do sistema como um todo são os requisitos ______________.
Assinale a alternativa que preenche, correta e respectivamente, as lacunas do trecho acima.
Um modelo de processo de software é uma representação abstrata que descreve uma abordagem para o desenvolvimento. Na prática, compreender as diferenças estruturais desses modelos é essencial para a escolha da metodologia adequada a cada projeto. Considerando os modelos genéricos de processo de software, analise as assertivas abaixo:
I. No modelo em cascata, o fluxo de trabalho é estruturado de forma linear e sequencial, exigindo que cada etapa fundamental seja concluída e validada individualmente antes que a fase subsequente possa ser iniciada.
II. O modelo espiral caracteriza-se pela execução de iterações de desenvolvimento focadas na rápida entrega de código e na prototipação informal, dispensando a realização de análises de riscos formais para formar uma espiral de entregas e validações rápidas.
III. O modelo de desenvolvimento incremental baseia-se na divisão do sistema em incrementos funcionais (partes autônomas), permitindo que os requisitos mais críticos ou de maior prioridade para o negócio sejam desenvolvidos e entregues nas primeiras iterações do ciclo de vida.
Quais estão corretas?
A UML (Unified Modeling Language) disponibiliza diferentes tipos de diagramas para representar aspectos estruturais e comportamentais de sistemas de software. Cada diagrama possui um propósito específico e é adequado para diferentes contextos de modelagem.
Diante disso, analise as afirmativas a seguir:
I. O diagrama de classes representa a estrutura estática do sistema, descrevendo classes, atributos, métodos e os relacionamentos entre elas.
II. O diagrama de sequência modela a interação entre objetos ao longo do tempo, evidenciando a troca de mensagens em ordem cronológica.
III. O diagrama de atividades é utilizado exclusivamente para modelar o comportamento interno de métodos de classes, não sendo adequado para representar fluxos de processos de negócio.
IV. O diagrama de casos de uso tem como objetivo descrever os requisitos funcionais do sistema sob a perspectiva dos atores externos que interagem com ele.
Estão CORRETAS:
Os diagramas de casos de uso da UML descrevem os requisitos funcionais de um sistema sob a perspectiva dos atores externos que interagem com ele. Para expressar relações de dependência e reuso entre casos de uso, a UML define os estereótipos <<include>> e <<extend>>, que possuem semânticas distintas. Diante disso, assinale a alternativa que descreve CORRETAMENTE a diferença entre essas duas relações.
No Diagrama de Classes da UML, os relacionamentos entre classes expressam diferentes formas de dependência e vínculo estrutural. Os relacionamentos de associação, agregação e composição possuem semânticas distintas, especialmente no que diz respeito ao ciclo de vida dos objetos envolvidos. Diante disso, assinale a alternativa que descreve CORRETAMENTE as características desses relacionamentos.
O modelo MPS.BR (Melhoria de Processo do Software Brasileiro), versão 1.1, define níveis de maturidade que representam estágios evolutivos da capacidade dos processos organizacionais. Com base nessa classificação, assinale a alternativa que apresenta uma denominação que NÃO corresponde a um nível de maturidade do MPS.BR.
A Análise de Pontos de Função (APF), conforme definido pelo IFPUG no Counting Practices Manual (versão 4.3), estabelece critérios para medir o tamanho funcional de sistemas com base na visão do usuário. Nesse contexto, assinale a alternativa que apresenta CORRETAMENTE uma classificação de funções utilizada na APF.
De acordo com o IFPUG, no Counting Practices Manual (versão 4.3), a determinação da complexidade funcional dos processos elementares considera diferentes tipos de elementos utilizados pelas funções. Nesse contexto, assinale a alternativa que corresponde ao conceito descrito como sendo um campo único, reconhecido pelo usuário e não repetido
De acordo com o modelo CMMI-DEV (Capability Maturity Model Integration for Development), versão 1.3, os níveis de maturidade representam estágios evolutivos da melhoria de processos organizacionais, sendo definidos de forma sequencial. Nesse contexto, assinale a alternativa que apresenta um nível de maturidade que NÃO pertence ao modelo CMMI-DEV.
De acordo com o modelo MPS.BR (Melhoria de Processo do Software Brasileiro), versão 1.1, os processos do ciclo de vida de software podem ser classificados em processos fundamentais, de apoio e organizacionais, conforme sua função no contexto do desenvolvimento e manutenção de software. Considerando essa classificação, assinale a alternativa que apresenta um processo classificado como processo de apoio.
O modelo CMM (Capability Maturity Model), em sua versão 1.1, estabelece níveis de maturidade que indicam o grau de evolução dos processos de software em uma organização, permitindo avaliar sua capacidade de desenvolvimento de forma estruturada. Nesse contexto, assinale a alternativa que apresenta um nível de maturidade do CMM.
No modelo CMMI-DEV (Capability Maturity Model Integration for Development), versão 1.3, as áreas de processo são organizadas em categorias que agrupam práticas relacionadas a diferentes aspectos da melhoria de processos e desenvolvimento de software. Considerando essa organização, assinale a alternativa que apresenta uma categoria que NÃO pertence ao CMMI-DEV.
O Rational Unified Process (RUP) é um processo de desenvolvimento de software iterativo e incremental, estruturado de forma a organizar as atividades ao longo do tempo e também em diferentes áreas de conhecimento. Nesse contexto, o RUP é descrito a partir de duas dimensões principais, que permitem visualizar tanto a evolução do processo quanto a organização das atividades. Diante disso, assinale a alternativa que apresenta CORRETAMENTE essas duas dimensões.
Um analista de sistemas está avaliando diferentes modelos de processo de desenvolvimento de software para um projeto de grande porte, com requisitos parcialmente definidos e alto risco tecnológico.
Diante disso, considere as afirmações a seguir sobre os modelos Cascata, Espiral e Incremental:
II. O modelo cascata permite mudanças frequentes nos requisitos ao longo do desenvolvimento, devido à sua natureza iterativa.
III. O modelo incremental permite a entrega de partes funcionais do sistema ao longo do tempo.
IV. O modelo espiral é mais indicado para projetos simples, devido à sua baixa complexidade de gerenciamento.
Pode-se afirmar que:
A Análise Essencial é uma abordagem utilizada na Engenharia de Software para compreender e descrever sistemas a partir de determinadas perspectivas conceituais. Com base nas características dessa abordagem, analise as afirmativas a seguir:
II. Dependência tecnológica: pode existir parcialmente.
III. Abordagem: orientada a eventos.
IV. Objetivo: modelar o sistema e estruturar sua solução.
Pode-se afirmar que:
Existe um modelo de qualidade de produto de software composto por características e subcaracterísticas que permitem avaliar diferentes atributos do sistema. Nesse contexto, assinale a alternativa que NÃO corresponde a uma subcaracterística associada à flexibilidade do produto de software.
Na análise orientada a objetos, a UML (Unified Modeling Language) organiza seus diagramas em duas grandes categorias: diagramas estruturais, que representam a estrutura estática do sistema, e diagramas comportamentais, que descrevem o comportamento dinâmico do sistema ao longo do tempo. Com base nessa classificação, relacione corretamente os termos da Coluna 1 às suas finalidades, presentes na Coluna 2:
(1) Diagramas estruturais.
(2) Diagramas comportamentais.
Coluna 2:
( ) Diagrama de casos de uso
( ) Diagrama de atividades
( ) Diagrama de pacotes
( ) Diagrama de objetos
( ) Diagrama de estado
( ) Diagrama de classes
Qual alternativa preenche, CORRETAMENTE, de cima para baixo, os parênteses acima?