Baixe o app para aproveitar ainda mais
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
Compartilhar