Escolar Documentos
Profissional Documentos
Cultura Documentos
02 Introducao
02 Introducao
Processo Unificado - UP
A motivao para o uso da abordagem de Craig Larman ao Processo Unificado deve-se ao fato de que este um processo bastante conciso e eficiente para anlise e projeto de sistemas orientados a objetos. Neste mtodo, cada artefato (documento ou diagrama) tem uma razo muito clara para existir e as conexes entre os diferentes artefatos so muito precisas.
Migrao
H vantagens em mudar o processo de desenvolvimento de sistemas das empresas?
Questo da Ferramenta
Comprar um martelo no transforma voc em um arquiteto!
UML
Unified Modeling Language Language. Conhecer uma linguagem no implica na habilidade de saber us-la para produzir artefatos teis. Escrever bons projetos como escrever poesia. No basta conhecer a linguagem. preciso dominar certas tcnicas de escrita.
Software Deselegante
O software deselegante aquele software feito sem uma estrutura clara. O software deselegante aquele do qual no se consegue reusar partes e que no se consegue entender como funciona sem uma boa carga de documentao (e muitas vezes nem assim). tambm aquele no qual uma pequena modificao em uma de suas caractersticas pode causar um no funcionamento generalizado.
Software Elegante
O software elegante o software cuja estrutura intrinsecamente mais fcil de compreender, que autodocumentado e pode ser compreendido em nvel macro ou em detalhes. Ele mais fcil de modificar: quando alguma de suas caractersticas mudada, ele continua funcionando.
Atividades do Desenvolvimento
Anlise
A anlise enfatiza a investigao do problema. O objetivo da anlise levar o analista a investigar e a descobrir. Para que esta etapa seja realizada em menos tempo e de forma mais precisa, deve-se ter um bom mtodo de trabalho.
Anlise
Pode-se dizer que o resultado da anlise o enunciado do problema, e que o projeto ser a sua resoluo. Problemas mal enunciados podem at ser resolvidos, mas a soluo no corresponder s expectativas.
Anlise
A qualidade do processo de anlise importante porque um erro de concepo resolvido na fase de anlise tem um custo; na fase de projeto tem um custo maior; na fase de implementao maior ainda, e na fase de implantao do sistema tem um custo relativamente astronmico.
Projeto
A fase de projeto enfatiza a proposta de uma soluo que atenda os requisitos da anlise. Ento, se a analise uma investigao para tentar descobrir o que o cliente quer, o projeto consiste em propor uma soluo com base no conhecimento adquirido na anlise.
Implementao
A utilizao de tcnicas sistemticas nas fases de anlise e projeto faz com que o processo de gerao de cdigo possa ser automatizado. Neste caso, cabe ao programador dominar as caractersticas especficas das linguagens, ferramentas, frameworks e estruturas de dados para adaptar o cdigo gerado aos requisitos indicados quando necessrio.
Testes
A fase de testes envolve os testes de unidade, feitos pelo programador, para verificar se os componentes gerados atendem especificao do projetista, e aos testes de caso de uso, normalmente efetuados por um analista experiente, que visam verificar a adequao do sistema aos requisitos inicialmente levantados.
Ciclo de Vida
Construo Concepo Transio Elaborao
Concepo
Anlise de Requisitos Esboo de Modelo Conceitual Listagem de Casos de Uso Escopo do Sistema Cronograma de Desenvolvimento e Desembolso
Anlise de Requisitos
A anlise de requisitos fundamental para o desenvolvimento de sistemas, pois trata justamente de descobrir o que o cliente quer com o sistema. A anlise de requisitos est associada ao processo de descobrir quais so as operaes que o sistema deve realizar e quais so as restries que existem sobre estas operaes.
Requisitos
Funcionais o que o sistema deve fazer No-funcionais restries sobre como o sistema deve desempenhar suas funes
Exemplo
Registrar o emprstimo de uma fita um requisito funcional. Estabelecer que o tempo de emprstimo da fita no pode ser superior a 48 horas uma restrio, ou requisito no funcional.
Erro comum
Deve ficar claro ao analista que requisitos so coisas que o cliente ou usurio solicitam, e no coisas que ele, como analista, planejou.
Elaborao
Anlise de Domnio
Modelagem de Interao (casos de uso expandidos) Modelagem Conceitual Modelagem Funcional (contratos)
Projeto
Modelagem Dinmica (diagramas de comunicao) Arquitetura do Sistema
Camadas de Domnio, Interface e Persistncia
Anlise de Domnio
A anlise de domnio est relacionada descoberta das informaes que so gerenciadas no sistema, ou seja, representao e transformao da informao.
Exemplo
No sistema de informaes de uma videolocadora as informaes descobertas na anlise de domnio possivelmente seriam relativas aos clientes, s fitas, aos emprstimos, aos pagamentos, etc.
Tipos de Informao
As informaes tm dois aspectos que so analisados: esttico (ou estrutural) e o funcional. O modelo esttico representado no diagrama conhecido como modelo conceitual. O modelo funcional pode ser representado atravs dos contratos de operaes de sistema.
Projeto
Pode-se dizer que o ncleo de um projeto orientado a objetos consiste de um diagrama de classes. Mas como que se constri um diagrama de classes? Construindo o modelo conceitual e adicionando mtodos nas classes? No!
Modelo Conceitual
Elementos:
Classes: fceis de identificar Atributos: tomar cuidado para no confundir com associaes Associaes: tomar cuidado para no confundir com operaes
Pseudocdigo concentrador
Classe VideoLocadora fitas, clientes : Conjunto; clienteCorrente : Cliente; Mtodo emprestaFita(fCodigo: String) fita : Fita; emprestimoCorrente : Emprestimo; item : ItemDeEmprestimo; fita := fitas.get(fCodigo); emprestimoCorrente := clienteCorrente.getEmprestimoCorrente(); item := ItemDeEmprestimo.new(); item.associaFita(fita); emprestimoCorrente.associaItem(item); Fim Mtodo; Fim Classe.
OO no simulao
Muitos projetistas cometem o erro de acreditar que um sistema orientado a objetos uma simulao do mundo real. Mas isso no normalmente verdade. O sistema representa as informaes do mundo real e no as coisas propriamente ditas Os mtodos, no correspondem a aes do mundo real, mas sim realizao interna de contratos de operaes externas (ou operaes de sistema). Por este motivo que os mtodos internos so citados apenas na fase de projeto e sequer aparecem na fase de anlise.