Apesar das especificidades de cada projeto, pode-se dividir as atividades de desenvolvimento de requisitos em: elicitação, análise, especificação e validação. Qual é uma 'boa prática' para cada uma destas atividades, respectivamente?
Os requisitos de software podem ser caracterizados por propriedades (ou atributos). Uma propriedade esperada para qualquer requisito é que este seja
Em um dado documento, lê-se: 'O código a ser produzido deve fazer uso da linguagem de programação Java'. Essa informação é um requisito
Um software é geralmente produzido a partir de um projeto, ao longo do qual
Sejam as classes A e B tais que o relacionamento entre elas é dado pelo fato de A usar (referenciar) a classe B. Dessa forma, qual das refatorações a seguir implementa o princípio da inversão de dependência?
A construção de um software é precedida pelo seu design (projeto). O design de software inclui
Design (projeto) de software é um processo do ciclo de vida de software. A execução desse processo
Leia o texto a seguir extraído da Internet. Se o débito técnico não é pago, ele pode acumular, tornando mais difícil implementar mudanças posteriores. No contexto desta informação, o débito técnico
A tecnologia da informação (TI) representa um enorme mercado, estimado por alguns em trilhões de dólares. Nesse valioso mercado, a governança de TI é
A governança de TI e o gerenciamento de TI promovem a socialização de 'boas práticas' por meio de normas, padrões e frameworks. Qual é a referência associada à governança de TI e ao gerenciamento de TI, respectivamente?
A governança de TI está associada ao uso eficiente e eficaz da TI. Em consequência, várias questões fazem parte do cotidiano de quem exerce tal governança. Dentre os itens a seguir, qual é o que provoca menor impacto se não for do conhecimento de quem exerce tal governança?
Para satisfazer o critério de teste estrutural todos-os-arcos, as seguintes sequências de comandos são suficientes:
Sobre critérios de teste baseados em fluxo de dados, no trecho de código apresentado, o número mínimo de caminhos para satisfazer o critério de teste todos-du-caminhos com respeito à variável x é
Teste de regressão refere-se ao processo de retestar software que tenha sido modificado. Nesse contexto, um conjunto de teste que é adequado a uma versão do software não é necessariamente adequado à versão subsequente do software. O testador selecionou um critério de teste, que representa uma exigência para os casos de teste de regressão a cada nova versão do software. Dentre as opções a seguir, a mais exigente é
A UML possui um conjunto de diagramas que podem ser usados para visualizar, especificar, construir e documentar artefatos de software. No contexto do envio de mensagens entre objetos durante a execução de uma tarefa, considere dois interesses do projetista: evidenciar os relacionamentos entre objetos e realçar a ordem temporal de mensagens. Dois diagramas para lidar primariamente com esses interesses são, respectivamente:
Polimorfismo é um conceito usado em programação orientada a objetos, e envolve a seleção dinâmica baseada
Em programação orientada a objetos, se a classe Y estende a classe X enquanto a classe Z estende a classe Y, então
Considere o método a seguir escrito em Java: public void sort (int [] v) { for (int i=0; i
Sejam as classes seguintes escritas em Java: class A {int x; A(){setX(10);} int getX(){return x;} void setX(int y) {x=y;}} class B extends A {B(){ x+=100; }} class C extends B { C(){ this(10); x*=2; } C(int y) {setX(y+getX());}} A execução da sentença new C().getX() retorna o valor
Sejam as seguintes classes escritas em linguagem Java: class A { public String m (String s) { return s + "a"; } } class B extends A { public String m (String s) { return s + "b"; } } class C extends B { public String m () { return "c"; } } class D extends C { public String m (String s) { return s + "d"; } } Considere ainda as sentenças a seguir: D obj = new D(); C x = obj; B y = obj; A z = obj; A execução da expressão x.m(y.m(z.m(obj.m(new C().m("#"))))) resulta no valor
A empresa planeja fechar algumas lojas baseando-se no valor vendido, calculado por funcionário. Para tomar essa decisão, o seguinte comando escrito em SQL pode ser utilizado:
A empresa decidiu agregar novas funcionalidades à aplicação: pagamento de comissão de 1% por venda efetuada, para o vendedor que realizou a venda; e desconto de 5% em cada venda, desde que o cliente tenha duas compras no mesmo mês em qualquer loja. Para tal, o esquema de banco de dados foi modificado pela criação das tabelas VENDEDOR e CLIENTE. Sabendo que cada venda é efetuada para um único cliente, outras modificações necessárias às novas funcionalidades e que minimizam o número de junções das consultas ao banco de dados são:
Com respeito a escalonamentos de transações de banco de dados, os escalonamentos
Um item de configuração de software é um elemento para efeito de controle de versão. Itens podem estar ligados a outros itens, devido a pelo menos um tipo de dependência ou relacionamento. O relacionamento entre itens que indica que um componente concreto é uma implementação de um componente mais abstrato é denominado
Estabelecer uma política de sincronização de mudanças para cada item de configuração de software, bem como disponibilizar e manter cada versão produzida dos itens de configuração, são atividades típicas
No contexto da gerência de configuração de software, é possível automatizar a comparação de duas versões consecutivas de um item de configuração, para identificar quais as mudanças foram realizadas. Restrita a essa comparação, pode-se extrair a descrição
































