Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de...

29
Linguagem de Programação Prof. Paulo

Transcript of Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de...

Page 1: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Linguagem de Programação

Prof. Paulo

Page 2: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

1. Apresentação do Plano de Ensino.2. Modelo de desenvolvimento de Sotwares orientado a objetos.3. Fases de Desenvolvimento de um Sistema em UML: Análise de Requisitos, Análise, Projeto (Design), Codificação (Programação), Testes, Implantação.4. Conceitos Básicos de UML: A origem e a finalidade do seu uso. Modelo de Casos de Uso. Diagrama de Casos de Uso: Definição de Ator, Caso de Uso e Relacionamentos: Entre Atores, Entre Atores e Casos de Uso e Entre Casos de Uso (inclusão, extensão e generalização). Decomposição de Diagrama de Casos de Uso – Pacote (“Package”). 5. Exempĺos de aplicações de Casos de Uso – Estudo de Caso: Sistema de Controle Acadêmico.

Sumário da 1ª Aula

Page 3: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Modelagem de Software

Foco na modelação do software: Um projeto de desenvolvimento engloba três grandes etapas :

1. Análise da Organização (análise estratégica, levantamento de requisitos, etc. 2. Especificação do sistema de software que responde às necessidades identificadas; 3. Implementação e instalação da solução.

Page 4: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Ciclo de Vida (Resumo)

1.Preparar: investigar a área do problema e fixar os requisitos e âmbito da solução.

1.Construir: analisar o problema, e construir modelos abstratos de resolução. Destes modelos, evoluir para especificações lógicas da solução pretendida e, finalmente, implementar numa linguagem de programação.

1.Instalar: transferir a solução para os ambientes reais de produção.

Page 5: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Ciclo de Vida com as suas Fases de Desenvolvimento

Page 6: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Estudo de Caso:

Sistemas de Controle Acadêmico computadores - SCA

Page 7: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Estudo de Caso

Mini-projeto – SCA: Pretende-se implementar um mini-projeto para a gestão acadêmica - um Sistema de Controle Acadêmico. O problema que temos em mãos e para o qual vamos desenhar uma solução, pode ser formulado nestes termos:

Uma instituição de ensino necessita de um sistema informático para registar as atividades

da Secretaria na instituição.

Sabemos o que queremos fazer; mas, por onde começar?   

Page 8: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Artefatos utilizados

Artefatos específicos utilizados no desenvolvimento de projetos Web

Durante a construção de aplicações web pode-se utilizar inúmeros tipos de artefatos. Serão citados a seguir, alguns documentos que

poderão ser utilizados no Processo Unificado

Page 9: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Artefatos

Planilha de Requisitos: Para elaborar um sistema Web, é necessário um levantamento dos

requisitos.Nesta planilha temos:

Page 10: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Artefatos PROJETO LINEAR: onde são mapeados os requisitos

do sistema com as áreas ou páginas de uma aplicação.

Page 11: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Conceitos da UML (Overview)

A UML pode ser usada para:A UML pode ser usada para:• Mostrar os limites de um sistema e suas funções Mostrar os limites de um sistema e suas funções

principais (principais (Use-casesUse-cases))• Ilustrar as funções básicas do sistema por diagramas Ilustrar as funções básicas do sistema por diagramas

de interação de interação • Representar a estrutura estática do sistema Representar a estrutura estática do sistema

((Diagramas de ClassesDiagramas de Classes) ) • Modelar o comportamento de Objetos com Modelar o comportamento de Objetos com

diagramas de estadodiagramas de estado

Page 12: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Usos de UML

A UML é uma linguagem de modelagem para• Visualização• Especificação• Construção• Documentação• Comunicação DiagramasDiagramas

São representações gráficas deum conjunto de elementos. São

desenhados para visualizar osistema de diferentes

perspectivas

Page 13: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Diagramas UML

SeqüênciaSeqüência ClasseClasse Use CaseUse Case

Modelos

ObjetoObjeto

ComponenteComponente

ImplantaçãoImplantação

ColaboraçãoColaboração

StatechartStatechart(Estado)(Estado)

AtividadeAtividade

Page 14: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Artefatos UML

Casos de Uso: são uma excelente técnica para entender os requisitos (funcionalidades) de um sistema e normalmente começa com um verbo (infinitvo), como por exemplo: Comprar Itens, Incluir um Pedido, etc.

O ícone em UML para um Caso de Uso é:

Comprar itens

Page 15: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Artefatos UML

Um Caso de Uso é um documento narrativo que descreve a seqüência de eventos de um Ator (um

agente externo) usando o sistema para completar um processo

São estórias ou casos de utilização do sistemaSão usados para capturar comportamentos relevantes do

sistema, sem a preocupação de especificar como serão implementados

Page 16: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Artefatos UML

Um Diagrama de Casos de Uso apresenta: •Um conjunto de casos de uso, atores e suas relações. Captura as funcionalidades de um sistema de acordo com a visão de seus usuários•Desenvolvido pelo Analista em conjunto com especialistas no domínio da aplicação•É composto por:Casos de UsoAtoresRelacionamento entre Atores, entre Ator-Casos de Uso e entre de Casos de Uso: Dependência (Include/Extend), Generalização e Associação

Page 17: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Sistemade Controle dePré-Requisitos

Secretária

Solicitar Histórico

Solicitar histórico do

semestre atual

Verificardependên

cias

Estudante

Matricularaluno

?

Solicitar histórico de

todos os semestres

?

<<include>>

Page 18: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

ATOR

Um Ator em um Caso de Uso representa uma entidade externa ao sistema que interage de alguma forma com um Caso de Uso

Um ator normalmente é:Uma pessoa: Cliente, Funcionário, etcUm dispositivo de hardware: Impressora, etcOutro sistema: SGBD, SISFIN, etc

Representação de um Ator em UML:

Nome do Ator

Page 19: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Relacionamentos

1. Entre ATORES:Generalização de Atores

Cliente

Pessoa Física Pessoa Jurídica

Page 20: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Relacionamentos

2. Entre ATOR e CASO DE USO:

Manter Aluno

Secretaria

Page 21: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Relacionamentos

InclusãoUma relação de Inclusão de um Caso de Uso A com

um Caso de Uso B indica que uma instância do Caso de Uso A deve incluir o comportamento

especificado para o Caso de Uso B

Transferênciaentre Contas Autenticar

Cliente

Sacar

<<include >>

<<include >>

Page 22: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Relacionamentos

ExtensãoUma relação de Extensão de um Caso de Uso A com um

Caso de Uso B indica que uma instância do Caso de Uso B pode incluir - sujeito ao atendimento de certas

condições - o comportamento especificado para o Caso de Uso A.

Sacar Dinheiro

Fator de extensão:quantia elevada

AutorizarSaque

<<extends>>

Page 23: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Relacionamento

Generalização

Uma Generalização de um Caso de Uso A para um Caso de Uso B indica que A é uma especialização de B

Receber pagamentoem cheque Receber

Pagamento

Receber pagamento em cartão de crédito

Page 24: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Especificação de Casos de Uso

A especificação de Casos de Uso pode ser feita através da descrição narrativa das seqüências de eventos em formato textualDeve-se considerar:• Como e quando o Caso de Uso inicia ou termina• As interações com os atores envolvidos• A seqüência normal de execução (FB/FP) (“Caminho Feliz!”)• As seqüências alternativas (FA) ou de exceção(FE)

Page 25: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Formato de Especificação de um UC

Caso de Uso: Nome do Caso de Uso

Atores: Atores envolvidos

Finalidade: Intenção do Caso de Uso

Visão Geral: Descrição resumida do Caso de Uso

Tipo: a) Primário, Secundário ou Opcional

b) Essencial ou Real

Referências Cruzadas: Casos de Uso relacionados

Descrição do Fluxo Básico ou Principal: Contínua ou Numerada ou Particionada

Fluxos Alternativos e de Exceções: que podem surgir

Ator Sistema

Ações executadas pelos Atores Respostas do Sistema

Page 26: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Exemplo de Descrição EnumeradaCaso de Uso: Compra de um Produto

Atores: Cliente

Finalidade: Oferecer um serviço on-line de compra de produto ao cliente

Visão Geral: Este Caso de Uso deve oferecer uma funcionalidade de compra de produtos

Tipo: a) Primário, Secundário ou Opcional:

b) Essencial ou Real:

Referências Cruzadas: Casos de Uso relacionados

FB.1 O cliente navega pelo catálogo e seleciona os itens a serem comprados

FB.2 O cliente vai para o check out

FB.3 O cliente preenche o formulário de remessa

FB.4 O cliente envia informações do formulário de remessa. (FE)

FB.5 O sistema apresenta o total do faturamento

FB.6 O cliente preenche a informação de cartão de crédito e envia.(FA)

FB.7 O sistema autoriza a compra

FB.8 O sistema confirma a venda

FB.8 O sistema envia uma confirmação por e-mail

Fluxo Alternativo (FA): No FB.6. O sistema verifica na administradora se há autorização da compra por crédito

Fluxo Exceção (FE): No FB.4. O sistema informa que a conexão com o Servidor falhou.

Page 27: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Exemplo de Pacotes: Sistema de Gestão de Restaurantes

Sist. de Gestão de Restaurantes (SGR)

Empregado de mesa

Relação com Fornecedores

Relação com Clientes

Empregado de caixa

Cozinheiro

Pacotes

Pacotes:Pacotes: são usados para representar partes de um sistema que contém mais de uma classe, talvez centenas de classes.

Page 28: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Roteiro para criar um DCU

1. Identifique os objetivos do sistema2. Elabore um roteiro para realizar a tarefa, do

ponto de vista do usuário (sem se referir ao sistema)

3. Identifique os atores4. Identifique os casos de uso5. Identifique os relacionamentos6. Refine buscando a existência de Extend,

Include e Generalização

Page 29: Linguagem de Programação Prof. Paulo. 1. Apresentação do Plano de Ensino. 2. Modelo de desenvolvimento de Sotwares orientado a objetos. 3. Fases de Desenvolvimento.

Estudo de Caso: Mini-Projeto SCA

O Sistema de Controle Acadêmico (SCA) será utilizado na Secretaria de um determinado Curso, por exemplo, Curso de Licenciatura da Computação. No que diz respeito aos indivíduos envolvidos, somente o pessoal da secretária terá acesso ao SCA. Entre as pessoas que atuam na Secretaria e poderiam utilizar o sistema estão: o chefe da secretaria, a secretária, alguns professores e alguns estagiários. Na verdade, apesar de tratarem de indivíduos diferentes, quando estiverem utilizando o sistema todos assumirão o mesmo papel de Secretaria. Preliminarmente, supõe-se que alguns documentos deverão ser imressos pelo SCA, como, Histórico Escolar, Diária de Classe, Conteúdo, Comprovante de matrícula, Diário de Notas, Ata de Realização de Prova, etc. Como o volume de informações (alunos, professores, disciplinas, etc) pode ser grande optou-se pelo uso de um Sistema Grenciador de Banco de Dados para armazenamento dos dados acadêmicos.

O(A) Sr(a) está na função de analista de requisitos e de acordo com a figura abaixo, que mostra onde está inserido a especificação de requisitos. É necessário que sejam lenvantados os requisitos iniciais do SCA:

O que se pede:

1) Observando o texto acima, responda as perguntas que estão abaixo;

Quem são os Atores?

Quais são os Casos de Uso?

Quais os Relacionamentos?

2) Faça um Diagrama de Caso de Uso completo.

3) Descreva na forma numerada os Casos de Uso.