sexta-feira, 20 de agosto de 2010

CURSO: Sistemas de Informação

METODOLOGIA DE DESENVOLVIMENTO DE SISTEMAS

Introdução

Uma metodologia de desenvolvimento constitui-se de uma abordagem organizada para se atingir
um objetivo, possível por meio do cumprimento de um conjunto de procedimentos
preestabelecidos. Desta forma, o produto se torna o componente mais importante de todo o
processo de desenvolvimento.
Este documento se trata de um roteiro para o desenvolvimento de sistemas que deverá ser
utilizado e avaliado por todos os funcionários da empresa, que será periodicamente revisado,
atualizado e complementado para que se possa agregar qualidade ao produto final.
Vale a pena ressaltar a opção por um processo de desenvolvimento de sistemas orientados a
objetos, baseado numa abordagem iterativa e incremental e dirigido por casos de uso. Um ciclo
de vida iterativo se baseia o aumento e refinamento sucessivo de um sistema através de
múltiplos ciclos de desenvolvimento de análise, de projeto, de implementação e de teste. [1] o
processo em questão é uma adaptação do processo de Craig Larman [1], por sua vez baseado
no Rational Unified Process (RUP).
A UML (Unifiel Modeling Language), linguagem de modelagem adotada é uma linguagem para
especificar, visualizar e construir os artefatos de sistemas de software... Ela é um sistema
de notação (incluindo a semântica para suas notações) dirigida à modelagem de sistemas,
usando conceitos orientados a objetos.
A Metodologia de desenvolvimento de sistemas da empresa será dividida em fases de execução,
onde cada fase será composta por um conjunto de atividades. Ao final de cada fase espera-se
obter artefatos, sejam eles diagramáticos ou textuais, dependendo da fase em questão. A
organização da metodologia de desenvolvimento de sistema da empresa poderá ser vista em
formato gráfico na Figura 01(a-e).
Metas:
Descrever os procedimentos relacionados a como deve ser o produto final, como este será
apresentado ao cliente e ainda, se este atende a padrões de qualidade.
Descrever procedimentos internos para a formalização das fases do projeto.
Fase de Planejamento do Sistema:

01 – Plano de Execução do Projeto.
Meta: Descrever o perfil do cliente e identificar o serviço solicitado pelo mesmo, a fim de considerar
os aspectos relacionados à gestão do projeto, bem como seu escopo, prazos e objetivos gerais.
Atividades:
Contato Inicial com o Cliente:
1. Identificação do Cliente;
2. Identificação do Serviço Solicitado;
3. Levantamento de Recursos e Custos;
4. Cronograma Inicial
Concluído o levantamento de recursos, o produto gerado por esta atividade – Relatório de
Recursos – juntamente com o cronograma inicial deverá ser encaminhado ao setor comercial. O
cronograma poderá ser elaborado pelo profissional da área técnica juntamente com o responsável
pelo projeto na área comercial.

02 – Levantamento de Requisitos
Meta: Identificar o sistema e definir seus requisitos (funcionais e não funcionais).
Atividades:
Definição do Sistema:
Requisitos são uma descrição das necessidades ou desejos para um produto. [1]
Esta atividade objetiva definir um nome para o sistema, descrever a finalidade do projeto, resumir o
processo padrão adotado no cliente, descrever suas expectativas, quais as funcionalidades que o
projeto do sistema deverá contemplar, e ainda identificar se o sistema possuirá interface com
algum já existente.
Identificação dos requisitos:
Consiste em entender o que deve ser feito em termos de requisitos e o que se espera obter como
resultado. O descobrimento de requisitos é, geralmente, possível por meio de interação com o
cliente, ou ainda por fragmentação de sistemas mais abrangentes.
Análise e classificação dos requisitos:
Tem como objetivo avaliar as inconsistências, ambigüidades, riscos e prioridades dos requisitos
indicados na “identificação dos Requisitos”. A classificação é basicamente a divisão em dois
grupos distintos: os requisitos funcionais, os quais refletem funcionalidades a serem
implementadas de modo a satisfazer as regras de negócio, e os requisitos não funcionais, que
incluem interfaces externas, restrições de desempenho, banco de dados, plataforma de
desenvolvimento, documentação para o usuário final, etc.
O registro dos requisitos levantados por esta etapa é formalizado em um editor de textos, com o
documento de requisitos do projeto (ver o modelo 3), o qual poderá ser organizado da forma
abaixo:
Documento de Requisitos do Projeto
1. Descrição textual do sistema (definição, objetivos, processos atual, expectativas do cliente,
dentro outros);
2. Listagem dos requisitos (em forma de tabela);
a. Número de requisitos;
b. Descrição do requisito;
c. Classificação do requisito;
d. Prioridade;
Após a conclusão da fase de levantamento de requisitos deve -se agendar uma nova visita ao
cliente. De posse dos artefatos produzidos até o momento, o cliente poderá validar as informações
levantadas e formalizadas pelos profissionais da empresa de desenvolvimento. Uma vez em
concordância com o que for apresentado, o cliente deverá assinar um termo de concordância, cujo
modelo é sugerido pela metodologia (Ver modelo 4). Este procedimento poderá se repetir até que
o cliente esteja de acordo com as informações presentes nos artefatos apresentados.

03 – Casos de Uso
Meta: Elaborar o diagrama e a especificação dos “Casos de Uso” do Sistema.
Atividades:
Compreensão dos requisitos:
Os casos de uso são dependentes de uma compreensão mínima dos requisitos do sistema, os
quais devem estar expressões no documento de requisitos de projeto.
Construção do diagrama:
O Diagrama de Casos de Uso deverá conter todos os requisitos já identificados, as interfaces com
sistemas já existentes no cliente e os atores envolvidos.
Descrição em alto nível
Trata-se de descrever de forma sucinta a especificação essencial de requisitos. É útil pra o
entendimento do grau de complexidade e funcionalidade de um sistema para que se determine seu
escopo. As informações que devem estar nesta especificação podem ser vistas no Modelo 5.
Descrição em nível detalhado.
Mostra mais detalhes que a descrição em alto nível. Sua utilidade está na compreensão mais
profunda dos processos e requisitos. É importantes escrever os casos de uso principais no formato
expandido, podendo os demais ser descritos no ciclo de desenvolvimento o qual será
contemplado. A forma expandida pode ser consultada no modelo 6.
Esta etapa deverá ser realizada pelo Analista de Sistemas e os artefatos produzidos resumem-se
ao “Diagrama de Casos de Uso”, o qual poderá ser feito em uma ferramenta case (ver sugestões);
e às especificações em alto nível/nivel expandido, que deverá ser feitas em um editor de textos.
Após a descrição, deve-se estabelecer um ranking de prioridades dos casos de uso, o qual é
definido de acordo com o grau de importância/complexidade do caso de uso (Ver modelo 7). A
priorização dos casos de uso determina o número de iterações/ciclos de desenvolvimento para o
sistema.

04 - Modelo Conceitual de Classes
Meta: Elaborar o Modelo Conceitual de Classes e o Glossário ou Dicionário do Modelo.
Atividades:
O modelo conceitual de classes deverá ser construído considerando-se:
• Conceitos (ou entidades) representados por classes;
• Associações, ou relacionamentos entre os conceitos;
• Multiplicidades;
• Atributos;
• Interfaces com sistemas já existentes.
Neste momento, o Analista de Sistemas poderá iniciar a construção de um glossário ou Dicionário
do Modelo (Ver Modelo 8). Este artefato define um conjunto de termos que requerem
esclarecimentos e é útil para melhorar a comunicação e reduzir o risco de mal-entendimento,
principalmente em equipes com muitos membros envolvidos. Trata-se de um artefato
continuamente aperfeiçoado, apresentando novos termos a cada ciclo de desenvolvimento.

04 – Diagrama de Estados/Atividades
Meta: Elaborar os Diagramas de Estados/Atividades do Sistema.
Atividades:
Diagrama de Estados
Ilustra os eventos e os estados interessant es a um objeto, analisando tanto o comportamento de
um objeto em resposta a um estímulo, como o ciclo de vida de um objeto. Deve ser usado para a
modelagem de sistemas com comportamento mais complexo. Compreendem basicamente estados
de atividade, estados de ações, sinais e eventos.
Diagrama de Atividades
Representa um tipo particular de diagrama de estados. Tem por finalidade mostrar um fluxo de
atividades dentro de um sistema, dando uma visão dinâmica. É importante para a modelagem de
funções dentro do sistema, focalizando o fluxo de controle entre objetos.

05 – Diagrama de Interação – (Colaboração e Seqüência).
Meta: Elaborar os Diagramas de Interação (Colaboração e Seqüência).
Atividades:
Diagrama de Estados
A finalidade dos diagramas de interação é “ilustrar como os objetos interagem através de
mensagens para cumprir tarefas”. Podem ser representados em forma de grafo – os diagramas de
colaboração – ou em forma de cercas – os diagramas de seqüência. Desta forma, segue abaixo o
que deve constar, basicamente, em um diagrama de colaboração.
Diagrama de Atividades
v Classes e instâncias;
v Ligações;
v Mensagens, parâmetros e valores de retorno.

06 – Diagrama de Classes do Projeto.
Meta: Elaborar o Diagrama de Classes de Projeto.
Atividades:
Diagrama de Classes
A construção do Diagrama de Classes de Projeto depende da construção prévia do Modelo
Conceitual de Classes e de Diagramas de Interação. Este artefato ilustra as especificações para as
classes de software. A partir deste, o Analista de Sistemas acrescenta detalhes às definições das
classes.
Um diagrama de classes de projeto deve conter:
v Classes, associações e atributos;
v Interfaces;
v Métodos;
v Informação de tipo de atributo;
v Navegabilidade;
v Dependências.

07 – Esquema de Banco de Dados.
Meta: Elaborar o Esquema do Banco de Dados.
Atividades:
Esquema de Banco de Dados
A construção do Esquema do Banco de Dados consiste no detalhamento do Modelo Conceitual de
Dados. Neste ponto deve-se nomear.
v As entidades;
v Os atributos;
v Os domínios;
v As validações;
v Os relacionamentos;
v As Views;
v As Stored procedures;
v As Triggers.
Este artefato poderá ser construído na ferramenta DBdesigner (Ver sessão Ferramentas). Uma vez
construído é possível elaborar um Dicionário de Dados, utilizando-se o recurso disponível na
ferramenta.

08 – Modelo Arquitetural.
Meta: Elaborar o Modelo de Arquitetura do Sistema.
Atividades:
Modelo Arquitetural
O Modelo de Arquitetura do sistema é o artefato que conterá a especificação da arquitetura mais
indicada para o projeto., Abrange aspectos de comunicação de dados, tecnologias mais
adequadas ao projeto, sistemas operacionais, sistemas gerenciadores de banco de dados, dentre
outros.
Uma prática aconselhável unir profissionais da área de sistemas com profissionais de suporte
técnico na elaboração do Modelo de Arquitetura.

09 – Construção Implementação.
Meta: Construir o código do sistema.
Atividades:
Construção
Consiste em definir a estrutura do código em termos de implementação em linguagem de
programação. Produz como saída o software, o código fonte e a documentação técnica gerada.

10 – Segurança.
Meta: Estabelecer mecanismos para segurança e controle.
Atividades:
Segurança
Está relacionada à análise dos seguintes procedimentos, os quais devem ser incorporados ao
sistema.
v Controle de acesso ao sistema;
v Restrição de acesso a dados confidenciais;
v Controle de acesso a funcionalidades, determinados por níveis de permissões;
v Registro e recuperação de atualizações (log);
v Continuidade do projeto em caso de interrupções por queda de energia, parada de
máquina, dentre outros;
v Política de backups;
v Possibilidade de auditoria, a fim de se detectarem fraudes de dados.
11 – Construção Testes.
Meta: Elaborar Modelos de Testes.
Atividades:
Construção Testes
O planejamento de testes representa um aspecto importante no processo de desenvolvimento de
sistemas, principalmente no que se refere ao acompanhamento do que foi feito, na verificação das
funcionalidades solicitadas pelo cliente, performance das aplicações, dentre outras. Consiste
basicamente de:
v Identificar os objetos de teste e classificá-los;
v Reconhecer requisitos para cada tipo de teste;
v Definir uma massa de dados de teste;.
v Fazer uma revisão ortográfica e gramatical do produto a ser entregue;
v Comunicar defeitos encontrados ou desvios relacionados aos resultados porventura
não alcançados.

12 – Implantação Plano de Implantação.
Meta: Elaborar plano baseado nos requisitos levantados, definindo-se recursos para a implantação
do sistema.
Atividades:
Implantação
Como artefato para auxiliar a fase de implantação sugere-se a construção de um plano que
especifique, além de informações referentes aos recursos, os prazos previstos para a execução
das atividades de implantação. Estas informações poderão ser elaboradas em um editor de textos
e consultadas no Modelo 9.

13 – Pacote de Entrega ao Cliente.
Meta: Estabelecer procedimentos para a entrega do sistema ao cliente.
Atividades:
Pacote de Entrega
Os procedimentos para a entrega do sistema ao cliente consistem em:
v Elaboração de manuais do sistema;
v Verificação da conformidade do help on-line construído com o sistema a ser entregue;
v Elaboração da especificação de procedimentos de instalação do sistema;
v Gravação do sistema em mídia magnética/óptica.

14 – Treinamento.
Meta: Elaborar plano e ministrar treinamento aos usuários do sistema.
Atividades:
Treinamento
Para esta fase destacam-se as seguintes atividades:
v Elaborar plano de treinamento, segundo Modelo 10;
v Levantar material necessário ao treinamento;
v Confirmar com o cliente algum material que venha a ser levantado pelo mesmo, datas
previstas para os treinamentos e disponibilidade dos usuários no horário agendado.

15 – Avaliação do Cliente Garantia de Qualidade.
Meta: Orientar a prestação de serviços após a implantação do sistema.
Atividades:
Avaliação do Cliente Garantia de Qualidade
Os procedimentos para a garantia do serviço prestado após a entrega do sistema ao cliente
compreendem:
v Elaborar plano de garantia do sistema (Ver Modelo 11);
v Avaliar como o sistema se comporta no cliente em um período de adaptação inicial.
Neste período identificar processos, ocorrências de comportamento e/ou
procedimentos para a continuidade de implantação, segundo Modelos 12 e 13;
v Definir plano para a manutenção corretiva, de acordo com a necessidade e segundo
Modelo 14.

16 – Ferramentas de Apoio.
Com o objetivo de automatizar as atividades e melhorar a qualidade dos artefatos gerados, as
equipes da área técnica poderão contar com o suporte de ferramentas para o desenvolvimento de
algumas atividades no processo de modelagem/desenvolvimento de algumas atividades no
processo de modelagem/desenvolvimento do sistema. A tabela a seguir traz sugestões de
ferramentas para uso pelas equipes:
Atividades Ferramentas/Fabricantes
Identificação do Cliente Editor de Textos
Identificação do Serviço Solicitado Editor de Textos
Relatório de Recursos Editor de Textos
Documentos de Requisitos do Projeto Editor de Textos
Termo de Concordância Editor de Textos
Diagrama de casos de Uso Rational Rose/MVCASE
Descrição em Alto Nível Editor de Textos
Descrição em nível detalhado Editor de Textos
Priorização dos casos de uso Editor de Textos
Modelo Conceitual de Dados Rational Rose/MVCASE
Glossário ou Dicionário de Modelo Editor de Textos
Diagrama de Estados/Atividades Rational Rose/MVCASE
Diagrama de interação Rational Rose/MVCASE
Diagrama de Classes de Projeto Rational Rose/MVCASE
Esquema do Banco de Dados DBDesigner
Dicionário de Dados DBDesigner
Modelo de Arquitetura Rational Rose/MVCASE
Plano de Implementação Editor de Textos
Plano de Treinamento Editor de Textos
Plano de Garantia do Sistema Editor de Textos
MVCASE é uma ferramenta CASE orientada a objetos consistindo em uma alternativa free para o
caso da empresa não possuir licença para o uso da Rational Rose, ou ainda se não possuir
recursos para adquirir tal licença. Entretanto, vale salientar que a MVCASE possui limitações de
funcionalidades ao se comparar as duas, mas em termos de diagramas apresenta resultados
similares.
DBDesigner é uma ferramenta Open Source, distribuída sob licença GLP, que integra criação,
modelagem, desenvolvimento e manutenção de bancos de dados.

17 – Resumo das Atividades
As fases de execução e respectivas atividades podem ser vistas na tabela abaixo:
Fases Atividades
Planejamento
Plano de Execução do Projeto 1. Contato Inicial com o Cliente;
2. Levantamento de Recursos do Projeto;
3. Cronograma Inicial.
Levantamento de Requisitos 1. Definição do Sistema;
2. Identificação dos Requisitos;
3. Análise e Classificação dos Requisitos.
Casos de Uso 1. Construção do Diagrama de Casos de Uso;
2. Descrição em Alto Nível;
3. Descrição em Nível Detalhado;
4. Priorização e Escalonamento dos Casos de
Uso.
Construção
Análise 1. Modelo Conceitual de Classes;
2. Glossário;
3. Diagramas de Estados/Atividades.
Projeto 1. Diagramas de Interação;
2. Diagrama de Classes do Projeto;
3. Esquema do Banco de Dados;
4. Modelo de Arquitetura.
Implementação 1. Implementação;
2. Segurança.
Testes 1. Testes.
Implantação 1. Plano de Implantação;
2. Pacote de Entrega ao Cliente;
3. Treinamento.
Avaliação do Cliente/Manutenção 1. Garantia da Qualidade.
Segue também a relação dos artefatos resultantes no final de cada fase/atividade, bem como um
indicativo de opcionalidade para aqueles que não se fizerem necessário quando se tratar de um
projeto simples. Quando se tratar de projetos com grau de complexidade considerável aconselhase
que todos os artefatos sejam desenvolvidos. Os artefatos poderão ser vistos na tabela abaixo:
Atividades Artefatos
Contato Inicial com o Cliente Identificação do Cliente
Identificação do Serviço Solicitado
Levantamento de Recursos do projeto Levantamento de Recursos
Cronograma Inicial Cronograma Inicial
Definição do Sistema/Identificação dos
Requisitos
Documento de Requisitos de Projeto
Análise e Classificação dos Requisitos Priorização dos Casos de Uso
Termo de Concordância.
Construção do Diagrama de Casos de Uso Diagrama de Casos de Uso
Descrição em Alto Nível Descrição em Alto Nível
Descrição em Nivel Detalhado Descrição em Nivel Detalhado*
Priorização e Escalonamento dos Casos de Uso Priorização e Escalonamento dos Casos de Uso
Elaboração do Modelo Conceitual de Classes Elaboração do Modelo Conceitual de Classes
Elaboração do Glossário Glossário*
Elaboração de Diagramas de Estados/Atividades Diagrama de Estados/Atividades *
Elaboração de Diagramas de Interação Diagramas de Interação
Elaboração do Diagrama de Classes do Projeto Diagrama de Classes do Projeto
Elaboração do Esquema do Banco de Dados Esquema do banco de Dados
Elaboração do Modelo de Arquitetura Modelo de Arquitetura *
Implementação Código fonte, documentação técnica
Segurança
Testes Modelos de testes
Elaboração do Plano de Implantação Plano de Implantação
Pacote de Entrega ao Cliente Pacote de Entrega ao Cliente
Treinamento Treinamento
Garantia da Qualidade Plano de Garantia
Ocorrências de Comportamento *
Continuidade de Implantação *
Plano de Manutenção Corretiva
* Os artefatos destacados poderão ser dispensados em projetos de pequena complexidade.

0 comentários:

Enviar um comentário