A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Noções de Engenharia de Software.

Apresentações semelhantes


Apresentação em tema: "1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Noções de Engenharia de Software."— Transcrição da apresentação:

1 1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Noções de Engenharia de Software 3.Análise de requisitos de sistema e de software 3.1 Análise de requisitos de sistema 3.2 Análise de requisitos de software Objetivo: mostrar o papel da análise de requisitos de sistema e sua aplicacação na análise de requisitos de software, bem como as principais atividades e documentos associados

2 2 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 3.1 ANÁLISE DE REQUISITOS DE SISTEMA A análise de requisitos de sistema surgiu para solucionar problemas e o engenheiro de sistemas começa a sua resolução com metas e restrições definidas pelo cliente e deriva uma representação da função, desempenho, interfaces, restrições de projeto e estrutura Deve-se começar com a idéia de função desejada – demarcar o sistema ao identificar o escopo da função e desempenho requeridos (as restrições e as interfaces) Depois, deve-se passar para a tarefa de alocação – designar funções a um ou mais elementos do sistema

3 3 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Exemplo: sistema de classificação por correia transportadora (CLSS)

4 4 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB O engenheiro de sistemas recebe uma declaraçaõ nebulosa dos objetivos do CLSS quanto ao movimento da linha, classificação, identificação, impressão, ordem e espaçamento Para demarcar, o engenheiro deve identificar o escopo da função e desempenho desejados –Não basta dizer que o robô reagirá rapidamente quando a bandeja estiver vazia mas 1) indicar o que é uma bandeja vazia para o robô 2) saber os limites precisos de tempo 3) qual forma uma resposta deve assumir

5 5 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Uma série de perguntas pode ser feita –Quantos números de identificação? –Qual a velocidade da correia? –Qual a distância da estação para os depósitos? –E entre os depósitos? –O que aconteceria se uma caixa não tivesse o número de identificação? –E se o depósito fica cheio? –As informações devem ser repassadas para outro canto? –Que erro é aceitável? –Que peças existem atualmente? –Que restrições de orçamento e prazo?

6 6 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB FUNDAMENTAL! –Note que o engenheiro não pergunta como a tarefa deve ser feita, mas o que é exigido Então, o engenheiro demarca as funções principais –Ler a entrada do código de barras –Ler o tacômetro de impulsos –Decodificar os dados dos códigos de peças –Executar busca em banco de dados –Determinar a localização do depósito –Produzir sinais de controle para o mecanismo de desvio

7 7 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB... E faz alocações alternativas –1) treina e aloca operador de linha –2) um leitor de código e um controlador com um desvio mecânico –3) um leitor de código e um controlador com um braço mecânico Critérios para configuração do sistema –Consideraçôes de projeto –Considerações de negócio –Análise técnica –Avaliação da manufatura –Questões humanas –Interfaces ambientais –Consideraçôes jurídicas –Também deve se pensar em soluções não convencionais!!!

8 8 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB As informações reunidas durante a etapa de identificação das necessidades deve ser reunida num Documento Conceitual do Sistema com algumas funções

9 9 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB A modelagem é feita em um documento de especificaçao e pode ser feita em um diagrama de contexto da arquitetura e em um diagrama de fluxo da arquitetura Outras ferramentas como descrições e dicionários podem ser utilizados Diagrama geral de contexto da arquitetura

10 10 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Diagrama do CLSS do contexto da arquitetura

11 11 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Diagrama do CLSS do fluxo da arquitetura

12 12 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB 3.2 ANÁLISE DE REQUISITOS DE SOFTWARE Qualquer que seja o projeto ou a boa codificação de um programa, a sua má análise frustará o usuário Esforços de uma análise de requisitos de software –Reconhecimento do problema –Avaliação e síntese –Modelagem –Especificação –Revisão No final, estar preparado para as ambiguidades –sei que você acredita que entendeu o que acha que eu disse, mas não estou certo de que percebe que aquilo que ouviu não é o que eu pretendia dizer…

13 13 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Cada uma das tarefas descreve o problema de forma que uma solução global possa ser sintetizada Exemplo: –Um sistema de controle de estoques é exigido por um grande fornecedor de autopeças –QUE PROBLEMAS NO ATUAL SISTEMA PODEM SER IDENTIFICADOS? Como nos requisitos de sistema, o foco da síntese e avaliação deve cair sobre o que e não como manual do usuárioUm manual do usuário pode ser rascunhado para o caso em que um protótipo não esteja sendo desenvolvido

14 14 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Um analista deve exibir nos seus esforços traços característicos… –Compreensão de conceitos abstratos –Absorver fatos pertinentes –Entender o ambiente do usuário –Aplicar elementos do sistema aos elementos do usuário –Comunicar-se bem nas formas escrita e verbal –Capacidade de ver as florestas entre as árvores … e coordenar cada uma das tarefas associadas à análise de requisitos de software

15 15 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Problemas durante a análise de requisitos de software –Dificuldade para obter informações pertinentes –Complexidade –Mudanças durante e após a análise O crescimento do sistema aumenta os problemas e as mudanças começam a ser vistas em termos de mudanças de exigência –Primeira lei da engenharia de sistemas: Não importa onde se esteja no ciclo de vida do sistema, o sistema se modificará, e o desejo de mudá-lo persistirá ao longo de todo o ciclo (Bersoff)

16 16 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Técnicas de comunicação e facilitação para especificação de aplicações Um encontro pode estabelecer desconcerto entre as partes, mas algumas etapas podem ser iniciadas: –Perguntas livres do contexto (direcionadas ao cliente) Quem está por trás do pedido deste trabalho? Quem usará a solução? Qual é o benefício econômico de uma solução? Há outra fonte para a solução exigida? –Compreensão do problema (verbalização do cliente sobre uma percepção da solução) Como você caracterizaria um bom resultado? Qual problema essa solução resolverá? Você pode mostrar o ambiente? Existem questões de desempenho ou restrições especiais?

17 17 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB –Metaperguntas (efetividade do encontro) Você é a pessoa certa? Suas respostas são oficiais? Minhas perguntas são pertinentes ao problema que você tem? Estou fazendo perguntas demais? Há mais alguém que possa fornecer informações adicionais? Existe algo mais que devo perguntar-lhe? A técnica FAST (facilitated application specification techniques) estimula a criação de uma equipe conjunta de clientes e desenvolvedores e tem algumas diretrizes –Encontros em locais neutros –Regras para participação –Agenda formal para cobrir os pontos importantes e informal para encorajar o fluxo de idéias –Um moderador –Mecanismos de definição

18 18 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Após o encontro, desenvolvedores e clientes escrevem a requisição do produto com uma lista de objetos, suas restrições e desempenho, podendo ser feitas miniespecificações

19 19 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Exemplo para uma empresa de produtos de consumo: –Nossa pesquisa indica que o mercado para sistemas de segurança domésticos cresce 40% ao ano. Gostaríamos de entrar no mercado construindo um sistema de segurança doméstico baseado em microprocessador que oferecesse proteção contra e/ou reconhecesse uma variedade de situações indesejáveis, tais como entrada ilegal, incêndio, alagamento e outros. O produto, experimentalmente chamado de SafeHOme, usará sensores apropriados para detectar cada situação, poderá ser programado pelo dono e telefonará automaticamente para uma agência de monitoração assim que uma situação for detectada

20 20 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB

21 21 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Princípios de análise –1) o domínio de informação deve ser representado e compreendido –2) modelos que desenvolvam a informação, função e comportamento do sistema devem ser desenvolvidos –3) os modelos e o problema devem ser divididos em partições –4) o processo de análise deve mover-se da informação essencial para os detalhes de implementação É importante saber ainda que: –O software processa dados e eventos –O modelo do software é diferente do software –O modelo tem partições com as funções mais importantes e os detalhes crescentes

22 22 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Princípios da especificação –1) separar funcionalidade da implementação –2) linguagens de especificação orientadas a processos são exigidas –3) a especificação abrange o sistema do qual o software faz parte –4) a especificação deve abranger o ambiente –5) a especificação é um modelo cognitivo e obedece a algumas leis físicas –6) deve ser operacional –7) tolerante com a não inteireza –8) localizada e fracamente acoplada

23 23 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Princípios da representação –1) pertinência ao problema –2) colocada em níveis –3) diagramas e outras notações restritas quanto ao número e consistente quanto ao uso –O QUE SIGNIFICA ESTA NOTAÇÃO? –4) revisável Há também uma série de princípios para uma revisão detalhada de toda a especificação do software mais específica do que a do sistema

24 24 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Revisão da especificação –Nível macroscópico Metas e objetivos permanecem consistentes? Interfaces foram descritas? O fluxo e a estruura são adequados? Os diagramas são claros? As funções estão no escopo? O comportamento é consistente com informação e funções? As restrições são realísticas? Qual é o risco tecnológico? Requisitos foram considerados? Critérios de validação foram detalhados? Há inconsistência, omissão, redundância? Contato com o cliente é completo? Protótipo ou manual foram revisados? Estimativas foram afetadas?

25 25 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Revisão detalhada –Enunciados da especificação Olhar o porquê de conectivos persuasivos –Por exemplo, certamente, obviamente, claramente Procurar termos vagos –Algum, às vezes, usualmente, o mais, na maior parte Identificar listas incompletas –Etc, assim po diante, daí pra frente, tal como Limites declarados com pressuposições não declaradas –códigos variam de 0 a 100 (inteiro, real…) Cuidado com pronomes pendentes Pedir prova das declarações com certeza Evitar outras definições para um mesmo termo Estrutura descrita em parágrafos (gráfico? Figura?) Quando houver cálculo, criar 2 exemplos


Carregar ppt "1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – Noções de Engenharia de Software COINFO – CEFET-PB Noções de Engenharia de Software."

Apresentações semelhantes


Anúncios Google