Buscar

03_Origens_Modelagem_e_Metodos

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

Tema da Aula
Origens da Modelagem de Software
Retrospectiva Histórica da Eng.Software
Engenharia de Software
Engenharia 
de
Software
Origens da Modelagem de Software
A pré-história
Até 1950:
Programar computador é uma arte (5% de inspiração e 95% de transpiração).
Engenharia de Software é semelhante a Engenharia de Hardware (manufatura de produto físico).
Nenhum Método específico para Software.
Engenharia 
de
Software
Origens da Modelagem de Software
A pré-história
60´ - Software Artesanal:
Descoberta de que a fenomenologia do Software é diferente do Hardware.
Técnica do “Codifica e Conserta” (Code & Fix – diferente do Hardware que já era “Measure twice & Cut once”).
Diferença entre os projetos de Software não permitiam aprender com os erros cometidos.
Engenharia 
de
Software
Origens da Modelagem de Software
A pré-história
60´ - Software Artesanal:
Taxa muito alta de erros em projetos grandes e/ou complexos (OS/360, Missão Apollo etc.)
Codificação “spaghetti”.
Criação dos departamentos de Informática e Ciência da Computação nas Universidades.
Grande lacuna entre as necessidades dos sistemas e a capacidade deles realizarem-nas.
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 60
Final dos anos 60:
Sob a influência do D.o.D. (Departament of Defence-USA) nasce a discussão “Como construir sistemas com método?” (eficiente, barato e rápido).
Aparece então o conceito de “estruturação”
		1º) Programação Estruturada
			2º) Projeto Estruturado
				3º) Análise Estruturada
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 60
Final dos anos 60:
Característica da Análise Estruturada:
	Foco nos dados e a lógica de sua transformação por meio do sistema (DFD) e pequena quantidade de informações relativas aos processos e a funcionalidade requerida no sistema. 
Chris Gane e Trish Sarson
Michael Jacson
Edward Yourdon 
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 70
Modelo Waterfall – Roice, 1970
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 70
Aumento do custo de manutenção (conserto) de SW por fase – 1976
Enfoque quantitativo na construção de Software
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 70
Tendência de aumento do custo do Software em relação 
ao custo do Hardware nas grandes organizações - 1973
Enfoque quantitativo na construção de Software
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 70
70´ – Aparecem os SGBD’s 

1976 
	Peter Shen cria o “Modelo Entidade-Relacionamento” (MER ou DER), inicialmente para se obter uma visão abstrata dos dados. Posteriormente foi usado para modelagem conceitual de BD’s.

 DER  CASE  Geração automática de tabelas
Engenharia 
de
Software
Origens da Modelagem de Software
Década de 80
	80’
Disputa entre as 
“Métodos Focadas no Processo”
Versus
“Métodos Focadas nos Dados”
Engenharia 
de
Software
Origens da Modelagem de Software
Ainda década de 80
’80
	Técnicas de Normalização de dados (3FN)

	Usar modelo conceitual de dados normalizados para comunicar-se com os usuários (modelo de dados – normalizados – como modelo do problema).
Engenharia 
de
Software
Origens da Modelagem de Software
’90 – Técnica de Modelagem OO
Projeto Estruturado e Projeto Orientado a Objetos são visões ortogonais do mesmo fato: PE separa o sistema em módulos e o POO estuda o problema baseado nos objetos existentes no domínio do problema 
Engenharia 
de
Software
Origens da Modelagem de Software
’90 – Técnica de Modelagem OO
Em 96 é criada a UML-Linguagem Unificada de Modelagem. 
Em 1997 é padronizada a versão 1.0 da UML após ser apresentada ao OMG Object Management Group que a adota como padrão de linguagem de modelagem. 
É lançado RUP-Rational Unified Process, como processo de desenvolvimento unificado de software (OO, UML, RUP).
Engenharia 
de
Software
Tendências em Eng.Software
Anos 2000
Se as mudanças são rápidas, adaptabilidade vale mais que repetibilidade
Considere e satisfaça todas as propostas de valor dos stakeholders
Seja rápido, mas não apressado
Anos 2010
Mantenha seu entusiasmo dentro de controle (alguns SI´s serão grandes e complexos)
Tenha uma estratégia (gerencie expectativa e se algo der errado, aceite retroceder)
Engenharia 
de
Software
Tendências em Eng.Software
Pattern-Oriented Software Architecture
POSA I – Um Sistema de Padrões
Padrões de Arquitetura (alto nível)
Padrões de Projetos (nível médio)
Padrões de linguagens (idioms-baixo nível)
POSA II – Padrões para interconectividade e objetos concorrentes
POSA III – Padrões para gerenciamento de recursos
Engenharia 
de
Software
Tendências em Eng.Software
Engenharia de Software
Tema da Aula
A Modelagem e os Métodos em Software
Engenharia 
de
Software
Modelos em Engenharia de Software
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
Engenharia 
de
Software
Modelos em Engenharia de Software
Abstração
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
MODELO DE UM BOLO
Engenharia 
de
Software
Modelos em Engenharia de Software
Abstração
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
Engenharia 
de
Software
Modelos em Engenharia de Software
Ponto de Vista
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
Engenharia 
de
Software
Modelos em Engenharia de Software
Ponto de Vista
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
Engenharia 
de
Software
Modelos em Engenharia de Software
Ponto de Vista
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
Engenharia 
de
Software
Modelos em Engenharia de Software
Nível de abstração (refinamento)
	Um modelo é uma abstração de um objeto ou fenômeno sob um determinado ponto de vista e um certo nível de detalhamento.
Engenharia 
de
Software
Modelos em Engenharia de Software
Princípios da Modelagem
	1- A escolha do tipo de modelo a ser criado tem uma profunda influência sobre como a solução do problema será enfocada e construída.
	2- Qualquer modelo pode ser expresso em diferentes níveis de precisão.
	
UML: User Guide - Booch, Rumbaugh, Jacobson.
Engenharia 
de
Software
Modelos em Engenharia de Software
Princípios da Modelagem
	3- Os melhores modelos são “conectados” (aderentes) à realidade.
	4- Um único modelo não é suficiente. Qualquer sistema não trivial é melhor enfocado com um pequeno conjunto de modelos semi-independentes.
UML: User Guide - Booch, Rumbaugh, Jacobson.
Engenharia 
de
Software
Modelos em Engenharia de Software
A utilidade dos modelos
	Modelar é uma maneira de analisarmos conceitualmente um problema do mundo real usando modelos.
	Quem define um problema, já o resolveu pela metade. Julian Huxley
	Nós construímos modelos para entender melhor um sistema que será desenvolvido.
	Construímos modelos de sistemas complexos porque não conseguimos entendê-los tal como são, na sua totalidade.
Engenharia 
de
Software
Modelos em Engenharia de Software
A utilidade dos modelos
	Modelos são úteis para:
Compreender o problema sob seus diversos aspectos (entendimento).
Representar o ambiente no qual o sistema deverá se inserir.
Desenvolver soluções para o problema (criatividade + método + técnicas + ferramentas).
Engenharia 
de
Software
Modelos em Engenharia de Software
 Autilidade dos modelos
	Modelos são úteis para:
Escolher dentre as possíveis soluções, a mais adequada.
Ensaiar (testar) a solução escolhida (depuração).
Registrar e comunicar o projeto para terceiros (documentação)
Engenharia 
de
Software
Modelos em Engenharia de Software
 A utilidade dos modelos
Atenção
	Modelos são úteis para a especificação dos requisitos já definidos mas não são úteis para a determinação desses requisitos.
	Modelar requer o conhecimento do método de modelagem a ser empregada (sua simbologia e sintaxe), dos procedimentos para sua aplicação e de ferramentas que automatizam a metodologia (se disponíveis).
Engenharia 
de
Software
Modelos em Engenharia de Software
Modelar x Construir
	Uma linguagem de modelagem é uma notação gráfica que os métodos usam para expressar projetos. 	Se restringe à criação e ensaio dos modelos; não é um método de desenvolvimento do produto de software. 
	A transposição do modelo para o produto será feita através do processo de construção de software.
	Ex.: UML – Unified Modeling Language
		RUP – Rational Unified Process 
			(ex-Unified Software Development Process).
Engenharia 
de
Software
Modelos em Engenharia de Software
Modelo de função (DFD, Caso de uso, etc).
Modelo de dados (MER, Dicionário de Dados, etc)
Modelo comportamental (Diagrama de estados, diagrama de seqüência, etc).
Modelo de objetos (Diagrama de classe, de associação, de generalização, etc.)
Modelo de projeto (PERT/CPM, Diagrama de distribuição, etc.)
Modelo para testes (Diagrama Ciclomático, etc)
Modelo de custo (Modelo de Putnam, Modelo ABC, etc)
Engenharia 
de
Software
Métodos em Engenharia de Software
A burocracia dos Métodos
	Métodos: até que ponto são úteis e a partir de onde apenas criam formalismo desnecessário (burocracia) ?
Uniformizam o trabalho;
Aumenta a produtividade (a médio prazo);
Aumenta a qualidade;
Cria sistemas independentes de desenvolvedores;
Permite maior controle sobre o projeto.
Engenharia 
de
Software
Métodos em Engenharia de Software
 A burocracia dos Métodos
	Métodos devem prover rigor sem sacrificar a utilidade e a produtividade. Não deve se transformar numa fábrica de documentos sem utilidade. Como ?
Usar o método apropriado;
Adequá-lo à empresa, ao problema e à equipe;
Implantá-lo adequadamente, com treinamento e com a necessária flexibilidade;
Usar, em cada caso, apenas os modelos que se fizerem necessários.
Engenharia 
de
Software
Métodos em Engenharia de Software
 A burocracia dos Métodos
	Qualquer método é melhor que nenhum !!!
Engenharia 
de
Software
Métodos e Modelos
Lembretes
1 - Durante a entrevista
Engenharia 
de
Software
Métodos e Modelos
Lembretes
2 – Depois.
Engenharia 
de
Software
Métodos e Modelos
Lembretes
3 – Bem depois.
Mas você validou
os diagramas !
Assinei, mas 
não entendi
Engenharia 
de
Software
Sim, o resultado
É excelente, mas
não poderia ser 
mais simples ?
Métodos e Modelos
Lembretes
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
1- Como o analista de requisitos entendeu.
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
2- Como o analista resquisitos especificou.
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
3- Estudo de viabilidade: como foram descritas as vantagens do novo sistema. 
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
4- Como o sistema foi desenvolvido
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
5- Como foi implantado
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
6- Como o usuário “vê” as funcionalidades do novo sistema
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
7- Como o projeto foi documentado.
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
8- Como o cliente foi cobrado. 
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
9- Como o sistema ficou após as manutenções necessárias. 
Engenharia 
de
Software
Métodos e Modelos
Lembretes – Ciclo de Vida e Morte
10- O que o cliente realmente desejava.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Outros materiais