Archive for the ‘Controle Atividade’ Category

II. ControleAtividade – Análise de Requisitos

fevereiro 6th, 2009, posted in Controle Atividade, Projetos

Antes de mais nada lembre-se que isso é apenas uma simulação, o cliente não existe, só vou usar essa metodologia de simulação por achar que ajuda muito o aprendizado, mesmo sabendo que esse programa será usado depois no meu trabalho. :)


A DESCOBERTA DA NECESSIDADE


Nós do blog Saberprogramar.com fomos contactados por uma empresa chamada “Tudo é Festa” (que desenvolve software) para fazer um sistema de controle de manutenção, a primeira coisa que pensamos foi, se eles desenvolvem porque não fazem? a resposta foi simples, estão enrolados demais com as manutenções por isso não consegue fazer nada novo. :)


Resolvemos aceitar este projeto, depois de 3 reuniões para analisar o processo, ver como eles trabalham e ter certeza que não vamos fazer mais do que estão pedindo (acredite, nós desenvolvedores normalmente fazemos mais do que pedem), chegamos a documentação a baixo.


Obs. Se não entender como dividimos o desenvolvimento deste projeto no artigo Ciclo de Desenvolvimento está bem detalhado para você não se perder, ok!


ANALISE DE REQUISITOS


Tipo de requisitos não funcionais ou Analise do Cliente


Quem é Cliente e Sua Estratégia → a empresa “Tudo é Festa” já existe no mercado a 10 anos, tem 50 clientes que usam seu único software de Automação comercial feito no Visual Basic 6.0 :( , tem interesse em fazer coisas novas com novas ferramentas porém a prioridade da empresa hoje é manter os clientes dando-lhes um serviço mais customizado, ou seja, adicionando tudo que o cliente pede para ser colocado no sistema, assim agregando mais serviços e deixando os clientes mais dependentes do software, por isso um sistema de controle de manutenção, hoje a manutenção ocupa 90% das atividades da empresa. :|

Recursos Humanos → a empresa possui 4 desenvolvedores Visual Basic 6.0 e esses mesmo programadores também dão suporte aos clientes quando necessário ( 2 em 1 ).


O que o Cliente espera com este projeto → Tudo é festa” espera com este projeto que suas manutenções sejam feitas mais rápidas, que a empresa tenha um maior controle do inicio e fim das manutenções e quem fez, já que hoje a empresa não consegue visualizar essas informações de maneira rápida e sem confusão entre os programadores do tipo “Foi ele” ou “Eu não sei quem fez não”…


Tipo de Requisitos Funcionais ou Mini-Mundo



Projetos → é necessário ter um cadastro de projetos a qual ele faz manutenção, além do cadastro também é necessário a opção de alteração e exclusão (esse só autorizado se não tiver nenhuma atividade em aberto para este projeto).


Grupos → Foi também pedido pelo cliente um cadastro de Grupos para que possa dividir dentro dos projetos os grupos onde estará os projetos, por exemplo:


Projeto → Site Batata123

grupo → Layout

grupo → Programação



Também será necessário a opção de alteração e exclusão (exclusão só autorizada se não tiver nenhuma atividade em aberto para este grupo)


Atividades → As atividades é onde vai registrar as manutenções que tem que ser feita, uma atividade sempre estará ligada há um projeto e grupo, mais nem sempre terá um programador especifico, isso porque tem algumas alterações que qualquer um pode fazer, assim deixando aberto para o programador que estiver a possibilidade no momento. Outra coisa que foi pedido nas atividades é que tenha um status algo como:


Em aberto assim qualquer programador que estiver disponivel possa pegar a atividade para fazer.

Encaminhado para poder encaminhar para um programador especifico.

Finalizado quando atividade é finalizada.


    Também é necessário a opção de alteração e exclusão de atividades.


    Programadores → um cadastro dos programadores que faram as atividades, mais atenção, precisa ter dois níveis, nível 1: onde ele vai visualizar suas atividades e as atividades abertas nível 2: onde o programador tem acesso também para cadastrar projetos, grupos e atividades, e também tenha a opção de alteração e exclusão dos cadastros.


    Observação: Outra coisa indispensável pedida é que seja tudo online, para que todos os programadores tenham acesso de qualquer lugar.


    ATENÇÃO! Este documento serve também como um contrato entre os desenvolvedores e o cliente, no final ambos concordando, assinando e anexando em um contrato faz com que seja feito exatamente isso, qualquer coisa fora disso seja um novo projeto, um novo valor.


    Resumo do aprendizado


    Vimos aqui uma análise de requisitos bem simples e compacta, alias, o problema também é simples e é para resolver de maneira simples. No próximo artigo estarei mostrando nosso UML, onde começaremos a ver essa descrição do negócio (análise de requisitos) de uma forma mais Orientada a Objetos. Uma coisa que vocês podem ter sentido falta é dos relatórios, realmente não terá por enquanto a pedido do cliente para baratear o projeto, porém se este projeto dá o retorno esperado pela empresa é possível que façam os relatórios depois em um novo projeto.


    Fiquem a vontade para comentar e opinar sobre o desenvolvimento deste projeto, estamos apenas começando e espero contar com a ajuda dos leitores


    Bem, até a próx. Com UML.


    Vlw!!!

    Popularity: 4% [?]

    I. ControleAtividade – Ciclo de Desenvolvimento

    janeiro 31st, 2009, posted in Controle Atividade, Projetos

    Como Prometido vamos começar o nosso primeiro projeto, mas antes de começar precisamos conhecer como vamos dividir o desenvolvimento desse projeto (metodologia de trabalho) , essa metodologia é acima de tudo para nos dar uma noção maior do mundo da programação, não só o código fonte, mais sim das dificuldades de ser um programador, ainda mais hoje que as empresas estão adotando um modelo de empresa enxuta (menor número de pessoas dentro da empresa e mais responsabilidades e atividades para um programador). Resumindo, em todos os projetos vou simular um ambiente que mostre o cotidiano de um developer.

    Vamos dividir o desenvolvimento dos nosso projeto em 5 partes:

    1 – Análise de Requisitos

    Na minha opinião o mais importante do desenvolvimento de um software, neste período é que vamos conhecer o domínio, ter contato com o cliente e procurar abstrair o máximo de informação.

    Na teoria a Análise tanto serve para abstrair e documentar todo o conhecimento adquirido sobre o projeto, como serve de contrato entre o desenvolvedor e o cliente, quem nunca teve um diálogo parecido.

    Cliente diz:

    - Eu estou controlando o faturamento mas a produção ainda está em planilha, quero a produção no sistema.

    Desenvolvedor:

    - Mas senhor, quando falamos sobre produção o senhor não se interessou, só queria controlar o faturamento.

    Cliente diz:

    - É, não, não, quero controlar a produção também…

    Em casos como este tendo a análise de requisitos como um contrato faz com que fale mais alto a documentação, se ele quiser produção terá que pagar mais, aliás, é um novo projeto.

    Podemos dividir a análise de requisitos em dois grandes tipos:

    Tipo de Requisitos Funcionais – este é a documentação inicial do que o sistema terá que fazer, não como, mais sim o que terá que fazer.

    Exemplo:

    Ao imprimir uma Nota Fiscal de industrialização será impresso 2 Cfops na Nota Fiscal.

    O sistema terá que controlar a saída e o retorno de mercadoria na logística…

    Já vi muitas pessoas chamando também de Mini-Mundo do sistema, que quer dizer o mesmo, descrever de uma forma menos técnica e mais prática o domínio (Regras de negócio), os problemas encontrados, o que é mais importante…

    Tipo de Requisitos não Funcionais – trata mais de informações adicionais sobre o cliente, como, o que significa este projeto para o cliente, o que ele espera da solução que será desenvolvida, quem é o cliente, quais produtos ele tem, os usuários e fatores humanos, ambiente físico…

    Neste caso vamos usar os tipos de requisitos não funcionais somente como análise do Cliente, não vamos tratar de informações do tipo documentação, Dados, segurança, dividimos essa informação em mais 2 fases.

    Quer saber Mais:

    http://pt.wikipedia.org/wiki/Análise_de_requisitos

    http://www.governancamunicipal.sp.gov.br/conteudo/arquivos/Analise de requisitos.pdf

    2 – Desenho UML (Documentação)

    Para quem não conhece UML (Unified Modeling Language) é uma linguagem gráfica que através de diagramas te auxiliam a visualizar melhor o desenho e a comunicação do seus objetos:

    Alguns Diagramas usaremos neste nosso projeto como:

    Acho muito importante fazer o Desenho UML antes de definir qual estrutura usar, qual ferramenta utilizar, antes disso não acredito que conseguimos analisar tão bem o projeto como conseguimos analisar já com a Documentação em UML pronta.

    Quer saber Mais:

    http://pt.wikipedia.org/wiki/UML

    3 – Analise de Sistema

    Agora sim, com o desenho UML pronto o analista consegue conversar e trocar informação com os programadores, agora é que começa a ficar bom! Rsrs.

    Algumas prioridades são analisadas como Funcionalidade, Documentação, Dados, Segurança, Recursos, Ferramentas que serão utilizadas, definir os responsáveis pela implementação do Código, Cronograma de desenvolvimento, teste…

    Quer saber Mais:

    http://pt.wikipedia.org/wiki/Análise_de_sistemas

    4 – Implementação (programação)

    Nesta Fase que entraremos em ação, depois de receber o Desenho UML, ter definido com o Analista o que vai ser usado e suas prioridades no desenvolvimento, vamos para a implementação do código.

    Essa parte costuma ser rápido, creio eu que só não é quando envolve novas metodologias ou tecnologias, assim essa parte pode se tornar até a mais demorada.

    Obs. Mesmo passando por todas as fases de um desenvolvimento de um projeto, vamos focar sempre na programação, que é o intuito principal do nosso blog.

    No caso da implementação usaremos sempre o conceito de Orientado a objeto como base para os nossos projetos.

    Quer saber Mais:

    http://pt.wikipedia.org/wiki/Orientação_a_objeto

    5 – Teste

    Nesta Fase vamos testar tudo que foi feito, a usabilidade, funcionalidade, possíveis erros (principalmente de gramática), programador é meio americanizado, do tipo

    Sou Brazileiro! :) .

    Esta fase é meio que repetitivo, feitos os testes, terá alguns ajustes, voltará para a programação, que voltará para os testes…

    Claro que depois de feitos os testes é feito a instalação e o cliente começa a se divertir com o brinquedo novo.

    6 – Controle de Projeto

    O Controle de Projeto não considero como uma Fase, pois ele está em todas as fases, o controle de projetos é uma maneira de organização para manter sobre controle o desenvolvimento do projeto, normalmente conta com gráficos que ajudam no aúxilio e acompanhamento do projeto.

    Quer saber Mais:

    http://www.geteq.ufsc.br/controle/upload/arquivos/OP1606.pdf

    Claro que aqui só passei um pouco do modelo que vamos usar a no nosso projeto, os links que passei só passam um conceito base para você ter uma noção de cada fase, quando estiver colocando em prática mostrarei algumas ferramentas que vão nos auxiliar no ciclo de desenvolvimento, este modelo de desenvolvimento foi baseado no Modelo Cascata. No próximo Artigo já iremos apresentar o projeto.

    Gostaria de deixar todos os leitores do nosso blog bem a vontade para comentar e ajudar no nosso desenvolvimento do projeto… tenho certeza que será de ajuda para muitos… fique a vontade para clicar nos anúncios do google também :)

    Vlw.e até a próx…

    Popularity: 4% [?]