Sie sind auf Seite 1von 41

UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCINCIAS, LETRAS E CINCIAS EXATAS DEPARTAMENTO DE CINCIAS DE COMPUTAO E ESTATSTICA

Prototipao de Software
Engenharia de Software 2o. Semestre de 2005

Slide 1

Prototipao de Software

Desenvolvimento rpido de software para validar os requisitos.

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

Usos de prottipos de sistemas

O principal uso ajudar os clientes e desenvolvedores entender os requisitos para o sistema.


Levantamento de requisitos. Usurios podem experimentar o prottipo para ver como o sistema pode apoiar o seu trabalho Validao de requisitos. O prottipo pode revelar erros e omisses nos requisitos.

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

Processo de desenvolvimento de prottipo


Estabelecer Estabelecer objetivos do objetivos do prottipo prottipo Definir aa Definir funcionalidade funcionalidade do prottipo do prottipo

Desenvolver Desenvolver ooprottipo prottipo

Avaliar oo Avaliar prottipo prottipo

Plano de Plano de prototipao prototipao

Definio Definio geral geral

Prottipo Prottipo executvel executvel

Relatrio Relatrio de avaliao de avaliao

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 no processo de software

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

Sistema entregue Sistema entregue

Prottipo executvel + Prottipo executvel + especificao do sistema especificao do sistema

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

Vantagens da prototipao evolucionria

Rpido fornecimento do sistema


Em alguns casos, o rpido fornecimento e a facilidade de uso so mais importantes do que os detalhes de funcionalidade ou a facilidade de manuteno de software a longo prazo. O envolvimento do usurio com o sistema significa maior possibilidade de atender aos seus requisitos e um maior empenho para que o sistema funcione de acordo.

Compromisso do usurio com o sistema

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 com prototipao evolucionria

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

Prottipos como especificaes

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

Um processo de desenvolvimento incremental


Definir entregas Definir entregas de sistema de sistema

Projetar arquitetura Projetar arquitetura de sistema de sistema

Especificar Especificar aumento do sistema aumento do sistema

Construir Construir aumento do sistema aumento do sistema

Validar Validar aumento aumento

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

Processo de software com prototipao descartvel


Esboar Esboar requisitos requisitos Desenvolver Desenvolver prottipo prottipo Avaliar Avaliar prottipo prottipo Especificar Especificar sistema sistema

Componentes reutilizveis
Sistema de Sistema de software software entregue entregue

Desenvolver Desenvolver software software

Validar Validar sistema sistema

Slide 22

Prottipos descartveis liberveis

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

Tcnicas de prototipao rpida

Vrias tcnicas podem ser usadas para o desenvolvimento de prottipos


Desenvolvimento com linguagem dinmica de alto nvel Programao de banco de dados Montagem de componentes e aplicaes

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

Linguagens dinmicas de altonvel


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

Linguagens de alto nvel para prototipao


Linguagem Smaltalk Java Prolog LISP Tipo Orientada a objetos Orientada a objetos Lgica Com base em listas Domnio de aplicao Sistemas interativos Sistemas interativos Processamento simblico Processamento simblico

Slide 26

Escolha da linguagem de prototipao


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 de programao de banco de dados

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

Componentes de linguagens de quarta gerao


Gerador de Gerador de interface interface Linguagem de Linguagem de programao de programao de BD BD Sistema de gerenciamento de dados Sistema de gerenciamento de dados Planilha de Planilha de clculo clculo Gerador de Gerador de relatrio relatrio

Linguagem de quarta gerao

Slide 29

Montagem de componentes e aplicaes

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

Prototipao com reuso

Desenvolvimento a nvel de aplicaes


Sistemas inteiros so integrados com o prottipo , de modo que sua funcionalidade pode ser compartilhada. Por exemplo, se a capacidade de edio de texto necessria, um sistema padro de edio de texto pode ser integrado. Componentes individuais so integrados dentro de um framework-padro a fim de implementar o sistema Framework pode ser uma linguagem de scripting (Visual Basic ou Perl) ou um framework de integrao (CORBA ou JavaBeans)

Desenvolvimento a nvel de componentes


Slide 31

Composio de componentes reutilizveis


Componentes Componentes de software de software reutilizveis reutilizveis Framework de Framework de composio de composio de componentes componentes

Prottipo Prottipo Executvel Executvel

Cdigo de controle Cdigo de controle eeintegrao integrao

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

Processador de texto Word processor

Planilha de clculo Spreadsheet

Reprodutor de udio Audio player

Slide 34

Programao Visual com Reuso

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

Programao visual com reuso


Date component Hypertext display component

File

Edit

Views

Layout

Options

Help General Index

12th January 2000 Range checking script 3.876

Draw canvas component

User prompt component + script

Tree display component

Slide 36

Problemas com o desenvolvimento visual

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

Prototipao de interface com o usurio

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

Das könnte Ihnen auch gefallen