Analise e Projeto de Sistemas – Parte 1
by paulorb on mai.17, 2012, under Sem categoria
A motivação para escrever um tutorial sobre Analise e Projeto de Sistemas é a da importância que esta tem na construção de softwares com qualidade.
Caracteristicas que irei abordar nesse tutorial:
- Utilização de Linguagens Orientadas a Objetos
- Linguagem de Modelagem Unificada (UML)
- Processo Unificado (UP) (RUP)
Porque utilizar RUP, UML e Linguagem Orientadas a objetos? O que isso trás ao codigo final? Devo perder tempo com isso? Muitas empresas ainda não dão credibilidade a esses 3 fatores e continuam produzindo software “artesanal” , ao final desse tutorial tenho certeza que conseguirei mudar essa visão se ela ainda existe em sua cabeça.
Vamos inicialmente falar um pouco do RUP , RUP é uma implementação do UP (Unified Process) Processo Unificado que nada mais é que um processo e que esta não conectado mas fortemente associado a notação UML, neste processo existem 3 valores fundamentais:
1 – É DIRIGIDO POR CASOS DE USOS: o planejamento do desenvolvimento é realizado em função dos casos de uso identificados tratando primeiramente os mais complexos.
2 – É CENTRADO NA ARQUITETURA: o processo de desenvolvimento tem como prioridade a construção de uma arquitetura de sistema que permita a realização dos requisitos, identificando estruturas de classes produzidas de um modelo conceitual.
3- É ITERATIVO E INCREMENTAL: a cada ciclo de trabalho desenvolvido, novas características são adicionadas à arquitetura do sistema, aproximando-se do sistema final.
O UP tem 4 grandes fases veja figura a seguir:
Fase de concepção: Engloba as seguintes atividades, estudo de viabilidade, levantamento de requisitos e uma parte de sua analise.
* Resultados dessa fase geralmente são: um documento de requisitos e riscos, uma listagem de casos de uso de alto nivel e um cronograma de desenvolvimento baseado nesses casos de uso.
Fase de elaboração: Engloba o detalhamento da análise de requisitos, a modelagem de domínio e o projeto.
* Resultados dessa fase: É feita a maior parte da analise e projeto, a analise detalhada do sistema a modelagem de dominio e o projeto de sistema usando os padroes de projeto.
Fase de construção: Engloba o programação e os testes.
Fase de transição: Engloba a instalação do sistema e migração dos dados.
Incialmente precisa-se de uma visão geral do sistema a ser desenvolvido e isso pode ser obtido a partir de entrevistas, documentos e sistemas, para apoiar essa visão pode-se usar diagramas de maquina de estados ou diagramas de atividade da UML que corresponde a fase de modelagem do negócio, a partir disso vai se analisando cada vez mais aprofundado cada uma das atividades ou estados para se obter os requisitos funcionais e não funcionais do sistema. Pode-se nessa etapa de concepção elaborar com o diagrama de classes um modelo conceitual preliminar para ajudar a compreensao da estrutura da informação a ser gerenciada pelo sistema.
Todo esse modelo conceitual ajudam a compreender quais são os processos de negócio obtendo-se assim os casos de uso de alto nivel. Essa é a base para se fazer o resto do desenvolvimento.
Até ai falamos da etapa de concepção após isso temos a etapa de elaboração que começa com a expansão dos casos de uso de alto nivel e posteriormente a representação de seus fluxos através da criação de diagramas de sequencia com isso são descobertas as operações e consultas do sistema.
Com isso conseguimos construir os diagramas de comunicação ou sequencia que mostrarão quais métodos devem ser criados em cada classe e como esses métodos devem ser implementados produzindo assim o diagrama de classes de projeto ou DCP. Pode-se também fazer a modelagem de interface.
A fase de construção se foca na construção de codigo , testes e geração de banco de dados.
Na proxima parte (Parte 2) falaremos um pouco sobre a visão geral do sistema, e sobre a questão da analise de requisitos.