SlideShare ist ein Scribd-Unternehmen logo
1 von 34
ANALISE DE SISTEMAS (INFORMÁTICA)
Resumo sobre:
1. Especificação de requisitos;
2. Fluxo de dados;
3. Conceitos básicos de modelagem de objetos.
O QUE É UM SISTEMA?
 É um conjunto de elementos que interagem para se atingir um
objetivo ou metas. Segundo a Comissão Nacional de Normas
Americanas (ANSSC) sugere a seguinte definição: Em
processamento de dados, conjunto de pessoas, máquinas e métodos
organizados de modo a cumprir um certo número de funções
especificas.
 Exemplo simples: Um sistema (Curso) que recebe recursos (dados
como nome dos alunos, turmas, disciplina, data da avaliação, nota
etc) como entrada e os processas em produtos (informação Notas
bimestrais, médias, soma das faltas) como saída.
TRABALHO: PROGRAMADORES E USUÁRIOS:
 Os programadores e usuários tendem a se concentrar em um único
programa (ou vários). O programador vê um trabalho especifico a ser
realizado enquanto o usuário vê um problema especifico para ser
resolvido.
 Como no exemplo anterior o usuário tem como problema saber as
médias dos alunos, a soma de faltas e outras informações, o
programador tem como trabalho resolver este problema criando os
algoritmos capazes de receber os dados que o usuário possui e
processa-los a fim de obter o resultado (saída) que o usuário
necessita, neste caso especifico as médias e a soma das faltas)
RESPONSABILIDADE DO ANALISTA DE SISTEMAS:
 O profissional cuja responsabilidade básica é traduzir as
necessidades do usuário em especificações técnicas necessárias
aos programadores. O Analista de sistemas começa desenvolvendo
uma descrição lógica das necessidades do usuário. É necessário
usar alguns recursos como levantamento dos requisitos funcionais ou
não funcionais do sistema, desenho do projeto com diagramas de
caso de uso, de sequencia, e outros que serão apresentados nos
próximos trabalhos. Deve ter também a habilidade de abstração do
mundo real, ou seja, o entendimento de classe, objetos, polimorfismo
para o bom andamento dos projetos, como veremos nos próximos
slides.
1. REQUISITOS É (SÃO):
 Descrições das funções e das restrições de um sistema;
 Definição detalhada, matematicamente formal, de uma função do
sistema.
Referência: Sommerville p.82
ENGENHARIA DE REQUISITOS É:
 O processo de (em relação aos requisitos):
Descobrir Analisar Documentar Verificar
ELICITAÇÃO DE REQUISITOS E ANALISE
 Divide-se em duas partes:
1. Elicitação: Técnica de interação com usuários, atores ou envolvidos
em atividades para se obter informações relativas a um processo ou
procedimento que se deseja conhecer. Esta técnica é comumente
utilizada na engenharia de software para definir os requisitos de um
de sistemas de informação ou aplicação.
2. Analise do que foi elicitado: Processo de análise
TÉCNICAS DE ELICITAÇÃO
Questionários
Entrevistas
Jogos de Funções
Brainstorming (Tempestade de ideias,
criatividade em equipe)
etc
ENTREVISTAS
 Técnica direta: pode ser usada na analise do problema e na elicitação
de requisitos;
 Objetivo: Entender os problemas reais e soluções potenciais das
perspectivas dos usuários, clientes etc.
QUESTIONÁRIOS
 Aplicabilidade a mercados específicos – Onde perguntas são bem
definidas;
 Hipóteses: Perguntas relevantes podem ser decididas
antecipadamente
 Leitor ouve da maneira desejada
 Suprime o que é bom sobre análise
 Úteis após uma entrevista inicial
JOGOS DE FUNÇÕES
 Engenheiro de requisitos: Assume a função do usuário ou cliente
(entender o domínio do problema)
 Cliente: Assume a função do usuário (entender os problemas que
podem passar)
BRAINSTORMING
 Estabelecer o objetivo da sessão;
 Gerar quantas ideias for possível
 Deixar sua imaginação livre
 Não admita crítica ou debates
 Ajuste e combine as ideias.
VISÃO DOS REQUISITOS
 Requisitos do Usuário: Declarar em linguagem natural com diagramas
de serviços que o sistema oferece e suas restrições operacionais.
Escrito para os clientes;
 Requisitos do Sistema: Documentar de forma estruturada com
descrições detalhadas sobre os serviços do sistema. Contrato entre
cliente e fornecedor.
ORGANIZAÇÃO:
 Casos de uso;
 Manutenção de conceitos (Entidades)
 Consultas/Relatórios
REQUISITOS
 Requisitos funcionais: correspondem à listagem de todas as coisas –
primitivas ou atômicas – que o sistema deve fazer para bem gerir o
negócio do usuário;
 Requisitos não funcionais: são restrições que se colocam sobre como
o sistema deve realizar seus requisitos funcionais
EXEMPLOS DE REQUISITOS FUNCIONAIS
 [RF001] Usuário pode pesquisar todo ou um subconjunto do banco de
dados
 [RF002] Sistema deve oferecer visualizadores apropriados para o
usuário ler documentos armazenados
 [RF003] A todo pedido deve ser associado um identificador único
(PID), o qual o usuário pode copiar para a área de armazenamento
permanente da conta.
REQUISITOS NÃO FUNCIONAIS
 Definem propriedades e restrições do sistema (tempo, espaço, etc);
 Requisitos de processo também podem especificar o uso de
determinadas linguagens de programação, método de
desenvolvmento.
EXEMPLO DE REQUISITOS NÃO FUNCIONAIS.
 RFN. 3: Hardware A máquina servidora do banco de dados será a
utilizada no Laboratório de Inteligência Artificial e Automação.
 RNF.4: O sistema não pode demorar mais de 5s para realizar a
consulta a base do banco de dados.
 RNF 5: Coletar o Máximo de dados para formação da informação de
forma coerente para tomadas de decisão e estratégia de marketing
digital.
2. FLUXO DE DADOS;
 O fluxo de dados é o conceito de que a mudança de
uma variável deve automaticamente forçar o recálculo dos valores de
todas as variáveis dependentes do valor da primeira.
Usa-se também o Diagrama de Fluxo de Dados (DFD) que é uma das
principais ferramentas utilizadas no projeto de sistemas de informação.
O DFD é um diagrama gráfico, baseado apenas em quatro símbolos,
que mostra a estrutura do sistema e sua fronteira, ou seja, todas as
relações entre os dados, os processos que transformam esses dados e
o limite entre o que pertence ao sistema e o que está fora dele.
OS SÍMBOLOS UTILIZADOS NA ELABORAÇÃO DE UM DIAGRAMA
DE FLUXO DE DADOS:
DIAGRAMAS:
 Diagramas de
Classe;
 Diagrama de
Objetos;
 Diagrama de caso
de uso;
 Diagrama de
Sequencia;
 Diagrama de
colaborações;
 Diagrama de
gráficos de
estados;
 Diagrama de
atividades;
 Diagrama de
Componentes
 Diagramação de
implantação
Diagrama é a
apresentação gráfica de
um conjunto de elementos
para permitir a
visualização de um
sistema sob diferentes
possibilidades:
Os principais diagramas são:
3. CONCEITOS BÁSICOS DE MODELAGEM DE OBJETOS
 O paradigma da orientação a objetos, ou seja, Programação Orientada a
Objetos (POO ou OOP) eleva a programação e o desenvolvimento de
sistemas para um novo patamar.
 Vantagens:
a) Aproveitar códigos sem alterar os demais;
b) Utilização de métodos
c) Novas classes;
d) Segurança ao código;
e) Construtores próprios;
f) Portabilidade;
g) Polimorfismo.
ORIENTAÇÃO A OBJETOS INTRODUZ E ENFATIZA OS
CONCEITOS:
Objeto;
Classe
Mensagem
Abstração
Encapsulamento (Objetos)
Herança
Polimorfismo
OBJETO
 Um objeto é uma ocorrência especifica (instancia de uma classe)
Pessoa Carro Região
CLASSE
 Classe é a representação de um conjunto de coisas reais ou abstrata
que são reconhecidas como sendo do mesmo tipo por compartilhar
as mesmas características de atributos, operações, relações e
semântica.
 A classe pode ser representada graficamente da seguinte forma:
Nome da Classe
+Atributos: Tipo=Valor
Inicial
+Processos(Parâmetro
): Tipo Retornado
Aluno
+Nome: Char
+DataNasc: long
+Turma: Char
+Nota: Double
+Media: Double
MostrarNome():Char
CalcularMedia( ): double
ATRIBUTOS
 Atributo é a menor unidade que em si possui significância própria e
inter-relacionada com o conceito lógico da classe à qual pertence.
 Apresenta um principio de atomicidade, ou seja, do armazenamento
de um valor simples em célula.
 Exemplo: Um individuo possui NOME, SEXO, IDADE ETC
MENSAGEM
 É o estimulo (mensagem) ao objeto, acionando uma determinada
operação fazendo com que o mesmo responda ou assuma um
determinado estado:
Pedido de Venda
Esta Foto de Autor Desconhecido está
licenciado em CC BY-NC-SA
Conferencia no Estoque e entrega
Mensagem
Esta Foto de Autor
Desconhecido está
licenciado em CC
BY-NC-SA
Recebimento do
produto
OBJETO
ABSTRAÇÃO
 É utilizada para a definição de entidades do mundo real. Sendo onde
são criadas as classes. Essas entidades são consideradas tudo que é
real, tendo como consideração as suas características e ações
Entidade Característica Ação
Carro, Moto Tamanho, cor, peso, altura Acelerar, parar, Ligar, desligar
Elevador Tamanho, peso máximo,
social, serviço
Subir, descer, escolher andar
Conta Banco Saldo, limite, numero da conta Depositar, sacar, conferir
saldo, empréstimo
POLIMORFISMO
 Palavra de origem grega que significa “muitas formas”.
 Tais formas se referem aos vários comportamentos que uma mesma operação
pode assumir.
Aplicação financeira
+CalcularSaldo()
RENDA FIXA POUPANÇA FUNDO DE AÇÕES
+CalcularSaldo() +CalcularSaldo() +CalcularSaldo()
HERANÇA
 É a capacidade de um novo objeto tomar atributos e operações de
um objeto existente, permitindo criar classes complexas sem repetir o
código. A nova classe simplesmente herda seu nível base de
características de um antepassado na hierarquia de classe.
AUTOMÓVEL
AUTOMÓVEL
ESPORTIVO
R8 Spyder
Generalização
Especificação
ENCAPSULAMENTO
 Na linguagem de Programação Orientada a Objetos é importante
restringir a visibilidade de alguns atributos para garantir o conceito de
encapsulamento.
 O principal propósito do encapsulamento é a organização dos dados
que sejam relacionados, agrupando-os (encapsulando-os) em objetos
(classes), reduzindo as colisões de nomes de variáveis (dado que
variáveis com o mesmo nome estarão em namespaces distintos) e,
da mesma forma, reunindo métodos relacionados às suas
propriedades (ou variáveis de classe). Este padrão ajuda a manter
um programa com centenas ou milhares de linhas de código mais
legível e fácil de trabalhar e manter.
REFERÊNCIAS
 Caderno de Atividades e Trabalhos da Disciplina ANALISE e
PROJETOS ORIENTADOS A OBJETOS Professor Edson Alves 4º
Ano do Curso de Sistemas de Informação 2010.
 ftp://vm1-dca.fee.unicamp.br/pub/docs/gudwin/ea976/Requisitos.pdf
 Notas de Aulas do Curso de Pós Graduação Em Sistemas e
Desenvolvimento Web 2017 Professor Mestre Marcelo H. Santos
http://www.marcelohsantos.com.br/aulas/uninove.asp
OBRIGADO!
Clayton de Almeida Souza – Analista de Sistemas:
Graduado em Sistema de Informação pela Universidade Bandeirantes
de São Paulo - UNIBAN e Especialista em de Sistemas e
Desenvolvimento Web pela UNINOVE.
Contatos:
Blog: http://professorclaytonsouza.blogspot.com
E-mail: claytonn_Souza@Hotmail.com | Twitter: @claytonnsouza
Site pessoal (em breve) www.claytondeasouza.com.br

Weitere ähnliche Inhalte

Was ist angesagt?

Introdução a analise de sistemas i
Introdução a analise de sistemas iIntrodução a analise de sistemas i
Introdução a analise de sistemas i
Ray Fran Pires
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Sérgio Souza Costa
 
Aula 01 fundamentos da informática
Aula 01   fundamentos da informáticaAula 01   fundamentos da informática
Aula 01 fundamentos da informática
Gilberto Campos
 

Was ist angesagt? (20)

TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
Uml
UmlUml
Uml
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Introdução a analise de sistemas i
Introdução a analise de sistemas iIntrodução a analise de sistemas i
Introdução a analise de sistemas i
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
UFCD 0781 - Análise de Sistemas de Informação.pptx
UFCD 0781 - Análise de Sistemas de Informação.pptxUFCD 0781 - Análise de Sistemas de Informação.pptx
UFCD 0781 - Análise de Sistemas de Informação.pptx
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemas
 
Modelo osi
Modelo osiModelo osi
Modelo osi
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Sistema operacional introdução
Sistema operacional introduçãoSistema operacional introdução
Sistema operacional introdução
 
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento Engenharia de Software - Conceitos e Modelos de Desenvolvimento
Engenharia de Software - Conceitos e Modelos de Desenvolvimento
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemas
 
Sistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos BásicosSistemas Operacionais - Conceitos Básicos
Sistemas Operacionais - Conceitos Básicos
 
Aula 01 fundamentos da informática
Aula 01   fundamentos da informáticaAula 01   fundamentos da informática
Aula 01 fundamentos da informática
 
Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1Manutenção de Computadores - Aula 1
Manutenção de Computadores - Aula 1
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 

Ähnlich wie Conceitos Básicos Sobre Analise de Sistemas

Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemas
Priscila Stuani
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
elliando dias
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
elliando dias
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
Roni Reis
 
ApresentaçãO Metodologia
ApresentaçãO MetodologiaApresentaçãO Metodologia
ApresentaçãO Metodologia
Marcos Yonamine
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
taniamaciel
 

Ähnlich wie Conceitos Básicos Sobre Analise de Sistemas (20)

Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dados
 
Dfd
DfdDfd
Dfd
 
Técnicas de Análise Contextual - Livro de Walter Cybis
Técnicas de Análise Contextual - Livro de Walter CybisTécnicas de Análise Contextual - Livro de Walter Cybis
Técnicas de Análise Contextual - Livro de Walter Cybis
 
Aula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semana
 
AULA 3.ppt
AULA 3.pptAULA 3.ppt
AULA 3.ppt
 
Metodologia de desenvolvimento de sistemas
Metodologia  de desenvolvimento de sistemasMetodologia  de desenvolvimento de sistemas
Metodologia de desenvolvimento de sistemas
 
AMSI.pptx
AMSI.pptxAMSI.pptx
AMSI.pptx
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Princípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de RequisitosPrincípios Fundamentais da Análise de Requisitos
Princípios Fundamentais da Análise de Requisitos
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Aula3 TEES UFS: Engenharia de Requisitos
Aula3 TEES UFS: Engenharia de RequisitosAula3 TEES UFS: Engenharia de Requisitos
Aula3 TEES UFS: Engenharia de Requisitos
 
ApresentaçãO Metodologia
ApresentaçãO MetodologiaApresentaçãO Metodologia
ApresentaçãO Metodologia
 
Analise sistemas 04
Analise sistemas 04Analise sistemas 04
Analise sistemas 04
 
PFTI (2).ppt
PFTI (2).pptPFTI (2).ppt
PFTI (2).ppt
 
Banco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de DadosBanco de Dados Banco de Dados Banco de Dados
Banco de Dados Banco de Dados Banco de Dados
 
modelo relacional.ppt
modelo relacional.pptmodelo relacional.ppt
modelo relacional.ppt
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
01 Orientacao A Objetos Programacao
01   Orientacao A Objetos   Programacao01   Orientacao A Objetos   Programacao
01 Orientacao A Objetos Programacao
 
Analise de requisitos estudo para prova
Analise de requisitos estudo para provaAnalise de requisitos estudo para prova
Analise de requisitos estudo para prova
 
Análise essencial
Análise essencialAnálise essencial
Análise essencial
 

Mehr von Clayton de Almeida Souza

Mehr von Clayton de Almeida Souza (20)

Javascript Eventos, Métodos e Funções
Javascript Eventos, Métodos e FunçõesJavascript Eventos, Métodos e Funções
Javascript Eventos, Métodos e Funções
 
Introdução básica aos Navegadores de Internet
Introdução básica aos Navegadores de InternetIntrodução básica aos Navegadores de Internet
Introdução básica aos Navegadores de Internet
 
Artigo: Estratégia de Dados e Marketing Digital - Novas Formas de Aumentar Re...
Artigo: Estratégia de Dados e Marketing Digital - Novas Formas de Aumentar Re...Artigo: Estratégia de Dados e Marketing Digital - Novas Formas de Aumentar Re...
Artigo: Estratégia de Dados e Marketing Digital - Novas Formas de Aumentar Re...
 
Instalacao eclipse-servidor-tomcat
Instalacao eclipse-servidor-tomcatInstalacao eclipse-servidor-tomcat
Instalacao eclipse-servidor-tomcat
 
Introducao basica-linguagem-java
Introducao basica-linguagem-javaIntroducao basica-linguagem-java
Introducao basica-linguagem-java
 
Computação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicosComputação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicos
 
O sistema do Computador
O sistema do ComputadorO sistema do Computador
O sistema do Computador
 
Aula1 Operador de Microcomputadores
Aula1 Operador de MicrocomputadoresAula1 Operador de Microcomputadores
Aula1 Operador de Microcomputadores
 
Apostila informática básica 2014
Apostila informática básica 2014Apostila informática básica 2014
Apostila informática básica 2014
 
Apostila Informática Básica Windows 7 e Pacote Office
Apostila Informática Básica Windows 7 e Pacote OfficeApostila Informática Básica Windows 7 e Pacote Office
Apostila Informática Básica Windows 7 e Pacote Office
 
Curso de Assistente de Suporte Técnico de Informática 2012
Curso de Assistente de Suporte Técnico de Informática 2012Curso de Assistente de Suporte Técnico de Informática 2012
Curso de Assistente de Suporte Técnico de Informática 2012
 
Apostila de Técnicas de Vendas 2012
Apostila de Técnicas de Vendas 2012Apostila de Técnicas de Vendas 2012
Apostila de Técnicas de Vendas 2012
 
Apostila de web - Curso de Programação Básica de Internet
Apostila de web - Curso de Programação Básica de InternetApostila de web - Curso de Programação Básica de Internet
Apostila de web - Curso de Programação Básica de Internet
 
Introdução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHPIntrodução a Linguagem de Programação PHP
Introdução a Linguagem de Programação PHP
 
MySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de DadosMySQL - Instalação e Alguns comandos de Banco de Dados
MySQL - Instalação e Alguns comandos de Banco de Dados
 
Criando sites com estilos
Criando sites com estilosCriando sites com estilos
Criando sites com estilos
 
Curso de qualificação profissional - Assistente Administrativo com Informática
Curso de qualificação profissional - Assistente Administrativo com InformáticaCurso de qualificação profissional - Assistente Administrativo com Informática
Curso de qualificação profissional - Assistente Administrativo com Informática
 
Aula de Contabilidade básica com Excel
Aula de Contabilidade básica com ExcelAula de Contabilidade básica com Excel
Aula de Contabilidade básica com Excel
 
Internet a serviço da Igreja
Internet a serviço da IgrejaInternet a serviço da Igreja
Internet a serviço da Igreja
 
Oração da via sacra - Paróquia São Pedro Apóstolo Taboão da Serra
Oração da via sacra - Paróquia São Pedro Apóstolo Taboão da SerraOração da via sacra - Paróquia São Pedro Apóstolo Taboão da Serra
Oração da via sacra - Paróquia São Pedro Apóstolo Taboão da Serra
 

Conceitos Básicos Sobre Analise de Sistemas

  • 1. ANALISE DE SISTEMAS (INFORMÁTICA) Resumo sobre: 1. Especificação de requisitos; 2. Fluxo de dados; 3. Conceitos básicos de modelagem de objetos.
  • 2. O QUE É UM SISTEMA?  É um conjunto de elementos que interagem para se atingir um objetivo ou metas. Segundo a Comissão Nacional de Normas Americanas (ANSSC) sugere a seguinte definição: Em processamento de dados, conjunto de pessoas, máquinas e métodos organizados de modo a cumprir um certo número de funções especificas.  Exemplo simples: Um sistema (Curso) que recebe recursos (dados como nome dos alunos, turmas, disciplina, data da avaliação, nota etc) como entrada e os processas em produtos (informação Notas bimestrais, médias, soma das faltas) como saída.
  • 3. TRABALHO: PROGRAMADORES E USUÁRIOS:  Os programadores e usuários tendem a se concentrar em um único programa (ou vários). O programador vê um trabalho especifico a ser realizado enquanto o usuário vê um problema especifico para ser resolvido.  Como no exemplo anterior o usuário tem como problema saber as médias dos alunos, a soma de faltas e outras informações, o programador tem como trabalho resolver este problema criando os algoritmos capazes de receber os dados que o usuário possui e processa-los a fim de obter o resultado (saída) que o usuário necessita, neste caso especifico as médias e a soma das faltas)
  • 4. RESPONSABILIDADE DO ANALISTA DE SISTEMAS:  O profissional cuja responsabilidade básica é traduzir as necessidades do usuário em especificações técnicas necessárias aos programadores. O Analista de sistemas começa desenvolvendo uma descrição lógica das necessidades do usuário. É necessário usar alguns recursos como levantamento dos requisitos funcionais ou não funcionais do sistema, desenho do projeto com diagramas de caso de uso, de sequencia, e outros que serão apresentados nos próximos trabalhos. Deve ter também a habilidade de abstração do mundo real, ou seja, o entendimento de classe, objetos, polimorfismo para o bom andamento dos projetos, como veremos nos próximos slides.
  • 5. 1. REQUISITOS É (SÃO):  Descrições das funções e das restrições de um sistema;  Definição detalhada, matematicamente formal, de uma função do sistema. Referência: Sommerville p.82
  • 6. ENGENHARIA DE REQUISITOS É:  O processo de (em relação aos requisitos): Descobrir Analisar Documentar Verificar
  • 7. ELICITAÇÃO DE REQUISITOS E ANALISE  Divide-se em duas partes: 1. Elicitação: Técnica de interação com usuários, atores ou envolvidos em atividades para se obter informações relativas a um processo ou procedimento que se deseja conhecer. Esta técnica é comumente utilizada na engenharia de software para definir os requisitos de um de sistemas de informação ou aplicação. 2. Analise do que foi elicitado: Processo de análise
  • 8. TÉCNICAS DE ELICITAÇÃO Questionários Entrevistas Jogos de Funções Brainstorming (Tempestade de ideias, criatividade em equipe) etc
  • 9. ENTREVISTAS  Técnica direta: pode ser usada na analise do problema e na elicitação de requisitos;  Objetivo: Entender os problemas reais e soluções potenciais das perspectivas dos usuários, clientes etc.
  • 10. QUESTIONÁRIOS  Aplicabilidade a mercados específicos – Onde perguntas são bem definidas;  Hipóteses: Perguntas relevantes podem ser decididas antecipadamente  Leitor ouve da maneira desejada  Suprime o que é bom sobre análise  Úteis após uma entrevista inicial
  • 11. JOGOS DE FUNÇÕES  Engenheiro de requisitos: Assume a função do usuário ou cliente (entender o domínio do problema)  Cliente: Assume a função do usuário (entender os problemas que podem passar)
  • 12. BRAINSTORMING  Estabelecer o objetivo da sessão;  Gerar quantas ideias for possível  Deixar sua imaginação livre  Não admita crítica ou debates  Ajuste e combine as ideias.
  • 13. VISÃO DOS REQUISITOS  Requisitos do Usuário: Declarar em linguagem natural com diagramas de serviços que o sistema oferece e suas restrições operacionais. Escrito para os clientes;  Requisitos do Sistema: Documentar de forma estruturada com descrições detalhadas sobre os serviços do sistema. Contrato entre cliente e fornecedor.
  • 14. ORGANIZAÇÃO:  Casos de uso;  Manutenção de conceitos (Entidades)  Consultas/Relatórios
  • 15. REQUISITOS  Requisitos funcionais: correspondem à listagem de todas as coisas – primitivas ou atômicas – que o sistema deve fazer para bem gerir o negócio do usuário;  Requisitos não funcionais: são restrições que se colocam sobre como o sistema deve realizar seus requisitos funcionais
  • 16. EXEMPLOS DE REQUISITOS FUNCIONAIS  [RF001] Usuário pode pesquisar todo ou um subconjunto do banco de dados  [RF002] Sistema deve oferecer visualizadores apropriados para o usuário ler documentos armazenados  [RF003] A todo pedido deve ser associado um identificador único (PID), o qual o usuário pode copiar para a área de armazenamento permanente da conta.
  • 17. REQUISITOS NÃO FUNCIONAIS  Definem propriedades e restrições do sistema (tempo, espaço, etc);  Requisitos de processo também podem especificar o uso de determinadas linguagens de programação, método de desenvolvmento.
  • 18. EXEMPLO DE REQUISITOS NÃO FUNCIONAIS.  RFN. 3: Hardware A máquina servidora do banco de dados será a utilizada no Laboratório de Inteligência Artificial e Automação.  RNF.4: O sistema não pode demorar mais de 5s para realizar a consulta a base do banco de dados.  RNF 5: Coletar o Máximo de dados para formação da informação de forma coerente para tomadas de decisão e estratégia de marketing digital.
  • 19. 2. FLUXO DE DADOS;  O fluxo de dados é o conceito de que a mudança de uma variável deve automaticamente forçar o recálculo dos valores de todas as variáveis dependentes do valor da primeira. Usa-se também o Diagrama de Fluxo de Dados (DFD) que é uma das principais ferramentas utilizadas no projeto de sistemas de informação. O DFD é um diagrama gráfico, baseado apenas em quatro símbolos, que mostra a estrutura do sistema e sua fronteira, ou seja, todas as relações entre os dados, os processos que transformam esses dados e o limite entre o que pertence ao sistema e o que está fora dele.
  • 20. OS SÍMBOLOS UTILIZADOS NA ELABORAÇÃO DE UM DIAGRAMA DE FLUXO DE DADOS:
  • 21.
  • 22. DIAGRAMAS:  Diagramas de Classe;  Diagrama de Objetos;  Diagrama de caso de uso;  Diagrama de Sequencia;  Diagrama de colaborações;  Diagrama de gráficos de estados;  Diagrama de atividades;  Diagrama de Componentes  Diagramação de implantação Diagrama é a apresentação gráfica de um conjunto de elementos para permitir a visualização de um sistema sob diferentes possibilidades: Os principais diagramas são:
  • 23. 3. CONCEITOS BÁSICOS DE MODELAGEM DE OBJETOS  O paradigma da orientação a objetos, ou seja, Programação Orientada a Objetos (POO ou OOP) eleva a programação e o desenvolvimento de sistemas para um novo patamar.  Vantagens: a) Aproveitar códigos sem alterar os demais; b) Utilização de métodos c) Novas classes; d) Segurança ao código; e) Construtores próprios; f) Portabilidade; g) Polimorfismo.
  • 24. ORIENTAÇÃO A OBJETOS INTRODUZ E ENFATIZA OS CONCEITOS: Objeto; Classe Mensagem Abstração Encapsulamento (Objetos) Herança Polimorfismo
  • 25. OBJETO  Um objeto é uma ocorrência especifica (instancia de uma classe) Pessoa Carro Região
  • 26. CLASSE  Classe é a representação de um conjunto de coisas reais ou abstrata que são reconhecidas como sendo do mesmo tipo por compartilhar as mesmas características de atributos, operações, relações e semântica.  A classe pode ser representada graficamente da seguinte forma: Nome da Classe +Atributos: Tipo=Valor Inicial +Processos(Parâmetro ): Tipo Retornado Aluno +Nome: Char +DataNasc: long +Turma: Char +Nota: Double +Media: Double MostrarNome():Char CalcularMedia( ): double
  • 27. ATRIBUTOS  Atributo é a menor unidade que em si possui significância própria e inter-relacionada com o conceito lógico da classe à qual pertence.  Apresenta um principio de atomicidade, ou seja, do armazenamento de um valor simples em célula.  Exemplo: Um individuo possui NOME, SEXO, IDADE ETC
  • 28. MENSAGEM  É o estimulo (mensagem) ao objeto, acionando uma determinada operação fazendo com que o mesmo responda ou assuma um determinado estado: Pedido de Venda Esta Foto de Autor Desconhecido está licenciado em CC BY-NC-SA Conferencia no Estoque e entrega Mensagem Esta Foto de Autor Desconhecido está licenciado em CC BY-NC-SA Recebimento do produto OBJETO
  • 29. ABSTRAÇÃO  É utilizada para a definição de entidades do mundo real. Sendo onde são criadas as classes. Essas entidades são consideradas tudo que é real, tendo como consideração as suas características e ações Entidade Característica Ação Carro, Moto Tamanho, cor, peso, altura Acelerar, parar, Ligar, desligar Elevador Tamanho, peso máximo, social, serviço Subir, descer, escolher andar Conta Banco Saldo, limite, numero da conta Depositar, sacar, conferir saldo, empréstimo
  • 30. POLIMORFISMO  Palavra de origem grega que significa “muitas formas”.  Tais formas se referem aos vários comportamentos que uma mesma operação pode assumir. Aplicação financeira +CalcularSaldo() RENDA FIXA POUPANÇA FUNDO DE AÇÕES +CalcularSaldo() +CalcularSaldo() +CalcularSaldo()
  • 31. HERANÇA  É a capacidade de um novo objeto tomar atributos e operações de um objeto existente, permitindo criar classes complexas sem repetir o código. A nova classe simplesmente herda seu nível base de características de um antepassado na hierarquia de classe. AUTOMÓVEL AUTOMÓVEL ESPORTIVO R8 Spyder Generalização Especificação
  • 32. ENCAPSULAMENTO  Na linguagem de Programação Orientada a Objetos é importante restringir a visibilidade de alguns atributos para garantir o conceito de encapsulamento.  O principal propósito do encapsulamento é a organização dos dados que sejam relacionados, agrupando-os (encapsulando-os) em objetos (classes), reduzindo as colisões de nomes de variáveis (dado que variáveis com o mesmo nome estarão em namespaces distintos) e, da mesma forma, reunindo métodos relacionados às suas propriedades (ou variáveis de classe). Este padrão ajuda a manter um programa com centenas ou milhares de linhas de código mais legível e fácil de trabalhar e manter.
  • 33. REFERÊNCIAS  Caderno de Atividades e Trabalhos da Disciplina ANALISE e PROJETOS ORIENTADOS A OBJETOS Professor Edson Alves 4º Ano do Curso de Sistemas de Informação 2010.  ftp://vm1-dca.fee.unicamp.br/pub/docs/gudwin/ea976/Requisitos.pdf  Notas de Aulas do Curso de Pós Graduação Em Sistemas e Desenvolvimento Web 2017 Professor Mestre Marcelo H. Santos http://www.marcelohsantos.com.br/aulas/uninove.asp
  • 34. OBRIGADO! Clayton de Almeida Souza – Analista de Sistemas: Graduado em Sistema de Informação pela Universidade Bandeirantes de São Paulo - UNIBAN e Especialista em de Sistemas e Desenvolvimento Web pela UNINOVE. Contatos: Blog: http://professorclaytonsouza.blogspot.com E-mail: claytonn_Souza@Hotmail.com | Twitter: @claytonnsouza Site pessoal (em breve) www.claytondeasouza.com.br