Analista de Sistemas S. J. Rio Preto



Documentos relacionados
Prof. Ms. Ronaldo Martins da Costa

Prototipagem e Cenários. Veja antes, decida depois

Componentes de SIs. Pessoas Organiz. Tecnologia

INSTITUTO FEDERAL DE SÃO PAULO CAMPUS PRESIDENTE EPITÁCIO MODELO DOS PROCESSOS DE SOFTWARE

Modelo Espiral. Criação do(s) protótipos(s) Formulação de questões. Teste Avaliação Conclusão

As técnicas de concepção

Interface Homem Computador (IHC)

Protótipo: um brinquedo valioso

Prototipação. Projeto de Interface Homem-Máquina. Prof. Esp. MBA Heuber G. F. Lima

ENGENHARIA DE USABILIDADE E INTERFACES

Professor Emiliano S. Monteiro

Processos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1

Princípios da Engenharia de Software aula 03

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA º PERÍODO - 7º MÓDULO AVALIAÇÃO A1 DATA 10/09/2009 ENGENHARIA DE USABILIDADE

Processo de Desenvolvimento. Edjandir Corrêa Costa

Faculdade de Tecnologia SENAC Pelotas Interface Homem Computador 3º Semestre

Processos de software

Análise de Sistemas Aula 4

CICLO DE VIDA DE SOFTWARE

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

Tutorial da ferramenta de prototipação Pencil Project (Versão resumida) Prof. Moacyr Franco Neto

PDS. Aula 1.5 Modelos de Processo. Prof. Dr. Bruno Moreno

Engenharia de Usabilidade

14/11/2014. Engenharia de Software. Modelos de software. Modelo Clássico - Cascata

Aula 5. Ciclo de Vida Espiral; Requisitos Funcionais e não Funcionais; Técnica de Requisitos.

Da interação para a interface. INF1403 Introdução à Interação Humano-Computador Prof. Alberto Raposo

Cadeira: Análise de Sistemas

Processos de Software

Engenharia de Software

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE

Teste de Software. Professor Maurício Archanjo Nunes Coelho

Sistemas de Informação

ENGENHARIA DE SOFTWARE. Aula 03 Processos de Software

Interfaces Pessoa. Prototipagem. Máquina. Cap. 7 - Prototipagem

Especificação Formal de Software

Modelos de Ciclo de Vida

CRITÉRIOS DA USABILIDADE Um auxílio à qualidade do software

Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS. Nome:

Engenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves

Capítulo 2 - Processos de Software

Análise e Projeto de Sistemas

CICLO DE VIDA DO SOFTWARE. Nas empresas também é difícil adotar apenas um ciclo de vida, na maioria das vezes possui mais de um.

Unidade II MODELAGEM DE PROCESSOS. Profa. Gislaine Stachissini

4/14/11. Processos de Engenharia de Requisitos. Engenharia de requisitos. Elicitação e análise. A espiral de requisitos

Análise de Requisitos

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Conceitos avançados de programação. Módulo 8 Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos

Ciclo de vida do software

Prof. Luiz A. Nascimento

Interacção com o Utilizador. 7. Prototipagem. Nuno Miguel Gil Fonseca

contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

INTRODUÇÃO A ENGENHARIA DE SOFTWARE

Estudo do Ambiente de Programação Arduino Software (IDE) com Intel Galileo Gen2. Apostila de acompanhamento para o aluno.

Design de IHC. Capítulo 7. Barbosa e Silva Adaptado por Luciana Mara e Thiago Vilela

Ferramentas CASE. CASE fornece ao engenheiro de software a habilidade de automatizar atividades manuais e de aperfeiçoar o conhecimento de engenharia.

CAPÍTULO 1 O AMBIENTE DE DESENVOLVIMENTO DE SISTEMAS. Tereza Gonçalves Kirner

Processos de Software

Levantamento, Análise e Gestão Requisitos. Aula 02

05/09/2013. Ciclo de vida de um Sistema de Informação

Linguagem de Programação I Prof. Tiago Eugenio de Melo.

ENGENHARIA DE REQUISITOS

PDS. Aula 1.6 Modelos de Processo. Prof. Dr. Bruno Moreno

Ainda que muitos modelos sejam semelhantes entre os modelos de ciclo de vida, existem alguns aspectos que os diferenciam:

Analista de Sistemas S. J. Rio Preto

Engenharia Software. Ení Berbert Camilo Contaiffer

Aula 2 Processo de Software

Introdução à Interface Pessoa-Máquina

Especialização Apps para a Internet em Visual Studio 2017 EDIÇÕES 2017 RIO TINTO

Perguntas da Aula 2. Respostas da Pergunta 2. Respostas da Pergunta 1. Respostas da Pergunta 4. Respostas da Pergunta 3. Processos de Software

Ciclo de vida: fases x atividades

Técnicas de Engenharia de Requisitos

Engenharia de Software. Processos. Desenvolvimento de Software Tradicionais 2014/2. Prof. Luís Fernando Garcia

15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software

Ao ser aberto, o Expression Blend 3 + SketchFlow disponibiliza três opções:

TCC - LagarLottery. Desenvolvimento de um software para jogadores de loterias. Aluno: Euclides Pinheiro de Melo

Desenvolvimento Java com ferramentas IBM

RAD Rapid Application Development

Paradigmas da Engenharia de Software AULA PROF. ABRAHAO LOPES

- Prototipação Iterativa - Observação Direta

Introdução à Interface Pessoa-Máquina

Manutenção Leitura: Sommerville; Pressman

Analista de Sistemas S. J. Rio Preto

Engenharia de Requisitos

Desenvolvimento de Projetos

Engenharia de Software

Curso Especializado de UX

Modelos de Processo de Software. Profª Jocelma Rios

Engenharia de Software. Princípios da Engenharia de Software. Princípios da Engenharia de Software

Projeto Integrador. <Projeto Integrador> Documento Visão. Versão <1.0>

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Prototipagem Digital 3D no contexto do ensino do Design. Seu Papel na Fase Conceptual de Desenvolvimento de Produtos Industriais ÍNDICE

Modelos de Ciclo de Vida (Parte 1)

MODELAGEM DE SISTEMAS Unidade 1 Conceitos Básicos de Modelagem. Luiz Leão

Software Para Geração de Consultas e Relatórios

Introdução. Conteúdo. Usabilidade. Engenharia de software X Usabilidade. Benefícios. Introdução. Introdução. Introdução. Introdução.

Transcrição:

Modelo Cliclo de Vida Prototipação Prototipação é uma abordagem baseada numa visão evolutiva do desenvolvimento de software, afetando o processo como um todo. Esta abordagem envolve a produção de versões iniciais - protótipos (análogo a maquetes para a arquitetura) - de um sistema futuro com o qual pode-se realizar verificações e experimentações para se avaliar algumas de suas qualidades antes que o sistema venha realmente a ser construído. Quando usar? Cliente com objetivos gerais sem detalhes; Desenvolvedor não tem certeza da eficiência de um algoritmo; Interação homem-máquina pode não ser aceita pelo cliente. O que gerar como protótipo? Navegação de telas; Subconjunto de funcionalidade existente no sistema; Toda a funcionalidade existente que será melhorada em um novo esforço de desenvolvimento. Desvantagens O cliente vê a versão em funcionamento e exige alguns acertos para colocar logo em uso; A codificação utilizada para apresentar o protótipo pode no final ser a definitiva; O descartamento do protótipo pode ser visto com perda de tempo para o cliente

Ferramentas de Prototipagem Origem: Wikipédia, a enciclopédia livre. Ir para: navegação, pesquisa Prototipagem de Software é um processo interativo de geração de modelos de software que faz parte da análise do ciclo de vida do desenvolvimento de sistemas. É a atividade de desenvolvimento de uma versão inicial do sistema baseada no atendimento dos requisitos ainda pouco definidos, permitindo a descoberta de falhas difíceis de serem encontradas na comunicação verbal. Um processo que propõe a criação de um protótipo de software objetiva apoiar a fase levantamento de requisitos a fim de prevenir as possíveis falhas no sistema. Um protótipo simula a aparência e funcionalidade do software permitindo que os clientes, analistas, desenvolvedores e gerentes percebam os requisitos do sistema podendo interagir, avaliar, alterar e aprovar as características mais marcantes na interface e funções. Os protótipos podem ser evolutivos ou descartáveis. Na prototipagem evolutiva o sistema surge de evoluções refinadas dos protótipos enquanto um protótipo descartável é usado para descobrir problemas nos requisitos e depois é abandonado. Dentre algumas vantagens da Prototipação está a redução de custos no desenvolvimento; participação do usuário no processo de desenvolvimento; facilidade de operação do sistema, uma vez que, os usuários sabem o que esperar através do protótipo; resultados na satisfação mais elevada do usuário; diminuição de equívocos entre usuários e desenvolvedores; esclarecimento de alguns requisitos confusos. Algumas desvantagens no uso de protótipos são: a condução a uma análise insuficiente do software; os usuários esperam um desempenho do software final igual ao do protótipo; os clientes podem tornar-se unidos demais a seus protótipos. As Ferramentas de Prototipagem são utilizadas por muitas empresas durante o processo de prototipação. Algumas utilizam esquemas em papel na análise inicial, para facilitar um feedback concreto dos usuários, e depois desenvolvem um protótipo operacional utilizando sistemas específicos, como ferramentas de construção de ícones, e as técnicas e linguagens de 4ª Geração (4GL). Técnicas de reuso também podem ser empregadas em fases oportunas. O IDE - Integrated Development Environment ou Ambiente de Desenvolvimento Integrado também pode ser utilizado para a geração de protótipos. O IDE é um programa com características e ferramentas que apoiam o desenvolvimento de software. As linguagens de programação interagem com um ambiente de suporte, os IDE s, permitindo a geração de protótipos. Os IDE s permitem que as telas sejam montadas facilmente clicando e arrastando os componentes ao formulário, assim é possível compilar o projeto na linguagem suportada pela IDE e gerar um protótipo desejado. Essas características de programação visual são heranças da maioria das ferramentas de desenvolvimento de protótipos. Ferramentas utilizadas na geração de protótipos de software 1. Visual Fox Pro Sistema de desenvolvimento de Banco de Dados para rápida criação de aplicações desktop. [1] 2. Eclipse - O eclipse (IDE) é uma ferramenta openssource que agrega a plataforma de desenvolvimento geradores de códigos Java. O interessante do eclipse são seus Plugins, através deles o eclipse pode gerar ainda códigos Python e C/C++. [2]

3. Visual Studio.NET É uma solução da Microsotf que gera código para Framework.NET, suportando linguagens Visual Basic.NET, C#, C++, e J#.[3] 4. IBM VisualAge Generator - Um ambiente de desenvolvimento de aplicativo rápido para e-business Há diversas opções para fazer protótipos de sistemas de software. As técnicas variam consoante os custos e o esforço investido para a realização do protótipo e também pela fidelidade e generalidade dos resultados. Abaixo estão as técnicas de prototipagem mais usuais para a prática da engenharia de usabilidade: Storyboard Protótipo em papel Feiticeiro de Oz Máquina de Cenários Prototipagem rápida Prototipagem evolutiva Storyboarding Esta técnica utiliza a especificação através de imagens para descrever certas situações. Fortemente ligado à técnica de cenários, o storyboarding pode actuar de forma conjunta com estes. Entretanto, pela sua forma de descrição, os cenários são mais adequados à análise de tarefas, enquanto o storyboarding se encaixa melhor na validação do formato visual destes cenários e elaboração de protótipos não operacionais. Protótipo em papel É certamente o método mais simples a utilizar; apenas com o material existente num escritório é possível fazer um esboço de uma aplicação, isto é, com papel (ou post-it ) lápis e caneta pode criar-se caixas de diálogo, menus, mensagens de erro, Assim que parte do sistema esteja esquematizado, pede-se aos potenciais utilizadores que testem o protótipo, interagindo com a interface em papel. Além disso, caso algo não esteja correcto e se queira mudar, é extremamente fácil de se (re)fazer. Feiticeiro de Oz Uma pessoa (wizard) simula as respostas do sistema de acordo com as entradas do utilizador, pela seguinte ordem: Interpreta os inputs de um utilizador segundo um algoritmo Controla computador para simular o output desejado Usa a interface real ou um mock-up A técnica do Feiticeiro de Oz ou Wizard of Oz é utilizado para simular a adição de funcionalidades complexas e também para testar ideias futuristas. Máquina de cenários O protótipo traduz-se, apenas, por alguns ecrãs que sustentam uma quantidade considerável de informação sobre se e como é que o desenho do sistema vai de encontro com os objectivos e as expectativas do utilizador; a máquina de cenários

inclui ainda alguma programação em lógica que permite que os utilizadores possam navegar através de uma sequência predefinida de cenários. Prototipagem rápida É usada para reduzir os riscos dos requisitos. O protótipo é desenvolvido a partir de uma especificação inicial, é entregue/dado a conhecer aos clientes finais e aos responsáveis pelo projecto e depois é "deixado de lado". Um protótipo rápido nunca deve ser considerado como uma versão (quase) final do sistema, pois a prototipagem rápida é pouco estruturada e difícil de manter do início ao final do projecto. Prototipagem evolutiva O principal ponto aqui é adquirir funcionalidade para demonstrar uma parte do sistema ao utilizador final, de modo a que algum feedback seja conseguido do lado do cliente. [11] À medida que o sistema vai sendo desenvolvido, diversas funcionalidades são adicionadas ao protótipo e traduzidas numa eficiente implementação. No final, o sistema vai estar pronto no seu todo. Perigos da prototipagem A técnica de prototipagem na identificação de requisitos pode nem sempre ser benéfica. Algumas empresas e/ou organizações podem encarar os protótipos como sendo inimigos seus. A adaptação ao protótipo, a eficiência de utilização, a aplicabilidade e o comportamento dos potenciais utilizadores e também dos clientes que estão a comprar um sistema de software pode ter um impacto negativo. Se a maqueta do sistema for construída sem cuidado especial, pode ser que esta resolva, teoricamente, o problema errado, ou seja, aparentemente o protótipo pode parecer muito bom e estar muito bem feito, mas na realidade não ir ao encontro das necessidades base dos potenciais utilizadores. Para além disso, o facto de um protótipo dar a conhecer apenas algumas peças do puzzle, pode levar a que se menosprezem partes fundamentais do sistema, tornandose incompleto. Saltar passos fundamentais no desenho de um software pode conduzir à primeira solução (mais fácil e simples) em vez de nos levar à melhor solução. A prototipagem tem ainda outro problema que deve ser levado em conta: se for demasiado perfeito e permitir que o utilizador navegue pelo sistema já com um grau de profundidade elevado, pode levar a que o cliente pense que o projecto já está praticamente pronto, desvalorizando assim a quantidade de trabalho ainda por realizar. Conclusão Concluindo, o processo de prototipagem pode ser muito eficaz, mas também ter custos de produção elevados e ocupar uma quantidade de tempo exagerada. Todos estes pontos devem ser bem medidos tanto pelos engenheiros de software que estão à frente de qualquer projecto como também pela parte dos clientes. Já muito tem sido escrito sobre as melhores práticas para o desenvolvimento de aplicações de software, mas o que é certo é que não existe a melhor maneira. Há diversas formas de encarar a realidade tecnológica e a criação de novos sistemas de software não é excepção. Tanto a prototipagem como os requisitos são necessários. O uso do método de tentativa-erro no processo de análise e síntese na Engenharia de Software é cada vez mais usado. Bottom-up é síntese. Top-down é análise.

Bottom-up é prototipagem. Top-down é desenvolvimento de requisitos. A prototipagem facilita a comunicação entre o cliente e o responsável pelo desenho da aplicação. A escrita formal dos requisitos do sistema de software é necessária para estabelecer uma definição clara do projecto, permitindo controlar as alterações que vão sendo efectuadas ao longo de todo o processo e facilitando a comunicação entre o cliente e o gestor do projecto.