sexta-feira, 7 de dezembro de 2012

Etapas de Desenvolvimento de um Sistema





Principais etapas do desenvolvimento de uma aplicação:



  • Planejamento
  • Construção
  • Implantação
  • Avaliação e Manutenção


Temos também pontos importantes que devem ser ressaltas como, por exemplo, o levantamento de requisitos o contato com o cliente etc. É sempre importante documentar um projeto de desenvolvimento principalmente em grandes projetos que envolvam um numero maior de profissionais. A documentação garante a organização e o registro do andamento do projeto garantindo a qualidade do produto para o cliente.



Planejamento

Para iniciar essa etapa e necessário realizar um levantamento dos requisitos do sistema junto com o cliente, avaliar os problemas e as necessidades do cliente e documentar o essas informações que serão de grande importância na elaboração do planejamento.

Pontos importantes:

  • Identificação do cliente
  • Identificação dos requisitos
  • Levantamento dos recursos e custos
  • Avaliar a viabilidade
  • Elaboração do cronograma inicial

Após identificarmos o nosso cliente e definirmos os requisitos do sistema que iremos desenvolver, precisamos avaliar a viabilidade do desenvolvimento e implantação. Após realizar os procedimentos mencionados acima devemos elaborar o cronograma inicial planejando as etapas e os recursos necessários para finalização do projeto e a entrega do produto com qualidade garantido a satisfação do cliente.


Requisitos são descrições do que o sistema irá realizar qual o desejo do cliente a sua necessidade, essa o qual o sistema venha a solucionar. Essa etapa define a finalidade do projeto e resumir a necessidade do cliente. A identificação consiste em entender em termos de requisitos e o que se espera obter como resultado, esse procedimento é geralmente realizado junto ao cliente.

É necessário realizar uma analise dos requisitos para tratar e avaliar inconsistências, ambigüidades, riscos e prioridades dos requisitos indicados na identificação.


Construção

Na construção do sistema é necessário definir níveis de segurança da aplicação, versionamento do código fonte, construção da aplicação em si, criação de teste, promover carga de testes extremos e avaliação do produto final. Fazer um levantamento de erros e correções.


Implantação

Realizar a implantação do sistema junto ao cliente, prover treinamentos para os operadores do sistema. Verificar possíveis problemas e realizar correções da aplicação.


Avaliação e Manutenção
Realizar uma avaliação do sistema junto com o cliente para garantir a qualidade do produto, realizar manutenções sempre que necessário para manter o bom funcionamento da aplicação.



Resumo das Atividades

As fases de execução e respectivas atividades podem ser vistas abaixo:


Fases Atividades

Plano de Execução do Projeto

1. Contato Inicial com o Cliente;

- Obter informações importantes sobre o que o cliente deseja do projeto.

2. Levantamento de Recursos do Projeto;

- Verificar quais recursos pode ser usado no projeto.

3. Cronograma Inicial.

- Elaborar um cronograma de cada etapa com data e metas.


Levantamento de Requisitos


1. Definição do Sistema;

- Definir que tipo de sistema será criado, quais tecnologias serão aplicadas.

2. Identificação dos Requisitos;

- Estudar os requisitos, analisar o projeto.

3. Análise e Classificação dos Requisitos.

- Analisar e classificar os requisitos funcionais e não funcionais.


Casos de Uso

1. Construção do Diagrama de Casos de Uso;
- Elaboração do diagrama do caso de uso, analise das situações de operação do aplicativo.

2. Descrição em Alto Nível;

- Descrever de forma sucinta a especificação essencial de requisitos.

3. Descrição em Nível Detalhado;

- Disponibiliza mais detalhes do que a descrição de alto nível, mostra uma visão geral do requisito.

4. Priorização e Escalonamento dos Casos de Uso.

- Define a ordem dos casos de uso.


Construção Análise

1. Modelo Conceitual de Classes;
- Representação das classes, atributos e campos.

2. Glossário;

- Estrutura de classes

3. Diagramas de Estados/Atividades.

- Visualização das atividades


Projeto

1.Diagramas de Interação;
- Criação e definição da interação entre os objetos.

2. Diagrama de Classes do Projeto;

- Estruturas de classes.

3. Esquema do Banco de Dados;

- Estrutura de bancos de dados.

4. Modelo de Arquitetura.

- Estrutura da aplicação.


Implementação

1. Implementação;
- Codificação da aplicação.

2. Segurança.

- Segurança da aplicação.


Testes

1. Testes.
- Realização de testes e cargas extremas.


Implantação

1. Plano de Implantação;
- Desenvolver um plano de implantação da aplicação.

2. Pacote de Entrega ao Cliente;

- Diretrizes de entrega do produto.

3. Treinamento.

- Treinamento da equipe de trabalho.


Avaliação do Cliente/Manutenção

1. Garantia da Qualidade.– Manutenção da aplicação, avaliação junto ao cliente.


Conclusão

É importante sempre seguirmos as etapas de desenvolvimento de sistemas, essas etapas vão garantir a entrega de um produto de qualidade condizente com a necessidade do cliente. Cada etapa tem seus próprios requisitos e suas metas que serão elaboradas pela equipe de desenvolvimento. Sempre é bom estar atento ao cronograma para cumprir as metas estabelecidas dentro do prazo. Sempre avaliar junto com o cliente o produto final.

quinta-feira, 6 de dezembro de 2012

Ferramentas de groupware livres



De acordo com informações do próprio site da ferramenta, o Expresso livre é uma solução completa de comunicação que reúne Email, Agenda, Catálogo de Endereços, Workflow e Mensagens Instantâneas em um único ambiente. Por ser uma versão customizada do E-GroupWare, seu desenvolvimento também é totalmente baseado em software livre.



Desenvolvido pela Celepar, a companhia de informática do governo do Paraná por um comitê gestor que atualmente é composto pela Celepar, Serviço Federal de Processamento de Dados (Serpro), Prognus Soluções Livres, Caixa Econômica Federal e a Companhia de Processamento de Dados do Estado do Rio Grande do Sul (PROCERGS), ele está sendo utilizado em vários órgãos públicos nas esferas municipal, estadual e federal como:
  • Departamento de polícia federal
  • Embrapa
  • Exercício brasileiro
  • Dataprev
  • Serpro
  • Comando da aeronáutica
  • entre outros...
 Ele possui um melhor suporte para instalação nas distribuições Linux Debian [Etch/Lenny], SuSe [10.X], RHEL[5] e Centos[5] mas acredito que possa ser instalado em outras versões (mas tente por sua conta e risco)


Divisões do Groupware e alguns exemplos

           Os groupware podem ser divididos em três tipos:
- coordenação: gerenciadores de projeto como o mingle, e gerenciadores de tarefas compartilhado como o flyspray;

- colaboração: um wiki, como o mediawiki e controladores de versão como o git;

- comunicação: mensageiros instantâneos como o XMPP e aplicativos de voz sobre IP como o ekiga.


           Há também dois tipos de interação:
- síncrona: em tempo real como IRC, mensageiro instantâneo, MMORPG;

- assíncrona: as que não são em tempo real como e-mail, gerenciadores de projeto e etc.

 

           Esta área, que foi criada na década de 80, cresceu muito e hoje aparece em muitas áreas, hoje é essencial em praticamente tudo desenvolvido com relação a internet, seja em jogos (MMORPGs), aplicações comerciais, aplicações web e etc.


           Em particular, uma das empresas que mais usa groupwares é o Google. Repare no que há em comum em todos os seus serviços: Google Code, Google Calendar, Google Mail, Google Talk, Google Documents, Blogger, Google Maps, Orkut; todos estes são groupwares e ajudam as pessoas a manterem seus projetos de software livre, organizarem suas agendas, terem um cliente para e-mail e mensageiro instantâneo, criar textos, planilhas e apresentações em colaboração, expôr suas idéias e receber comentários por elas, criar rotas para você compartilhar com seus amigos, entre outras coisas.

terça-feira, 4 de dezembro de 2012



Planejamento de Sistemas de Informação - PSI
 
PSI (Planejamento de Sistemas de Informação) é essencialmente entendido como uma tarefa de gestão que trata do alinhamento dos aspectos relacionados com o SI ao planejamento estratégico da organização.
Um PSI pode ser visto como um processo de suporte à implementação das estratégias organizacionais, mas sim como um processo integrante e interveniente na sua formulação do planejamento estratégico da organização. 
O PSI pode ser analisado à luz de três grandes atividades: a Análise, a Definição e a Implementação Estratégica as quais vão procurar responder, respectivamente e segundo uma sequência lógica, a três questões:
            “Qual a situação atual?”
  “O que pretendemos para o futuro?”
            “O que fazer para o conseguir?”

COMPONENTES DO PSI: 
Análise Estratégica 
Definição Estratégica 
Implementação Estratégica

Motivações para PSI:
Rápida evolução das tecnologias,
Racionalizar e rentabilizar os investimentos
Necessidade de determinar as prioridades de desenvolvimento,
Escassez de recursos (humanos)
Necessidade evoluir para soluções com níveis superiores de integração,
Necessidade de apoiar mais eficiente e eficazmente os níveis superiores da estrutura de gestão das organizações
Controlar a proliferação de aplicações e a disseminação de TI.
Importância da informação e da utilização das TI como fator de vantagens competitivas

Métodos de Planejamento de Sistemas de Informação
A definição do PSI é uma atividade complexa, devido à necessidade de se combinar visões de planejamento com a visão SI/TI.
A elaboração de um plano envolve o estudo da empresa, dos seus processos e dos sistemas atuais, seguido da prescrição de recomendações.
O uso de uma metodologia é essencial para o PSI pois conduz a equipe de TI nas atividades e etapas, reduzindo, assim, a sua complexidade.
  


Método é o modo de fazer as coisas ou operacionalização de abordagens, associadas a uma estratégia para condução do processo de PSI (como pensá-lo), da descrição formal de suas tarefas e de seus responsáveis (como trabalhar) e dos modelos e necessidades de informação para sua construção (como representá-lo).

Com as diversas visões de planejamento, diversidade de abordagens e modo de operacionalizar o PSI, há uma gama diversa de Métodos de PSI. Entre os fatores decisivos na determinação do ‘melhor’ método estão: a urgência do PSI, os recursos disponíveis.

Ferramentas Groupware

São aquelas que facilitam um trabalho em grupo, permitindo o compartilhamento de recursos programas e procedimentos.
 
 
Existem muitas ferramentas groupware para intranets entre elas: Lotus Notes da IBM, Netscape, Microsoft Exchange, GroupWise da Novell, InterOffice da Oracle, Livelink Intranet da Open Text, Web Crossing da Lundeen & Asso-ciates, Open Mind da Attachmate, e muitos outro.
Algumas das funcionalidades geralmente encontradas nestas ferramentas:
  • Gerencimento de tarefas
  • Agendamento (reuniões, eventos, etc)
  • Anotações (todo lists)
  • Correrio eletrônico (interno e externo)
  • Integração com sistemas CMS (portais de intra e extranet)
  • Controle de documentos (workflow e revisão)
  • Gerenciamento de projetos internos (inclusive com gráficos GANTT e controle de custos - timesheet)
  • Gerenciamento de contatos
  • CRM
  • Customização de ambiente (global e por usuário)
  • Gerenciamento de permissão por grupo e por usuário
  • Difusão de notícias e informações (newsletter , murais, avisos internos manchetes, etc)
  • Sistemas de intercomunicação para as equipes (forum, IM, irc, chat, etc)
  • Administração centralizada
  • Replicação do servidor em clusters (conforme demanda pelo crescimento da empresa / grupo)
A integração dessas ferramentas com a intranet permitiu uma melhoria consideravel da comunicação e produtividade das empresas, possibilitando o compartilhamento de informações entre individuos tornando a compania mais dinamica

Internet & Intranets


A Internet é a rede mundial de computadores que se comunicam por um conjunto de protocolos de software abertos. A Internet iniciou nos anos 60 como um projeto do Departamento de Defesa dos Estados Unidos patrocinando pesquisas para conectar uma rede experimental denominada ARPANET, e outras várias redes de rádio e satélite [ KRO 94, TEL 95, ZAC 97] .
 
Intranet é uma rede interna de computadores de uma corporação baseada nos padrões de funcionamento da Internet, como o protocolo Transmission Control Protocol / Internet Protocol (TCP/IP), arquivos HyperText Markup Language (HTML), e servidores HyperText Transfer Protocol (HTTP), que caracterizam a World Wide Web (WWW), o serviço mais popular e de maior crescimento na Internet. Normalmente a intranet fica protegida de acessos externos pela Internet por um firewall.

1. Benefícios tangíveis

  • Custo baixo, rapidez e facilidade para implementar;
  • Facilidade de uso;
  • Economia de custos e tempo;
  • Provê eficiência operacional;
  • Baseada em padrões abertos;
  • Conexão e comunicação entre diferentes plataformas;
  • Os usuários têm o controle de seus dados;
  • Segurança;
  • Escalabilidade;
  • Flexibilidade;
  • Provê a riqueza da multimídia;
  • Alavanca a infra-estrutura das aplicações existentes.

 

    2. Benefícios intangíveis

  • Provê melhor comunicação;
  • Provê acesso para informações mais corretas;
  • Captação e compartilhamento de conhecimento e especialidades;
  • Provê melhor coordenação e colaboração;
  • Oportuniza criatividade e inovação;
  • Provê novas oportunidades de negócios e novas formas de relacionamentos comerciais através do acesso por fornecedores e clientes.

CSCW e Groupware

 
CSCW é o acrônimo para Computer-supported cooperative work (Trabalho cooperativo suportado por computador), e foi criado por Irene Greif e Paul Cashmann em 1984.
 
O termo groupware já tinha sido usado por Peter e Trudy Johnson-Lenz em 1982, mas foi adotado pela comunidade CSCW para definir as tecnologias empregadas.
 
O objetivo de groupware é dar assistência aos grupos na comunicação, colaboração e coordenação de suas atividades. São "sistemas de computadores que assistem grupos de pessoas engajadas em uma tarefa (ou objetivo) comum e que provêem um interface com um ambiente compartilhado".
 
"...groupware torna o usuário consciente de que ele é parte de um grupo, enquanto outros softwares procuram esconder e proteger os usuários uns dos outros.
 
...groupware é um software que acentua o ambiente multiusuário, coordenando e orquestrando coisas, então os usuários podem ver aos outros, ainda que sem conflitar com os outros."
 
Considera-se que groupware é qualquer ferramenta que ajuda as pessoas a trabalhar juntas mais fácil e eficazmente, sendo o telefone como a mais simples das ferramentas utilizadas.
  • Comunicação - Ajudar pessoas a compartilhar informações.
  • Coordenação - Ajudar pessoas a coordenar seus papéis pessoais com os outros.
  • Colaboração - Ajudar pessoas a trabalhar juntas.
Para realizar esses propósitos, groupware deve permitir que duas ou mais pessoas trabalhem juntas ajudando a compartilhar seus conhecimentos e especialidades, automatizar suas atividades, criar uma memória organizacional, e a conectá-las, mesmo através de pontos geográficos e tempos diferentes.





Introdução ao Groupware


A tendência do groupware é para diminuir custos e melhorar a produtividade, como comunicar e gerenciar o vasto fluxo de dados e informações gerados diariamente.
 
De certa forma, recentes desenvolvimentos parecem ter concorrido para colocar esses objetivos ao alcance de qualquer organização.

A tecnologia WWW, com os arquivos padrão HTML, e servidores HTTP oferece um interface simples e uniforme, tornando-a um efetivo integrador e denominador comum entre diferentes plataformas.

Numa intranet, a informação passa a ser criada e gerenciada por aqueles que a produzem, sem ter que depender de programadores para criar entradas de dados e extrair relatórios.

A complexidade e o tamanho das tarefas atuais exigem maior interação entre as pessoas, e entre grupos de pessoas.

Proporcionar o suporte operacional para que pessoas possam interagir cooperativamente é o objetivo da tecnologia que se convencionou chamar CSCW (Computer Supported Cooperative Work), e groupware tem sido usado para designar os softwares que implementam essa tecnologia.

O esforço da Lotus, que dominava este mercado com o Notes, da Novell, e da Microsoft, que também tinham soluções proprietárias groupware, passaram a se concentrar na adaptação de seus sistemas para essa nova onda tecnológica.