SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Slide 1
UNIVERSIDADE ESTADUAL PAULISTA
INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS
DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA
Prototipação de Software
Engenharia de Software
2o. Semestre de 2005
Slide 2
Prototipação de Software
● Desenvolvimento rápido de software para
validar os requisitos.
Slide 3
Objetivos
● Compreender o papel da prototipação em
diferentes tipos de projetos de desenvolvimento.
● Discutir a prototipação evolucionária e a
prototipação descartável.
● Introduzir três diferentes técnicas de
prototipação.
● Explicar a técnica de prototipação no
desenvolvimento de interface com o usuário
Slide 4
Tópicos abordados
● Prototipação no processo de software
● Técnicas de prototipação rápida
● Prototipação de interface com o usuário
Slide 5
Prototipação de sistema
● Prototipação é o desenvolvimento rápido de um
sistema.
● No passado, protótipo tinha a finalidade
exclusiva de avaliar os requisitos, assim o
desenvolvimento tradicional era necessário.
● Atualmente , os limites entre a prototipação e o
desenvolvimento normal do sistema, muitas
vezes, são indefinidos e muitos sistemas são
desenvolvidos usando uma abordagem
evolucionária.
Slide 6
Usos de protótipos de sistemas
● O principal uso é ajudar os clientes e
desenvolvedores entender os requisitos para o
sistema.
• Levantamento de requisitos. Usuários podem experimentar o
protótipo para ver como o sistema pode apoiar o seu trabalho
• Validação de requisitos. O protótipo pode revelar erros e
omissões nos requisitos.
● A prototipação pode ser considerada como uma
atividade de redução de riscos que reduz os
riscos nos requisitos.
Slide 7
Benefícios da prototipação
● Equívocos entre os usuários de software e
desenvolvedores são expostos.
● Serviços esquecidos podem ser detectados e
serviços confusos podem ser identificados.
● Um sistema funcionando está disponível nos
primeiros estágios no processo de
desenvolvimento.
● O protótipo pode servir como uma base para
derivar uma especificação do sistema com
qualidade de produção.
● O protótipo pode ser usado para treinamento do
usuário e teste de sistema.
Slide 8
Processo de desenvolvimento de
protótipo
Estabelecer
objetivos do
protótipo
Estabelecer
objetivos do
protótipo
Definir a
funcionalidade
do protótipo
Definir a
funcionalidade
do protótipo
Desenvolver
o protótipo
Desenvolver
o protótipo
Avaliar o
protótipo
Avaliar o
protótipo
Definição
geral
Definição
geral
Plano de
prototipação
Plano de
prototipação
Protótipo
executável
Protótipo
executável
Relatório
de avaliação
Relatório
de avaliação
Slide 9
Benefícios da prototipação
● Melhoria na facilidade de uso do sistema;
● Maior aproximação do sistema com as
necessidades dos usuários;
● Melhoria da qualidade do projeto;
● Melhoria na facilidade de manutenção, e
● Redução no esforço de desenvolvimento
Slide 10
Prototipação no processo de
software
● Prototipação evolucionária
• Uma abordagem para o desenvolvimento do sistema onde um
protótipo inicial é produzido e refinado através de vários
estágios até atingir o sistema final.
● Prototipação descartável
• Um protótipo o qual é usualmente uma implementação prática
do sistema é produzida para ajudar a levantar os problemas
com os requisitos e depois descartado. O sistema é então
desenvolvido usando algum outro processo de
desenvolvimento.
Slide 11
Objetivos da prototipação
● O objetivo da prototipação evolucionária é
fornecer aos usuários finais um sistema
funcinando. O desenvolvimento começa com
aqueles requisitos que são melhores
compreendidos.
● O objetivo da prototipação descartável é validar
ou derivar os requisitos do sistema. O processo
de prototipação começa com aqueles requisitos
que não são bem compreendidos.
Slide 12
Abordagens de prototipação
Prototipação
evolucionária
Prototipação
evolucionária Sistema entregueSistema entregue
Esboçar
requisitos
Esboçar
requisitos
Prototipação
descartável
Prototipação
descartável
Protótipo executável +
especificação do sistema
Protótipo executável +
especificação do sistema
Slide 13
Prototipação evolucionária
● Deve ser usada para sistemas onde a
especificação não pode ser desenvolvida à priori,
como por exemplo, os sistema de IA e os
sistemas de interface com o usuário
● Baseada em técnicas que permitem interações
rápidas para o desenvolvimento de aplicações.
● Verificação é impossível uma vez que não exise
especificação. A validação significa demonstrar a
adequação do sistema.
Slide 14
Prototipação evolucionária
Desenvolver
especificação abstrata
Desenvolver
especificação abstrata
Construir sistema
protótipo
Construir sistema
protótipo
Utilizar
sistema protótipo
Utilizar
sistema protótipo
Entregar
sistema
Entregar
sistema
Sisema
adequado
NÃO
SIM
Slide 15
Vantagens da prototipação
evolucionária
● Rápido fornecimento do sistema
• Em alguns casos, o rápido fornecimento e a facilidade de uso
são mais importantes do que os detalhes de funcionalidade ou
a facilidade de manutenção de software a longo prazo.
● Compromisso do usuário com o sistema
• O envolvimento do usuário com o sistema significa maior
possibilidade de atender aos seus requisitos e um maior
empenho para que o sistema funcione de acordo.
Slide 16
Prototipação Evolucionária
● O processo de especificação, projeto e
implementação são intercalados.
● O sistema é desenvolvido em uma série de
estágios que são entregues ao cliente.
● Técnicas para o desenvolvimento rápido de
sistemas, tais como ferramentas CASE e
linguagens de 4a. Geração, são utilizadas.
● As interfaces com o usuário do sistema são
usualmente desenvolvidas utilizando-se um
sistema de desenvolvimento interativo (Lote de
ferramentas GUI)
Slide 17
Problemas com prototipação
evolucionária
● Problemas de gerenciamento
• Processos de gerenciamento existentes assumem o modelo de
desenvolvimento cascata.
• Habilidades especialistas são necessárias e podem não estar
disponível na equipe de desenvolvimento
● Problemas de manutenção
• A continuidade de mudanças tende a corromper a estrutura do
protótipo do sistema, assim a manutenção a longo prazo pode
ser cara.
● Problemas contratuais
• Os contratos são, geralmente, estabelecidos baseados em uma
especificação completa do software.
Slide 18
Protótipos como especificações
● Algumas partes dos requisitos (por ex. funções
críticas com relação à segurança) são difíceis de
aparecerem em protótipos, assim acabam não
aparecendo na especificação.
● Uma implementação não tem valor legal de
contrato.
● Requisitos não funcionais não podem ser
testados adequadamente em um protótipo do
sistema.
Slide 19
Desenvolvimento incremental
● O sistema é desenvolvido e liberado em incrementos
após estabelecer uma arquitetura global.
● Requisitos e especificações para cada incremento
podem ser desenvolvidos.
● Usuários podem avaliar os incrementos liberados
enquanto outros estão sendo desenvolvidos. Portanto,
esse serve como uma forma de sistema protótipo.
● O desenvolvimento incremental combina as vantagens
da prototipação evolucionária com um processo de
desenvolvimento mais fácil de ser gerenciado e uma
melhor estruturação do sistema.
Slide 20
Um processo de desenvolvimento
incremental
Definir entregas
de sistema
Definir entregas
de sistema
Projetar arquitetura
de sistema
Projetar arquitetura
de sistema
Sistema
completoEntregar
sistema final
Entregar
sistema final
Especificar
aumento do sistema
Especificar
aumento do sistema
Construir
aumento do sistema
Construir
aumento do sistema
Validar
aumento
Validar
aumento
NÃO
Integrar
aumento
Integrar
aumento
Validar
sistema
Validar
sistema
SIM
Slide 21
Prototipação descartável
● Usada para reduzir os riscos com os requisitos.
● O protótipo é desenvolvido de uma especificação
inicial, entregue para avaliação e então
descartado.
● O protótipo descartável NÃO deve ser
considerado como um sistema final.
• Características importantes podem ter sido excluídas do
protótipo.
• Não existe especificação para manutenção futura
• O sistema será mal estruturado e difícil de manter.
Slide 22
Processo de software com
prototipação descartável
Esboçar
requisitos
Esboçar
requisitos
Desenvolver
software
Desenvolver
software
Desenvolver
protótipo
Desenvolver
protótipo
Avaliar
protótipo
Avaliar
protótipo
Especificar
sistema
Especificar
sistema
Validar
sistema
Validar
sistema
Sistema de
software
entregue
Sistema de
software
entregue
Componentes
reutilizáveis
Slide 23
Protótipos descartáveis liberáveis
● Desenvolvedores podem ser pressionados a
entregar um protótipo descartável como um
produto final
● Isso não é recomendado
• Pode ser impossível ajustar o protótipo para atender os
requisitos não funcionais.
• O protótipo é inevitavelmente não documentado e isso é ruim
para a manutenção a longo prazo.
• A s mudanças feitas durante o desenvolvimento do protótipo
provavelmente terão degradado a estrutura do sistema.
• Os padrões de qualidade organizacional são, normalmente,
deixados de lado no desenvolvimento do protótipo.
Slide 24
Técnicas de prototipação rápida
● Várias técnicas podem ser usadas para o
desenvolvimento de protótipos
• Desenvolvimento com linguagem dinâmica de alto nível
• Programação de banco de dados
• Montagem de componentes e aplicações
● Essas técnicas não são exclusivas - são muitas
vezes utilizadas em conjunto.
● Programação visual é uma parte inerente da
maioria dos sistemas de desenvolvimento de
protótipos.
Slide 25
Linguagens dinâmicas de alto-
nível
● São linguagens que incluem poderosos recursos
de gerenciamento de dados em run-time.
● Necessitam de um grande sistema de suporte de
run-time. Assim, não eram largamente usadas
para o desenvolvimento de grandes sistemas.
● Algumas linguagens oferecem excelentes
facilidades de desenvolvimento de interface com
o usuário
● Algumas linguagens tem um ambiente de
suporte integrado cujas faciliades podem ser
usadas no protótipo.
Slide 26
Linguagens de alto nível para
prototipação
Linguagem Tipo Domínio de
aplicação
Smaltalk Orientada a
objetos
Sistemas
interativos
Java Orientada a
objetos
Sistemas
interativos
Prolog Lógica Processamento
simbólico
LISP Com base em
listas
Processamento
simbólico
Slide 27
Escolha da linguagem de
prototipação
● Qual é o domínio de aplicação do problema?
● Que tipo de interação com o usuário é
necessário?
● Qual ambiente de suporte vem com a
linguagem?
● Diferentes partes do sistema podem ser
programados em diferentes linguagens.
Contudo, pode haver problemas com a
comunicação entre as linguagens.
Slide 28
Linguagens de programação de
banco de dados
● Linguagens específicas ao domínio de sistemas de
negócios que envolve a manipulação de dados a partir
de um banco de dados.
● Normalmente inclui uma linguagem de consulta de banco
de dados, um gerador de interface, um gerador de
relatórios e uma planilha de cálculos.
● A linguagem + ambiente é conhecido como uma
linguagem de quarta geração (4GL)
● São adequadas para sistemas de negócios de tamanho
pequeno ou médio.
Slide 29
Componentes de linguagens de
quarta geração
Gerador de
interface
Gerador de
interface
Planilha de
cálculo
Planilha de
cálculo
Linguagem de
programação de
BD
Linguagem de
programação de
BD
Sistema de gerenciamento de dadosSistema de gerenciamento de dados
Gerador de
relatório
Gerador de
relatório
Linguagem de quarta geração
Slide 30
Montagem de componentes e
aplicações
● Protótipos podem ser construídos rapidamente
através de um conjunto de componentes
reutilizáveis e um mecanismo para compor esses
componentes.
● O mecanismo de composição deve incluir
facilidades de controle e um mecanismo para
comunicação de componentes.
● A prototipação com componentes reutilizáveis
envolve desenvolver uma especificação que leva
em conta a disponibilidade e funcionalidade de
componentes existentes.
Slide 31
Prototipação com reuso
● Desenvolvimento a nível de aplicações
• Sistemas inteiros são integrados com o protótipo , de modo que
sua funcionalidade pode ser compartilhada.
• Por exemplo, se a capacidade de edição de texto é necessária,
um sistema padrão de edição de texto pode ser integrado.
● Desenvolvimento a nível de componentes
• Componentes individuais são integrados dentro de um
framework-padrão a fim de implementar o sistema
• Framework pode ser uma linguagem de scripting (Visual Basic
ou Perl) ou um framework de integração (CORBA ou
JavaBeans)
Slide 32
Composição de componentes
reutilizáveis
Componentes
de software
reutilizáveis
Componentes
de software
reutilizáveis
Framework de
composição de
componentes
Framework de
composição de
componentes
Protótipo
Executável
Protótipo
Executável
Código de controle
e integração
Código de controle
e integração
Slide 33
Documentos compostos
● Para algumas aplicações, um protótipo pode ser criado
por desenvolver um documento composto.
● Isso é um documento com elementos ativos (tal como
uma planilha de cálculo) que permite funcionalidade ao
usuário.
● Cada elemento ativo está associado a um aplicativo, que
é chamado quando aquele elemento é selecionado.
● O próprio documento é o integrador para diferentes
aplicações.
Slide 34
Vinculação de aplicativos.
Compound document
Word processor Spreadsheet Audio player
Text 1 Text 2 Text 3
Text 4 Text 5
Table 1
Table 2
Sound 1
Sound 2
Planilha de cálculoProcessador de texto Reprodutor de áudio
Slide 35
Programação Visual com Reuso
● Linguagens de scripting como o visual basic
apoiam a programação visual, onde o protótipo é
desenvolvido através da criação de interface
com o usuário a partir de itens padrões (telas,
campos, botões e menus) e a associação de
componentes à esses itens.
● Uma grande biblioteca de componentes existe
para suportar esse tipo de desenvolvimento.
Slide 36
Programação visual com reuso
File Edit Views Layout Options Help
General
Index
Hypertext
display componentDate component
Range checking
script
Tree display
component
12th January 2000
3.876
Draw canvas
component
User prompt
component +
script
Slide 37
Problemas com o desenvolvimento
visual
● Dificuldade de coordenar desenvolvimento em
equipe.
● Não existe uma arquitetura explícita do sistema.
● Dependências complexas entre partes do
programa podem causar problemas com a
manutenção do sistema.
Slide 38
Prototipação de interface com o
usuário
● Os projetistas não devem opinar a respeito de uma
interface com o usuário que seja aceitável. A
prototipação é essencial nesse caso.
● O desenvolvimento de IU consome uma parte
substancial dos custos de desenvolvimento de
aplicações.
● Os geradores de interface podem ser utilizados para
projetar a interface e sua funcionalidade pode ser obtida
através de componentes associados com as entidades
da interface. (menus, campos, botões, etc.)
● Interfaces web podem ser prototipadas através do uso de
um editor de páginas web.
Slide 39
Pontos-chave
● Um protótipo de sistema pode ser usado para dar aos
usuários finais uma impressão concreta das capacidades
desse sistema.
● A prototipação está se tornando cada vez mais comum
para o desenvolvimento de sistema onde o
desenvolvimento rápido é essencial.
● Protótipos descartáveis são usados para a compreensão
dos requisitos do sistema.
● Na prototipação evolucionária, o sistema é desenvolvido
pela evolução de uma versão inicial em uma versão final
do sistema.
Slide 40
Pontos-chave
● O desenvolvimento rápido é importante na prototipação
de sistemas. Isso pode levar à exclusão de algumas
funcionalidades do sistema ou na diminuição dos
requisitos não funcionais.
● Entre as técnicas de prototipação estão o uso de
linguagens de nível muito elevado, a programação de
bando de dados e a construção de protótipos a partir de
componentes reutilizáveis.
● A prototipação é essencial para o desenvolvimento de
interfaces com o usuário, as quais são difíceis de serem
especificadas usando um modelo estático. Os usuários
deveriam estar envolvidos na avaliação e na evolução do
protótipo.
Slide 41

Mais conteúdo relacionado

Mais procurados

O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareCamilo de Melo
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...Janynne Gomes
 
Ciclo de vida de software
Ciclo de vida de software Ciclo de vida de software
Ciclo de vida de software caricati
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
 
Modelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareModelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareBruno Bitencourt Luiz
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalRuan Carvalho
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
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
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágilClaudia Melo
 

Mais procurados (20)

O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Teste de software
Teste de softwareTeste de software
Teste de software
 
Engenharia de software - Prototipo
Engenharia de software - PrototipoEngenharia de software - Prototipo
Engenharia de software - Prototipo
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...AULA 1 - CONCEITOS GERAIS  APLICADOS NO CICLO DE VIDA  DO SOFTWARE E MODELOS ...
AULA 1 - CONCEITOS GERAIS APLICADOS NO CICLO DE VIDA DO SOFTWARE E MODELOS ...
 
Ciclo de vida de software
Ciclo de vida de software Ciclo de vida de software
Ciclo de vida de software
 
Modelos de Processo de Software
Modelos de Processo de SoftwareModelos de Processo de Software
Modelos de Processo de Software
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
Modelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de SoftwareModelo V - Desenvolvimento de Software
Modelo V - Desenvolvimento de Software
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-Incremental
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Modelo Espiral
Modelo EspiralModelo Espiral
Modelo Espiral
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
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
 
Gerência de configuração ágil
Gerência de configuração ágilGerência de configuração ágil
Gerência de configuração ágil
 

Destaque

Derecho Civil - Personas
Derecho Civil - PersonasDerecho Civil - Personas
Derecho Civil - PersonasOscar Ayazo
 
UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...
UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...
UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...dr Gordana Colovic
 
اكسيل كارت الاستخدام السريع لحساب الارباح و الوارد و المنصرف لاصحاب الاعمال ...
اكسيل كارت الاستخدام السريع لحساب  الارباح و الوارد و المنصرف لاصحاب الاعمال ...اكسيل كارت الاستخدام السريع لحساب  الارباح و الوارد و المنصرف لاصحاب الاعمال ...
اكسيل كارت الاستخدام السريع لحساب الارباح و الوارد و المنصرف لاصحاب الاعمال ...Ahmed Farahat
 
Tecnologías de información en la sociedad
Tecnologías de información en la sociedadTecnologías de información en la sociedad
Tecnologías de información en la sociedadKarenVerano
 
Sociología Jurídica
Sociología JurídicaSociología Jurídica
Sociología JurídicaOscar Ayazo
 
Antología de ejercicios para trabajar la redacción de textos. Parte 1
Antología de ejercicios para trabajar la redacción de textos. Parte 1Antología de ejercicios para trabajar la redacción de textos. Parte 1
Antología de ejercicios para trabajar la redacción de textos. Parte 1Esperanza Sosa Meza
 
Agile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter SitesAgile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter SitesDuc Therry
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basicsDwayne McDaniel
 
NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)Nanhe Singh
 
Every project is a story applying storytelling to your client interactions (1)
Every project is a story  applying storytelling to your client interactions (1)Every project is a story  applying storytelling to your client interactions (1)
Every project is a story applying storytelling to your client interactions (1)Dwayne McDaniel
 
Fictionalised biopics –
Fictionalised biopics –Fictionalised biopics –
Fictionalised biopics –lukedan33
 
BADCamp 2012- Drupal Support
BADCamp 2012- Drupal SupportBADCamp 2012- Drupal Support
BADCamp 2012- Drupal Supportmeghsweet
 
Sand camp beginner drupal development
Sand camp beginner drupal developmentSand camp beginner drupal development
Sand camp beginner drupal developmentmeghsweet
 
Ejercicio 9 carta
Ejercicio 9 cartaEjercicio 9 carta
Ejercicio 9 cartaaitoor1234
 

Destaque (20)

Derecho Civil - Personas
Derecho Civil - PersonasDerecho Civil - Personas
Derecho Civil - Personas
 
UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...
UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...
UNAPREĐENJE MENADŽMENTA POSLOVNIH SISTEMA U TEKSTILNOJ INDUSTRIJI KROZ SISTEM...
 
اكسيل كارت الاستخدام السريع لحساب الارباح و الوارد و المنصرف لاصحاب الاعمال ...
اكسيل كارت الاستخدام السريع لحساب  الارباح و الوارد و المنصرف لاصحاب الاعمال ...اكسيل كارت الاستخدام السريع لحساب  الارباح و الوارد و المنصرف لاصحاب الاعمال ...
اكسيل كارت الاستخدام السريع لحساب الارباح و الوارد و المنصرف لاصحاب الاعمال ...
 
Tecnologías de información en la sociedad
Tecnologías de información en la sociedadTecnologías de información en la sociedad
Tecnologías de información en la sociedad
 
Sociología Jurídica
Sociología JurídicaSociología Jurídica
Sociología Jurídica
 
Algunos campos de la Ingenieria
Algunos campos de la IngenieriaAlgunos campos de la Ingenieria
Algunos campos de la Ingenieria
 
Mixmag all
Mixmag allMixmag all
Mixmag all
 
Apps fitness
Apps fitnessApps fitness
Apps fitness
 
Antología de ejercicios para trabajar la redacción de textos. Parte 1
Antología de ejercicios para trabajar la redacción de textos. Parte 1Antología de ejercicios para trabajar la redacción de textos. Parte 1
Antología de ejercicios para trabajar la redacción de textos. Parte 1
 
Derecho sucesoral
Derecho sucesoralDerecho sucesoral
Derecho sucesoral
 
Media (5)
Media (5)Media (5)
Media (5)
 
Agile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter SitesAgile Site built on the top of Oracle WebCenter Sites
Agile Site built on the top of Oracle WebCenter Sites
 
Wp cli- intro and basics
Wp cli- intro and basicsWp cli- intro and basics
Wp cli- intro and basics
 
NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)NANHE_KUMAR_SINGH-1 (1)
NANHE_KUMAR_SINGH-1 (1)
 
Every project is a story applying storytelling to your client interactions (1)
Every project is a story  applying storytelling to your client interactions (1)Every project is a story  applying storytelling to your client interactions (1)
Every project is a story applying storytelling to your client interactions (1)
 
RdF - Unitranche
RdF - UnitrancheRdF - Unitranche
RdF - Unitranche
 
Fictionalised biopics –
Fictionalised biopics –Fictionalised biopics –
Fictionalised biopics –
 
BADCamp 2012- Drupal Support
BADCamp 2012- Drupal SupportBADCamp 2012- Drupal Support
BADCamp 2012- Drupal Support
 
Sand camp beginner drupal development
Sand camp beginner drupal developmentSand camp beginner drupal development
Sand camp beginner drupal development
 
Ejercicio 9 carta
Ejercicio 9 cartaEjercicio 9 carta
Ejercicio 9 carta
 

Semelhante a Captulo 8 prototipacao

FES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFChico2
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
Aula 2 modelo de processo de software1
Aula 2   modelo de processo de software1Aula 2   modelo de processo de software1
Aula 2 modelo de processo de software1Tiago Vizoto
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppCloves da Rocha
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Cláudio Amaral
 
Aula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfAula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfFChico2
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IJoão Lourenço
 
aula7 software ciclo de vida analise req
aula7 software ciclo de vida analise reqaula7 software ciclo de vida analise req
aula7 software ciclo de vida analise reqpatriciaalipiosilva
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Aula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptxAula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptxAlexandreLisboadaSil
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimentoGabriel Moura
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfJadna Almeida
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Softwaregabriel-colman
 
ESP204 - Cap. 2 - Processos.pdf
ESP204 - Cap. 2 - Processos.pdfESP204 - Cap. 2 - Processos.pdf
ESP204 - Cap. 2 - Processos.pdfAndreLisboa13
 

Semelhante a Captulo 8 prototipacao (20)

FES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdfFES_SENAIPR_Processos.pdf
FES_SENAIPR_Processos.pdf
 
Trabalho es prototipagem
Trabalho es   prototipagemTrabalho es   prototipagem
Trabalho es prototipagem
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Aula 2 modelo de processo de software1
Aula 2   modelo de processo de software1Aula 2   modelo de processo de software1
Aula 2 modelo de processo de software1
 
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile AppAula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
 
Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002Projeto de Sistemas - Aula002
Projeto de Sistemas - Aula002
 
ES4.ppt
ES4.pptES4.ppt
ES4.ppt
 
Aula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdfAula 3 - Processos de Software.pdf
Aula 3 - Processos de Software.pdf
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Aula 3
Aula 3Aula 3
Aula 3
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
Introdução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade IIntrodução a Testes de Software - Unidade I
Introdução a Testes de Software - Unidade I
 
aula7 software ciclo de vida analise req
aula7 software ciclo de vida analise reqaula7 software ciclo de vida analise req
aula7 software ciclo de vida analise req
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
Aula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptxAula 7 - Ciclo de vida do software.pptx
Aula 7 - Ciclo de vida do software.pptx
 
Analise e desenvolvimento
Analise e desenvolvimentoAnalise e desenvolvimento
Analise e desenvolvimento
 
Aula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdfAula 01 e 02 - Engenharia de Software.pdf
Aula 01 e 02 - Engenharia de Software.pdf
 
Engenharia de Software: Processos de Software
Engenharia de Software: Processos de SoftwareEngenharia de Software: Processos de Software
Engenharia de Software: Processos de Software
 
ESP204 - Cap. 2 - Processos.pdf
ESP204 - Cap. 2 - Processos.pdfESP204 - Cap. 2 - Processos.pdf
ESP204 - Cap. 2 - Processos.pdf
 

Captulo 8 prototipacao

  • 1. Slide 1 UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Prototipação de Software Engenharia de Software 2o. Semestre de 2005
  • 2. Slide 2 Prototipação de Software ● Desenvolvimento rápido de software para validar os requisitos.
  • 3. Slide 3 Objetivos ● Compreender o papel da prototipação em diferentes tipos de projetos de desenvolvimento. ● Discutir a prototipação evolucionária e a prototipação descartável. ● Introduzir três diferentes técnicas de prototipação. ● Explicar a técnica de prototipação no desenvolvimento de interface com o usuário
  • 4. Slide 4 Tópicos abordados ● Prototipação no processo de software ● Técnicas de prototipação rápida ● Prototipação de interface com o usuário
  • 5. Slide 5 Prototipação de sistema ● Prototipação é o desenvolvimento rápido de um sistema. ● No passado, protótipo tinha a finalidade exclusiva de avaliar os requisitos, assim o desenvolvimento tradicional era necessário. ● Atualmente , os limites entre a prototipação e o desenvolvimento normal do sistema, muitas vezes, são indefinidos e muitos sistemas são desenvolvidos usando uma abordagem evolucionária.
  • 6. Slide 6 Usos de protótipos de sistemas ● O principal uso é ajudar os clientes e desenvolvedores entender os requisitos para o sistema. • Levantamento de requisitos. Usuários podem experimentar o protótipo para ver como o sistema pode apoiar o seu trabalho • Validação de requisitos. O protótipo pode revelar erros e omissões nos requisitos. ● A prototipação pode ser considerada como uma atividade de redução de riscos que reduz os riscos nos requisitos.
  • 7. Slide 7 Benefícios da prototipação ● Equívocos entre os usuários de software e desenvolvedores são expostos. ● Serviços esquecidos podem ser detectados e serviços confusos podem ser identificados. ● Um sistema funcionando está disponível nos primeiros estágios no processo de desenvolvimento. ● O protótipo pode servir como uma base para derivar uma especificação do sistema com qualidade de produção. ● O protótipo pode ser usado para treinamento do usuário e teste de sistema.
  • 8. Slide 8 Processo de desenvolvimento de protótipo Estabelecer objetivos do protótipo Estabelecer objetivos do protótipo Definir a funcionalidade do protótipo Definir a funcionalidade do protótipo Desenvolver o protótipo Desenvolver o protótipo Avaliar o protótipo Avaliar o protótipo Definição geral Definição geral Plano de prototipação Plano de prototipação Protótipo executável Protótipo executável Relatório de avaliação Relatório de avaliação
  • 9. Slide 9 Benefícios da prototipação ● Melhoria na facilidade de uso do sistema; ● Maior aproximação do sistema com as necessidades dos usuários; ● Melhoria da qualidade do projeto; ● Melhoria na facilidade de manutenção, e ● Redução no esforço de desenvolvimento
  • 10. Slide 10 Prototipação no processo de software ● Prototipação evolucionária • Uma abordagem para o desenvolvimento do sistema onde um protótipo inicial é produzido e refinado através de vários estágios até atingir o sistema final. ● Prototipação descartável • Um protótipo o qual é usualmente uma implementação prática do sistema é produzida para ajudar a levantar os problemas com os requisitos e depois descartado. O sistema é então desenvolvido usando algum outro processo de desenvolvimento.
  • 11. Slide 11 Objetivos da prototipação ● O objetivo da prototipação evolucionária é fornecer aos usuários finais um sistema funcinando. O desenvolvimento começa com aqueles requisitos que são melhores compreendidos. ● O objetivo da prototipação descartável é validar ou derivar os requisitos do sistema. O processo de prototipação começa com aqueles requisitos que não são bem compreendidos.
  • 12. Slide 12 Abordagens de prototipação Prototipação evolucionária Prototipação evolucionária Sistema entregueSistema entregue Esboçar requisitos Esboçar requisitos Prototipação descartável Prototipação descartável Protótipo executável + especificação do sistema Protótipo executável + especificação do sistema
  • 13. Slide 13 Prototipação evolucionária ● Deve ser usada para sistemas onde a especificação não pode ser desenvolvida à priori, como por exemplo, os sistema de IA e os sistemas de interface com o usuário ● Baseada em técnicas que permitem interações rápidas para o desenvolvimento de aplicações. ● Verificação é impossível uma vez que não exise especificação. A validação significa demonstrar a adequação do sistema.
  • 14. Slide 14 Prototipação evolucionária Desenvolver especificação abstrata Desenvolver especificação abstrata Construir sistema protótipo Construir sistema protótipo Utilizar sistema protótipo Utilizar sistema protótipo Entregar sistema Entregar sistema Sisema adequado NÃO SIM
  • 15. Slide 15 Vantagens da prototipação evolucionária ● Rápido fornecimento do sistema • Em alguns casos, o rápido fornecimento e a facilidade de uso são mais importantes do que os detalhes de funcionalidade ou a facilidade de manutenção de software a longo prazo. ● Compromisso do usuário com o sistema • O envolvimento do usuário com o sistema significa maior possibilidade de atender aos seus requisitos e um maior empenho para que o sistema funcione de acordo.
  • 16. Slide 16 Prototipação Evolucionária ● O processo de especificação, projeto e implementação são intercalados. ● O sistema é desenvolvido em uma série de estágios que são entregues ao cliente. ● Técnicas para o desenvolvimento rápido de sistemas, tais como ferramentas CASE e linguagens de 4a. Geração, são utilizadas. ● As interfaces com o usuário do sistema são usualmente desenvolvidas utilizando-se um sistema de desenvolvimento interativo (Lote de ferramentas GUI)
  • 17. Slide 17 Problemas com prototipação evolucionária ● Problemas de gerenciamento • Processos de gerenciamento existentes assumem o modelo de desenvolvimento cascata. • Habilidades especialistas são necessárias e podem não estar disponível na equipe de desenvolvimento ● Problemas de manutenção • A continuidade de mudanças tende a corromper a estrutura do protótipo do sistema, assim a manutenção a longo prazo pode ser cara. ● Problemas contratuais • Os contratos são, geralmente, estabelecidos baseados em uma especificação completa do software.
  • 18. Slide 18 Protótipos como especificações ● Algumas partes dos requisitos (por ex. funções críticas com relação à segurança) são difíceis de aparecerem em protótipos, assim acabam não aparecendo na especificação. ● Uma implementação não tem valor legal de contrato. ● Requisitos não funcionais não podem ser testados adequadamente em um protótipo do sistema.
  • 19. Slide 19 Desenvolvimento incremental ● O sistema é desenvolvido e liberado em incrementos após estabelecer uma arquitetura global. ● Requisitos e especificações para cada incremento podem ser desenvolvidos. ● Usuários podem avaliar os incrementos liberados enquanto outros estão sendo desenvolvidos. Portanto, esse serve como uma forma de sistema protótipo. ● O desenvolvimento incremental combina as vantagens da prototipação evolucionária com um processo de desenvolvimento mais fácil de ser gerenciado e uma melhor estruturação do sistema.
  • 20. Slide 20 Um processo de desenvolvimento incremental Definir entregas de sistema Definir entregas de sistema Projetar arquitetura de sistema Projetar arquitetura de sistema Sistema completoEntregar sistema final Entregar sistema final Especificar aumento do sistema Especificar aumento do sistema Construir aumento do sistema Construir aumento do sistema Validar aumento Validar aumento NÃO Integrar aumento Integrar aumento Validar sistema Validar sistema SIM
  • 21. Slide 21 Prototipação descartável ● Usada para reduzir os riscos com os requisitos. ● O protótipo é desenvolvido de uma especificação inicial, entregue para avaliação e então descartado. ● O protótipo descartável NÃO deve ser considerado como um sistema final. • Características importantes podem ter sido excluídas do protótipo. • Não existe especificação para manutenção futura • O sistema será mal estruturado e difícil de manter.
  • 22. Slide 22 Processo de software com prototipação descartável Esboçar requisitos Esboçar requisitos Desenvolver software Desenvolver software Desenvolver protótipo Desenvolver protótipo Avaliar protótipo Avaliar protótipo Especificar sistema Especificar sistema Validar sistema Validar sistema Sistema de software entregue Sistema de software entregue Componentes reutilizáveis
  • 23. Slide 23 Protótipos descartáveis liberáveis ● Desenvolvedores podem ser pressionados a entregar um protótipo descartável como um produto final ● Isso não é recomendado • Pode ser impossível ajustar o protótipo para atender os requisitos não funcionais. • O protótipo é inevitavelmente não documentado e isso é ruim para a manutenção a longo prazo. • A s mudanças feitas durante o desenvolvimento do protótipo provavelmente terão degradado a estrutura do sistema. • Os padrões de qualidade organizacional são, normalmente, deixados de lado no desenvolvimento do protótipo.
  • 24. Slide 24 Técnicas de prototipação rápida ● Várias técnicas podem ser usadas para o desenvolvimento de protótipos • Desenvolvimento com linguagem dinâmica de alto nível • Programação de banco de dados • Montagem de componentes e aplicações ● Essas técnicas não são exclusivas - são muitas vezes utilizadas em conjunto. ● Programação visual é uma parte inerente da maioria dos sistemas de desenvolvimento de protótipos.
  • 25. Slide 25 Linguagens dinâmicas de alto- nível ● São linguagens que incluem poderosos recursos de gerenciamento de dados em run-time. ● Necessitam de um grande sistema de suporte de run-time. Assim, não eram largamente usadas para o desenvolvimento de grandes sistemas. ● Algumas linguagens oferecem excelentes facilidades de desenvolvimento de interface com o usuário ● Algumas linguagens tem um ambiente de suporte integrado cujas faciliades podem ser usadas no protótipo.
  • 26. Slide 26 Linguagens de alto nível para prototipação Linguagem Tipo Domínio de aplicação Smaltalk Orientada a objetos Sistemas interativos Java Orientada a objetos Sistemas interativos Prolog Lógica Processamento simbólico LISP Com base em listas Processamento simbólico
  • 27. Slide 27 Escolha da linguagem de prototipação ● Qual é o domínio de aplicação do problema? ● Que tipo de interação com o usuário é necessário? ● Qual ambiente de suporte vem com a linguagem? ● Diferentes partes do sistema podem ser programados em diferentes linguagens. Contudo, pode haver problemas com a comunicação entre as linguagens.
  • 28. Slide 28 Linguagens de programação de banco de dados ● Linguagens específicas ao domínio de sistemas de negócios que envolve a manipulação de dados a partir de um banco de dados. ● Normalmente inclui uma linguagem de consulta de banco de dados, um gerador de interface, um gerador de relatórios e uma planilha de cálculos. ● A linguagem + ambiente é conhecido como uma linguagem de quarta geração (4GL) ● São adequadas para sistemas de negócios de tamanho pequeno ou médio.
  • 29. Slide 29 Componentes de linguagens de quarta geração Gerador de interface Gerador de interface Planilha de cálculo Planilha de cálculo Linguagem de programação de BD Linguagem de programação de BD Sistema de gerenciamento de dadosSistema de gerenciamento de dados Gerador de relatório Gerador de relatório Linguagem de quarta geração
  • 30. Slide 30 Montagem de componentes e aplicações ● Protótipos podem ser construídos rapidamente através de um conjunto de componentes reutilizáveis e um mecanismo para compor esses componentes. ● O mecanismo de composição deve incluir facilidades de controle e um mecanismo para comunicação de componentes. ● A prototipação com componentes reutilizáveis envolve desenvolver uma especificação que leva em conta a disponibilidade e funcionalidade de componentes existentes.
  • 31. Slide 31 Prototipação com reuso ● Desenvolvimento a nível de aplicações • Sistemas inteiros são integrados com o protótipo , de modo que sua funcionalidade pode ser compartilhada. • Por exemplo, se a capacidade de edição de texto é necessária, um sistema padrão de edição de texto pode ser integrado. ● Desenvolvimento a nível de componentes • Componentes individuais são integrados dentro de um framework-padrão a fim de implementar o sistema • Framework pode ser uma linguagem de scripting (Visual Basic ou Perl) ou um framework de integração (CORBA ou JavaBeans)
  • 32. Slide 32 Composição de componentes reutilizáveis Componentes de software reutilizáveis Componentes de software reutilizáveis Framework de composição de componentes Framework de composição de componentes Protótipo Executável Protótipo Executável Código de controle e integração Código de controle e integração
  • 33. Slide 33 Documentos compostos ● Para algumas aplicações, um protótipo pode ser criado por desenvolver um documento composto. ● Isso é um documento com elementos ativos (tal como uma planilha de cálculo) que permite funcionalidade ao usuário. ● Cada elemento ativo está associado a um aplicativo, que é chamado quando aquele elemento é selecionado. ● O próprio documento é o integrador para diferentes aplicações.
  • 34. Slide 34 Vinculação de aplicativos. Compound document Word processor Spreadsheet Audio player Text 1 Text 2 Text 3 Text 4 Text 5 Table 1 Table 2 Sound 1 Sound 2 Planilha de cálculoProcessador de texto Reprodutor de áudio
  • 35. Slide 35 Programação Visual com Reuso ● Linguagens de scripting como o visual basic apoiam a programação visual, onde o protótipo é desenvolvido através da criação de interface com o usuário a partir de itens padrões (telas, campos, botões e menus) e a associação de componentes à esses itens. ● Uma grande biblioteca de componentes existe para suportar esse tipo de desenvolvimento.
  • 36. Slide 36 Programação visual com reuso File Edit Views Layout Options Help General Index Hypertext display componentDate component Range checking script Tree display component 12th January 2000 3.876 Draw canvas component User prompt component + script
  • 37. Slide 37 Problemas com o desenvolvimento visual ● Dificuldade de coordenar desenvolvimento em equipe. ● Não existe uma arquitetura explícita do sistema. ● Dependências complexas entre partes do programa podem causar problemas com a manutenção do sistema.
  • 38. Slide 38 Prototipação de interface com o usuário ● Os projetistas não devem opinar a respeito de uma interface com o usuário que seja aceitável. A prototipação é essencial nesse caso. ● O desenvolvimento de IU consome uma parte substancial dos custos de desenvolvimento de aplicações. ● Os geradores de interface podem ser utilizados para projetar a interface e sua funcionalidade pode ser obtida através de componentes associados com as entidades da interface. (menus, campos, botões, etc.) ● Interfaces web podem ser prototipadas através do uso de um editor de páginas web.
  • 39. Slide 39 Pontos-chave ● Um protótipo de sistema pode ser usado para dar aos usuários finais uma impressão concreta das capacidades desse sistema. ● A prototipação está se tornando cada vez mais comum para o desenvolvimento de sistema onde o desenvolvimento rápido é essencial. ● Protótipos descartáveis são usados para a compreensão dos requisitos do sistema. ● Na prototipação evolucionária, o sistema é desenvolvido pela evolução de uma versão inicial em uma versão final do sistema.
  • 40. Slide 40 Pontos-chave ● O desenvolvimento rápido é importante na prototipação de sistemas. Isso pode levar à exclusão de algumas funcionalidades do sistema ou na diminuição dos requisitos não funcionais. ● Entre as técnicas de prototipação estão o uso de linguagens de nível muito elevado, a programação de bando de dados e a construção de protótipos a partir de componentes reutilizáveis. ● A prototipação é essencial para o desenvolvimento de interfaces com o usuário, as quais são difíceis de serem especificadas usando um modelo estático. Os usuários deveriam estar envolvidos na avaliação e na evolução do protótipo.