• Nenhum resultado encontrado

1 Analise de Sistemas

N/A
N/A
Protected

Academic year: 2021

Share "1 Analise de Sistemas"

Copied!
60
0
0

Texto

(1)

Prof José Rui

1. Introdução e Conceitos básicos

1 – Analise de Sistemas

(2)

Sumário

Capítulo 1 – Introdução e Conceitos básicos

1.1 Histórico do Software

1.2 Modelos

1.3 Tipos primitivos de dados

1.4 Tipo Abstrato de dados

(3)

Prof José Rui

1. Introdução e Conceitos básicos

(4)

Comunicação cliente x empresa

(5)

Prof José Rui

1. Introdução e Conceitos básicos

Comunicação cliente x empresa

(6)
(7)

Prof José Rui

1. Introdução e Conceitos básicos

(8)
(9)

Prof José Rui

1. Introdução e Conceitos básicos

(10)

Comunicação cliente x empresa

(11)

Prof José Rui

1. Introdução e Conceitos básicos

Histórico

Anos 90,

– conhecida como a época da “guerra dos métodos”

– vários métodos coexistiam com notações muitas vezes conflitantes entre si.

– Dentre estes, os mais conhecidos eram:

● OMT (Object Modelling Technique) de Rumbaugh; ● Método de Booch;

(12)

Histórico

Dentre estes, os mais conhecidos eram:

● OMT (Object Modelling Technique) de Rumbaugh; ● Método de Booch;

● OOSE (Object Oriented Software Engineering) de Jacobson;

Rumbaugh (OMT) + Booch:

Rumbaugh (OMT) + Booch:

fundiram seus métodos (e notações)

resultando no Método Unificado em 1995, quando trabalhavam juntos na Rational

Software (atualmente uma divisão da IBM).

+ Jacobson:

+ Jacobson:

juntou-se a eles mais tarde e seu método OOSE foi

(13)

Prof José Rui

1. Introdução e Conceitos básicos

Histórico

Rumbaugh (OMT) + Booch + Jacobson:

Rumbaugh (OMT) + Booch + Jacobson

:

RUP

RUP

– Salienta-se que além do método, eles unificaram a notação de projeto e a

chamaram UML.

– Em suma, UML é uma tentativa de padronizar os artefatos de análise e projeto:

modelos semânticos, sintaxe de notação e diagramas.

– Resumindo:

(14)

Histórico

Decada de 90:

Decada de 90:

– Surge a OMG(Object Management Group)

● uma organização importante no mundo dos objetos sem fins lucrativos

● participam empresas e acadêmicos para definirem padrões de tecnologias OO

Outubro de 1995: primeira versão rascunho, versão 0.8 draft.

Julho de 1996: revisão devido ao ingresso de Jacobson, versão 0.9 draft.

– Parceiros UML (HP, IBM, Microsoft, Oracle e Rational Software) desenvolveram

a versão 1.1 e a propuseram OMG

● A OMG aceita a proposta em novembro de 1997 e assume a responsabilidade de

realizar manutençãoeé revisão da UML

Em março de 2003: a OMG lançou a versão 1.5

(15)

Prof José Rui

1. Introdução e Conceitos básicos

Analise de sistema

Para construir um sistema é necessário então:

– Analisar e projetar todas as possibilidades ● Para não ter surpresas

(16)

Analise de sistema

Para construir um sistema é necessário então:

– Analisar e projetar todas as possibilidades ● Para não ter surpresas

(17)

Prof José Rui

1. Introdução e Conceitos básicos

Analise de sistema

Para construir um sistema é necessário então:

– Analisar e projetar todas as possibilidades ● Para não ter surpresas

(18)

Analise de sistema

Para construir um sistema é necessário então:

– Analisar e projetar todas as possibilidades ● Para não ter surpresas

(19)

Prof José Rui

1. Introdução e Conceitos básicos

Analise de sistema

Para construir um sistema é necessário então:

– Analisar e projetar todas as possibilidades ● Para não ter surpresas

● Temos que fazer uma boa conversar com o cliente – Ou seja, um bom levantamento de requisito – E uma boa modelagem do problema

(20)

Modelo

Definição:

– Representação com alto nível de abstração

● Modela de forma mais natural os fatos do mundo real ● Modela suas propriedades e seus relacionamentos

– É um rascunho

● Com as principais características do objeto observado

– É independente da linguagem de programação

– Preocupa com a semântica da aplicação

(21)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

(22)

Modelo

Exemplo:

– Como seria um modelo de uma roda de carro? ● Quais são as informações relevantes?

(23)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

– Como seria um modelo de uma roda de carro? ● Quais são as informações relevantes?

● O que deve ser armazenado no computador? – Vamos pensar e listar!

(24)

Modelo

Exemplo:

– Como seria um modelo de uma roda de carro? ● Quais são as informações relevantes?

● O que deve ser armazenado no computador? – Vamos pensar e listar!

 ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA

(25)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

– Como seria um modelo de uma roda de carro? ● Pronto!

● Esse seria um bom modelo para a roda

 ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA

(26)

Modelo

O modelo serve como um NORTE!

É com ele nas mãos que podemos programar

Ou melhor, podemos melhorar nossos programas

– Padronizar nossos códigos

– Minimizar erros de programação – Reutilizar códigos  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA

(27)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

(28)

Modelo

Exemplo:

– Como seria um modelo de uma cadeira? ● Quais são as informações relevantes?

(29)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

– Como seria um modelo de uma cadeira? ● Quais são as informações relevantes?

 ­ Material

 ­ Quantidade Pés    ...

   

(30)

Modelo

Exemplo:

– Como seria um modelo de uma cadeira? ● Quais são as informações relevantes?

 ­ Material  ­ Quantidade Pés  ­ Acolchoada  ­ Giratória  ­ Descanso p/ braços   Modelo ­ Cadeira

(31)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

(32)

Modelo

Exemplo:

– Vamos abstrair um pouco mais!

(33)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

– Vamos abstrair um pouco mais!

Como seria um modelo de um produto?

 ­   ­  ­   ­  ­     Produto

(34)

Modelo

Exemplo:

– Vamos abstrair um pouco mais!

Como seria um modelo de uma pessoa?

 ­   ­  ­   ­  ­   Pessoa

(35)

Prof José Rui

1. Introdução e Conceitos básicos

Modelo

Exemplo:

– Vamos abstrair um pouco mais!

Como seria um modelo de uma pessoa?

 ­ Nome   ­ Sexo  ­ ...  ­  ­     Pessoa

(36)

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Exemplo:

– Int – Float – Double – Boolean – Char

(37)

Prof José Rui

1. Introdução e Conceitos básicos

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

(38)

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

 ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA

(39)

Prof José Rui

1. Introdução e Conceitos básicos

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio; 2 char[15] material; 3 float peso; 4 float maxPeso; 5 6 7 8  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

(40)

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio; 2 char[15] material; 3 float peso; 4 float maxPeso; 5 6 7 8  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

E se você precisar declarar outra roda?

(41)

Prof José Rui

1. Introdução e Conceitos básicos

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio; 2 char[15] material; 3 float peso; 4 float maxPeso; 5 6 7 8  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

E se você precisar declarar outra roda?

E se você precisar declarar outra roda?

Você deverá declarar tudo novamente!

(42)

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio, raio2; 2 char[15] material, material2; 3 float peso, peso2; 4 float maxPeso, maxPeso2; 5 6 7 8  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

E se você precisar declarar outra roda?

E se você precisar declarar outra roda?

Você deverá declarar tudo novamente!

(43)

Prof José Rui

1. Introdução e Conceitos básicos

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio, raio2; 2 char[15] material, material2; 3 float peso, peso2; 4 float maxPeso, maxPeso2; 5 6 7 8  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

E se você precisar declarar outra roda?

E se você precisar declarar outra roda?

Você deverá declarar tudo novamente!

Você deverá declarar tudo novamente!

E se você precisar declarar outra roda?

(44)

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio, raio2, raio3; 2 char[15] material, material2, material3; 3 float peso, peso2, peso3; 4 float maxPeso, maxPeso2, maxPeso3; 5 6 7  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

E se você precisar declarar outra roda?

E se você precisar declarar outra roda?

Você deverá declarar tudo novamente!

(45)

Prof José Rui

1. Introdução e Conceitos básicos

Tipos primitivos de dados

São os tipos de dados “natos” de uma linguagem

Com esses tipos nós, programadores, fazemos tudo...

Por exemplo:

– Declarar uma roda

1 float raio, raio2, raio3; 2 char[15] material, material2, material3; 3 float peso, peso2, peso3; 4 float maxPeso, maxPeso2, maxPeso3; 5 6 7  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código Muito ineficiente! Muito ineficiente!

(46)

Tipos primitivos de dados

É muito ineficiente...

Solução:

– Usar o modelo a nosso favor!

– Criar um nova variável (novo tipo de dado)

1 float raio, raio2, raio3; 2 char[15] material, material2, material3; 3 float peso, peso2, peso3; 4 float maxPeso, maxPeso2, maxPeso3; 5 6 7  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

(47)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Definição

Definição:

É um novo tipo de dado

É um tipo que foi ou será criado “por você”

Para criar um TADS

– Usa-se os tipos primitivos de dados

(48)

Tipo Abstrato de Dados

Definição

Definição:

É um novo tipo de dado

É um tipo que foi ou será criado “por você”

Para criar um TADS

– Usa-se os tipos primitivos de dados

– E/ou algum tipo abstrato de dados já criado

Voltando ao nosso péssimo exemplo!

Voltando ao nosso péssimo exemplo!

1 float raio, raio2, raio3; 2 char[15] material, material2, material3; 3 float peso, peso2, peso3; 4 float maxPeso, maxPeso2, maxPeso3; 5 6 7  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código

(49)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Definição

Definição:

Vamos criar um tipo igual ao nosso modelo

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código c++

(50)

Tipo Abstrato de Dados

Definição

Definição:

Vamos criar um tipo igual ao nosso modelo

E depois usá-lo!

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1; 11 12 13 14 15 16 17 18 19 return 0;  ­ Raio  ­ Material  ­ Peso   ­ Suporte máximo de peso    ... Modelo ­ RODA Código c++

(51)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Definição

Definição:

Vamos criar um tipo igual ao nosso modelo

E depois usá-lo!

Ao fazer isso:

– Declaramos uma variável – Seu tipo é “Roda”

– “Dentro dela” tem tudo! ● Todos os campos 1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1; 11 12 13 14 15 16 17 18 19 return 0; 20 } 21 Código c++

(52)

Tipo Abstrato de Dados

Definição

Definição:

Vamos criar um tipo igual ao nosso modelo

E depois usá-lo!

Ao fazer isso:

– Declaramos uma variável – Seu tipo é “Roda”

– “Dentro dela” tem tudo!

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1; 11 12 13 14 15 16 17 18 19 return 0; Código c++

(53)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Definição

Definição:

Vamos criar um tipo igual ao nosso modelo

E depois usá-lo!

Ao fazer isso:

– Declaramos uma variável – Seu tipo é “Roda”

– “Dentro dela” tem tudo!

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2; 11 12 13 14 15 16 17 18 19 return 0; 20 } 21 Código c++

E se você precisar declarar outra roda?

E se você precisar declarar outra roda?

Basta declarar outra roda!

(54)

Tipo Abstrato de Dados

Definição

Definição:

Vamos criar um tipo igual ao nosso modelo

E depois usá-lo!

Ao fazer isso:

– Declaramos uma variável – Seu tipo é “Roda”

– “Dentro dela” tem tudo!

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 12 13 14 15 16 17 18 19 return 0; Código c++

Basta declarar outra roda!

Basta declarar outra roda!

E assim por diante, sempre que quiser

(55)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Comparação

Comparação

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 12 13 14 15 16 17 18 19 return 0; 20 } 21 Código c++

Sem TAD Com TAD

1 int main(){ 2 float raio, raio2, raio3; 3 char[15] material, material2, material3; 4 float peso, peso2, peso3; 5 float maxPeso, maxPeso2, maxPeso3;9 6 7 8 9 10 11 12 13 14 15 return 0; 16 } 17 Código c++

(56)

Tipo Abstrato de Dados

Acesso aos campos

Acesso aos campos

Para acessar os campos de um TAD

Usa-se

– “ponto” seguido do nome do campo

– Ex: 1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 12 13 14 15 16 17 18 19 return 0; Código c++

(57)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Acesso aos campos

Acesso aos campos

Para acessar os campos de um TAD

Usa-se

– “ponto” seguido do nome do campo

– Ex: ● r1.peso 1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 r1.peso = 12.8; 12 r2.peso = 15.5; 13 r3.peso = r1.peso; 14 15 16 17 18 19 return 0; 20 } 21 Código c++

(58)

Tipo Abstrato de Dados

Acesso aos campos

Acesso aos campos

Para acessar os campos de um TAD

Usa-se

– “ponto” seguido do nome do campo

– Ex: ● r1.peso 1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 r1.peso = 12.8; 12 r2.peso = 15.5; 13 r3.peso = r1.peso; 14 15 16 17 18 19 return 0; Código c++

● Muito mais intuitivo trabalhar assim!

(59)

Prof José Rui

1. Introdução e Conceitos básicos

Tipo Abstrato de Dados

Acesso aos campos

Acesso aos campos

Para acessar os campos de um TAD

Usa-se

– “ponto” seguido do nome do campo

– Ex: ● r1.peso 1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 r1.peso = 12.8; 12 r2.peso = 15.5; 13 r3.peso = r1.peso; 14 15 16 17 18 19 return 0; 20 } 21 Código c++

● Muito mais intuitivo trabalhar assim!

● Seu código fica mais organizado

● Muito mais intuitivo trabalhar assim!

(60)

Tipo Abstrato de Dados

Exercício

Exercício

Crie um Tipo Abstrato de Dado com o modelo de pessoa

Crie três variáveis do tipo pessoa e inicialize seus campos...

1 struct Roda{ 2 float raio; 3 char[15] material; 4 float peso; 5 float maxPeso; 6 } 7 8 int main(){ 9 10 Roda r1, r2, r3; 11 r1.peso = 12.8; 12 r2.peso = 15.5; 13 r3.peso = r1.peso; 14 15 16 17 return 0; Código c++

Referências

Documentos relacionados

A formação de dois grupos referentes aos períodos seco e chuvoso dentro de Rio Formoso, supõe que as mudanças climáticas e suas consequências exercem influência nas

Esse tipo de razão está presente nas ações positivas para com os outros, por exemplo, como descrito no livro que inspirou o filme “Pay it forward” (HYDE, 2014) (tradução:

Esta pesquisa estabelece um diálogo entre O cuidado de si em Michel Foucault e a Filosofia Ubuntu: “Eu sou porque nós somos”, no âmbito das teorias contemporâneas

Tendo em vista os fatos supracitados, e com a necessidade de melhorar o processo de ensino/aprendizagem nos cursos de EaD, este trabalho justifica-se por buscar desenvolver

Para vericar a ecácia da utilização da história da matemática como recurso didático no ensino de polinômios foi realizada uma pesquisa com alunos da 1ª série do curso técnico

Para realização das atividades no laboratório, é possível cada usuário realizar reserva de equipamentos para uso em experimentos, informar a quantidade de reagentes

dade se algumas destas recomendações não forem seguidas? Este tipo de conhecimento é de suma im- portância para os trabalhos da Ass i stência Técnica, pois que,

À Deus pelo dom da vida, pela fé e perseverança para vencer os obstáculos. A minha mãe, pela orientação, dedicação e incentivo nessa fase do curso de pós-graduação e