Você está na página 1de 105

Desenvolvendo

Software
com Qualidade
Andre Luiz Monteiro da Costa
andre.monteiro@prof.infnet.edu.br
Desenvolvedor JAVA.
Ex-docente do Senac - curso de desenvolvedor JAVA.
Ex-Analista de Sistemas da IplanRio.
Docente da Academia do Concurso Pblico gesto TI.
Ex-docente das Faculdades So Jos e Moacyr Bastos.
Analista de Sistemas da FAPES/BNDES.
Palestrante
Docente da SOFEP.
Professor do INFNET.
SUMRIO

SOFTWARE

Engenharia de SOFTWARE

Processo de SOFTWARE

Modelos de Processo de SOFTWARE

Processo Unificado

Extreme Programming

Qualidade de SOFTWARE
O que Software?

Programas de computador e a documentao associada.

Produtos de Software podem ser desenvolvidos para um


cliente em particular ou para o mercado.

Produtos de Software podem ser:

Genricos (generic) desenvolvidos para venda a uma ampla


gama de clientes.

Customizados (custom) desenvolvido para um cliente em


especial de acordo com suas prprias especificaes .
Software - Caractersticas

O software desenvolvido ou projetado por engenharia,


no manufaturado no sentido clssico;

O software no se desgasta mas se deteriora;

A maioria feita sob medida em vez de ser montada a


partir de componentes existentes;
Quais so os atributos de um bom software?

O Software deve oferecer:

As funcionalidades requisitadas;

Desempenho ao usurio;

Facilidade de manuteno;

Facilidade de uso;

Confiabilidade.
Engenharia

O que Engenharia?

As ENGENHARIAS tratam a REALIDADE atravs


da sua simplificao por meio de MODELOS

ENGENHARIA a arte de aplicar conhecimentos


cientficos e tecnolgicos criao de estruturas,
dispositivos e processos que convertem recursos
naturais em bem-estar e segurana dos
SERES HUMANOS.
O que Engenharia de Software?

Uma disciplina da engenharia que se ocupa de


todos os aspectos do desenvolvimento e
produo de software;
O que Engenharia de Software?

A Engenharia de Software envolve o gerenciamento de trs


foras:
Processos
Ferramentas Pessoas
Atividades que
precisam ser
executadas e fases
que precisam ser
cumpridas
Infra-estrutura,
incluindo tecnologias
Responsveis pela
execuo das
atividades e pelo
gerenciamento do
processo
Engenharia
de
Software
Qual a diferena entre Engenharia de Software e
Cincia da Computao?

A Cincia da Computao enfoca a teoria e os fundamentos.

A Engenharia de Software enfoca as prticas de desenvolvimento


(construo) e entrega de software til.

As teorias da Cincia da Computao, atualmente, so insuficientes


para englobar todas as atividades desenvolvidas na Engenharia de
Software.
Qual a diferena entre Engenharia de Software e
Engenharia de Sistemas?

A Engenharia de Sistemas enfoca todos os aspectos do


desenvolvimento de sistemas baseados em computador, incluindo
hardware, software e processos de engenharia. A Engenharia de
Software parte desse processo.

Os engenheiros de sistemas esto envolvidos com a especificao


do sistema, o desenho da arquitetura, a integrao e o seu
desdobramento.
Quais so os custos da Engenharia de
Software?

Os custos de Software em um PC so maiores do que o custo do


PC.

Os custos de manuteno so maiores do que os de construo.

Para sistemas antigos, os custos de manuteno podem ser


vrias vezes maiores do que os custos de desenvolvimento.
(COBOL)
$
Quais so os custos da Engenharia de
Software?
$
Fonte: Standish Group, 2003.
Publicado no jornal O Globo: 15/02/2009

O que processo de software:

um conjunto de atividades e resultados associados


que geram um produto de software;

H quatro atividades de processo de software


fundamentais, a saber:

Especificao do software;

Desenvolvimento do Software;

Validao do Software;

Evoluo do Software;
Processo de Software - Introduo
Processo de Software - Introduo

Processo de Software diferente de Engenharia de


Software:

Processo define a abordagem;

Engenharia engloba tambm as tecnologias como


mtodos e ferramentas;
Processo de Software Engenharia de
Software

Pode-se encarar a Engenharia de Software como uma


tecnologia em camadas:
ferramenta ferramenta
mtodo mtodo
processo processo
foco na qualidade foco na qualidade
Processo de Software Engenharia de
Software
ferramenta ferramenta
mtodo mtodo
processo processo
qualidade qualidade

o solo e o porqu de se utilizar um processo de o solo e o porqu de se utilizar um processo de


software. software.
Processo de Software Engenharia de
Software

a fundao; a fundao;

o que permite um desenvolvimento de software racional e o que permite um desenvolvimento de software racional e
em tempo; em tempo;
ferramenta ferramenta
mtodo mtodo
processo processo
qualidade qualidade
Processo de Software Engenharia de
Software

o como fazer; o como fazer;

Engloba um conjunto de tarefas que inclui anlise de Engloba um conjunto de tarefas que inclui anlise de
requisitos, projeto, implementao, teste e manuteno; requisitos, projeto, implementao, teste e manuteno;
ferramenta ferramenta
mtodo mtodo
processo processo
qualidade qualidade
Processo de Software Engenharia de
Software

o instrumento apropriado; o instrumento apropriado;

D suporte automatizado ou semi-automatizado aos D suporte automatizado ou semi-automatizado aos


mtodos; mtodos;

Quando as ferramentas que apoiam os mtodos se Quando as ferramentas que apoiam os mtodos se
integram, forma-se a Engenharia de Software auxiliada por integram, forma-se a Engenharia de Software auxiliada por
computador CASE Computer Aided Software Engineering; computador CASE Computer Aided Software Engineering;
ferramenta ferramenta
mtodo mtodo
processo processo
foco na qualidade foco na qualidade
Processo de Software - Modelos

Processo de software define uma abordagem;

Modelo uma descrio simplificada, uma abstrao


dessa abordagem;

Alguns modelos de processo:


+
Modelo Seqencial Linear Modelo Seqencial Linear
+
Modelo Modelo RAD RAD
+
Modelos Evolucionrios Modelos Evolucionrios
+
Modelo de Prototipao ( Descartveis ) Modelo de Prototipao ( Descartveis )
+
Incremental ( Exploratrio ) Incremental ( Exploratrio )
+
Espiral ( Exploratrio ) Espiral ( Exploratrio )
+
Tcnicas de 4 Tcnicas de 4
a a
Gerao Gerao
Processo de Software Modelo
Processo de Software Modelo
Seqencial Linear

Tambm conhecido como ciclo de vida clssico ou


Modelo Cascata:

Modelo mais antigo e mais usado;

Requer uma abordagem sistemtica e seqencial


para o desenvolvimento de um software;
Processo de Software Modelo
Seqencial Linear

Muitos aplicam esse modelo de forma estritamente


linear:
Engenharia de
Sistemas /
Informao
Anlise
Projeto Codificao
Testes
Processo de Software Modelo
Seqencial Linear

Mas o modelo original prev a volta:


Levantamento Levantamento
de Requisitos de Requisitos
Anlise de Anlise de
Requisitos Requisitos
Projeto Projeto
Codificao Codificao
Testes Testes
Manuteno Manuteno
Processo de Software Modelo
Seqencial Linear

Problemas:

Projetos reais raramente seguem o fluxo sequencial


proposto;

difcil estabelecer todos os requisitos no comeo do


projeto. Existe uma incerteza natural quanto a esses
requisitos;

Uma verso do software s vai ficar pronta em um ponto


tardio do desenvolvimento;

Se houver algum erro crasso no detectado na anlise ou


projeto o resultado pode ser desastroso;

H estgios que permitem a ociosidade dos


desenvolvedores em alguns momentos.
Processo de Software Modelo
Seqencial Linear
Embora o Ciclo de Vida Clssico tenha fragilidades,
ele significativamente melhor do que
uma abordagem casual ao desenvolvimento de
software.

um modelo seqencial linear, mas que enfatiza


um desenvolvimento extremamente rpido;

A alta velocidade conseguida atravs de


uma abordagem de construo baseada em
componentes;

Usado quando os requisitos so bem definidos e


o escopo do sistema restrito.
Modelo RAD
modelagem
do negcio
modelagem
dos dados
modelagem
do processo
gerao da
aplicao
teste e
modificao
# 2 equipe
60-90 dias
Modelo RAD
modelagem
do negcio
modelagem
dos dados
modelagem
do processo
gerao da
aplicao
teste e
modificao
modelagem
do negcio
modelagem
dos dados
modelagem
do processo
gerao da
aplicao
teste e
modificao
# 1 equipe # 3 equipe
Quando usar?

Quando a aplicao pode ser modularizada de forma


que cada grande funo possa ser completada em
menos de 3 meses.

Cada grande funo pode ser alocada para uma


equipe distinta e, depois, integrada para formar o todo.
Modelo RAD

Para projetos escalveis, mas grandes, o RAD requer


recursos humanos suficientes para criar um nmero
adequado de equipes;

RAD requer um comprometimento entre


desenvolvedores e clientes para que as atividades
possam ser realizadas rapidamente e o sistema seja
concludo em um tempo abreviado;

Se o comprometimento for abandonado por qualquer


das partes, o projeto falhar;

No apropriado quando os riscos so grandes;


Modelo RAD - problemas
Processo de Software Prototipao

Processo que possibilita que o desenvolvedor crie um


modelo do software que deve ser construdo.

Idealmente, o modelo (prottipo prottipo) serve como um


mecanismo para identificar os requisitos de software.

Apropriado para quando o cliente definiu um conjunto de


objetivos gerais para o software, mas no identificou
requisitos de entrada, processamento e sada com
detalhes.
fim
incio
construo
produto
refinamento
prottipo
avaliao
prottipo
construo
prottipo
projeto
rpido
obteno
dos
requisitos
Processo de Software Prototipao

Problemas:

Cliente no aceita bem a idia de que a verso final do software


vai ser construda com o prottipo sendo descartado e "fora"
a utilizao do prottipo como produto final;

Desenvolvedor freqentemente faz uma implementao


comprometida (utilizando o que est disponvel) com o objetivo
de produzir rapidamente um prottipo. Depois de um tempo ele
se familiariza com essas escolhas, e esquece que elas no so
apropriadas para o produto final;
Processo de Software Prototipao

Comentrios:
-Ainda que possam ocorrer problemas, a prototipao
um ciclo de vida eficiente.
-A chave definirem-se as regras do jogo logo no
comeo.
-O cliente e o desenvolvedor devem ambos concordar
que o prottipo seja construdo para servir como um
mecanismo a fim de definir os requisitos.
Processo de Software Prototipao

Combina elementos do Modelo Linear com a filosofia da


Prototipao.

Aplica seqncias lineares numa abordagem de saltos


medida que o tempo progride.

Cada seqncia linear produz um incremento do software.

O processo se repete at que um produto completo seja


produzido.

Difere da Prototipao pois a cada incremento produz uma


verso operacional do software.
Processo de Software Modelo
Incremental
Processo de Software Modelo
Incremental
Engenharia de
Sistemas / Informao
Anlise
Projeto Codificao Testes
incremento 1
produto liberado
do incremento 1
tempo
Anlise
Projeto Codificao Testes
Anlise
Projeto Codificao Testes
Anlise
Projeto Codificao Testes
incremento 2
incremento 3
incremento 4
produto liberado
do incremento 2
produto liberado
do incremento 3
produto liberado
do incremento 4
C
Engloba a natureza iterativa da Prototipao Prototipao com os
aspectos sistemticos e controlados do Modelo Modelo Linear Linear .
C
Fornece o potencial para o desenvolvimento rpido de
verses incrementais do software.
C
Cada Loop da espiral uma fase do desenvolvimento que
sempre passa por 4 aspectos.
Processo de Software Modelo Espiral
Planejamento
Definio de Objetivos
Avaliao e reduo de risco
Desenvolvimento e Validao
Cada loop da espiral uma
fase de desenvolvimento do
software;
Processo de Software Modelo Espiral

Atualmente, a abordagem mais realstica para o


desenvolvimento de software em grande escala.

Usa uma abordagem que capacita o desenvolvedor e o


cliente a entender e reagir aos riscos em cada etapa
evolutiva.

Pode ser difcil convencer os clientes que uma abordagem


"evolutiva" controlvel.

Exige considervel experincia na determinao de riscos e


depende dessa experincia para ter sucesso.
Processo de Software Modelo Espiral
Processo de Software 4GL
E
Concentra-se na capacidade de se especificar o
software em um nvel que esteja prximo
linguagem natural.
E
Engloba um conjunto de ferramentas de
software que possibilitam:
=
que o sistema seja especificado em uma linguagem que o sistema seja especificado em uma linguagem
de alto nvel; de alto nvel;
=
que o cdigo fonte seja gerado automaticamente a que o cdigo fonte seja gerado automaticamente a
partir dessas especificaes. partir dessas especificaes.
Obteno dos
Requisitos
Estratgia do
Projeto
Implementao
usando 4GL
Testes
Processo de Software 4GL
43
O
Criado para apoiar o desenvolvimento
Orientado a Objetos, fornecendo uma forma
sistemtica para se obter reais vantagens
no uso da Linguagem de Modelagem
Unificada (Unified Modeling Language
UML).
Processo Unificado
Processo Unificado
44
O
O desenvolvimento de sistemas seguindo o
RUP um processo:

dirigido por casos de uso

so os casos de uso que orientam todo o


processo.

centrado na arquitetura

defende a definio de um esqueleto para a


aplicao (a arquitetura), ganhando corpo
gradualmente ao longo do desenvolvimento.

iterativo e incremental

oferece uma abordagem para particionar o


trabalho em pores menores ou mini-projetos.
Rational Unified Process
Rational Unified Process
45

Identificao de riscos adiantada.

Preparao do Sistema para requisitos que mudam.

Integrao contnua (facilita testes) e aprendizado


facilitado.

Desenvolvimento em mini-projetos (iteraes) que


incrementam o desenvolvimento.

Modelos evoluem nas iteraes.


Processo Iterativo e Incremental
Processo Iterativo e Incremental
46
RUP - Disciplinas x Fases
RUP - Disciplinas x Fases
47
RUP - Disciplinas x Fases
RUP - Disciplinas x Fases
48
RUP - Disciplinas x Fases
RUP - Disciplinas x Fases
49
RUP - Disciplinas x Fases
RUP - Disciplinas x Fases
O
O RUP apresenta duas Dimenses:

o eixo horizontal representa o tempo e mostra os


aspectos do ciclo de vida do processo medida
que se desenvolve.

o eixo vertical representa as disciplinas, que


agrupam as atividades de maneira lgica, por
natureza.
50
RUP - Disciplinas x Fases
RUP - Disciplinas x Fases

O RUP define um conjunto de atividades:

bem definidas;

com responsveis;

com artefatos de entrada e sada;

com dependncias e ordem de execuo;

com modelo de ciclo de vida

com uma descrio sistemtica de como execut-


las

usando linguagem UML


51
RUP - ciclo de vida
RUP - ciclo de vida

O ciclo de vida adotado no RUP tipicamente


evolutivo, organizado em fases, permitindo uma
gerncia mais efetiva de projetos complexos.

Ao contrrio do tradicionalmente definido como


fases na maioria dos modelos de ciclo de vida
planejamento, levantamento de requisitos, anlise,
projeto, implementao e testes so definidas
fases ortogonais.
52
RUP milestones
RUP milestones
53
RUP - ciclo de vida
RUP - ciclo de vida

Dentro de cada fase, um conjunto de iteraes,


envolvendo planejamento, levantamento de requisitos,
anlise, projeto e implementao e testes, realizado.

Entre iteraes e fases, a nfase sobre as atividades


muda (a cor preta indica grande nfase e a cor branca
pouca nfase).
54
RUP - ciclo de vida
RUP - ciclo de vida

Na fase de concepo, o foco principal recai sobre o


entendimento dos requisitos e a determinao do escopo
do projeto (planejamento e levantamento de requisitos).
55
RUP - ciclo de vida
RUP - ciclo de vida

Na fase de elaborao, o enfoque est na captura e


modelagem dos requisitos (levantamento de requisitos e
anlise), ainda que algum trabalho de projeto e
implementao seja realizado para prototipar a
arquitetura, evitando certos riscos tcnicos.
56
RUP - ciclo de vida
RUP - ciclo de vida

Na fase de construo, o enfoque concentra-se no projeto


e na implementao, visando evoluir e rechear o prottipo
inicial, at obter o primeiro produto operacional.
57
RUP - ciclo de vida
RUP - ciclo de vida

A fase de transio concentra-se nos testes, visando


garantir que o sistema possua o nvel adequado de
qualidade. Alm disso, usurios devem ser treinados,
caractersticas ajustadas e elementos esquecidos
adicionados.
58
RUP - ciclo de vida
RUP - ciclo de vida

Alm dos conjuntos de iteraes em cada fase, as fases


em si podem ocorrer de forma iterativa.
59
RUP - ciclo de vida
RUP - ciclo de vida

Alm dos conjuntos de iteraes em cada fase, as fases


em si podem ocorrer de forma iterativa.
60
RUP - ciclo de vida
RUP - ciclo de vida

Alm dos conjuntos de iteraes em cada fase, as fases


em si podem ocorrer de forma iterativa.
61
RUP - ciclo de vida
RUP - ciclo de vida

Alm dos conjuntos de iteraes em cada fase, as fases


em si podem ocorrer de forma iterativa.
62
RUP Conceitos
RUP Conceitos
63
RUP Conceitos
RUP Conceitos
64
Processo de Engenharia de Software na viso RUP
Processo de Engenharia de Software na viso RUP
65
Processo de Engenharia de Software na viso RUP
Processo de Engenharia de Software na viso RUP
ELABORAO ELABORAO CONCEPO CONCEPO
TRANSIO TRANSIO
CONSTRUO CONSTRUO
66
Desenvolvimento gil
Indivduos e interaes mais que processos e ferramentas.
Trabalhar no software mais que documentao abrangente.
Colaborao do cliente mais que negociao contratual.
Responder s mudanas mais que seguir um plano.
67
XP eXtreme Programming

Processo de desenvolvimento de software

Projetos com requisitos muito volteis

Equipes pequenas (at ~10 pessoas)

Desenvolvimento incremental
68
As 4 Variveis do Desenvolvimento
de Software

Tempo

Custo

Qualidade

Escopo (foco principal de XP)


69
Premissas do desenvolvimento gil

APRENDIZADO

FEEDBACK

DESENVOLVIMENTO
ITERATIVO
70
Aprendizado

O cliente aprende durante o


desenvolvimento.

Descobre novas possibilidades.

Muda as prioridades.
71
Feedback constante

Permite que pequenas


mudanas sejam feitas.

Evita a necessidade de
mudanas bruscas.

Mantm o projeto em
curso.
72
Integrao contnua

Mquina destacada para a integrao.

Integrao ocorre diversas vezes ao dia.

Os testes so executados em cada integrao.

Correes so feitas imediatamente.


73
E se essa fosse a realidade?

A atitude dos desenvolvedores de software seria


completamente diferente:

As grandes decises seriam tomadas o mais


tarde possvel.

S seria implementado agora o que se precisasse


para agora.

No haveria flexibilidade desnecessria


( necessidades antecipadas ).
74
User Stories

Funcionalidades so
informadas atravs de
user stories.

Estrias devem ser


simples.

Desenvolvedores
estimam tempo.
75
Planejamento

Cliente entrega as estrias


priorizadas para serem
implementadas.

Desenvolvedores
respeitam as prioridades
dos clientes.

Projeto dividido em
partes: releases e
iteraes
76
Priorizao

Cliente deve priorizar as estrias


para obter o mximo de valor
rapidamente.

Se baseia nas suas necessidades


e nas estimativas dos
desenvolvedores.
77
Release e Iterao
R
1
R
2
R
3
R
4
I
1
S
1
8 Sem.
I
2
I
3
I
4
2 Sem.
1 Sem.
S
2
Projeto: 8 meses = 32 semanas
78
Release Planning

Cliente recebe um oramento dos


desenvolvedores.

Seleciona as estrias prioritrias que possam ser


implementadas dentro do oramento.

Pode trocar estrias durante o release.


R
1
R
2
R
3
R
4
8 Sem.
79
Iteration Planning

Cliente recebe um oramento.

No pode haver troca de funcionalidades durante


uma iterao.

Produtividade: quantidade de estrias que a equipe


consegue implementar em uma iterao.
I
1
I
2
I
3
I
4
2 Sem.
80
Stand-up meeting

Reunio rpida

Diria

Atualiza a equipe
81
Test Driven Design (TDD)

No XP:

primeiro se especifica o
teste.

depois se constri a
pea.
82
Pair Programming

Todo cdigo escrito em


par.

Duas pessoas trabalham


em um nico computador.

Uma digita, enquanto a


outra revisa, corrige e
sugere.
83
Collective code ownership

Todos so responsveis por


todas as partes do sistema.

Cdigo tem que estar sempre


limpo.

Todos so capazes de
modific-lo.
84
Refactoring

Uma [pequena] modificao no sistema que no


altera o seu comportamento funcional...

mas que melhora alguma qualidade no-funcional:

simplicidade

flexibilidade

clareza

desempenho
85
Exemplos de Refactoring

Mudana do nome de variveis.

Mudanas nas interfaces dos objetos.

Pequenas mudanas arquiteturais.

Encapsular cdigo repetido em um novo mtodo.

Generalizao de mtodos:

raizQuadrada(float x)

raiz(float x, int n)
86
Desenvolvimento em equipe

Como conciliar diversos desenvolvedores?

Estrutura de diretrios.

Atualizao do cdigo por vrias pessoas


diferentes (controle de versionamento).
87
Customer onsite

Fator mais importante


no XP:

Comunicao

Feedback

Viabiliza a
simplicidade da
metodologia.
88
Customer onsite
89
XP e RUP
Qualquer projeto Projetos de determinados
tamanhos
Prescritivo Comportamental
Foco nos artefatos Foco nas prticas da equipe
RUP XP

Localizar e solucionar problemas de software aps a


implantao fica de 100 a 1.000 vezes mais caro.
Qualidade de Software
91
Tempo de Projeto
C
u
s
t
o
$ 1
Requisitos
$ 10
Anlise
$ 100
Projeto
$ 1.000
Implem.
$ 10.000
Testes
Qualidade de Software

Os artefatos devem ser avaliados medida que as


atividades que os produzem so concludas e na
concluso de cada iterao.

A qualidade , e deve ser, responsabilidade de todos.


Qualidade de Software
Estratgia de Teste de Software

A srie planejada de realizao de testes


agrupada em trs grandes fases:

Teste de Unidade

Teste de Integrao

Teste de Sistema
Teste de Unidade

Tem por objetivo testar a menor unidade do


projeto (um componente de software que no
pode ser subdividido), procurando identificar
erros de lgica e de implementao em cada
mdulo separadamente.
Teste de Integrao

Visa descobrir erros associados s interfaces


entre os mdulos quando esses so integrados
para formar a estrutura do produto de software.

Ascendente (bottom-up)

Descendente (Top-down)

Sanduche (camada do meio, bottom e up)

Big-bang (integra de uma s vez todos os


mdulos)
Teste de Sistema

Inclui diversos tipos de testes, realizados na


seguinte ordem:

Teste funcional

Teste de desempenho

Teste de aceitao

Teste de instalao
Qualidade de Software - exemplo
LANADA: LANADA: 03/01/1999 03/01/1999

PERDIDA: PERDIDA: 03/12/1999 03/12/1999


Qualidade de Software - exemplo
A sonda climtica Mars Polar Lander
custou US$ 125 milhes.
Foi perdida pela NASA porque os
engenheiros de desenvolvimento
usaram, no software de navegao,
unidades Inglesas de medida,
enquanto os operadores da NASA
utilizaram o sistema mtrico decimal
para enviar as coordenadas.
Essa diferena de medida fez com
que a sonda passasse do ponto de
entrada na atmosfera e se perdesse
em direo ao sol ou fosse calcinada.
Um erro em uma linha de cdigo
resultou na perda da sonda.
Qualidade de Software - exemplo
O avio derrapou na pista do
Aeroporto de Congonhas, na Zona Sul
de So Paulo, atravessou umaavenida
e bateu no prdio de carga e descarga
da companhia area.
O software pode no ter
gerenciado corretamente a
situao anmala, interpretando,
erroneamente, que o piloto pedia
mais potncia, aplicando
acelerao total mesmo com o
reverso acionado.
48 h
Java Web Applications
Ensinar questes avanadas do desenvolvimento de aplicaes Web com a linguagem de
programao Java e os frameworks mais usados no mercado.
I554
48 h
Java Programming
Ensinar a programar em Java para alunos que j sabem programar em qualquer outra
linguagem.
I552
40 h
Projeto de Sistemas e Orientao a Objetos com UML
Ensinar conceitos de orientao a objetos e sua utilizao no processo de desenvolvimento
de software usando UML.
I550
Horas Nome do curso Cdigo
Formao Desenvolvedor Java
A Formao do Infnet
32 h
Java Workshop
Colocar em prtica o conhecimento avanado de desenvolvimento de
aplicaes Java.
I562
32 h
Java Mobile
Ensinar programao Java para dispositivos mveis, como celulares e
hand helds.
I560
24 h
Java Security
Ensinar conceitos avanados de segurana em Java para sistemas
desktop e J2EE.
I558
48 h
Java Enterprise Applications
Ensinar conceitos avanados de programao em Java para sistemas
com alta demanda de acesso e segurana.
I556
48 h
Java Web Applications
Ensinar questes avanadas do desenvolvimento de aplicaes Web
com a linguagem de programao Java e os frameworks mais usados
no mercado.
I554
48 h
Java Programming
Ensinar a programar em Java para alunos que j sabem programar em
qualquer outra linguagem.
I552
40 h
Projeto de Sistemas e Orientao a Objetos com UML
Ensinar conceitos de orientao a objetos e sua utilizao no processo
de desenvolvimento de software usando UML.
I550
Horas Nome do curso Cdigo
Formao Desenvolvedor Java: Sistemas Distribudos
A Formao do Infnet
A Formao do Infnet

Engenharia de Software (Ps-Graduao)

Desenvolvimento JAVA;

Desenvolvimento .NET;
DVIDAS ?
OBRIGADO !
www.infnet.edu.br
cursos@infnet.edu.br
2122-8800
Esta palestra est disponvel em:
http://www.infnet.edu.br/Home/Eventos/CiclodePalestraseMiniCursos/EventosemTI/tabid/257/Default.aspx
Ministrada por
Andr Luiz Monteiro da Costa
E-mail:
andre.monteiro@prof.infnet.edu.br

Você também pode gostar