Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho...

44
Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos

Transcript of Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho...

Page 1: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Engenharia de Software

Introdução à Engenharia de Requisitos

Page 2: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Definições para Engenharia de Requisitos

• Definição Genérica:– Estabelecer o que o cliente quer de um sistema de software

• Definição da IEEE:– Processo de aquisição, refinamento e verificação das

necessidades do cliente, com o objetivo de obter uma especificação correta e completa dos requisitos.

• Definição de A. Davis:– Durante a fase de requisitos, é necessário analisar, e portanto

entender o problema a ser resolvido.– A análise do problema é a atividade que inclui o entendimento

das necessidades do usuário e as limitações impostas na solução.

Page 3: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Definições para Engenharia de Requisitos

• Definição de Boehm:– Disciplina para desenvolver uma especificação completa,

consistente e não ambígua do software;– Um acordo entre as partes descrevendo o que o produto de

software irá fazer.• Definição de B. Meyer:

– Especificar o documento de requisitos de um software é definir de uma forma completa e não ambígua:

• as características externas do software oferecidas aos usuários;

• a forma pela qual o software é integrado ao sistema.

Page 4: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Motivações - aspectos sociais

• Baixo nível de aceitação dos sistemas pelos usuários.– S.I. comerciais: 40%– S.I. de tempo-real: 75%

Page 5: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

• O documento de requisitos é um acordo contratual entre clientes e fornecedores;

• Os desenvolvedores de software têm obrigação de inquirir os requisitos dos seus clientes;

• Os desenvolvedores de software têm a obrigação de informar seus usuários acerca da solução proposta (um manual de usuários não é suficiente!).

Motivações - aspectos jurídicos

Page 6: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Motivações - aspectos econômicos

40%

66%

30%25%

30%

9%

0%

10%

20%

30%

40%

50%

60%

70%

% total erros % total do custo de correção erros

Especificação

Projeto

Codificação

Page 7: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Motivações - aspectos econômicos

0,00

1,00

2,00

3,00

4,00

5,00

Especificação Codificação

Custo de Correção de 1 erro

Page 8: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

• “Você começa a codificar enquanto eu vou descobrir o que o cliente quer”;

• Requisitos são fáceis de obter;• O cliente/usuário sabe o que quer;• Quando os requisitos estiverem congelados ......

Mitos sobre Requisitos

Page 9: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Definição x Especificação de Requisitos

• Definição de requisitos Uma declaração em linguagem natural (mais diagramas) dos

serviços que o sistema deverá prover e suas limitações operacionais. Escrito para os clientes

• Especifição de requisitos Um documento estruturado definindo de forma detalhada

descrições dos serviços. Escrito como um contrato entre cliente e fornecedor

Especificação de software Uma descrição de software detalhada que serve de base para o

projeto ou implementação. Escrito para os desenvolvedores.

Page 10: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Definições e Especificações - exemplos

• Definição de Requisito:– “O software deve prover meios para representação e acesso a

arquivos externos criados por outras ferramentas”.

• Especificação de Requisitos:– O usuário deve ter facilidades para definir o tipo dos arquivos

externos;– Cada arquivo externo pode ter uma ferramenta associada, a

qual pode ser aplicada ao arquivo;– Cada arquivo externo pode ser representado como um ícone

específico na tela do computador;– ...

Page 11: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Imprecisão dos requisitos

• Requisitos ambíguos podem ser interpretados de forma diferente por usuários e desenvolvedores

• Idealmente, os requisitos deveriam ser completos e consistentes

• Completo– Devem incluir a descrição de todos os itens requeridos

• Consistente– Não deve haver conflitos ou contradições na descrição dos

requisitos

• Na prática, é quase impossível produzir uma especificação de requisitos completa de consistente

Page 12: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Leitores dos Requisitos• Definição dos requisitos

– Gerente do projeto;– Usuários finais;– Engenheiros do projeto;– Contratante;– Projetistas.

• Especificação dos requisitos– Usuários finais;– Engenheiros do projeto;– Projetistas;– Equipe de desenvolvimento.

• Especificação do software– Engenheiros do projeto– Projetistas;– Equipe de desenvolvimento.

Page 13: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Tipos de requisito• Requisitos do Usuário

– Texto em linguagem natural e diagramas mostrando os serviços oferecidos pelo sistema. Escritos para os clientes.

• Requisitos do Sistema– Um documento estruturado que provê descrições detalhadas

dos serviços do sistema. Escritos como um contrato entre os clientes e os contratados.

• Especificação do Software– Uma especificação detalhada do software que serve de base

para o projeto e a implementação. Escrita para os desenvolvedores.

Page 14: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Requisitos funcionais e não-funcionais

• Requisitos funcionais– Serviços que o sistema deve prover, como o sistema deve

reagir a determinadas entradas e como o sistema deve se comportar em determinadas situações.

• Requisitos não-funcionais– Restrições aos serviços ou funções oferecidas pelo sistema, tais

como restrições de tempo, restrições quanto ao processo de desenvolvimento, padrões, etc.

• Requisitos de domínio– Requisitos que surgem do domínio da aplicação e que refletem

características desse domínio.

Page 15: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Requisitos funcionais

• Descrevem funcionalidades ou serviços do sistema• Dependem do tipo de software, de quem são os

usuários e do sistema onde o software é usado.• Requisitos funcionais do usuário podem ser descrições

de alto nível do que o sistema deve fazer, mas requisitos funcionais do sistema devem descrever os serviços do sistema de forma detalhada.

Page 16: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Exemplos de requisitos funcionais

• O usuário deve poder procurar em todo o banco de dados ou em apenas um subconjunto deste.

• O sistema deve prover visualizadores adequados para que o usuário possa ler os documentos da base de documentos.

• Deve ser atribuído um identificador único a cada pedido e o usuário deve ser capaz de localizar opedido através do seu identificador.

Page 17: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Requisitos Não-funcionais• Definem propriedades e restrições do sistema.

Ex: confiabilidade, tempo de resposta etc.• Requisitos de processo também podem ser

especificados. Ex: utilização de uma ferramenta CASE, linguagem de programação ou método de desenvolvimento particular.

• Requisitos não-funcionais podem ser mais críticos que os requisitos funcionais. O não atendimento a esses requisitos pode inutilizar o sistema

Page 18: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Classificação de requisitos não-funcionais

• Requisitos de produto– Requisitos que especificam que o produto deve se comportar de

determinada forma. Ex: tempo de execução, confiabilidade, etc.

• Requisitos organizacionais– Requisitos que são uma conseqüência de políticas e

procedimentos organizacionais. Ex: padrões de processo utilizados, requisitos de implementação, etc.

• Requisitos externos– Requisitos que surgem de fatores externos ao sistema e ao

processo de desenvolvimento. Ex: requisitos de interoperabilidade, requisitos legais, etc.

Page 19: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Exemplos de requisitos não-funcionais• Requisito de produto

– O tempo de reinicialização do sistema deve ser inferior a 1 minuto

• Requisitos organizacionais– O processo de desenvolvimento e toda a documentação a ser

entregue devem estar em conformidade com o padrão definido no documento XYZCo-SP-STAN-95

• Requisitos externos– A cada compra realizada, o ssitema deve emitir uma nota fiscal

contendo as informações especificadas na lei…

Page 20: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Objetivos e requisitos

• Requisitos não-funcionais podem ser difíceis de definir precisamente, e requisitos imprecisos podem ser difíceis de verificar

• Objetivo– Uma intenção geral do usuário. Ex: facilidade de uso

• Requisito não-funcional verificável– Uma descrição usando alguma medição que possa

ser testada objetivamente

• Objetivos ajudam os desenvolvedores a entender as intenções dos usuários

Page 21: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Exemplos

• Um objetivo do sistema– O sistema deve ser fácil de usar para controladores

experientes e deve ser organizado de forma a minimizar o número de erros.

• Um requisito não-funcional verificável– Controladores experientes devem ser capazes de

utilizar todas as funcionalidades do sistema depois de duas horas de treinamento. Após esse treinamento, o número médio de erros cometidos por usuários experientes não deve passar de 2 por dia.

Page 22: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Medições de Requisitos

• Velocidade– Número de transações por segundo– Tempo de resposta– Tempo de atualização da tela

• Facilidade de uso– Tempo de treinamento necessário– Quantidade de telas de ajuda

• Confiabilidade– Taxa de ocorrência de erros– Probabilidade de indisponibilidade

• Portabilidade– Número de plataformas compatíveis– Porcentagem de instruções dependentes de plataforma

Page 23: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Interação entre requisitos

• Conflitos entre diferentes requisitos não-funcionais são comuns em sistemas complexos

• Sistema aero-espacial– Para minimizar o peso, o número de chips no sistema

deve ser minimizado– Para minimizar o consumo de energia, chips menos

potentes devem ser utilizados– Contudo, usar chips menos potentes pode significar

que mais chips terão que ser usados. Qual é o requisito mais crítico?

Page 24: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Requisitos de domínio

• Derivados do domínio da aplicação. Descrevem características e funcionalidades que refletem o domínio

• Podem ser requisitos funcionais ou não-funcionais

• Caso esses requisitos não sejam satisfeitos, pode ser inviável utilizar o sistema

Page 25: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Razões para inconsistência• Os grandes sistemas de software devem melhorar a

situação existente. É difícil antecipar os efeitos que o novo sistema terá na organização.

• Diferentes usuários têm diferentes requisitos e prioridades. Há sempre uma constante mudança de compromissos.

• Os usuários finais do sistema e a organização (divisão) que paga pelo sistema possuem requisitos diferentes.

• Geralmente prototipagem é necessário para clarificar os requisitos

Page 26: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Engenharia de Requisitos

• O processo de estabelecer que serviços são requeridos e as restrições à operação e desenvolvimento do sistema

• Processo de Engenharia de Requisitos– Estudo de viabilidade– Elicitação e análise de requisitos– Especificação de requisitos– Validação dos requisitos

Page 27: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

O processo de Engenharia de Requisitos

Feasibilitystudy

Requirementselicitation and

analysisRequirementsspecification

Requirementsvalidation

Feasibilityreport

Systemmodels

User and systemrequirements

Requirementsdocument

Page 28: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

O Documento de Requisitos

• O documento de requisitos é uma definição oficial do que é necessário dos desenvolvedores do sistema

• Deve incluir tanto uma definição como uma especificação dos requisitos

• NÃO é um documento de projeto. Na medida do possível, deverá definir o QUE do sistema em vez de COMO o sistema deverá ser feito

Page 29: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

O Documento de Requisitos

Documento de Requisitos

Requisitos RequisitosFuncionais Não-Funcionais

Page 30: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

A Estrutura do Documento de Requisitos

• Introdução– Descreve as necessidades de ter tal sistema e como ele se

adequa aos objetivos de negócio da empresa.

• Glossário– Define os termos técnicos usados.

• Modelos do sistema– Define os modelos mostrando os componentes do sistema e

seus relacionamentos.

• Definição dos requisitos funcionais– Descreve os serviços providos.

Page 31: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

A Estrutura do Documento de Requisitos

• Definição de requisitos não funcionais– Define limitações no sistema e no processo de

desenvolvimento

• Evolução do sistema– Define as premissas fundamentais na qual o sistema

foi baseado e antecipa mudanças

• Especificação de requisitos– Especificação detalhada dos requisitos funcionais

Page 32: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

A Estrutura do Documento de Requisitos

• Apêndices– Descrição da plataforma de hardware do sistema– Requisitos do banco de dados (talvez em termos de

um modelo ER)

• Índice

Page 33: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Mudanças no documento de requisitos

• O documento de requisito deve ser organizado de forma que mudanças sejam feitas sem necessidade de re-escritas extensas

• Referências externas devem ser minimizadas e as sessões do documento devem ser tão modulares como possível

• Mudanças são facilitadas se o documento for eletrônico. A falta de padronização de documentos torna isto difícil

Page 34: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Linguagens para a Modelagem Conceitual

Linguagens Naturais:• Texto informal não estruturado;• Desenhos, tabelas, diagramas de fluxo, etc.

Page 35: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Problemas com as linguagens naturais:• ambigüidades (múltiplas interpretações);• incompletude (sub-especificações);• contradições (inconsistências);• super-especificações (como ao invés do que);• redundâncias;• etc.

Linguagens para a Modelagem Conceitual

Page 36: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Linguagens para a Modelagem Conceitual

Linguagens Naturais Estruturadas:• Um forma limitada de linguagem natural usada

para expressar requisitos;• Isto remove alguns dos problemas resultantes

da ambigüidade e flexibilidade, impondo um grau de uniformidade `a especificação;

• Geralmente melhor suportada através do uso de uma estratégia baseada em formulários.

Page 37: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Linguagens para a Modelagem Conceitual

Linguagens Naturais Estruturadas (Formulários):

• Definição da função ou entidade;• Descrição das entradas e de onde eles se

originam;• Descrição das saídas e para onde elas vão; • Indicação de outras entidades necessárias ;• Pré e pós condições (se apropriado);• Efeitos colaterais (se existirem).

Page 38: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Linguagens para a Modelagem Conceitual

Linguagens de Descrição de Projetos (PDL):• Requisitos podem ser definidos

operacionalmente usando uma linguagem similar a de programação, porém com mais flexibilidade de expressão.

Page 39: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Linguagens Rigorosas: • Propostas nos anos 70;• Possuem uma base conceitual;• Parte da especificação é escrita usando uma

sintaxe formal (textual/gráfica);• Parte da especificação é expressa

informalmente;• Especificações suportam uma limitada

interpretação formal.

Linguagens para a Modelagem Conceitual

Page 40: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Linguagens para a Modelagem Conceitual

Linguagens Formais: • Linguagens baseadas em um sistema

matemático que provê:– Notação matemática (regras de interpretação não-

ambíguas);– Um sistema de inferência;– Uma metodologia que permite a verificação formal.

Page 41: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Características Específicas da E.R.

• É uma atividade de negociação e comunicação entre especialistas e não-especialistas;

• A qualidade da comunicação entre as partes envolvidas depende:– de um bom entendimento;– de uma análise rigorosa.

• Usuários não sabem o que querem;

Page 42: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Características Específicas da E.R.

• As visões parciais dos usuários não são consistentes;

• Usuários nem sempre querem um sistema baseado em computadores;

Page 43: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

• Habilidade de lidar com conceitos abstratos, reorganizando-os em divisões lógicas, e sintetizando as soluções de acordo com cada divisão;

• Habilidade de absorver fatos pertinentes a partir de fontes conflitantes e confusas;

• Habilidade de entender o ambiente do usuário/cliente;

• Habilidade de lidar com problemas complexos;

Perfil do Engenheiro de Requisitos

Page 44: Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho Engenharia de Software Introdução à Engenharia de Requisitos.

Faculdade 7 de Setembro – Sistemas de Informação Engenharia de Software – Prof. Ciro Coelho

Perfil do Engenheiro de Requisitos

• Habilidade de aplicar elementos de software/hardware ao ambiente do usuário/cliente;

• Habilidade de comunicar-se bem;• Habilidade de evitar detalhes desnecessários,

concentrando-se nos objetivos gerais do sistema.