Beruflich Dokumente
Kultur Dokumente
2017
PROFESSOR FBIO MINORU SAKAMOTO
Atuando profissionalmente h 14 anos no desenvolvimento de softwares.
Ps-Graduado em Enterprise Solution Provider em Objetos Distribudos
com Java FIAP
Graduado em Engenharia de Computao - UFSCar
Currculo Profissional:
Gerente de Projetos no Escritrio de Projetos de TI da Porto Seguro;
Docente na FIAP desde 2006;
TEMPLATE 2
Experincia em desenvolvimento de softwares como Arquiteto de Software,
Analista de Sistemas, Programador e Administrador de Dados;
Atuao nos ramos de Seguros de Automveis, Hospitalar, Financeiro, Mercado
Automotivo, Ensino Distncia e Telefonia Celular.
OBJETIVO DA DISCIPLINA
ENGENHARIA DE SOFTWARE
LEVANTAMENTO DE REQUISITOS
ORIENTAO OBJETOS
DINMICA
Apresentao de Conceitos do Tpico.
Prticas para Fixao.
AVALIAO
Exerccios propostos durante a disciplina.
Trabalho entregue no portal.
Premissas:
Prazo de entrega de 2 semanas aps o cadastro no Portal.
Nmero de integrantes: 4 pessoas.
Especificao
Projeto e
Evoluo
Implementao
Validao
CONTEXTO DE ATUAO
ANALISTA DE NEGCIO
Requisitos e usurios finais
GERENTE DE PROJETO
Planejamento e controle dos riscos
ANALISTA DE SISTEMAS
Solues sistmicas para requisitos funcionais
DESENVOLVEDOR
Especialista em linguagem de programao
ANALISTA DE TESTES
Consultoria em qualidade de software
ARQUITETO DE SOFTWARE
Estrutura para atendimento dos requisitos funcionais e no funcionais
POR QUE COMETEMOS ERROS?
PAPEL DO ENGENHEIRO DE SOFTWARE
ENGENHARIA DE SOFTWARE UMA ENGENHARIA
https://www.youtube.com/watch?v=damUucIQpC4
MODELAGEM DE SISTEMA
COMPLEXIDADE
CUSTO DE CONSTRUO
TAMANHO DO TIME
MATURIDADE DO PROCESSO
LEVANTAMENTO DE REQUISITOS
DA NECESSIDADE AO SISTEMA
CAPTAO DOS REQUISITOS
Entendi !
Correto
NECESSIDADE
Completo
Eu preciso !
Consistente
Sem ambiguidades
NECESSIDADE REQUISITOS Verificvel
Classificvel
Modificvel
Rastrevel
NECESSIDADE
Entendvel
Estabelece e mantm o acordo entre o cliente e o time de projeto.
DEFINIES RELACIONADAS A REQUISITOS
Especificao
Onde os casos de uso so mantidos? de Caso de Uso
0.5 1
Requisito
2.5
Anlise
5
Construo
10
Testes
25
Homologao
100
Produo
FORMANDO O REQUISITO DE SOFTWARE
Sequncia de aes
executadas por um sistema que produz um
resultado mensurvel.
Representa um papel de
um humano, dispositivo ou
sistema.
Objetivo 1
ATOR
Objetivo 2
MODELO DE CASO DE USO
Sistema
Caso de uso 1
Levantamento do Modelo
de Caso de Uso Ator 1
- descrio do levantamento
- lista de atores Ator 2
- lista de casos de uso Caso de uso 2
Caso de uso 3
Ator 3
Nome do UC
Breve descrio
Fluxo Bsico
1. Primeiro passo
2. Segundo passo
Numerar ou 3. Terceiro passo Estruturar o fluxo
demarcar passos em passos
A1 Fluxo alternativo 1
A2 Fluxo alternativo 2
A3 Fluxo alternativo 3
Fluxo Bsico
Fluxos de Alternativos
FLUXO DE EVENTOS
FLUXO BSICO
Comportamento primrio esperado do sistema.
FLUXOS ALTERNATIVOS
Situaes de deciso previstas para o sistema.
FLUXOS DE EXCEO
Situaes que no fazem parte do comportamento esperado do
sistema, mas que possuem tratamento, caso ocorram.
DIGRAMA DE CASO DE USO INVESTIMENTO
ESPECIFICAO DE CASO DE USO PARTE 1
Fluxo Bsico:
1. O cliente seleciona a opo investimentos e seleciona o tipo de investimento.
2. O sistema apresenta a tela de investimentos e solicita o preenchimento do valor e a
data do investimento.
3. O cliente informa o valor e a data e seleciona a opo Investir.
4. O sistema valida a operao, vide UC Validar Operao.
5. O sistema realiza o investimento, exibe um recibo eletrnico da operao e as opes
de imprimir ou voltar.
6. O cliente seleciona a opo voltar.
7. O sistema finaliza a operao voltando tela de investimentos.
Fluxos Alternativos:
2a. A conta no possui autorizao para investimento.
1. O sistema exibe mensagem de erro, com opo de encerramento da operao.
2. O cliente aceita encerramento da operao.
3. O sistema finaliza a operao voltando tela principal do Internet Banking.
2b. O saldo insuficiente para o investimento selecionado.
1. O sistema exibe informa saldo insuficiente para o investimento selecionado.
2. O sistema volta ao fluxo no passo 2.
4a. A data informada no um dia til.
1. O sistema exibe informao de que o investimento ser agendado para o
prximo dia til.
2. O cliente aceita informao e retorna ao fluxo no passo 5.
REVISO DE CONTEDO
O que so requisitos?
Alan Kay
DESENVOLVIMENTO ORIENTADO OBJETOS
https://www.youtube.com/watch?v=hYHo8XXBeMw
BENEFCIOS
Tipo de Informao
Distino entre instncias nico
Domnio do objeto abstrao
Condio atual estado
Repositrio de informaes referncia
Definio de um objeto.
Tipo especfico.
Responsvel pela criao da instncia (OBJETO).
PILARES DA ORIENTAO OBJETOS
ABSTRAO
ENCAPSULAMENTO
MODULARIDADE
HIERARQUIA
APLICAO DA ORIENTAO OBJETOS
POLIMORFISMO
Simples Mltipla
INTERFACE
OK!
MAS COMO EU FAO ISSO?!?!?!
UNIFIED MODELING LANGUAGE UML
O QUE UML ?
Expectativa do cliente.
Funcionalidades macro do sistema.
Papis e Responsabilidades.
Visualizao simples e fcil para o cliente.
ABORDAGEM POR CASO DE USO
Ator
Caso de Uso
Associao
<< include >>
<< extend >>
Generalizao
ATOR
Pontos de Extenso
HIERARQUIA DE DIAGRAMAS
MODELAGEM COM UML
2. Diagrama de Atividade
PROPSITO
OU
3. Diagrama de Classes
PROPSITO
NOME
COMPARTIMENTO I NOME DA CLASSE
nico e Coeso.
No singular (exceto colees).
Padronizao por camel case.
Indica o propsito no sistema.
Engloba o nome do Pacote (Pacote :: Classe).
COMPARTIMENTO I ESTERITIPO
Semntica.
No impactam diretamente o empacotamento ou a codificao.
COMPARTIMENTO I PROPRIEDADES
COMPARTIMENTO II
ATRIBUTOS
COMPARTIMENTO II SINTAXE DO ATRIBUTO
Sintaxe:
[visibility] [/] name [: type] [multiplicity] [=default] [{property-string}]
COMPARTIMENTO II VISIBILIDADE DO ATRIBUTO
Derivao
Multiplicidade
COMPARTIMENTO II PROPERTY-STRING
COMPARTIMENTO II ATRIBUTO ESTTICO
Atributo da classe.
Todas as instncias visualizam e modificam o mesmo valor.
Representao sublinhada.
COMPARTIMENTO III
OPERAES
COMPARTIMENTO III SINTAXE DAS OPERAES
Sintaxe:
[visibility] name ([parameter-list]) ':' [return-result] [{properties}]
COMPARTIMENTO III OPERAES
Nome
Visibilidade
Retorno
Parmetros
COMPARTIMENTO III OPERAES
No precisam de instncia.
Tratam apenas de atributos estticos.
Geralmente esto em classes utilitrias.
RELACIONAMENTOS ENTRE CLASSES
RELACIONAMENTOS
RELACIONAMENTOS REALIZAO
Relao hierrquica.
O TODO maior que a soma das PARTES.
Proteo a integridade da configurao dos objetos.
nico ponto de controle.
RELACIONAMENTOS COMPOSIO
4. Diagrama de Objetos
PROPSITO
Opcional
HIERARQUIA DE DIAGRAMAS
MODELAGEM COM UML
Classe
Partes
Portas
Conectores
REGRA DE UM NVEL DE ANINHAMENTO
EXEMPLO DE ESTRUTURA COMPOSTA
House
:Window :Window
Kitchen Bath
:Window :Door
Passage
:Window
6. Diagrama de Sequncia
PROPSITO
Tempo de processamento.
CRIAO / DESTRUIO DE OBJETOS
Criao
Destruio
EXEMPLO UML 1
Iterao
NOTAO UML 2 FRAGMENTOS
Operadores:
alt : alternativa;
opt : opo;
loop : iterao;
break : quebra de loop;
par : processamento paralelo.
HIERARQUIA DE DIAGRAMAS
MODELAGEM COM UML
7. Diagrama de Comunicao
PROPSITO
Objetos.
Links.
Mensagens.
Numerao de sequencia obrigatria.
EXPRESSO DE ITERAO ( * )
CONDIO DE GUARDA ( [ ] )
MODELAGEM DA COMUNICAO
Interao.
Ocorrncia de Interao
NOTAES
Ns de Bifurcao e Sincronizao
Decises e Juno
HIERARQUIA DE DIAGRAMAS
MODELAGEM COM UML
Estado
Ns inicial e final
TRANSIO
Evento = gatilho
Eliminar
Redundncia
* Aes que ocorrem durante a permanncia no estado.
AUTO TRANSIES
HIERARQUIA DE DIAGRAMAS
MODELAGEM COM UML
Linha do tempo.
Estados.
Eventos.
Restries.
Durao.
LINHAS MLTIPLAS
HIERARQUIA DE DIAGRAMAS
MODELAGEM COM UML
Pacote.
Aninhamento.
VISES MACRO DE PACOTES
Nvel conceitual.
As interfaces no esto explcitas.
RELACIONAMENTO POR INTERFACE
Caminho da Comunicao.
DIAGRAMA DE IMPLANTAO + COMPONENTES
NVEIS DE REPRESENTAO
HIERARQUIA DE DIAGRAMAS
ESTUDO DE CASO
LOCADORA O VELHO E BOM EXEMPLO