Buscar

ATIVIDADES DO LIVRO REQUISITOS DE SISTEMAS

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 8 páginas

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 6, do total de 8 páginas

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

Prévia do material em texto

ATIVIDADES DO LIVRO REQUISITOS DE SISTEMAS
Vamos praticar um pouco os conceitos aprendidos. Responda às seguintes questões:
01. A qualidade de software é uma área de conhecimento da engenharia de software que objetiva garantir a qualidade do software através da definição e normatização de processos de desenvolvimento. Para que um software seja considerado “de qualidade”, é necessário que este tenha conformidade com alguns conceitos. Marque a alternativa que representa o conceito de Eficiência:
Resposta: Deve realizar suas tarefas em tempo adequado à complexidade de cada um deles. E devem utilizar de modo eficiente os recursos de hardware disponíveis.
Quais são os principais objetivos da revisões técnicas fomais (RTF)?
Resposta: As RTF tem como objetivos: (1) descobrir erros na função, lógica ou implementação para qualquer representação do software; (2) verificar se o software que está sendo revisado atende aos requisitos propostos; (3) garantir que o software foi representado de acordo com padrões predefinidos; (4) obter software que seja desenvolvido de maneira uniforme; e (5) tornar os projetos mais gerenciáveis. Um ponto interessante de se observar é que além disso, a RTF também serve como base de treinamento, possibilitando que engenheiros mais novos observem diferentes abordagens para análise, projeto e implementação de software, contribuindo ainda mais para a qualidade.
Usando a definição de qualidade de software proposta neste capítulo, você acredita que seja possível criar um produto útil que gere valor mensurável sem usar um processo eficaz? Justifique sua resposta.
Resposta: Um processo de software sem controle resulta em processos improvisados pelos desenvolvedores e gerência. Não é rigorosamente seguido e o cumprimento das metas não é controlado. O processo passa a ser altamente dependente da qualidade e experiência dos profissionais envolvidos. E diminui a visão de progresso e qualidade do processo. A qualidade do produto fica comprometida e os prazos dificilmente são cumpridos. Possui alto risco quando é necessária a utilização de novas tecnologias, por depender diretamente da experiência dos profissionais. Além de tornar muito difícil prever a qualidade final do produto. O processo passa a ser constantemente reativo a situações inesperadas e problemas ao invés de ser pró-ativas, não havendo tempo para melhorias. De forma geral, o “fogo” esta sob controle, mas esta quase sempre “apagando incêndios”, fazendo com que os envolvidos tenham “queimaduras” constantes. Com isso sempre sobram “cinzas” que podem facilmente voltar a se incendiar mais tarde.
Na sua avaliação, o que pode ser considerado um software de boa qualidade? Justifique.
Resposta: Para que um software seja considerado “de qualidade”, é necessário que este tenha conformidade com alguns conceitos:
Correção: deve funcionar de forma correta. Satisfazendo as suas especificações sem falhas ou erros;
Integridade: suas especificações satisfazem os requisitos dos usuários e da organização; •  Flexibilidade: deve prever que o usuário pode agir de forma não esperada e deve ser capaz de resistir a eventuais situações sem falhas;
Confiabilidade: deve se comportar como esperado e não falhar em situações inesperadas; •  Eficiência: deve realizar suas tarefas em tempo adequado à complexidade de cada um deles. E devem utilizar de modo eficiente os recursos de hardware disponíveis;
Reusabilidade: os componentes do software devem permitir ser reutilizados em outras aplicações;
Usabilidade: deve ser fácil de aprender e de usar, permitindo maior produtividade do usuário, flexibilidade de utilização e aplicação e proporcionar satisfação ao usuário;
Manutenibilidade: deve permitir fácil manutenção para que correções ou atualizações sejam realizadas de modo fácil e eficiente;
Evolutibilidade: deve permitir expansão de suas funcionalidades para atender novos requisitos ou incorporar novas tecnologias;
Portabilidade: deve poder ser executado no maior número possível de equipamentos;
Interoperabilidade: deve ser capaz de interagir com diferentes sistemas e plataformas.
Qualidade e segurança são a mesma coisa? Explique.
Resposta: Não é a mesma coisa. Qualidade e segurança são diferentes, dentro do contexto de software. No entanto, a segurança pode ser um fator que determina a qualidade em um software, se esta for um requisito desejado. Qualidade de software pode ser definida como um conjunto de atributos de software que devem ser satisfeitos de modo que o software atenda às necessidades dos usuários. A determinação dos atributos relevantes a cada sistema depende do domínio da aplicação, das tecnologias utilizadas, das características específicas do projeto e das necessidades do usuário e da organização.
Capítulo 2
Na sua opinião, quais seriam as principais dificuldades para uma empresa ou organização implantar uma norma de qualidade de produtos de software? Justifique.
Resposta: As principais dificuldades para uma empresa ou organização implantar uma norma de qualidade de produtos de software estariam relacionadas à mudança ou readequação dos processos da mesma, podendo causar grandes resistências entre os colaboradores, dependendo da cultura organizacional ali existente, bem como exigir um nível de maturidade (quanto a processos) para que as normas sejam implantadas com sucesso. Ter o apoio da alta gerência é essencial, bem como o apoio de todos os envolvidos neste processo de mudanças.
É possível desenvolver softwares sem qualquer tipo de controle de processos? Quais seriam os impactos na qualidade deste software? Explique.
Resposta: O impacto seria negativo, com softwares de baixa qualidade. Portanto, é praticamente impossível desenvolver softwares de qualidade sem qualquer tipo de controle de processos, uma vez que estes são essenciais para o êxito da qualidade do software. No entanto, caso não seja considerado os aspectos de qualidade em um software, aí sim podemos considerar que é possível desenvolver softwares sob estas condições, mas totalmente desprovidos de qualidade.
Toda empresa de desenvolvimento de softwares devem implantar uma norma de qualidade a ser seguida? Qual sua opinião sobre este ponto? Justifique.
Resposta: Esta é uma pergunta que solicita sua opinião; pense e reflita sobre ela. Julgar que todas as empresas devam implantar uma norma pode parecer utópico, mas seria o ideal, pois assim as organizações estariam alcançando altos níveis de maturidade e estariam sempre buscando a melhoria contínua.
Quais as principais normas de qualidade associadas à software utilizadas no Brasil. Explique.
Resposta: A ISO publicou uma norma que representa uma padronização mundial para a qualidade de produtos de software, trata-se da norma ISO/IEC 9126 e foi publicada em 1991. Esta norma é uma das mais antigas da área de qualidade de software e possui uma tradução para o Brasil, publicada em agosto de 1996 como NBR 13596. Esta norma apresenta um conjunto de características que devem ser verificadas em um software para que ele seja considerado um “software de qualidade”.
Por que processos afetam a qualidade do software? Explique.
Resposta: A qualidade de um software está diretamente relacionada à qualidade de seus processos, pois estes são determinantes para o resultado final do produto de software. O controle dos processos e das atividades realizadas em todo o ciclo de desenvolvimento do software irão ser determinando para o resultado da qualidade.
Capítulo 3
Cite pelo menos 3 problemas que podem ocorrer durante a atividade de levantamento de requisitos.
Resposta: Diversos problemas podem ocorrer durante a atividade de levantamento de requisitos, sendo que os principais identificados, de acordo com Santos (2004, p. 24), são:
o conhecimento do domínio do negócio encontra-se espalhado por diversos meios, tais como: livros, sistemas existentes, manuais de operação, envolvidos, etc.;
o tempo escasso e a disponibilidade dos envolvidos;
fatores políticos e organizacionais, podendonão ser muito clara sua existência aos envolvidos;
os envolvidos não sabem exatamente o que fazem, o que precisam e o que querem que seja desenvolvido.
Explique a técnica de levantamento de requisitos baseada em cenários e dê um exemplo.
Resposta: Em algumas situações é mais fácil reunir analistas e usuários para simular situações reais e necessárias no futuro sistema do que tentar estabelecer as necessidades por meio de outros métodos mais abstratos. Para isto são usados os cenários. Os cenários servem para revelar detalhes que não foram percebidos e adicioná-los aos esboços dos requisitos. O estabelecimento dos cenários pode ser feito informalmente com os analistas trabalhando com os usuários principais ou fomentadores do projeto a fim de identificar os usuários operacionais e captar detalhes, ou outras formas. Os cenários são muito usados nos métodos ágeis de desenvolvimento.
Cite um exemplo de requisito não-funcional e explique o seu conceito.
Resposta: 
Requisitos não-funcionais: São restrições sobre os serviços ou as funções oferecidos pelo Sistema. Entre ele: destacam-se restrições de tempo, restrições sobre o processo de desenvolvimento, padrões, entre outros. Exemplos: Não poderão ocorrer perdas de informações; O sistema deverá ter alta disponibilidade; O sistema deverá ser executado em qualquer navegador; O sistema deverá comportar com velocidade satisfatória, com menos de 3 segundos.
A elicitação dos requisitos é a tarefa de comunicar-se com os usuários e clientes para determinar quais são os requisitos de sistema. Analise a frase abaixo, referente à requisitos de software especificados para um sistema de gestão de pessoal, expresso por um cliente: “É necessário que o software calcule os salários dos diaristas e mensalistas e emita relatórios mensais sumarizados por tipo de salário. Entretanto, a base de dados deve estar protegida e com acesso restrito aos usuários autorizados. De qualquer forma, o tempo de resposta das consultas não deve superar os quinze segundos, pois inviabilizaria todo o investimento nesse sistema. Devo lembrar que os relatórios individuais dos departamentos, nos quais constam os salários dos funcionários, devem ser emitidos quinzenalmente em razão dos adiantamentos e vales que recebem. É fundamental que o software seja operacionalizado usando código aberto. Necessito, ainda, forte gerenciamento de risco, prazo e custo, porque a entrega do produto final não pode ultrapassar o prazo de oito meses a contar da data de início do projeto.”
Assinale a alternativa que contém apenas requisitos funcionais:
Resposta: calcule os salários dos diaristas e mensalistas e os relatórios individuais dos departamentos, nos quais constam os salários dos funcionários, devem ser emitidos quinzenalmente.
05. Defina o que são requisitos, com suas palavras.
Resposta: Vamos deixar aqui a definição dada por Leite (2000b) para que você compare com a sua resposta: Requisitos são objetivos ou restrições estabelecidas por clientes e usuários do sistema que definem as diversas propriedades do sistema. Os requisitos de software são, obviamente, aqueles dentre os requisitos de sistema que dizem respeito a propriedades do software. Sendo assim, um conjunto de requisitos pode ser definido como uma condição ou capacidade necessária que o software deve possuir para que o usuário possa resolver um problema ou atingir um objetivo ou para atender as necessidades ou restrições da organização ou dos outros componentes do sistema
Capítulo 4
Existe algum software que gerencia os requisitos de um sistema? Você conhece? Se conhecer, explique basicamente o seu funcionamento. Se não conhece, pesquise na internet algum software voltado para a gerência de requisitos e o seu funcionamento.
Resposta: Alguns exemplos de softwares que trabalham com gerenciamento de requisitos são: Jeremia, OSRMT, Tiger Pro e Xuse. Segue uma sugestão de artigo que faz um estudo comparativo entre ferramentas de Gerência de Requisitos: http://www.cin.ufpe.br/~tg/2009-2/ rrta.pdf
Quais técnicas você utilizaria para rastrear requisitos de software? Explique.
Resposta: O rastreamento pode ser realizado de diferentes formas, entre elas devemos destacar as seguintes:
Rastreamento de origem, em que é realizada a associação entre os requisitos e os stakeholders que propuseram tal requisito.
Rastreamento de requisitos, em que é identificada a associação de um determinado requisito com a dependência existente com outros requisitos.
Rastreamento de projeto, em que é identificada a associação de um requisito com o projeto como um todo.
Para a melhor visualização do rastreamento o ideal é utilizar-se de uma representação gráfica de referência cruzada ou matriz de rastreamento. Neste modelo os requisitos são dispostos nas linhas e colunas de uma tabela e suas dependências são representadas por letras ou símbolos
Na sua opinião, o fato de haver muitas mudanças de requisitos pode influenciar na escolha do métodos de desenvolvimento do software? Por que?
Resposta: Sim, o fato de ter muitas mudanças de requisitos influencia a escolha dos métodos de desenvolvimento de um software pois certas metodologias lidam melhor e outras não com este tipo de situação. Um exemplo disto é o método cascata, ou clássico, que exige que todos os requisitos sejam definidos desde o princípio para que o projeto siga o planejamento sem contar com alterações, enquanto que os métodos ágeis, onde prevê iterações cíclicas, permite que mudanças aconteçam e possuem técnicas adequadas para lidar com estas mudanças.
Quais critérios você utilizaria para avaliar se os requisitos são de qualidade? Justifique.
Resposta: Buscando a qualidade é importante que a Especificação de Requisitos de Software atenda a alguns preceitos de qualidade de software, conforme definidos por padrões internacionais (como, por exemplo, o IEEE, o CMM e o SPICE). Para tanto a especificação deve ser:
	ESPECIFICAÇÕES:
	DETALHAMENTO:
	CORRETA
	Tudo o que está sendo descrito sobre os requisitos deve realmente expressar sua realidade – ser o que realmente é
	PRECISA
	Os requisitos devem ter apenas uma interpretação, acordada entre os usuários e os desenvolvedores. As dúvidas podem ser dirimidas com um dicionário de termos, que deve ser declarado para resolver as dúvidas que surgirem
	COMPLETA
	Deve refletir todas as decisões de especificação que foram tomadas ao longo de sua discussão, envolvendo os usuários e os desenvolvedores. Deve trazer de forma bem clara e definida a sua funcionalidade, desempenho desejado, restrições de projeto (técnicas e não técnicas), atributos necessários e, caso exista, relacionamento com outras aplicações. Procurar contemplar todas as situações possíveis
	CONSISTENTE
	Não ter nenhum conflito ou sobreposição a outros requisitos
	PRIORIZADA
	Definir prioridades de acordo com a importância, estabilidade e complexidade. Dentro destes critérios, os requisitos podem ser: - essencial: requisito sem o qual o produto não atende às necessidades do usuário;
desejável: sua existência aumenta o valor do produto, mas se por alguma necessidade não for contemplado não afeta de forma substancial a utilização do produto;
opcional: requisito que poderá ser incluído caso haja disponibilidade de prazo e orçamento, caracterizando-se como a última prioridade a ser atendida;
	VERIFICÁVEL
	A princípio todos os requisitos devem ser verificáveis. Ele será verificável se existir um processo finito que possa ser executado por uma pessoa ou máquina e, principalmente, que mostre sua conformidade com o solicitado
	MODIFICÁVEL
	A mudança de todo e qualquer requisito pode ser realizada de forma fácil, completa e consistente,
	RASTREÁVEL
	Permite que seja facilmente verificada sua consequência quando ocorrer uma modificação. Há a necessidade de se fazer a rastreabilidade nos dois sentidos, ou seja, verificar qual o impacto a ser causado nos requisitos dependentes e dos quais depende
	REUTILIZÁVEL
	Que a especificação dos requisitos sejafacilmente reutilizável, ou seja, se tivermos alguma funcionalidade a ser referenciada por um outro requisito que não seja necessário descrevê-la novamente.
Quais são os principais pontos que devem ser decididos durante o estágio de gerenciamentos de requisitos? Explique.
Resposta: Durante o estágio de gerenciamento de requisitos, decide-se sobre:
Identificação de requisitos - Cada requisito precisa ser identificado de modo único, para que possa ser feita a referência cruzada deste com os outros requisitos e para que ele possa ser utilizado nas avaliações de facilidade de rastreamento.
Processo de gerenciamento de mudanças - Trata-se do conjunto de atividades que avalia o impacto e o custo das mudanças.
Políticas de facilidade de rastreamento - Essas políticas definem as relações entre os requisitos e entre os requisitos e o projeto de sistema que devem ser registrados e também como esses registros devem ser mantidos.
Suporte de ferramentas CASE - O gerenciamento de requisitos envolve processar uma grande quantidade de informações sobre os requisitos. As ferramentas que podem ser utilizadas vão desde sistemas especializados de gerenciamento de requisitos até planilhas de cálculo e sistemas simples de bancos de dados. 
Capítulo 5
Você conhece algum software que trabalha com modelagem? Se sim, cite e comente sobre ele. Caso não conheça, pesquise alguns dos mais utilizados na internet e comente suas principais características.
Resposta: Deixaremos aqui algumas ferramentas para modelagem de software como sugestão de pesquisa:
IBM Rational Requisite Pro: Um produto integrado poderoso de fácil utilização para gerenciamento de requisitos e de referência de utilização que promove melhor comunicação, aprimora o trabalho em equipe e reduz o risco do projeto. Inclui ferramentas de gerenciamento de requisitos, de modelagem dos negócios e de modelagem de dados.
JUDE (Atual ASTAH) ou Java and UML Developer Environment: É uma das ferramentas grátis para UML mais poderosas disponíveis atualmente. Com características que não são encontradas nas outras ferramentas grátis, como adicionar métodos no diagrama de sequência e a alteração se refletir no diagrama de classes. 
Umbrello UML: Umbrello UML é um programa de modelagem UML (LINUX). Permite criar diagramas de software e outros sistemas em um formato padrão. É uma ferramenta open-source.
Poseidon para UML: É a ferramenta de modelagem de sistemas da empresa alemã Gentleware AG. O Poseidon é uma evolução da ferramenta de código-aberto ArgoUML que com mais de 350.000 instalações está entre as ferramentas de modelagem mais conhecidas. Seu principal foco está na facilidade de uso que a torna simples de aprender e usar. 
DBDesigner: Editor visual para criação de banco de dados mySQL que integra criação, modelagem, desenvolvimento e manutenção dos bancos em um ambiente simples e agradável. Comparável com produtos como Oracle’s Designer, IBM’s Relational Rose, CA Erwin. O DBDesigner é OpenSource distribuído sobre a licença GPL.
IBExpert: O IB Expert é um poderoso gerenciador de banco de dados que permite realizar todas as tarefas necessárias para o suporte e manutenção do banco tanto local como remotamente. Com ele é possível administrar o banco criando tabelas, modificando campos, índices, executando scripts SQL e outras funções. O IB Expert realiza a geração do modelo de entidade relacionamento para bancos de dados Interbase e Firebird.
A UML pode ser considerada uma metodologia de desenvolvimento de sistemas. Esta afirmação esta correta? Justifique.
Resposta: UML é uma linguagem de modelagem e não um método de desenvolvimento, pois muitas pessoas confundem isso. Não se encontra na UML a sequência de passos para se desenvolver um software nem para se modelar. A “limitação” da UML é representar o sistema por meio de diagramas comuns e integrados envolvendo as questões estáticas e dinâmicas de um sistema de informação. A UML permite elaborar diversos diagramas para visualização, especificação, construção e documentação de diversas partes do sistema em diversas etapas do ciclo de vida. Existem vários tipos de diagramas que permitem modelar aspectos dinâmicos do sistema através da UML. 
Nos diagramas de casos de uso, o que ou quem pode ser considerado atores? Justifique e dê um exemplo.
Resposta: Os atores representam usuários e outros sistemas que interagem com sistema modelado. Eles são representados graficamente por um homem palito (boneco-de-palitos). Os casos de uso mostram o comportamento do sistema, cenários que o sistema percorre em resposta ao estímulo de um ator.
Em quais situações é recomendável utilizar diagramas de sequência? Justifique.
Resposta: O diagrama de sequência normalmente está associado ao comportamento de um único caso de uso e, também, podem representar um determinado cenário do sistema.
Em quais situações é recomendável utilizar diagramas de classes? Justifique.
Resposta: O diagrama de classes talvez seja o diagrama mais importante e usado na UML. É ele quem modela a estrutura estática das classes de um sistema. No diagrama são mostradas as associações entre as classes e seus tipos, a especificação das classes, especializações e generalizações e os agrupamentos em pacotes. O interessante do diagrama de classes é que ele pode ser implementado usando alguma linguagem de programação orientada a objetos. Existem várias ferramentas CASE que após o desenho do diagrama de classes gera o código em Java, C++, C#, etc.

Continue navegando