Click here to load reader
View
222
Download
2
Embed Size (px)
DESCRIPTION
Analise e projetos de sistemas de informação.
Instituto Federal de Educao, Cincia e Tecnologia IFALBacharelado em Sistemas de Informao
Anlise e Projeto de Sistemas
Prof. MSc. Ricardo R NunesRicardo (arroba) ifal.edu.br
Agenda Desenvolvimento de Sistemas OO UML Processo de desenvolvimento Processo Unificado (UP) e suas atividades Anlise e Projeto de Sistemas Design Patterns
2
Objetivo Apresentar um conjunto de informaes
prticas que possibilite a compreenso e utilizao da orientao a objetos de forma consciente e eficaz em processos de anlise e projeto de sistemas
Compreenso dos conceitos de anlise e projeto de sistemas, processo de desenvolvimento e UML
3
Desenvolvimento de Sistemas Orientados a Objetos
Como desenvolver OO?
Utilizar linguagem OO? Utilizar parte de um processo OO? Utilizar classes. Como foram desenvolvidos os
mtodos? Utilizar ferramentas CASE para criar diagramas
UML?
4
Desenvolvimento de Sistemas Orientados a Objetos (2)
Comprar um martelo no transforma voc em um
arquiteto; pode ser necessrio, mas no
suficiente
5
Desenvolvimento de Sistemas Orientados a Objetos (3)
O uso de diagramas no vai melhorar necessariamente a
qualidade do software produzido
6
Desenvolvimento de Sistemas Orientados a Objetos (4)
O que preciso para desenvolver OO? Conhecer as tcnicas de delegao e
distribuio de responsabilidades e desenvolver cdigo reusvel e baixo acoplamento, de acordo com padres de projeto
7
Desenvolvimento de Sistemas Orientados a Objetos (5)
Componentes do desenvolvimento de software Anlise e projeto OO Linguagem de modelagem (UML?) Processo de desenvolvimento Padres de projeto (Design patterns) Linguagem de programao (Java, Python?)
8
UML O que UML?
Metodologia?
Unified Modeling Language (Linguagem de Modelagem Unificada)
9
UML (2) Conhecer a linguagem X Criar bons artefatos
Escrever bons projetos como escrever poesia. No basta conhecer a linguagem. preciso
dominar certas tcnicas de escrita.
10
UML (3) Breve histrico da UML
1994 James Rumbaugh e Grady Booch criaram a Rational
1995 Unificaram suas linguagens de diagramas
1996 Ivar Jacobson adicionou casos de uso e outras notaes ao sistema de
diagramas
11
UML (4) Famlias de diagramas
Diagramas estruturais diagramas de pacotes, classes, objetos, estrutura
composta, componentes e distribuio. Diagramas comportamentais
diagramas de casos de uso, atividades e mquina de estados.
Diagramas de interao diagramas de comunicao, sequncia, tempo e viso
geral de integrao. Quais diagramas utilizar?
12
Processo de Desenvolvimento
Um processo um conjunto de passos que define quem est fazendo o que, quando e como para alcanar determinado objetivo
13
Exemplo 01
14
Exemplo 02
15
Processo de Desenvolvimento de Software (1)
Uma linguagem de modelagem no suficiente
Precisamos tambm de um processo de desenvolvimento Linguagem de modelagem + processo de
desenvolvimento = mtodo (ou metodologia) de desenvolvimento
No objetivo da disciplina estudar processos de desenvolvimento
16
Processo de Desenvolvimento de Software (2)
Fases
Anlise
Projeto
Implementao
Teste
17
Anlise (1) Enfatiza a investigao do problema
Objetivo de 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
18
Anlise (2) A qualidade do processo de anlise
importante porque um erro de concepo resolvido na fase de anlise tem um custo menor do que se resolvido em qualquer outra fase
19
Anlise (3)
20
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
21
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
22
Testes (1) Envolve
Testes de unidade, feitos pelo programador, para verificar se os componentes gerados atendem especificao do projetista
Testes de caso de uso, normalmente efetuados por um analista experiente, que visam verificar a adequao do sistema aos requisitos inicialmente levantados
23
Testes (2)
24
Processo de Desenvolvimento de Software (3)
25
Processo Unificado - UP Proposto por Grady Booch, James Rumbaugh e Ivar
Jacobson (1999) Valores
dirigido por casos de uso planejamento feito em funo dos casos de uso identificados,
tratando-se prioritariamente os mais complexos centrado na arquitetura
desenvolvimento prioriza a construo de uma arquitetura de sistema que permita a realizao dos requisitos
Baseia-se na identificao de uma estrutura de classes, produzida a partir de um modelo conceitual
iterativo e incremental a cada ciclo de trabalho realizado, novas caractersticas so
adicionadas arquitetura do sistema, deixando-a mais completa e mais prxima do sistema final
26
Dirigido por casos de uso
27
UP Centrado na Arquitetura (1)
28
UP Centrado na Arquitetura (1)
29
Iterativo X Incremental
30
Processo Unificado UP (2) Fases
Concepo, elaborao, construo e transio
31
Processo Unificado UP (2) Concepo, elaborao, construo e
transio
32
Processo Unificado UP (3) Fases
Concepo: incorpora o estudo de viabilidade, o levantamento dos requisitos e uma parte da sua anlise
Elaborao: incorpora o detalhamento da anlise de requisitos, a modelagem de domnio e o projeto
Construo: corresponde programao e testes Transio: consiste na instalao do sistema e
migrao de dados
33
Processo Unificado UP (4) Concepo:
Inception, em ingls Realiza-se o levantamento dos requisitos e
compreende-se o sistema de forma abrangente Resultados
Documento de requisitos e riscos Listagem de casos de uso de alto nvel Cronograma de desenvolvimento baseado nesses
casos de uso
34
Processo Unificado UP (5) Elaborao e construo
Ocorrem em ciclos iterativos Elaborao incorpora a maior parte da anlise e
projeto Construo incorpora a maior parte da
implementao e testes Durante os ciclos iterativos propriamente ditos
que acontece a anlise detalhada do sistema, a modelagem de domnio e o projeto do sistema usando os padres de projeto
35
Processo Unificado UP (6) Transio
depois de pronto, o sistema ser implantado substituindo o sistema atual
36
Processo Unificado UP (6) O UP como um processo gil
poucos artefatos e burocracia, permitindo o desenvolvimento de software de forma eficiente
o cliente deseja o software pronto e no uma pilha de documentos
documentao deve ser dirigida produo do software
Atividade realizadas com objetivo claro e utilizao precisa, visando produo de cdigo que atenda aos requisitos da melhor forma possvel no menor tempo
37
As Atividades de APno Contexto do UP
As diferentes nfases das atividades de desenvolvimento ao longo das quatro fases do Processo Unificado (fonte: IBM).
38
Retomando a discusso sobre Anlise e Projeto...
...para se chegar em Anlise e Projeto OO
O que so Anlise e Projeto? Primeira alternativa:
A anlise modela o problema e consiste das atividades necessrias para entender o domnio do problema (o que deve ser feito). uma atividade de investigao.
O projeto modela a soluo e consiste das atividades de criao (como pode ser feito)
40
O que so Anlise e Projeto?
41
O que so Anlise e Projeto? Segunda alternativa:
A anlise consiste de todas as atividades feitas com ou para o conhecimento do cliente. A informao produzida aquela que o cliente deve discutir e aprovar
O projeto inclui as atividades que resultam em informao que interessa apenas ao programador
Com essa definio, a anlise invade um pouco o "lado da soluo", pois o cliente deve discutir alguns tipos de interaes que ocorrero na interface do usurio, etc.
42
O que so Anlise e Projeto?
43
O que so Anlise e Projeto? Observe, portanto, que no h definio binria que
isole "anlise" de "projeto" Nesta disciplina, adotaremos a segunda alternativa,
pois queremos associar as palavras "anlise" e "projeto" aos artefatos entregues no final de cada fase Um modelo de anlise deve ser aprovado pelo cliente e
pode incluir alguma (pequena) discusso da soluo, principalmente no que diz respeito interface com usurio, etc.
44
O que Anlise e Projeto Orientados a Objeto (APOO)?
A perspectiva empregada de objetos (coisas, conceitos ou entidades)
Durante a Anlise OO, a nfase est em achar e descrever objetos (ou conceitos) no domnio do problema Por exemplo, num sistema de informao