Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Requisitos Eduardo Kinder Almentero ekalmentero@gmail.com Engenharia de Requisitos • Disciplina cujo propósito é sistematizar o processo de definição dos requisitos. • A sistematização é necessária, pois a complexidade dos sistemas exige uma maior atenção no entendimento correto do problema, antes do comprometimento de uma solução. • Procura trazer para a fase inicial do PDS procedimentos que reflitam a noção de engenharia. – Diferente de ad hoc 01/04/2015 Prof. Eduardo Kinder Almentero 2 Engenharia de Requisitos • Quanto mais nos afastarmos da definição correta do produto, mais custoso será reparar os problemas ou adicionar novas funcionalidades. • O software, por ser uma descrição da realidade, é uma abstração de fenômenos observáveis. • Esta característica influencia uma visão simplista do software, o que dificulta a visualização do produto software, e dá a impressão errada da facilidade de alterações. 01/04/2015 Prof. Eduardo Kinder Almentero 3 Engenharia de Requisitos 01/04/2015 Prof. Eduardo Kinder Almentero 4 Steve McConnel “Upstream Decisions, Downstream Costs“ Windows Tech Journal. Engenharia de Requisitos • Ambientes onde pode ocorrer a Engenharia de Requisitos – Sistemas de software – Sistemas de informação – Organizações que produzem software para o mercado. • Os ambientes influenciam a escolha de modelos para o desenvolvimento do software, assim como àqueles utilizados na Engenharia de Requisitos. 01/04/2015 Prof. Eduardo Kinder Almentero 5 Conceitos Básicos • Requisito – “Condição necessária para a obtenção de um certo objetivo, ou para o preenchimento de certo objetivo.” • Especificação – “Descrição minuciosa das características que um material, obra ou serviço deverá apresentar” 01/04/2015 Prof. Eduardo Kinder Almentero 6 Conceitos Básicos • A definição do termo requisito aponta para uma questão fundamental: – O que é o desconhecido? • Outro fator importante sobre estes conceitos é que os requisitos são base fundamental para determinar o sucesso da especificação. – Em gerência de projetos, por exemplo, os resultados são comparados aos objetivos para determinar o sucesso do projeto. 01/04/2015 Prof. Eduardo Kinder Almentero 7 Conceitos Básicos • Modelos – Impossível definir requisitos sem utilizar modelos – Existem vários tipos, com níveis de abstração diferentes – O uso de mais de um modelo é recomendado, pois fornecerá diferentes pontos de vista. – Sua escolha deve ser motivada pelas características do contexto. 01/04/2015 Prof. Eduardo Kinder Almentero 8 Conceitos Básicos • Falácia da página em branco – É errado pressupor que podemos elaborar um sistema partindo do conhecimento zero. – As pessoas que participam do processo tem experiências anteriores. • Não só profissionais, mas particulares, academia, ... – É impossível não conhecer o ambiente onde o processo de definição dos requisitos irá ocorrer. 01/04/2015 Prof. Eduardo Kinder Almentero 9 Conceitos Básicos • Um sistema é sempre subsistema de um sistema maior – Como visto anteriormente (falácia da página em branco) não é possível começar do zero. – É importante considerar (como vimos na TGS) que o software será sempre parte de um sistema maior (macro sistema) – O software impacta e é impactado pelo macro sistema. 01/04/2015 Prof. Eduardo Kinder Almentero 10 Conceitos Básicos • Falácia da completeza – Obter um conjunto de requisitos completo é impossível. – O processo de definição de requisitos é inerentemente incompleto, dada a complexidade do mundo real. – Alguns requisitos ainda não estão presentes durante a definição. • Homeostasia (sistema evolui) – Porém, não é um trabalho destinado ao fracasso. • Podemos trabalhar no sentido de ter o conjunto mais completo possível. 01/04/2015 Prof. Eduardo Kinder Almentero 11 Conceitos Básicos • Aspectos Sociais – Definição de requisitos dependerá sempre do contexto social. – O contexto social é importante tanto no software sob encomenda, quanto no software para o mercado. – O contexto pode ser muito amplo, onde muitos clientes tem papel importante, ou restrito a equipe de desenvolvimento, mas em ambos os casos deve ser considerado. – A definição de requisitos é a parte do processo de construção do software que interage com a realidade, portanto, é fundamental que considere os aspectos sociais. 01/04/2015 Prof. Eduardo Kinder Almentero 12 Universo de Informações (UdI) “É o contexto geral no qual o software deverá ser desenvolvido e operado. O UdI inclui todas as fontes de informação e todas as pessoas relacionadas ao software. O UdI é a realidade circunstanciada pelo conjunto de objetivos definidos pelos que demandam o software.” 01/04/2015 Prof. Eduardo Kinder Almentero 13 Universo de Informações (UdI) • O UdI: – sempre existe – independe do modelo utilizado • Ainda que o macro sistema (sistema maior) não esteja bem definido, é importante definir o limite de nossa atuação. • A definição do UdI deve ser feita com a ajuda dos interessados. • Um UdI bem definido é o primeiro passo para um software bem definido. 01/04/2015 Prof. Eduardo Kinder Almentero 14 O Processo de Definição de Requisitos 01/04/2015 Prof. Eduardo Kinder Almentero 15 O Processo de Definição de Requisitos 01/04/2015 Prof. Eduardo Kinder Almentero 16 Perguntas?
Compartilhar