Beruflich Dokumente
Kultur Dokumente
Prototipao de Software
Engenharia de Software 2o. Semestre de 2005
Slide 1
Prototipao de Software
Slide 2
Objetivos
Compreender o papel da prototipao em diferentes tipos de projetos de desenvolvimento. Discutir a prototipao evolucionria e a prototipao descartvel. Introduzir trs diferentes tcnicas de prototipao. Explicar a tcnica de prototipao no desenvolvimento de interface com o usurio
Slide 3
Tpicos abordados
Prototipao no processo de software Tcnicas de prototipao rpida Prototipao de interface com o usurio
Slide 4
Prototipao de sistema
Prototipao o desenvolvimento rpido de um sistema. No passado, prottipo tinha a finalidade exclusiva de avaliar os requisitos, assim o desenvolvimento tradicional era necessrio. Atualmente , os limites entre a prototipao e o desenvolvimento normal do sistema, muitas vezes, so indefinidos e muitos sistemas so desenvolvidos usando uma abordagem evolucionria.
Slide 5
A prototipao pode ser considerada como uma atividade de reduo de riscos que reduz os riscos nos requisitos.
Slide 6
Benefcios da prototipao
Equvocos entre os usurios de software e desenvolvedores so expostos. Servios esquecidos podem ser detectados e servios confusos podem ser identificados. Um sistema funcionando est disponvel nos primeiros estgios no processo de desenvolvimento. O prottipo pode servir como uma base para derivar uma especificao do sistema com qualidade de produo. O prottipo pode ser usado para treinamento do usurio e teste de sistema.
Slide 7
Slide 8
Benefcios da prototipao
Melhoria na facilidade de uso do sistema; Maior aproximao do sistema com as necessidades dos usurios; Melhoria da qualidade do projeto; Melhoria na facilidade de manuteno, e Reduo no esforo de desenvolvimento
Slide 9
Prototipao evolucionria
Uma abordagem para o desenvolvimento do sistema onde um prottipo inicial produzido e refinado atravs de vrios estgios at atingir o sistema final. Um prottipo o qual usualmente uma implementao prtica do sistema produzida para ajudar a levantar os problemas com os requisitos e depois descartado. O sistema ento desenvolvido usando algum outro processo de desenvolvimento.
Prototipao descartvel
Slide 10
Objetivos da prototipao
O objetivo da prototipao evolucionria fornecer aos usurios finais um sistema funcinando. O desenvolvimento comea com aqueles requisitos que so melhores compreendidos. O objetivo da prototipao descartvel validar ou derivar os requisitos do sistema. O processo de prototipao comea com aqueles requisitos que no so bem compreendidos.
Slide 11
Abordagens de prototipao
Prototipao Prototipao evolucionria evolucionria Esboar Esboar requisitos requisitos Prototipao Prototipao descartvel descartvel
Slide 12
Prototipao evolucionria
Deve ser usada para sistemas onde a especificao no pode ser desenvolvida priori, como por exemplo, os sistema de IA e os sistemas de interface com o usurio Baseada em tcnicas que permitem interaes rpidas para o desenvolvimento de aplicaes. Verificao impossvel uma vez que no exise especificao. A validao significa demonstrar a adequao do sistema.
Slide 13
Prototipao evolucionria
Desenvolver Desenvolver especificao abstrata especificao abstrata Construir sistema Construir sistema prottipo prottipo Utilizar Utilizar sistema prottipo sistema prottipo
NO SIM
Entregar Entregar sistema sistema Sisema adequado
Slide 14
Slide 15
Prototipao Evolucionria
O processo de especificao, projeto e implementao so intercalados. O sistema desenvolvido em uma srie de estgios que so entregues ao cliente. Tcnicas para o desenvolvimento rpido de sistemas, tais como ferramentas CASE e linguagens de 4a. Gerao, so utilizadas. As interfaces com o usurio do sistema so usualmente desenvolvidas utilizando-se um sistema de desenvolvimento interativo (Lote de ferramentas GUI) Slide 16
Problemas de gerenciamento
Processos de gerenciamento existentes assumem o modelo de desenvolvimento cascata. Habilidades especialistas so necessrias e podem no estar disponvel na equipe de desenvolvimento A continuidade de mudanas tende a corromper a estrutura do prottipo do sistema, assim a manuteno a longo prazo pode ser cara. Os contratos so, geralmente, estabelecidos baseados em uma especificao completa do software.
Problemas de manuteno
Problemas contratuais
Slide 17
Algumas partes dos requisitos (por ex. funes crticas com relao segurana) so difceis de aparecerem em prottipos, assim acabam no aparecendo na especificao. Uma implementao no tem valor legal de contrato. Requisitos no funcionais no podem ser testados adequadamente em um prottipo do sistema.
Slide 18
Desenvolvimento incremental
O sistema desenvolvido e liberado em incrementos aps estabelecer uma arquitetura global. Requisitos e especificaes para cada incremento podem ser desenvolvidos. Usurios podem avaliar os incrementos liberados enquanto outros esto sendo desenvolvidos. Portanto, esse serve como uma forma de sistema prottipo. O desenvolvimento incremental combina as vantagens da prototipao evolucionria com um processo de desenvolvimento mais fcil de ser gerenciado e uma melhor estruturao do sistema.
Slide 19
NO
Entregar Entregar sistema final sistema final Sistema completo Validar Validar sistema sistema Integrar Integrar aumento aumento
SIM
Slide 20
Prototipao descartvel
Usada para reduzir os riscos com os requisitos. O prottipo desenvolvido de uma especificao inicial, entregue para avaliao e ento descartado. O prottipo descartvel NO deve ser considerado como um sistema final.
Caractersticas importantes podem ter sido excludas do prottipo. No existe especificao para manuteno futura O sistema ser mal estruturado e difcil de manter.
Slide 21
Componentes reutilizveis
Sistema de Sistema de software software entregue entregue
Slide 22
Desenvolvedores podem ser pressionados a entregar um prottipo descartvel como um produto final Isso no recomendado
Pode ser impossvel ajustar o prottipo para atender os requisitos no funcionais. O prottipo inevitavelmente no documentado e isso ruim para a manuteno a longo prazo. A s mudanas feitas durante o desenvolvimento do prottipo provavelmente tero degradado a estrutura do sistema. Os padres de qualidade organizacional so, normalmente, deixados de lado no desenvolvimento do prottipo.
Slide 23
Essas tcnicas no so exclusivas - so muitas vezes utilizadas em conjunto. Programao visual uma parte inerente da maioria dos sistemas de desenvolvimento de prottipos.
Slide 24
So linguagens que incluem poderosos recursos de gerenciamento de dados em run-time. Necessitam de um grande sistema de suporte de run-time. Assim, no eram largamente usadas para o desenvolvimento de grandes sistemas. Algumas linguagens oferecem excelentes facilidades de desenvolvimento de interface com o usurio Algumas linguagens tem um ambiente de suporte integrado cujas faciliades podem ser usadas no prottipo.
Slide 25
Slide 26
Qual o domnio de aplicao do problema? Que tipo de interao com o usurio necessrio? Qual ambiente de suporte vem com a linguagem? Diferentes partes do sistema podem ser programados em diferentes linguagens. Contudo, pode haver problemas com a comunicao entre as linguagens.
Slide 27
Linguagens especficas ao domnio de sistemas de negcios que envolve a manipulao 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 relatrios e uma planilha de clculos. A linguagem + ambiente conhecido como uma linguagem de quarta gerao (4GL) So adequadas para sistemas de negcios de tamanho pequeno ou mdio.
Slide 28
Slide 29
Prottipos podem ser construdos rapidamente atravs de um conjunto de componentes reutilizveis e um mecanismo para compor esses componentes. O mecanismo de composio deve incluir facilidades de controle e um mecanismo para comunicao de componentes. A prototipao com componentes reutilizveis envolve desenvolver uma especificao que leva em conta a disponibilidade e funcionalidade de componentes existentes.
Slide 30
Slide 31
Slide 32
Documentos compostos
Para algumas aplicaes, um prottipo pode ser criado por desenvolver um documento composto. Isso um documento com elementos ativos (tal como uma planilha de clculo) que permite funcionalidade ao usurio. Cada elemento ativo est associado a um aplicativo, que chamado quando aquele elemento selecionado. O prprio documento o integrador para diferentes aplicaes.
Slide 33
Vinculao de aplicativos.
Compound document Text 1 Table 1 Text 2 Text 3 Sound 1
Table 2
Text 4
Sound 2
Text 5
Slide 34
Linguagens de scripting como o visual basic apoiam a programao visual, onde o prottipo desenvolvido atravs da criao de interface com o usurio a partir de itens padres (telas, campos, botes e menus) e a associao de componentes esses itens. Uma grande biblioteca de componentes existe para suportar esse tipo de desenvolvimento.
Slide 35
File
Edit
Views
Layout
Options
Slide 36
Dificuldade de coordenar desenvolvimento em equipe. No existe uma arquitetura explcita do sistema. Dependncias complexas entre partes do programa podem causar problemas com a manuteno do sistema.
Slide 37
Os projetistas no devem opinar a respeito de uma interface com o usurio que seja aceitvel. A prototipao essencial nesse caso. O desenvolvimento de IU consome uma parte substancial dos custos de desenvolvimento de aplicaes. Os geradores de interface podem ser utilizados para projetar a interface e sua funcionalidade pode ser obtida atravs de componentes associados com as entidades da interface. (menus, campos, botes, etc.) Interfaces web podem ser prototipadas atravs do uso de um editor de pginas web.
Slide 38
Pontos-chave
Um prottipo de sistema pode ser usado para dar aos usurios finais uma impresso concreta das capacidades desse sistema. A prototipao est se tornando cada vez mais comum para o desenvolvimento de sistema onde o desenvolvimento rpido essencial. Prottipos descartveis so usados para a compreenso dos requisitos do sistema. Na prototipao evolucionria, o sistema desenvolvido pela evoluo de uma verso inicial em uma verso final do sistema.
Slide 39
Pontos-chave
O desenvolvimento rpido importante na prototipao de sistemas. Isso pode levar excluso de algumas funcionalidades do sistema ou na diminuio dos requisitos no funcionais. Entre as tcnicas de prototipao esto o uso de linguagens de nvel muito elevado, a programao de bando de dados e a construo de prottipos a partir de componentes reutilizveis. A prototipao essencial para o desenvolvimento de interfaces com o usurio, as quais so difceis de serem especificadas usando um modelo esttico. Os usurios deveriam estar envolvidos na avaliao e na evoluo do prottipo.
Slide 40
Slide 41