Baixe o app para aproveitar ainda mais
Prévia do material em texto
Engenharia de Software – Aula Ao Vivo 5 Modelagem e Paradigma de desenvolvimento de Software Modelagem de software Um modelo é uma visão abstrata de um sistema, apresentando informações sobre ele. O modelo se constitui em um mecanismo de comunicação, permitindo que um grupo se comunique com o outro com uma linguagem comum. O objetivo real é o entendimento e a compreensão do software. É importante modelar, pois será representada toda a lógica de negócio, independente de como ou onde ela for implementada no sistema. Criar um modelo de processo ajuda a equipe a encontrar inconsistências, redundâncias e até omissões no processo. A modificação de requisitos é mais fácil e mais barata enquanto se está modelando do que em produção. O porquê de modelar um software É fazer um mapa de requisitos para uma ou mais estruturas gráficas com ou sem textos. Ex: Requisitos podem ser descritos de formas textuais, difíceis de entender, ambíguas. Formas gráficas podem explicar o sistema mais facilmente para clientes e usuários. Implementadores do sistema devem ter acesso facilitado ao requisito. Detalhes da modelagem: -Arquitetura. -Interface. -Estrutura de Dados. -Componentes. -Comportamentos. Exemplos de Modelagem: Diagrama de fluxo de dados (Análise Estruturada) Dentro do círculo, há um processo que deve ser desenvolvido e feito pelo sistema. Nisso, as setas indicam as entradas que o processo terá para que, no final, obtenha o preço de venda. Na fase da Orientação em Objeto, surgiu o Diagrama de casos de uso: Veio também o Diagrama de Classes: Os modelos devem ser gerados sempre após os requisitos e se basear neles. Ainda, devem ser elaborados antes do início da implementação no sistema. Paradigmas de desenvolvimento de software Desenvolver software (Atividades): O que (requisitos), como(implementação), fazer e entregar. Paradigma é uma forma de pensar o desenvolvimento de software Empírico: Utilizado nas primeiras décadas Direcionado pela prática, sem uma base conceitual ou metodológica. Desenvolver software era um processo individual, uma arte. Estruturado Advoga a modelagem dos processos (funções, procedimentos) e dos dados Envolve uma série de atividades, “como desenvolver de forma estrutura os sistemas”. Problemas nos sistemas desenvolvidos e demandas por padronização e sistemática no desenvolvimento. Orientado a Objetos Mudança de enfoque: funções + dados. Facilidade na comunicação com o usuário. Objetos como entidades do mundo real. Dificuldades em fazer alterações: “Se eu alterar a definição desse dado, quais programas serão afetados.” Baseado em Reuso: Componentes, reuso. Orientado a aspectos: destaca os procedimentos comuns, ou aparecem em vários pontos, abstrair esses comportamentos e tratar como aspectos: Restrições de tempo, concorrência, persistência. Baseado em serviços: Web, distribuição. Orientação a Objetos Surgiu para acompanhar os avanços tecnológicos, junto com os avanços nas linguagens de programação, incluindo a modularização, ocultamento da informação. A intenção é representar o Mundo como ele é composto, a partir do conceito e da manipulação de objetos. Objetos são entidades que encapsulam dados (atributos) e um conjunto de operações associadas que manipulam estes dados. Possuem estado, comportamento e identidade. O agrupamento de objetos similares que apresentam os mesmos atributos e operações são chamados de classes. A instância de classe é uma ocorrência específica de uma classe. O Objeto por assim dizer. Dentro dessa classificação, há uma hierarquia dos objetos segundo sua estrutura. A estrutura é dada pelo nome da classe, o identificador para todos objetos pertencentes a classe. Ex: Pessoa. Atributos são características atribuídas a classe: nome, rg, cpf, cnh etc. Métodos são operações que podem ser executadas com o objeto: Inserir, alterar, validar, etc. IMPORTANTE: Uma classe é uma abstração das características relevantes de um grupo de coisas do mundo real.
Compartilhar