Buscar

Aula 5 ao vivo Engenharia de Software, Unicesumar 19-53

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.

Continue navegando