Buscar

Revisão da Matéria toda - Paradigmas de analise e Desenvolvimento

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 13 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 13 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 13 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

REVISÃO PARADIGMAS PARA AV3 
 
 
 
1 PROGRAMAÇÃO ESTRUTURADA 
 
 
Criada por volta dos anos 70/80 
Foi o grande marco de revolução da programação. 
Tipos de processamento: Sequencial , decisão e repetição. 
Objetivava refinamentos sucessivos. 
 
1.1 AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS 
 
 
Neste sempre haverá uma fácil relação entre as técnicas de análise e projeto que motivam as 
técnicas de programação que demandam linguagens de programação. É de suma importância 
que exista a coerência entre a analise, os projetos e as codificações. 
 
1.2 PAARADIGMAS DAS LPS 
 
Paradigmas: São características em comum em um conjunto de linguagens. São divididos em: 
 
Imperativo - Criado em meados dos anos 70 e funciona até hoje. Onde estão a maioria das 
linguagens de programação estruturada. Baseado no conceito da Maquina de Von Neumann. 
Especificam a sequencia de ações (procedimento) com alterações no estado da memória. Suas 
características são: Variáveis, atribuição e repetição. Tem como dificuldade a forma de 
encontrar erros. 
 
OO - Surgiu na década de 90. Deu ao mundo uma nova forma de pensar, visto que a natureza 
dele é formada por objetos e torna a estrutura da programação formada por objetos. Formado 
por classes que contém atributos e métodos. Focado na abstração de dados, porém sua 
implementação de métodos usa conceitos do paradigma imperativo onde um objeto seria o 
elemento de uma determinada classe e a herança seria uma classe dentro de outra classe que 
herdaria os dados da classe acima. Trouxe também o conceito de polimorfismo, onde uma 
classe herdaria os atributos da outra porém com objetivos diferentes. 
 
Concorrente - Ideal na exploração do paralelismo (multiprocessamento) das máquinas atuais 
que fazem duas tarefas ao mesmo tempo é específico para processamento de concorrência. 
 
Lógico - Usado na lógica de sistemas especiais com o de IA. Nele são declarados os resultados 
e não os procedimentos. 
 
Funcional - Usado em linguagens funcionais, matemáticas, como também as de IA. 
 
2 PARADIMAS DE ANÁLISE 
 
 
Tradicional - Usava uma técnica de programação linear e Modular, seu paradigma era 
Imperativo e sua abordagem era Funcional. Foi nomeado nos primórdios da programação, 
porém não havia muita organização e documentação do que se fazia ou eram anotações em 
rascunhos de papel. Ferramentas: Textos e fluxogramas. 
 
Funcional - Focada no comportamento do sistema. Conceito que foi dividido em dois marcos 
de análise: 
 
Estruturada - Sua técnica de programação era Estruturada lógica de predicados, seu 
paradigma era Imperativo e sua abordagem era funcional e de dados. Onde já 
começou a se definir o conceito de equipe de trabalho, pois os programas começaram 
a ficar mais complexos e assim começou a ser criada uma modelagem como forma de 
documentação desses programas. Introduziu uma analise com o conceito DFD em 
níveis onde cada níveis eram especificados novos dados (técnica de refinamento). 
Ferramentas: DFD, dicionário de dados, especificação de processos e Diagrama de 
estrutura de dados. 
 
Essencial -Veio pra resolver problemas como a divisão do sistema em partes (funções). 
Sua técnica de programação era Estruturada, seu paradigma era Imperativo e sua 
abordagem era funcional, de dados e controle (um modelo para cada perspectiva). 
Conjunto de funções que respondem a eventos. Foi uma evolução da análise 
estruturada, trazendo todos os recursos dela e incluindo o conceito de lista eventos 
(Acontecimento (externo ou temporal) que afeta o sistema que reage disparando uma 
função. Para descobrir as funções e seus dados, basta descobrir os eventos). Quando 
acontece um evento, estímulos chegam a empresa e o sistema responderá com 
respostas pré definidas aquele evento. Ferramentas: Todas as ferramentas da analise 
estruturada mais tabela de eventos, DER (Diagrama de entidade e relacionamento) e 
DTE (Diagrama de transição de estados). 
 EX: EVENTO (AÇÃO) - > Cliente envia pedido de livro 
ESTIMULO (ENTRADA) - > Pedido de livro 
FUNÇÃO - > Incluir pedido 
RESPOSTA (SAÍDA) - > Pedido cadastrado ou rejeição. 
EM DFD - > Cliente (Representado por um retângulo), Envia 
(Representado por seta de fluxo de entrada) e Pedido 
de livro (Representado por um círculo). Neste caso o 
pedido será consultado em um banco de dados 
(Representado por traços) e saberá se o cliente já 
existe, caso contrário será realisado um cadastro e 
depois armazenará o pedido em outro banco de dados. 
A analise essencial foi dividida em duas partes: 
 
Modelo Essencial - Conceitual, trabalha com a modelagem do sistema. 
 
Modelo Ambiental - Opera, visão externa, sistema se relacionando 
com os meios. Faz a descrição do ambiente no qual o sistema está 
inserido. Ferramentas: Lista de eventos, objetivos do sistema e 
diagrama de contexto. 
 
Modelo Comportamental - Parte interna, comportamento do sistema 
em relação aos eventos que o afetam. Ferramentas: DFD (particionado 
e por níveis) modelo funcional, DER ou MER modelo de dados, DTE 
(Diagrama de transição de estados) modelo de controle, dicionário de 
dados e especificação dos processos. 
 
Modelo de Implementação - Implementação, trabalha com a parte 
tecnológica do sistema. 
 
OO - Sua abordagem era funcional, de dados e controle (integrados em único modelo). Trouxe 
o conceito onde dados e procedimentos são encapsulados em uma determinada classe. 
Ferramentas: Diagrama de casos de uso, especificação dos casos de uso, diagrama de classes, 
de sequencia e de estados. 
 
UML - Surgiu com a finalidade de juntar o melhor de cada proposta de modelo e ajudar 
na expansão e organização formando um padrão. Porém não diz como nem ordem do 
que se deve fazer. Usada em qualquer processo de desenvolvimento. Hoje está na 
versão 2.0 com 13 modelos. 
 
Diagramas estruturais 
 
Diagrama de Classes - é uma representação da estrutura e relações das classes que 
servem de modelo para objetos. Define todas as classes que o sistema necessita 
possuir e é a base para a construção dos diagramas de comunicação, sequência e 
estados. 
 
Diagrama de Objetos - é uma variação do diagrama de classes e utiliza quase a mesma 
notação. A diferença é que o diagrama de objetos mostra os objetos que foram 
instanciados das classes. O diagrama de objetos é como se fosse o perfil do sistema em 
um certo momento de sua execução. 
 
Diagrama de Pacotes - descreve os pacotes ou pedaços do sistema divididos em 
agrupamentos lógicos mostrando as dependências entre eles. Este diagrama é muito 
utilizado para ilustrar a arquitetura de um sistema mostrando o agrupamento de suas 
classes. Um pacote representa um grupo de classes (ou outros elementos). 
 
Diagrama de Estrutura Composta - destina-se a descrição dos relacionamentos entre 
os elementos. Utilizado para descrever a colaboração interna de classes, interfaces ou 
componentes para especificar uma funcionalidade. 
 
Diagrama de Componentes - ilustra como as classes deverão se encontrar organizadas 
através da noção de componentes de trabalho. 
 
Diagrama de Utilização - Este diagrama descreve e define os requisitos funcionais do 
sistema. 
 
 
Diagramas comportamentais 
 
Diagramas de Casos de uso - descreve a funcionalidade proposta para um novo 
sistema que será projetado. Segundo Ivar Jacobson, podemos dizer que um caso de 
uso é um "documento narrativo que descreve a sequência de eventos de um ator que 
usa um sistema para completar um processo". 
 
Diagrama de interação << abstract >> - é um tipo de diagrama de atividade que 
representa o envio ou o recebimento de dados entre um ator e um caso de uso. 
 
Diagrama de Visão Geral de Interação - proporcionam uma visão de alto nível sobre 
como diversas interações trabalham em conjunto para implementar um conceito do 
sistema, tal como um caso de uso.Diagrama de Sequência - Um diagrama de sequência descreve a maneira como os 
grupos de objetos colaboram em algum comportamento ao longo do tempo. Ele 
registra o comportamento de um único caso de uso e exibe os objetos e as mensagens 
passadas entre esses objetos no caso de uso. 
 
Diagrama de Comunicação - Anteriormente chamado "Diagrama de colaboração", 
visão de um conjunto de elementos relacionados para um propósito específico. Mostra 
uma interação organizada em torno de objetos e seus vínculos. 
 
Diagrama de Temporização - apresenta o comportamento dos objetos e sua interação 
em uma escala de tempo, focalizando as condições que mudam no decorrer desse 
período. 
 
Diagrama de Estados - Representam um comportamento interno das classes, ou seja, 
permitem a especificação da sua dinâmica. Correspondem a uma especificação de 
como as classes devem ser implementadas. 
 
Diagrama de Atividades - é essencialmente um gráfico de fluxo, mostrando o fluxo de 
controle de uma atividade para outra e serão empregados para fazer a modelagem de 
aspectos dinâmicos do sistema. Na maior parte, isso envolve a modelagem das etapas 
sequenciais em um processo computacional; 
 
Tripé da análise 
Composto por casos de uso + classes + sequencia. 
Funcionalidade constrói-se a lista de eventos e seleciona os eventos para passar para 
os casos de uso retirando as classes e aplicando no diagrama de sequencia. 
 
 
3 DIAGRAMAS 
 
DFD 
 
 
DED 
 
 
DER 
 
 
DTE 
 
 
DIAGRAMA DE CLASSES 
 
 
DIAGRAMA DE OBJETOS 
 
 
 
 
 
DIAGRAMA DE PACOTES 
 
 
DIAGRAMA DE COMPONENTES 
 
 
DIAGRAMA DE UTILIZAÇÃO 
 
 
 
 
 
DIAGRAMA DE CASOS DE USO 
 
 
DIAGRAMA DE INTERAÇÃO 
 
 
DIAGRAMA DE SEQUENCIA 
 
 
DIAGRAMA DE COMUNICAÇÃO 
 
 
DIAGRAMA DE TEMPORIZAÇÃO 
 
 
 
DIAGRAMA DE ATIVIDADES 
 
QUESTIONÁRIO 
 
1 - Descreva brevemente DFD seguindo a notação de Gane e Sarson: 
R: Formado por entidade externa, depósito de dados, processos e fluxo de dados. Seus 
processos são representados por retângulos "em pé" com vértices arredondadas, divididos 
opcionalmente em três áreas onde a "descrição de função" deve ser ume sentença imperativa, 
constituindo num verbo ativo, seguido de uma cláusula objeto. Seus fluxos são representados 
por uma seta com uma ou ambas as pontas indicando a direção do fluxo. 
 
2 - Descreva lista de eventos que afetam o sistema: 
R: Acontecimento externo ou temporal que faz com que um sistema reaja acionando uma de 
suas funções. Pode ser orientado a fluxo, controle ou temporal. 
 
3 - Descreva o modelo essencial: 
R: Pressupõe uma tecnologia perfeita e por isso resolve o problema de separar aspectos 
lógicos de físicos. Está dividido em modelo ambiental e comportamental. Modelo ambiental - 
mostra como o sistema se relacionam com o ambiente que está inserido. Modelo 
comportamental - mostra o comportamento do sistema. 
 
4 - Descreva a analise OO: 
R: É mais natural na medida em que o mundo é formado por objetos. Seu paradigma é 
baseado no conceito de encapsulamento e sua característica de herança veio para facilitar a 
reutilização da classe. 
 
5 - Devido a que surge a necessidade de estudar diferentes paradigmas de programação? 
R: Habilidade maior de projetar novas linguagens, aumento da habilidade de aprendizado das 
linguagens e maior capacidade em desenvolver soluções computacionais. 
 
6 - Como é visualizado o sistema de software de acordo com a visão de um paradigma OO? 
R: Uma coleção de objetos interconectados, porém cada objeto é responsável por realizar 
tarefas específicas. 
 
7 - Descreva o paradigma imperativo: 
R: Técnica de programação estruturada, caracterizada pela programação que se valia de 3 
estruturadas de comandos: sequencial, decisão e interação, além de uso da técnica de 
refinamento sucessivo (top-down). 
 
8 - Defina a análise de processo de desenvolvimento em geral: 
R: É uma fase onde identificamos os requisitos do sistema, ou seja, aquilo que o usuário 
precisa que o sistema faça. É independente de tecnologia, para que a solução possa ser 
implementada de várias formas. 
 
9 - Descreva a Analise Estruturada: 
R: Foi o primeiro paradigma de análise a usar diagramas para representar o funcionamento do 
sistema. Surgiu num momento em que o software crescia de complexidade e via sua primeira 
crise. Seu processo de análise era segmentado: funcionalidade e dados em duas perspectivas 
distintas. 
 
10 - Descreva a Analise Essencial: 
R: Trouxe uma grande contribuição ao mundo: a lista de eventos, facilitando a atividade inicial 
do processo de análise de sistemas. 
 
11 - Descreva o dicionário de dados: 
R: Dicionário de dados é apropriado para o registro de dados como por exemplo: estruturas de 
dados, fluxos de dados e depósitos de dados. 
 
12 - De que é formado o DFD: 
R: Entidade externa, processo, depósito e fluxo de dados (com uma ou ambas direções). 
 
13 - O que é o conceito de evento? 
R: Acontecimento (externo ou temporal) que afeta o sistema que reage disparando uma 
função. Para descobrir as funções e seus dados, basta descobrir os eventos. 
 
14 - Quem avisa ao sistema que ocorreu um evento? 
R: Estímulo. 
 
15 - Quais as ferramentas do modelo comportamental e ambiental? 
R: Comportamental -> DFD (particionado, em níveis e preliminar), DTE, MER, dicionário de 
dados e especificação dos processos. 
Ambiental -> Lista de eventos, objetivos do sistema e diagrama de contexto. 
 
16 - A coluna resposta da tabela de eventos corresponde a que no DFD? 
R: Corresponde ao fluxo de dados para entidade externa e depósito de dados. 
 
17 - Cite vantagens do modelo comportamental: 
R: Possibilidade de derivar os 3 modelos (funcional, de dados e de controle), a partir da lista de 
eventos. 
Trouxe conceitos fundamentais, como a lista de eventos que afetam o sistema, mas conversou 
os modelos da analise estruturada. 
 
18 - Descreva DTE e DER: 
R: DTE - Diagrama de transição de estado - > mostra, além dos possíveis estados, as transições 
e as condições da transição. Normalmente implementado em classes cujo objetivo tenha pelo 
menos 2 estados. 
DER - Diagrama de entidades e relacionamento - > mostra o relacionamento entre depósitos 
de dados, em última análise. 
 
19 - Qual o objetivo do diagrama de casos de uso? 
R: Apresentar as principais funcionalidades e os atores que interagem com elas. 
 
20 - O que é um roteiro de casos de uso? 
R: É uma funcionalidade que mostra passo a passo como ocorre o caso de uso. Tem intima 
relação com a especificação do caso de uso e formam a base para a elaboração do diagrama 
de sequencia. 
 
21 - Qual o objetivo do diagrama de sequencia? 
R: Mostra a sequencia temporal das mensagens trocadas entre os objetos, na realização de um 
cenário de uso. Ajuda a descobrir mais métodos das classes. É formulado a partir do diagrama 
de casos de uso em que cada um pode derivar mais de um diagrama de sequencia. 
 
22 - Qual o objetivo do diagrama de atividades? 
R: Tem a mesma finalidade do diagrama de sequencia, porém sem foco temporal. Tem como 
grande vantagem a possibilidade de representar atividades que aconteçam em paralelo. 
 
23 - Por que os usuários não validavam os requisitos e a modelagem feita com a técnica de 
análise essencial? 
R: Porque não entendiam os modelos da análise essencial, nem todos compreendiam essa 
modelagem e ficavam inseguros para tal. Mas nas vezes em que se usavam protótipos para 
essa validação, o sucesso mostrou-se maior. 
 
24 - Como transformar DFD particionado em DFD nível ZERO? 
R: Agrupando DFD particionados que acessem o mesmo depósito de dados e/ou se relacionem 
com a mesma entidade externa. 
 
25 - Simule um fluxo de dados chamado Dados Cliente e contendo Nome, Data de 
Nascimento,Data cadastramento e Endereço. 
R: Dados Cliente = Nome + Data nasc. + Data cad. + Endereço 
 
26 - Faça um resumo, sobre os conceitos da linguagem de programação, assim como, sua 
estruturação, os conceitos de sintaxe e semântica, tipos de dados, expressões e atribuições. 
As LPs tornam o trabalho mais produtivo, atendem aos padrões de qualidade (confiabilidade, 
manutenibilidade e eficiência). Existem 3 tipos de estrutura: sequencial, decisão e repetição. 
Os seus paradigmas são: imperativo ou Procedural, Orientado a Objeto, Concorrente, 
Declarativo, Funcional e Lógico. 
 
27 – Pesquise e mostre exemplos de linguagens de alto e de baixo nível, identificando as 
diferenças e características de cada tipo de linguagem. 
A de Alto Nível é aquela linguagem visualizada e entendida pelo usuário final, ou seja, a 
linguagem que está por trás dos softwares. A de Máquina (Baixo Nível) é aquela que se 
comunica diretamente com o hardware, as linguagem altas tendem a fazer com que os 
usuários tenham cada vez mais facilidades em comandar o computador, mas, elas geram 
códigos de “baixo nível” para que o hardware entenda e execute o comando desejado. 
 
28 – Faça um resumo, sobre os processos de compilação e interpretação. 
Na Compilação o programa escrito na linguagem fonte é traduzido para linguagem máquina e 
depois ligado e carregado para ser executado. 
Basicamente, no processo de compilação existem três realidades distintas : o programa ou 
código fonte, o programa compilador e o programa executável. 
O processo de interpretação é completamente diferente do de compilação. A execução do 
programa é feita sempre na presença do programa interpretador e do programa fonte, sendo 
que o interpretador vai convertendo (traduzindo) para linguagem máquina cada linha, cada 
instrução do programa fonte passo a passo. Assim, a verificação da existência de erros de 
sintaxe ou estrutura só ocorre em runtime e o código fonte do programa tem de ser sempre 
fornecido ao utilizador final. 
 
29 – Explique o processo de compilação da linguagem orientada a objetos Java. 
COMPETÊNCIAS/HABILIDADES: O aluno deve ter noção de linguagem de programação e ter 
passado pela disciplina de algoritmos. 
O processo de compilação de um programa Java é feito de acordo com os seguintes passos: o 
código fonte (extensão .java) é compilado e armazenado em um arquivo de extensão ".class". 
 
30 - Quais os principais paradigmas de linguagens de programação? 
 
R: Imperativo ou Procedural, Orientado a Objetos, Concorrente, Funcional e Lógico. 
 
31 - Como a linguagem de programação influencia o processo de desenvolvimento? 
R: Com análise de viabilidade (concepção), técnica de análise (estrutura, essencial ou orientada 
a objeto), especificação do ambiente e do software (projeto), "mão na massa" 
(implementação) e depuração de erros (testes). 
 
32 - O que é um paradigma? 
R: Conjunto de características que categorizam um grupo de linguagens semelhantes. 
 
33 - Qual é o trabalho do analista de sistemas? 
R: Entender os usuários e especificar para os desenvolvedores. 
 
34 - Como é a abordagem da Análise tradicional? 
R: É voltada a perspectiva das funcionalidades dos programas (inicio não havia equipe de 
desenvolvimento). 
 
35 - Descreva as ferramentas da Análise Estruturada. 
R: Aumento da complexidade, diagramas (DFD), entendimento da equipe e divisão do processo 
de desenvolvimento de sistemas em fases. 
 
36 - O que é a Análise Essencial? 
R: É um conceito de evento (acontecimento que afeta o sistema e que reage disparando uma 
função) e lista de eventos que afetam o sistema. 
 
37 - Descreva brevemente as ferramentas da Análise Orientada a Objetos. 
R: Objeto - Representam as "coisas" a serem modeladas no mundo real. 
Mensagens - Avisa quando um objeto precisa de uma função do outro. 
Atributos - Dados que caracterizam o objeto. 
Métodos - É um procedimento que executa uma operação em um objeto e define parte de seu 
comportamento. 
Classes - São objetos que tem as características de atributos e métodos. 
 
38 - O que são requisitos de um sistema? 
R: São as necessidades (funcionalidades). Sujeitos à mudança durante o processo de 
desenvolvimento. 
 
39 - Qual a diferença entre modelo ambiental e modelo comportamental na Análise 
Essencial? 
R: A análise ambiental descreve o ambiente do sistema e a comportamental descreve o 
comportamento em resposta a eventos que afetam o sistema. 
 
40 - Defina Caso de Uso. Qual é a sua utilização na Análise Orientada a 
Objeto? 
R: Serve para descrever um modelo funcional do sistema. Procura identificar os usuários e 
representar o sistema segundo a sua visão 
É utilizado para identificar os requisitos de sistemas.

Outros materiais