Desenvolvimento de sistemas de informação: diferenças entre revisões
Sem resumo de edição |
Sem resumo de edição |
||
(Há 5 edições intermédias do mesmo utilizador que não estão a ser apresentadas) | |||
Linha 1: | Linha 1: | ||
== Desenvolvimento à medida ou por pacotes == | O desenvolvimento é uma [[Fases_de_um_sistema_de_informação| fase de um sistema de informação]]. | ||
== Desenvolvimento à medida ou por pacotes ⌘ == | |||
Existem duas abordagens principais distintas para o desenvolvimento de sistemas de informação: | Existem duas abordagens principais distintas para o desenvolvimento de sistemas de informação: | ||
Linha 13: | Linha 15: | ||
== | == Modelos para o desenvolvimento de SI ⌘ == | ||
Existem diversos modelos para o desenvolvimento de Sistemas de Informação: | |||
* Modelo Waterfall | |||
* Modelo em Espiral|Modelo em Espiral | |||
* Modelo Agile | |||
Cada modelo compreende um conjunto particular de fases que, com mais ou menos variações, procuram cumprir o mesmo objetivo: desenvolver e construir sistemas de informação capazes de suprir as necessidades dos seus utilizadores. | |||
===Modelo Waterfall ⌘ === | |||
[[Ficheiro:Cascata.jpg|thumb|400px|''Fonte:[http://arquivo.devmedia.com.br/REVISTAS/easyjava/imagens/31/1/1.png Google Images]'']] | |||
O modelo waterfall (ou "em cascata") é um modelo de desenvolvimento de software/sistemas de informação sequencial, isto é, no qual as fases se sucedem umas às outras de forma constante (como o fluir de uma cascata): | |||
# Análise de requisitos; | |||
# Projeto; | |||
# Implementação; | |||
# Testes (validação); | |||
# Integração; | |||
# Manutenção de software. | |||
Neste modelo, a passagem de uma fase para a seguinte é puramente sequencial. Isto significa que só se inicia uma nova fase quando a anterior está completa. Por isto, é considerado rígido - não permite voltar atrás numa fase para fazer melhoramentos (uma fase só é terminada quando considerada "perfeita") - e monolítico - não inclui a participação dos utilizadores no processo. | |||
Mais ainda, as métricas utilizadas nas estimativas de tempo e recursos são imprecisas, levando a que, quase sempre, o planeamento das atividades tenha que ser revisto. No entanto, devido à sua rigidez, o modelo em cascata não permite os reajustes necessários, causando o não cumprimento dos prazos estipulados inicialmente. | |||
===Modelo em Espiral ⌘=== | |||
[[Ficheiro:Espiral.gif|thumb|600px|''Fonte: [http://voat.com.br/rdal/wp-content/uploads/2010/07/c2_5.gif Google Images]'']] | |||
O modelo em espiral é um modelo de desenvolvimento de software/sistemas de informação cíclico onde, em cada ciclo, existem fases de avaliação e planeamento. | |||
<blockquote>''Este modelo foi desenvolvido para abranger as melhores características tanto do ciclo de vida clássico como da prototipação, acrescentando, ao mesmo tempo, um novo elemento - a análise de riscos - que falta a esses paradigmas.'' <small>Em [http://www.cin.ufpe.br/~cadcn/files/Monitoria/Monitoria%20-%20Gradua%E7%E3o/material%20de%20apoio/esperial.pdf Modelo em Espiral]</small></blockquote> | |||
Existem diferentes variações do modelo, sendo que todos compreendem entre três e seis tarefas/setores que incluem: | |||
* Comunicação com o cliente; | |||
* Planeamento; | |||
* Análise de risco; | |||
* Engenharia; | |||
* Construção e liberação; | |||
* Avaliação do cliente. | |||
<blockquote>''A dimensão radial representa o custo acumulado actualizado e a dimensão angular representa o progresso através da espiral. Cada sector da espiral corresponde a uma tarefa (fase) do desenvolvimento.'' <small>Em [http://www.cin.ufpe.br/~cadcn/files/Monitoria/Monitoria%20-%20Gradua%E7%E3o/material%20de%20apoio/esperial.pdf Modelo em Espiral]</small></blockquote> | |||
Ao contrário do modelo em cascata, este é flexível e inclui a participação dos utilizadores durante todo o processo. É uma abordagem mais realista e evolutiva. | |||
===Modelo Agile ⌘=== | |||
[[Ficheiro:Agile.jpg|thumb|400px|''Fonte: [http://dijore.files.wordpress.com/2013/11/iterative.jpg Google Images]'']] | |||
O modelo agile é um modelo de desenvolvimento de software/sistemas de informação que tem como objetivo minimizar o risco através do desenvolvimento em janelas de tempo pequenas, chamadas de '''iterações'''. | |||
Cada iteração é um "mini-projeto" que inclui todas as fases necessárias à criação de novo software: | |||
* Planeamento; | |||
* Análise de Requisitos; | |||
* Projeto; | |||
* Codificação; | |||
* Teste; | |||
* Documentação. | |||
Para cada iteração, que tem uma duração típica de 1 a 4 semanas, é, então, lançada uma versão do SI. | |||
Na criação de novo software, então, devem estar envolvidas todas as pessoas necessárias ao desenvolvimento do SI, nomeadamente: os programadores, os clientes, os projetistas, os responsáveis pela realização dos testes, etc. | |||
Este método dá uma grande importância à comunicação presencial, desenfatizando o papel da comunicação escrita. Consequentemente, o modelo agile dá origem a pouca documentação, o que pode ser visto como um ponto negativo, uma vez que a criação de documentação pode ser muito útil em iterações futuras ou novos projetos de desenvolvimento. | |||
== Recursos para o Desenvolvimento de Sistemas de Informação ⌘== | |||
* '''Técnicas''': | * '''Técnicas''': | ||
Linha 35: | Linha 92: | ||
*** Apoia e automatiza parte do processo completo de desenvolvimento de SI. | *** Apoia e automatiza parte do processo completo de desenvolvimento de SI. | ||
== Atividades da Construção de Sistemas de Informação== | == Atividades da Construção de Sistemas de Informação ⌘== | ||
A construção de um sistema de informação envolve a programação/configuração, teste e documentação do sistema. | A construção de um sistema de informação envolve a programação/configuração, teste e documentação do sistema. | ||
Linha 55: | Linha 112: | ||
** Especificação da estrutura organizacional; | ** Especificação da estrutura organizacional; | ||
** Especificação de procedimentos e tarefas. | ** Especificação de procedimentos e tarefas. | ||
== Informação para slides == | |||
<slideshow style="flower" headingmark="⌘" incmark="…" scaled="true" > | |||
;author: Vários autores | |||
;subfooter: {{date}} | |||
;footer: | |||
</slideshow> |
Edição atual desde as 11h57min de 9 de fevereiro de 2017
O desenvolvimento é uma fase de um sistema de informação.
Desenvolvimento à medida ou por pacotes ⌘
Existem duas abordagens principais distintas para o desenvolvimento de sistemas de informação:
- Desenvolvimento à medida:
- Construção do sistema corresponde diretamente aos requisitos da organização/dos utilizadores;
- Implica, tipicamente, um grande investimento, nomeadamente no que refere os recursos internos qualificados.
- Desenvolvimento por pacotes:
- Construção do sistema através da aquisição de um pacote de soluções de software já desenvolvidas, que correspondem mais ou menos aos requisitos pedidos pela organização/pelos utilizadores;
- Implica, tipicamente, um maior trabalho de configuração e adaptação, que pode ser mais ou menos complexo e envolver mais ou menos recursos dependendo do sistema.
Modelos para o desenvolvimento de SI ⌘
Existem diversos modelos para o desenvolvimento de Sistemas de Informação:
- Modelo Waterfall
- Modelo em Espiral|Modelo em Espiral
- Modelo Agile
Cada modelo compreende um conjunto particular de fases que, com mais ou menos variações, procuram cumprir o mesmo objetivo: desenvolver e construir sistemas de informação capazes de suprir as necessidades dos seus utilizadores.
Modelo Waterfall ⌘
O modelo waterfall (ou "em cascata") é um modelo de desenvolvimento de software/sistemas de informação sequencial, isto é, no qual as fases se sucedem umas às outras de forma constante (como o fluir de uma cascata):
- Análise de requisitos;
- Projeto;
- Implementação;
- Testes (validação);
- Integração;
- Manutenção de software.
Neste modelo, a passagem de uma fase para a seguinte é puramente sequencial. Isto significa que só se inicia uma nova fase quando a anterior está completa. Por isto, é considerado rígido - não permite voltar atrás numa fase para fazer melhoramentos (uma fase só é terminada quando considerada "perfeita") - e monolítico - não inclui a participação dos utilizadores no processo. Mais ainda, as métricas utilizadas nas estimativas de tempo e recursos são imprecisas, levando a que, quase sempre, o planeamento das atividades tenha que ser revisto. No entanto, devido à sua rigidez, o modelo em cascata não permite os reajustes necessários, causando o não cumprimento dos prazos estipulados inicialmente.
Modelo em Espiral ⌘
O modelo em espiral é um modelo de desenvolvimento de software/sistemas de informação cíclico onde, em cada ciclo, existem fases de avaliação e planeamento.
Este modelo foi desenvolvido para abranger as melhores características tanto do ciclo de vida clássico como da prototipação, acrescentando, ao mesmo tempo, um novo elemento - a análise de riscos - que falta a esses paradigmas. Em Modelo em Espiral
Existem diferentes variações do modelo, sendo que todos compreendem entre três e seis tarefas/setores que incluem:
- Comunicação com o cliente;
- Planeamento;
- Análise de risco;
- Engenharia;
- Construção e liberação;
- Avaliação do cliente.
A dimensão radial representa o custo acumulado actualizado e a dimensão angular representa o progresso através da espiral. Cada sector da espiral corresponde a uma tarefa (fase) do desenvolvimento. Em Modelo em Espiral
Ao contrário do modelo em cascata, este é flexível e inclui a participação dos utilizadores durante todo o processo. É uma abordagem mais realista e evolutiva.
Modelo Agile ⌘
O modelo agile é um modelo de desenvolvimento de software/sistemas de informação que tem como objetivo minimizar o risco através do desenvolvimento em janelas de tempo pequenas, chamadas de iterações. Cada iteração é um "mini-projeto" que inclui todas as fases necessárias à criação de novo software:
- Planeamento;
- Análise de Requisitos;
- Projeto;
- Codificação;
- Teste;
- Documentação.
Para cada iteração, que tem uma duração típica de 1 a 4 semanas, é, então, lançada uma versão do SI.
Na criação de novo software, então, devem estar envolvidas todas as pessoas necessárias ao desenvolvimento do SI, nomeadamente: os programadores, os clientes, os projetistas, os responsáveis pela realização dos testes, etc. Este método dá uma grande importância à comunicação presencial, desenfatizando o papel da comunicação escrita. Consequentemente, o modelo agile dá origem a pouca documentação, o que pode ser visto como um ponto negativo, uma vez que a criação de documentação pode ser muito útil em iterações futuras ou novos projetos de desenvolvimento.
Recursos para o Desenvolvimento de Sistemas de Informação ⌘
- Técnicas:
- Centradas no desenvolvedor:
- Técnicas de análise de dados;
- Técnicas de análise de processos;
- Técnicas de análise de objetos;
- Centradas no utilizador:
- Prototipagem;
- Cenários;
- Casos de uso;
- Centradas no desenvolvedor:
- Métodos:
- Métodos estruturados;
- Desenvolvimento rápido de aplicações;
- Métodos orientados a objetos;
- Ferramentas:
- CASE - Computer Aided Software Engineering:
- Apoia e automatiza partes do processo de construção de SI;
- CAISE - Computer Aided Information Systems Engineering:
- Apoia e automatiza parte do processo completo de desenvolvimento de SI.
- CASE - Computer Aided Software Engineering:
Atividades da Construção de Sistemas de Informação ⌘
A construção de um sistema de informação envolve a programação/configuração, teste e documentação do sistema. Desta fase fazem parte as seguintes atividades:
- Construção da aplicação:
- Interface com o utilizador;
- Regras do negócio;
- Gestão dos dados;
- Teste da aplicação:
- Teste de unidades;
- Teste do sistema;
- Teste de integração;
- Teste de aceitação;
- Documentação da aplicação:
- Documentação do utilizador;
- Documentação do sistema;
- Construção do sistema de atividades humanas:
- Especificação das funções e papéis;
- Especificação da estrutura organizacional;
- Especificação de procedimentos e tarefas.
Informação para slides
<slideshow style="flower" headingmark="⌘" incmark="…" scaled="true" >
- author
- Vários autores
- subfooter
- Predefinição:Date
- footer
</slideshow>