Buscar

Aula 3 Atividade de análise no processo de desenvolvimento de softwares

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 10 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 10 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 9, do total de 10 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

Prévia do material em texto

Disciplina Online
2018.3 EAD - PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE (CCT0746/3021104) 9002
Aula 3 Atividade de análise no processo de desenvolvimento de softwares
Apresentação:
Nesta aula, iremos definir o conceito de análise para o processo de desenvolvimento de software.
A fase de análise tem como objetivo fazer uma modelagem dos agentes, separando-os em objetos, classes e atributos.
A análise pode ser estrutural ou comportamental.
Objetivos
· Conhecer as atividades de análise de desenvolvimento de software;
· Entender os relacionamentos dos objetos;
· Modelar os relacionamentos dos objetos.
Conceitos de Modelagem
Um modelo é uma representação da realidade. Uma abstração, para podermos pensar em aspectos relevantes de um sistema. Existem vários tipos de modelos.
Por exemplo, uma maquete é uma modelo para comercialização de empreendimentos novos. Uma planta baixa, uma planta elétrica, são exemplos de outros modelos, para representar internamente a unidade do empreendimento.
No contexto de desenvolvimento de sistemas, existem modelos que nos ajudam a definir o sistema, nas fases de requisitos, análise e projeto.
Modelagem - Serve para verificar a qualidade dos requisitos, estudados na aula anterior, que se tornarão precisos e detalhados o suficiente para as atividades do próximo passo no processo de desenvolvimento de software.
Análise - É uma atividade do processo de desenvolvimento, onde estudamos o problema, a empresa e modelamos as necessidades dos usuários, quer serão a base da especificação do sistema.
UML - Unified Modeling Language, linguagem de modelagem unificada, utilizada em engenharia de software para visualizar o desenho do sistema e a intercomunicação entre objetos. Não é uma metodologia. Compreende uma série de diagramas.
Objeto
Estrutura de dados encapsulada por procedimentos. Essa estrutura são os atributos e operações.
Classe
Conjunto de objetos similares agrupados em que a etapa de análise está mais voltada para sua realização.
Vejamos um exemplo para entender melhor.
Classe: Pessoa.
Atividades de análise
1. Análise Estrutural
	
	Tem como objetivo modelar aspectos estáticos de um problema, utilizando o modelo orientado a objeto. É utilizada em conjunto com detalhamento de requisitos para visualizar e fornecer base para identificar soluções para os requisitos apresentados.
Vejamos as atividades dentro da análise estrutural:
1.1 Identificação de classes
Identificar quais são as classes chaves. Fazer o levantamento com base em suas responsabilidades e colaborações. Utiliza-se em larga escala o cartão CRC (Class-Responsability-Collaborator).
1.2 Organização das classes
Organizar as classes em três tipos:
Entidade - Representa conceitos do domínio do problema herdada dos modelos de negócio.
Fronteira - Representa interfaces externas que estão dentro do produto, como interface de usuário e conexão com outros sistemas. Facilita o desenho das interfaces.
Controle - Organização que não pertence à entidade e nem à fronteira. Normalmente é associada a um caso de uso.
1.3 Identificação dos relacionamentos
Ajuda a filtrar e refinar as classes.
Pode se por:
1. Associação
Indica a relação entre duas classes em que o objeto de uma classe consegue obter informações da outra a que foi associado.
2. Agregação
Indica um associação, mas com a classe se apossando das informações de um objeto da outra.
1.4 Identificação dos atributos
A cada classe é atribuída uma característica responsável por tomar alguma ação.
2. Análise comportamental
Aplicada depois que os requisitos forem detalhados, validando-os e indicando as dificuldades de implementação no plano de conceito.
2.1 Diagrama de interação
Mensagens que são trocadas, ao longo do tempo, para execução de alguma tarefa.
Mensagens e Operações: representam um mecanismo de interação, ou seja, um objeto só poderá receber uma mensagem invocada por uma classe.
A mensagem tem as seguintes partes:
· Receptor;
· Operação;
· Parâmetro.
Interação: como as mensagens trafegarão para a execução de uma tarefa.
Diagrama de sequência: ordem temporal das ações que serão executadas.
2.2 Identificação das operações
Todas as mensagem devem ser mapeadas para executarem alguma operação. Podem ser: Incluir, Alterar, Excluir, dentre outras.
Explore:
Vídeo 1 Atividade de análise no processo de desenvolvimento de softwares
Vídeo 2 Modelos de processo de software e atividades de software
TESTE DE CONHECIMENTO:
Análise de requisitos é uma importante fase da engenharia de software, na qual os desenvolvedores do sistema identificam as necessidades do cliente para posteriormente projetarem uma solução. Assinale a alternativa que apresenta as principais atividades da fase de análise de requisitos, dentro do processo de desenvolvimento de sistemas.
· Entrada de dados, processamento da informação, apresentação dos resultados
· Desenvolvimento de protótipo, ambiente de testes, implementação do sistema
· Desenvolvimento, homologação, produção
· Levantamento de requisitos, análise de requisitos, registro dos requisitos
· Projeto lógico, projeto físico, implementação e manutenção
Ao levantar os requisitos de um sistema é necessário ter atenção com:
· As necessidades relatadas pelos usuários, as necessidades dos demais usuários envolvidos, as normas que se aplicam e afetam o software a se desenvolver
· As necessidades dos usuários apresentadas nas reuniões de levantamento e a linguagem de programação que será utilizada no desenvolvimento.
· A linguagem de programação que será utilizada no desenvolvimento, a legislação envolvida no processo e os desejos do usuário.
· Deve-se prestar atenção aos desejos do usuário, satisfazendo todos os seus pedidos.
· A performance futura do sistema e a linguagem de programação que será utilizada.
	
Estudos baseados na análise de diversos projetos de desenvolvimento de software sugerem que tais projetos têm maior chance de sucesso quando empregam metodologia e gerenciamento alinhados ao paradigma de desenvolvimento de novos produtos, em contraponto ao paradigma de produção industrial. Com base nessas observações, a maioria das metodologias modernas de desenvolvimento de software recomenda:
· não produzir documentação técnica para o sistema, tendo em vista que a mesma já nasce condenada a ficar desatualizada, investindo melhor o tempo em atividades de implementação e testes exaustivos.
· dividir o trabalho em iterações curtas, com prazos fixos, e não permitir que as mesmas avancem sobre os prazos, reduzindo o escopo da iteração, se necessário.
· planejar detalhadamente no início do projeto todas as fases e atividades do mesmo, de forma que seja possível estimar com precisão o esforço necessário e os prazos de cada atividade.
· concluir o trabalho de especificações dos requisitos do sistema, antes de iniciar as atividades de projeto e implementação.
· providenciar, desde o início do projeto, mecanismos para prevenir e bloquear solicitações de mudanças de forma a garantir que será entregue exatamente o que foi especificado.
	
A linguagem de Modelagem Unificada (UML) emergiu como notação padrão, de fato e de direito, para a modelagem orientada a objetos. Desta forma, a sentença que conceitua apropriadamente a UML é:
· uma linguagem visual para especificar, construir e documentar os artefatos dos sistemas.
· uma linguagem para implementar os conceitos da orientação a objetos.
· um método comum para a representação da orientação a objetos.
· um processo de especificação e modelagem de sistemas orientados a objeto.
· um método para especificar e modelar os artefatos dos sistemas.
Na atividade de análise no Processamento de Desenvolvimento de Software vemos a importância de se fazer uma modelagem para identificar se há uma falha no Levantamento de Requisitos. Um dos tipos de análise é a Análise Estrutural. Uma das Atividades dentro da Análise Estruturada é a Identificação de Relacionamentos cuja finalidade é: Identifique e descreva pelo menos dois desses modelos.
· Mapear as mensagens que devem ser executadas para alguma operação;
· Ajudar a filtrare refinar as classes por entrada, fronteira e controle;
· Validar e indicar as dificuldades de implementação no plano conceitual;
· Ajudar a filtrar e refinar as classes por associação e agregação;
· Identificar as mensagens que são trocadas, ao longo do tempo, para execução de alguma tarefa;
Marque a alternativa correta que define Classe na modelagem orientada a objetos.
· Descreve um grupo de objetos com propriedades semelhantes (atributos), o mesmo comportamento (operações) e conseqüentemente a mesma semântica (Rumbaugh, 1994).
· É uma propriedade das ligações de uma associação.
· Descreve um conjunto de ligação com estrutura e semântica comuns.
· É a conexão física ou conceitual entre instâncias de objetos.
· É um conceito, uma abstração, algo com limites nítidos e significado em relação à realidade estudada (Rumbaugh, 1994).
Na atividade de análise no Processamento de Desenvolvimento de Software vemos a importância de se fazer uma modelagem para identificar se há uma falha no Levantamento de Requisitos. Uma dessas modelagens é a Análise Estrutural. Esta modelagem compreende uma série de diagramas que são representados por:
· Utilizar a engenharia de software para visualizar o desenho do sistema e a intercomunicação entre objetos;
· Modelar aspectos estáticos de um problema, utilizando o modelo orientado a objeto;
· Utilizar os Diagramas de Classe, Objetos e Caso de Uso;
· Modelar aspectos dinâmicos de um problema, utilizando o modelo orientado a objeto;
· Modelar a estrutura de dados encapsulada por procedimentos;
A análise por pontos de função, elaborada no final da década de 70 por Alan Albrecht da IBM, é uma técnica para medição do tamanho de software. Qual a contribuição que as atividades de estimativa e métrica de software em geral, podem oferecer a um projeto de desenvolvimento?
· O valor de contratos de licitação, o preço de um projeto de desenvolvimento com novas tecnologias e o cálculo do valor da hora de trabalho são calculados diretamente com técnicas de estimativa como os pontos de função
· Técnicas de estimativa e métrica de software servem para calcular e comparar o desempenho de diferentes tecnologias a serem adotadas num projeto de desenvolvimento de software
· Estimativas e métricas de software podem ser úteis para calcular o espaço em disco necessário para hospedagem de dados em Sistemas de gerenciamento de banco de dados bem como a estruturação dessas informações da melhor forma
· Atividades de estimativa e métrica de software são utilizadas para obter o tamanho de espaço necessário em servidores para hospedagem de sistemas de informação em servidores de aplicação
· Atividades dessa natureza ajudam no planejamento de um projeto de desenvolvimento, uma vez que a partir da obtenção do tamanho do software, podem ser obtidas em seguida outras variáveis importantes como prazo, esforço e produtividade

Outros materiais