Unidade I
❖ Os diagramas que apoiam a análise e projeto estruturado são:
• Diagrama entidade e relacionamento (DER): modela a estrutura de dados
parados, ou seja, é o modelo conceitual do sistema. Mostra-nos as entidades e seus
relacionamentos, nesse modelo, muitos detalhes não são mostrados.
• Dicionário de dados.
• Diagrama de fluxo de Dados (DFD): modela o fluxo de dados, em outras
palavras, mostra os dados em movimento. Como ocorre a interação entra as diversas
entidades (depósito) do sistema.
❖ A orientação a objetos tem como principal característica a forma natural de tratar a realidade,
pois considera que o mundo real é formado de objetos. Benefícios segundo Sommerville:
• Reutilização do código (componentes) tem Vantagens:
▪ É um dos principais requisitos no desenvolvimento de software.
▪Mesmo com a complexidade dos sistemas, permite diminuir o número de
linhas de código. Resposta de Questão.
• Confiabilidade (objetos encapsulados);
• O aumento da produtividade;
❖ Primeiros Métodos OO:
• Modelo OOSA, proposto por Shlaer e Mellor em 1988;
• Wirfs-Brock, lançado em 1989, pelo grupo de pesquisa Smalltalk;
❖ UML: Abrange as fases de levantamento de requisitos, análise, projeto e implantação.
❖ Conceitos Básicos de OO:
• Objeto: Qualquer coisa concreta ou abstrata que existe no mundo real.
• Abstração: abstraímos quando definimos um objeto conceitual partindo de
OBJETOS do mundo real com os mesmos comportamentos de características.
• Classe: representa a ABSTRAÇÃO de um conjunto de OBJETOS do mundo real que
possui comportamentos e características comuns.
CLASSE • Instância: é uma das ocorrências de um OBJETO
FUNCIONÁRIO formado a partir da sua CLASSE
Possui nome O Funcionário 2
Possui Endereço (instância)
Unidade II
❖ Estudo de Viabilidade: Temos a Análise de Viabilidade em que o Analista deve determinar
rapidamente se o problema pode ser resolvido considerando 5 aspectos:
▪ Viabilidade Técnica: Deve determinar se o projeto pode ser desenvolvido e
implementado usando os recursos existentes: computadores, periféricos, sistema
operacional e recursos humanos.
▪ Viabilidade Legal: Verifica se não existem conflitos entre o sistema em consideração
e os compromissos legais que a empresa tem.
▪ Aspecto Operacional: O analista faz a verificação de que o sistema será capaz de
executar as funções projetadas no ambiente organizacional existente com o pessoal.
▪ Aspecto de Tempo: Vai determinar o cronograma para desenvolvimento e verificar
se o sistema será factível no tempo determinado.
▪ Aspecto Econômico: Vai determinar se os benefícios sobrepõem os custos.
❖ Projeto: Descreve a estrutura do software que será implementado. Nele estão contidos os
dados e a interface entre os componentes do sistema. É importante para formalizar as regras
de negócio do sistema, melhorando a comunicação entre o cliente e o programador.
❖ Implementação: É nesse estágio de desenvolvimento de software que se cria uma versão
executável do software.
❖ Implantação: É a fase correspondente na qual o software será entregue ao cliente.
❖ Manutenção: É o processo de modificar o sistema desenvolvido depois que ele é colocado
em operação, é a fase do ciclo de vida do software que dura mais tempo, até que sistema
deixe de ser utilizado. Há 3 tipos de manutenção:
▪ Corretiva
▪ Adaptativa
▪ Evolutiva
❖ Modelos de Processos:
▪ Modelo Cascata: É o primeiro a ser publicado do processo de desenvolvimento de
software. Nesse modelo, pressupõe-se que o domínio do problema foi inteiramente
compreendido, portanto, é o modelo indicado quando conhecemos por inteiro a regra
de negócio do software.
▪ Modelos Evolucionário: Tem como base a ideia de desenvolver uma implementação
inicial, expor o resultado ao comentário do usuário e fazer seu aprimoramento por
meio de muitas versões, até que um sistema adequado tenha sido resolvido. Porém
esse modelo possui alguns problemas:
➢ Como os sistemas são produzidos rapidamente, não é viável produzir
documentos que reflitam cada versão do sistema.
➢ Os sistemas frequentemente são mal estruturados.
Unidade III
o Associação Binária: são as mais comuns, elas acontecem entre duas classes.
No exemplo pode-se verificar que na instância o objeto classe cliente está
associada com várias instâncias da classe compra, porém a classe compra está
associada a somente um cliente.
o Herança Múltipla: Neste caso a classe é derivada de mais de uma classe base
(superclasse). A herança múltipla permite a concatenação (mesclagem) de
informações de duas ou mais origens.
➢ Vantagem: é a maior capacidade de especificação de classes e a maior
oportunidade de reutilização. Ela traz a modelagem de objetos mais
próxima da maneira como se costuma pensar.
➢ Desvantagem: A desvantagem é a perda em simplicidade conceitual e de
implementação.
o A UML também possui representação para classes estereotipadas são 3:
➢ Boundary: são classes utilizadas para modelar a interação entre o sistema
e os atores.
➢ Control: são classes que representam a coordenação, sequenciamento,
transações e controle de outros objetos.
➢ Entity: são classes que modelam dados que se deseja armazenar de
maneira persistente.
UNIDADE IV
o Diagrama de Sequência: Sua utilidade é estudar as interações entre os objetos,
possibilitando a identificação de relação entre as classes, servindo para refinar o
diagrama de Classes. Exemplo: Solicitação de um empréstimo por um Aluno.
o Notação do Diagrama de Sequência
o Timeline: As timelines ou linhas de vida fazem parte da dimensão vertical
do diagrama. A linha de vida é composta de duas partes: a cabeça e a
cauda.
o Mensagens: é representada por uma linha horizontal, do emissor para o
receptor, com o nome e possíveis argumentos, ligando uma linha de vida a
outra. As mensagens podem ser síncronas ou assíncronas.
▪ Mensagens Síncronas: Quando quem envia (emissor) fica no
aguardo no aguardo da resposta pelo receptor, e são representados
por uma seta com a ponta preenchida.
▪ Mensagens Assíncronas: Quem envia a mensagem (emissor)
NÃO fica no aguardo da resposta pelo receptor, e são representadas
por uma seta com a ponta vazada.
o Diagrama de Estados: Tem como objetivo especificar o comportamento das
classes mais complexas utilizando máquinas de estado.
o Estado: representa a situação ou momento no tempo de vida de um objeto,
o objeto pode passar por vários momentos ao longo de sua vida.
o O comportamento de uma classe pode ser modelado por meio do diagrama
de estados. Porém, não são todas as classes que necessitam dessa
representação, pois não apresentam um número de estados que se possa
quantificar. Resposta de Questão.
o Diagrama de Comunicação: contém as mesmas informações que o diagrama de
sequência, porém não considera o tempo e sim a ordem da comunicação. O
diagrama identifica as classes mais próximas e a ordem de envio de mensagens
que é identificada por números sequenciais, mostrando a interação de forma
organizada em torno dos objetos.
UNIDADE V
o Exemplo Cinema:
o Descrições Textuais por Caso de Uso:
Nome do Caso de Uso Cadastrar Novos Usuários
Descrição Permite inserir novos usuários no sistema
Ator Administrador
Pré-condições O sistema deve estar em execução
Pós-Condições Novo usuário inserido
Fluxo Básico
Ações do Ator Ações do Sistema
Solicitar a criação do novo
usuário
Abre a Janela de Cadastro (A2)
Usuário informa os dados
Sistema valida a entrada (A1)
Sistema salva os dados
Fim
Fluxos Alternativos
A1:em {valida a entrada} Se o usuário fornecer uma entrada incorreta,
informa-lo sobre o erro e retornar ao campo
incorreto
A2:em {Solicita Cancelamento} O usuário pode decidir encerrar o caso de uso
sem fornecer sua entrada. Nesse caso,
retornar ao fluxo básico em {Fim}.