·
Administração ·
Linguagens de Programação
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
1
Wireframe e Estrutura HTML Site Desktop e Celular
Linguagens de Programação
UAM
44
Aula 03: Variáveis e Estruturas de Seleção em Programação
Linguagens de Programação
UAM
44
Testes de Performance em Software: Tipos e Objetivos
Linguagens de Programação
UAM
23
Aula 23: Interface Gráfica e Conexão com Banco de Dados
Linguagens de Programação
UAM
31
Técnicas de Programação: Alocação de Memória Estática e Dinâmica
Linguagens de Programação
UAM
41
Aula 08: Introdução à Programação Orientada a Objetos
Linguagens de Programação
UAM
27
Tratamento de Exceções em Programação: Aula 21
Linguagens de Programação
UAM
1
Wireframe e Estrutura do Projeto: Visualizações para Mobile e Desktop
Linguagens de Programação
UAM
1
Wireframe e Estrutura HTML Projeto Web Mobile Desktop - IdeiaSobrenome
Linguagens de Programação
UAM
1
Responsabilidades e Atribuições em Desenvolvimento de Software
Linguagens de Programação
UAM
Texto de pré-visualização
ecosistema ânima TRANSFORMAR O PAÍS PELA EDUCAÇÃO É O QUE NOS MOVE Bibliografia da Disciplina e como acessar a biblioteca Calendário HOJE SEG 4 Modelagem de software 0404 0850 às 1140 Engenharia da Qualidade 0404 1900 às 2150 FEVE REIRO 2022 MARÇO 2022 ABRIL 2022 Bibliografia Básica N1 N1 Parte I e II Bibliografia Complementar N1 Cap 5 N1 Cap 9 Cap 11 Bibliografia Básica MEDEIROS Ernani Desenvolvendo Software com UML 20 São Paulo Pearson Education 2004 httpsbv4digitalpagescombrtermumlsearchpage1fil trotodosfrombuscapage20section0legacy2921 RAMAKRISHNAN Raghu GEHRKE JohannesSistemas de Gerenciamento de Bancos de Dados 3 edição Porto Alegre Bookman 2007 httpsintegradaminhabibliotecacombrbooks978856330 8771cfi042100000 PRESSMAN Roger MAXIM Bruce Engenharia de Software Uma abordagem profissional 8a Ed Bookman 2016 httpsintegradaminhabibliotecacombrbooks978858055 5349cfi342100000 Bibliografia Complementar SOMMERVILLE Ian Engenharia de Software 9 ed São Paulo Pearson Prentice Hall 2011 httpsbv4digitalpagescombrtermengenharia2520de2520softwaresearchpage1filtr otodosfrombuscapage14section0legacy276 PFLEEGER Shari Lawrence Engenharia de software teoria e prática 2 ed São Paulo Prentice Hall 2004 httpsbv4digitalpagescombrtermengenharia2520de2520softwaresearchpage1filtr otodosfrombuscalegacy476 LARMAN Craig Utilizando UML e padrões uma introdução à análise e ao projeto orientados a objetos e desenvolvimento iterativo 3 ed Porto Alegre Bookman 2007 httpsintegradaminhabibliotecacombrbooks9788577800476cfi042100000 FOWLER Martin SCOTT Kendall UML essencial um breve guia para a linguagempadrão de modelagem de objetos 3ª ed Porto Alegre Bookman 2004 httpsintegradaminhabibliotecacombrbooks9788560031382cfi624200131 HEUSER Carlos Alberto Projeto de banco de dados 6 ed Porto Alegre Bookman 2011 httpsintegradaminhabibliotecacombrbooks9788577804528cfi044000380 Revisão N1 Requisitos e Casos de Uso Diagrama de Atividades Métodos Ágeis Lean Kanban Softwares UML e Gestão de Projetos Ágeis Ferramentas UML offline 1 StarUML O objetivo do projeto StarUML é construir uma ferramenta de modelagem de software e também uma plataforma que seja um substituto convincente para as ferramentas comerciais UML 2 ArgoUML ArgoUML é a principal ferramenta open source de modelagem UML e inclui suporte para todos os diagramas UML padrão 14 Ele roda em qualquer plataforma Java e está disponível em 10 idiomas 3 Violet UML Editor Desenha diagramas com boa aparência É completamente livre e crossplataform O Violet é destinado a desenvolvedores estudantes professores e autores que precisam produzir diagramas UML simples rapidamente 4 Astah Community 61 Antigo projeto JUDE Baseado no conceito de útil a partir do momento da instalação os recursos de modelagem desta ferramenta foram projetados para ser simples e fácil de usar 5 Visual Paradigm SDE for Visual Studio Ambiente de Desenvolvimento inteligente para o Visual Studio Community Edition SDE VSCE apoia totalmente a última versão da UML Desenvolvedores de projetos de código aberto podem usar SDE VSCE para o projeto do sistema com UML O SDECE VS é uma versão grátis para uso não comercial e pode ser embutido no Visual Studio Links dos programas httpswwwmacorattinet1306netuml1htm 6 BOUML BOUML é uma ferramenta UML 2 livre que lhe permite especificar e gerar código em C Java IDL PHP e Python BOUML roda em sistemas UnixLinuxSolaris MacOS X Power PC e Intel e Windows 7 UMLet 104 MLet é uma ferramenta UML opensource com uma interface de usuário simples desenha diagramas UML rapidamente exporta diagramas para eps pdf jpg svg e clipboard compartilha diagramas usando o Eclipse e cria novos elementos personalizados UML Softwares UML e Gestão de Projetos Ágeis Ferramentas UML offline Links dos programas httpswwwmacorattinet1306netuml1htm 1 Lucidchart Crie e compartilhe com colaboradores diagramas UML simples na conta free também disponibiliza outros tipos de mapas como BPM 2 GenMyModel Crie e compartilhe com colaboradores e publicamente diagramas UML simples na conta free também disponibiliza outros tipos de mapas como BPM 3 WebSequenceDiagram Apenas entre com a descrição e clique Draw 4 yUML Crie e compartilhe diagramas UML simples em seus blogs wikis fóruns emails 5 zOOml zOOmlcom é uma ferramenta Web 20 para modelagem orientada a objetos rápida Softwares UML e Gestão de Projetos Ágeis Ferramentas UML online Links dos programas httpswwwmacorattinet1306netuml1htm Caso de Uso Exemplo Gen my model Linguagem da organização Estrutura da organização Açõesatividades Interações entre agentes Atores Área Atividades Outras Diagrama de Classe Exemplo Gen my model Sistemas da Organização Interações entre sistemas da Organização ERP CRM Módulos Áreas Outros Diagrama de Classe Exemplo Gen my model Sistemas da Organização Interações entre sistemas da Organização ERP CRM Módulos Áreas Outros Diagrama de Classe Exemplo Gen my model origem das informações Exemplo UML Diagrama Diagrama de Estruturas Diagrama de Classes Diagrama de Componentes Diagrama de Objetos Diagrama de Atividades Diagrama de Casos de Uso Diagrama de Implantação Diagrama de Pacotes Diagrama de Interação Diagrama de Máquina de Estados Diagrama de Sequência Diagrama de Comunicação Diagrama de Visão Geral de Interação Diagrama de Tempo SOA Princípos de Design de Serviços Thomas Eral RPC Remote Procedure Call AOP Aspect Oriented Programming EAI Enterprise Application Integration Análise de Requisitos Análise de Requisitos Requisitos Funcionais serviço que é necessário prestar reacção do sistema perante um determinado input comportamento do sistema em determinadas situações ou o que é que o sistema não deve fazer Requisitos não funcionais constrangimentos nos serviços ou funcionalidades oferecidas como tempo processo de desenvolvimento ou standards Requisitos de domínio resultam do domínio aplicacional do sistema reflectindo características e constrangimentos inerentes a esse domínio Podem ser funcionais ou não funcionais Leitura dos diferentes tipos de especificações Requisitos dos utilizadores Gestores Utilizadores Finais Engenheiros Fornecedores Arquitectos Requisitos do Sistema Utilizadores Finais Engenheiros Arquitectos Programadores Elicitação de Requisitos 23 Também denominada de descoberta de requisitos Envolve pessoal objetivando descobrir o domínio de aplicação serviços que devem ser fornecidos bem como restrições Deve envolver usuários finais gerentes pessoal envolvido na manutenção especialistas no domínio etc Stakeholders Visão dos Requisitos 24 Requisitos do Usuário Declarações em linguagem natural com diagramas de serviços que o sistema deve oferecer e suas restrições operacionais Escrito para os clientes Requisitos do Sistema Documento estruturado com descrições detalhadas sobre os serviços do sistema Contrato entre cliente e fornecedor Tipos de Requisitos 25 Requisitos Funcionais Requisitos Não Funcionais Requisitos de Domínio Requisitos Funcionais 26 Descreve funcionalidade e serviços do sistema Depende do Tipo do software Usuários esperados Tipo do sistema onde o software é usado Exemplos de RF 27 RF001 Usuário pode pesquisar todo ou um subconjunto do banco de dados RF002 Sistema deve oferecer visualizadores apropriados para o usuário ler documentos armazenados RF003 A todo pedido deve ser associado um identificador único PID o qual o usuário pode copiar para a área de armazenamento permanente da conta Exercício Dê alguns exemplos de RFs para 1 Sistema da padaria de pequeno porte 2 Sistema inteligente de preenchimento do IRPF 3 Sistema de alocação docente 28 Requisitos Não Funcionais 29 DEFINEM PROPRIEDADES E RESTRIÇÕES DO SISTEMA TEMPO ESPAÇO ETC REQUISITOS DE PROCESSO TAMBÉM PODEM ESPECIFICAR O USO DE DETERMINADAS LINGUAGENS DE PROGRAMAÇÃO MÉTODO DE DESENVOLVIMENTO REQUISITOS NÃOFUNCIONAIS PODEM SER MAIS CRÍTICOS QUE REQUISITOS FUNCIONAIS NÃO SATISFAZ SISTEMA INÚTIL Requisitos Não Funcionais 30 Devido à sua própria definição requisitos nãofuncionais são esperados mensuráveis Assim devese associar forma de medidareferência a cada requisito não funcional elicitado 31 Propriedade Medida Velocidade Transações processadasseg Tempo de resposta do usuárioevento Tamanho K bytes No de chips de RAM Facilidade de uso Tempo de treinamento No de quadros de ajuda Confiabilidade Tempo médio de falhas Probabilidade de indisponibilidade Taxa de ocorrência de falhas Robustez Tempo de reinício após falha Percentual de eventos causando falhas Probabilidade de corrupção de dados após falha Portabilidade Percentual de declarações dependentes do destino No de sistemas destino Medidas de Requisitos NãoFuncionais Medidas de Requisitos NãoFuncionais Classificação de R N F 32 Produto deve comportarse de forma particular velocidade de execução confiabilidade etc Requisitos do Produto Conseqüência de políticas e procedimentos organizacionais padrões de processo usados requisitos de implementação etc Requisitos Organizacionais Conseqüência de fatores externos ao sistema e ao processo de desenvolvimento legislação etc Requisitos Externos Exemplos de R N F 33 RNF001 Toda consulta ao BD baseada em código de barras deve resultar em até 5 s Requisitos do Produto RNF002 Todos os documentos entregues devem seguir o padrão de relatórios XYZ00 Requisitos Organizacionais RNF003 Informações pessoais do usuário não devem ser vistas pelos operadores do sistema Requisitos Externos Exercício Dê alguns exemplos de RNFs para 1 Sistema da padaria de pequeno porte 2 Sistema inteligente de preenchimento do IRPF 3 Sistema de alocação docente 34 Diagramas de Uso UML Unified Modeling Language Lista de tipos de diagramas UML Diagrama de Classes Diagrama de componentes Diagrama de Implantação Diagrama de objetos Diagrama do pacote Diagrama de Perfil Diagrama de Estrutura Composta Objetivos Introduzir conceitos de use case ator e fluxo de eventos Apresentar sub fluxos de eventos Discutir sobre identificação evolução e organização de use cases Apresentar notação UML para reusar atores e use cases Use Case Função Procedimento computacionalalgorítmico atômico Sequência de ações executada pelo sistema que gera um resultado De valor observável E para ator particular Use Case e Ator A descrição de um use case define o que o sistema faz quando o use case é realizado A funcionalidade do sistema é definida por um conjunto de use cases cada um representando um fluxo de eventos específico Use Case Função Emissor Passo 1 Passo 2 Passo N Descrição Use Case e Ator Exemplo de Use Case e Ator Cliente de banco pode usar um caixa automático para sacar dinheiro transferir dinheiro ou consultar o saldo da conta Ator Cliente Use cases Sacar dinheiro transferir dinheiro e consultar saldo Exemplo de Use Case e Ator Cliente Transferir dinheiro Sacar dinheiro Consultar saldo Valor de resultado observável Identificando Use Cases Em geral difícil decidir entre um ou vários use cases Por exemplo seriam use cases Inserir cartão em um Caixa Automático Entrar com a senha Receber o cartão de volta Identificando Use Cases Representar valor observável para ator Podese determinar De interações sequência de ações com o sistema que resultam valores para atores Satisfaz um objetivo particular de um ator que o sistema deve prover Identificando Use Cases Facilitar gerenciamento durante ciclo de desenvolvimento A razão para agrupar funcionalidades e chamálas de use cases Evolução de Use Cases Inicialmente use cases são simples Apenas esboço sobre funcionamento é suficiente Mas com a sedimentação da modelagem Descrição mais detalhada do fluxo de eventos faz se necessária Fluxo de eventos deve ser refinado Todos os stakeholders envolvidos devem estar de acordo com a descrição Organizando Use Cases Sistema pequeno não demanda estruturação Exemplo seis use cases com doistrês atores Já sistemas maiores requerem princípios de estruturação e organização Caso contrário planejamento atribuição de prioridades etc podem se tornar difíceis Reuso em Use Cases Podese modelar como use case para ser reusado Comportamento comum a mais de dois use cases ou forma parte independente Inclusão Extensão GeneralizaçãoEspecialização Há três possibilidades Inclusão Comumidêntico Sempre usado Vários use cases possuem texto de fluxo de eventos include da linguagem C Equivalente a fatoração feita em programação através de subprogramas Inclusão Mas atenção NÃO SE DEVE CRIAR USE CASES MÍNIMOS Deve haver ganho no reuso Como exemplo tanto Sacar dinheiro quanto Consultar saldo necessitam da senha Podese criar novo use case Autenticar usuário e incluílo Inclusão Sacar dinheiro Consultar saldo Autenticar usuário include include Inclusão Descrição de Consultar saldo Fluxo de Eventos Principal include Autenticar usuário Sistema pede a Cliente que selecione tipo de conta corrente etc Extensão Use case pode ser estendido por outro Extensão de funcionalidadeCaso excepcional Extensão ocorre em pontos específicos Pontos de extensão Extensão Há também inclusão de texto fluxo de eventos Porém sob condições particulares Pode ser usada para Simplificar fluxos de eventos complexos Representar comportamentos opcionais Lidar com exceções Extensão Atendimento Pontos de extensão urgente Atendimento de urgência extend urgente Extensão Descrição de Atendimento Fluxo de Eventos Principal Colete os itens do pedido urgente Submeta pedido para processamento Especialização Use case pode especializar outro Adiçãorefinamento do fluxo de eventos original Especialização permite modelar comportamento de estruturas de aplicação em comum Especialização Atendimento Atendimento de urgência Cliente Cliente comercial Exemplo de Diagrama de Uso Transação de cartão Cliente corporativo Cliente individual Cliente Instituição vendedora Financeira Sistema de validação de cartão de crédito Processa fatura Reconcilia transações Gerencia conta Diagramas de Atividade Diagrama de Atividades O objetivo principal do diagrama de atividades é definir os mecanismos do comportamento do sistema Os diagramas de atividade são valiosos porque eles Representam a lógica exigida para implementar comportamentos do sistema Representam a lógica em qualquer nível que o projeto precise desde o workflow do sistema até implementações de métodos individuais São muito simples para se aprender São relativamente familiares aos usuários Diagrama de Atividades Geralmente é elaborado um diagrama de atividades para um caso de uso em particular porém também pode ser feito para representar a lógica de um método complexo Um modo de elaborar o diagrama de atividades é acompanhar a narrativa do caso de uso DIAGRAMA DE CASOS DE USO DIAGRAMA DE ATIVIDADES DIAGRAMA DE CLASSE DIAGRAMA DE SEQUENCIA Diagrama de Atividades É através do diagrama de atividades que se pode representar a dinâmica de um caso de uso Diagramas de atividades são uma espécie de fluxogramas Diagrama de Atividades Permitem mostrar a dinâmica de um Sistema A seqüência lógica em que os Casos de Uso do sistema são empregados localizandoos dentro de cada setor da empresa Notação Gráfica do Diagrama de Atividades Conceitos relevantes O diagrama de atividades Segue uma seqüência de atividades através de decisões desvio bifurcação e união para a concorrência e loops até que todas as tarefas ações no comportamento sejam contempladas com sucesso ou uma exceção termine a seqüência Não existe limite para o número de arestas de atividades de saída em um ponto de decisão porém só pode ter uma aresta de atividades entrando Exibir Eventos Exibir peças default Usuário selecionou cancelar Exibir Confirmação Usuário selecionou uma peça Exibir Peças para Evento selecionado Usuário informou intervalo de datas Exibir Peças para intervalo de datas informado Usuário selecionou um evento Salvar Peça Sim Ponto de fusão merge Exemplo Prático UC2 Verificar disponibilidade de passagens Descrição resumida O Cliente usa o sistema para pesquisar as passagens disponíveis indicando as cidades de origem e destino quantidade e tipo de passageiros adultos e crianças bem como a data da viagem Ator primário Cliente Précondição 1 Dados das Aeronaves Voôs Trechos Assentos Datas e Horários das Escalas de voôs importados do sistema administrativo 71 UC2 Verificar disponibilidade de passagens Cont Fluxo Principal 1 Cliente informa os dados para busca de acordo com RNx 2 Sistema valida os dados do critério de busca 3 Sistema verifica disponibilidade de assentos nos vôos correspondentes conforme os Requisitos de Negócio RF07 e RF08 4 Sistema calcula valor da passagem dos vôos disponíveis que satisfazem os dados informados 5 Sistema exibe vôos disponíveis data e número do vôo hora de saída e chegada escalas eou conexões preço e taxas de embarque 6 Cliente seleciona vôo de ida ou vôos de idavolta de interesse 7 Sistema exibe os detalhes do vôo selecionado e o contrato 8 Sistema apresenta as opções Comprar passagem Nova Busca e Sair 9 Cliente seleciona Sair 10 O caso de uso é encerrado UC2 Verificar disponibilidade de passagens Cont Fluxo alternativo 9a Cliente decide comprar a passagem 9a1 Cliente seleciona Comprar Passagem 9a2 Ir para UC9 9b Cliente decide realizar nova busca 9b1 Cliente seleciona Nova Busca 9b2 Voltar para o passo 1 do fluxo principal Fluxo de exceção 2a Local de saída igual ao de destino 2a1 Sistema mostra a seguinte mensagem Cidade de origem igual à cidade de destino 2a2 Retornar ao passo 1 do fluxo principal Inclusões Nenhuma Extensões UC9 Comprar Passagem Diagrama de Atividades do UC2 UC4 Cadastrar Cliente 75 Descrição resumida O Cliente usa o sistema realizar seu cadastro no sistema de reserva de passagens Ator primário Cliente Précondição Não há Fluxo Principal 1 Cliente informa seus dados Nome Endereço Completo Data de Nascimento CPF e RG e escolhe a opção Cadastrar 2 Sistema valida os dados do cliente 3 Sistema registra os dados no cliente e retorna a mensagem Cadastro Concluído com sucesso 4 O sistema exibe as opções Comprar Passagem e Sair 5 Cliente seleciona Sair 6 O caso de uso é encerrado Fluxo alternativo 6a Cliente decide comprar a passagem 6a1 Cliente seleciona Comprar Passagem 6a2 Ir para UC9 Fluxo de exceção 2a Dadas inválidos ou não informados 2a1 Sistema mostra a seguinte mensagem Dados inválidosnão informados 2a2 Retornar ao passo 1 do fluxo principal Inclusões Nenhuma Extensões UC9 Comprar Passagem UC4 Cadastrar Cliente Cont a a r ecosistema ânima
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
1
Wireframe e Estrutura HTML Site Desktop e Celular
Linguagens de Programação
UAM
44
Aula 03: Variáveis e Estruturas de Seleção em Programação
Linguagens de Programação
UAM
44
Testes de Performance em Software: Tipos e Objetivos
Linguagens de Programação
UAM
23
Aula 23: Interface Gráfica e Conexão com Banco de Dados
Linguagens de Programação
UAM
31
Técnicas de Programação: Alocação de Memória Estática e Dinâmica
Linguagens de Programação
UAM
41
Aula 08: Introdução à Programação Orientada a Objetos
Linguagens de Programação
UAM
27
Tratamento de Exceções em Programação: Aula 21
Linguagens de Programação
UAM
1
Wireframe e Estrutura do Projeto: Visualizações para Mobile e Desktop
Linguagens de Programação
UAM
1
Wireframe e Estrutura HTML Projeto Web Mobile Desktop - IdeiaSobrenome
Linguagens de Programação
UAM
1
Responsabilidades e Atribuições em Desenvolvimento de Software
Linguagens de Programação
UAM
Texto de pré-visualização
ecosistema ânima TRANSFORMAR O PAÍS PELA EDUCAÇÃO É O QUE NOS MOVE Bibliografia da Disciplina e como acessar a biblioteca Calendário HOJE SEG 4 Modelagem de software 0404 0850 às 1140 Engenharia da Qualidade 0404 1900 às 2150 FEVE REIRO 2022 MARÇO 2022 ABRIL 2022 Bibliografia Básica N1 N1 Parte I e II Bibliografia Complementar N1 Cap 5 N1 Cap 9 Cap 11 Bibliografia Básica MEDEIROS Ernani Desenvolvendo Software com UML 20 São Paulo Pearson Education 2004 httpsbv4digitalpagescombrtermumlsearchpage1fil trotodosfrombuscapage20section0legacy2921 RAMAKRISHNAN Raghu GEHRKE JohannesSistemas de Gerenciamento de Bancos de Dados 3 edição Porto Alegre Bookman 2007 httpsintegradaminhabibliotecacombrbooks978856330 8771cfi042100000 PRESSMAN Roger MAXIM Bruce Engenharia de Software Uma abordagem profissional 8a Ed Bookman 2016 httpsintegradaminhabibliotecacombrbooks978858055 5349cfi342100000 Bibliografia Complementar SOMMERVILLE Ian Engenharia de Software 9 ed São Paulo Pearson Prentice Hall 2011 httpsbv4digitalpagescombrtermengenharia2520de2520softwaresearchpage1filtr otodosfrombuscapage14section0legacy276 PFLEEGER Shari Lawrence Engenharia de software teoria e prática 2 ed São Paulo Prentice Hall 2004 httpsbv4digitalpagescombrtermengenharia2520de2520softwaresearchpage1filtr otodosfrombuscalegacy476 LARMAN Craig Utilizando UML e padrões uma introdução à análise e ao projeto orientados a objetos e desenvolvimento iterativo 3 ed Porto Alegre Bookman 2007 httpsintegradaminhabibliotecacombrbooks9788577800476cfi042100000 FOWLER Martin SCOTT Kendall UML essencial um breve guia para a linguagempadrão de modelagem de objetos 3ª ed Porto Alegre Bookman 2004 httpsintegradaminhabibliotecacombrbooks9788560031382cfi624200131 HEUSER Carlos Alberto Projeto de banco de dados 6 ed Porto Alegre Bookman 2011 httpsintegradaminhabibliotecacombrbooks9788577804528cfi044000380 Revisão N1 Requisitos e Casos de Uso Diagrama de Atividades Métodos Ágeis Lean Kanban Softwares UML e Gestão de Projetos Ágeis Ferramentas UML offline 1 StarUML O objetivo do projeto StarUML é construir uma ferramenta de modelagem de software e também uma plataforma que seja um substituto convincente para as ferramentas comerciais UML 2 ArgoUML ArgoUML é a principal ferramenta open source de modelagem UML e inclui suporte para todos os diagramas UML padrão 14 Ele roda em qualquer plataforma Java e está disponível em 10 idiomas 3 Violet UML Editor Desenha diagramas com boa aparência É completamente livre e crossplataform O Violet é destinado a desenvolvedores estudantes professores e autores que precisam produzir diagramas UML simples rapidamente 4 Astah Community 61 Antigo projeto JUDE Baseado no conceito de útil a partir do momento da instalação os recursos de modelagem desta ferramenta foram projetados para ser simples e fácil de usar 5 Visual Paradigm SDE for Visual Studio Ambiente de Desenvolvimento inteligente para o Visual Studio Community Edition SDE VSCE apoia totalmente a última versão da UML Desenvolvedores de projetos de código aberto podem usar SDE VSCE para o projeto do sistema com UML O SDECE VS é uma versão grátis para uso não comercial e pode ser embutido no Visual Studio Links dos programas httpswwwmacorattinet1306netuml1htm 6 BOUML BOUML é uma ferramenta UML 2 livre que lhe permite especificar e gerar código em C Java IDL PHP e Python BOUML roda em sistemas UnixLinuxSolaris MacOS X Power PC e Intel e Windows 7 UMLet 104 MLet é uma ferramenta UML opensource com uma interface de usuário simples desenha diagramas UML rapidamente exporta diagramas para eps pdf jpg svg e clipboard compartilha diagramas usando o Eclipse e cria novos elementos personalizados UML Softwares UML e Gestão de Projetos Ágeis Ferramentas UML offline Links dos programas httpswwwmacorattinet1306netuml1htm 1 Lucidchart Crie e compartilhe com colaboradores diagramas UML simples na conta free também disponibiliza outros tipos de mapas como BPM 2 GenMyModel Crie e compartilhe com colaboradores e publicamente diagramas UML simples na conta free também disponibiliza outros tipos de mapas como BPM 3 WebSequenceDiagram Apenas entre com a descrição e clique Draw 4 yUML Crie e compartilhe diagramas UML simples em seus blogs wikis fóruns emails 5 zOOml zOOmlcom é uma ferramenta Web 20 para modelagem orientada a objetos rápida Softwares UML e Gestão de Projetos Ágeis Ferramentas UML online Links dos programas httpswwwmacorattinet1306netuml1htm Caso de Uso Exemplo Gen my model Linguagem da organização Estrutura da organização Açõesatividades Interações entre agentes Atores Área Atividades Outras Diagrama de Classe Exemplo Gen my model Sistemas da Organização Interações entre sistemas da Organização ERP CRM Módulos Áreas Outros Diagrama de Classe Exemplo Gen my model Sistemas da Organização Interações entre sistemas da Organização ERP CRM Módulos Áreas Outros Diagrama de Classe Exemplo Gen my model origem das informações Exemplo UML Diagrama Diagrama de Estruturas Diagrama de Classes Diagrama de Componentes Diagrama de Objetos Diagrama de Atividades Diagrama de Casos de Uso Diagrama de Implantação Diagrama de Pacotes Diagrama de Interação Diagrama de Máquina de Estados Diagrama de Sequência Diagrama de Comunicação Diagrama de Visão Geral de Interação Diagrama de Tempo SOA Princípos de Design de Serviços Thomas Eral RPC Remote Procedure Call AOP Aspect Oriented Programming EAI Enterprise Application Integration Análise de Requisitos Análise de Requisitos Requisitos Funcionais serviço que é necessário prestar reacção do sistema perante um determinado input comportamento do sistema em determinadas situações ou o que é que o sistema não deve fazer Requisitos não funcionais constrangimentos nos serviços ou funcionalidades oferecidas como tempo processo de desenvolvimento ou standards Requisitos de domínio resultam do domínio aplicacional do sistema reflectindo características e constrangimentos inerentes a esse domínio Podem ser funcionais ou não funcionais Leitura dos diferentes tipos de especificações Requisitos dos utilizadores Gestores Utilizadores Finais Engenheiros Fornecedores Arquitectos Requisitos do Sistema Utilizadores Finais Engenheiros Arquitectos Programadores Elicitação de Requisitos 23 Também denominada de descoberta de requisitos Envolve pessoal objetivando descobrir o domínio de aplicação serviços que devem ser fornecidos bem como restrições Deve envolver usuários finais gerentes pessoal envolvido na manutenção especialistas no domínio etc Stakeholders Visão dos Requisitos 24 Requisitos do Usuário Declarações em linguagem natural com diagramas de serviços que o sistema deve oferecer e suas restrições operacionais Escrito para os clientes Requisitos do Sistema Documento estruturado com descrições detalhadas sobre os serviços do sistema Contrato entre cliente e fornecedor Tipos de Requisitos 25 Requisitos Funcionais Requisitos Não Funcionais Requisitos de Domínio Requisitos Funcionais 26 Descreve funcionalidade e serviços do sistema Depende do Tipo do software Usuários esperados Tipo do sistema onde o software é usado Exemplos de RF 27 RF001 Usuário pode pesquisar todo ou um subconjunto do banco de dados RF002 Sistema deve oferecer visualizadores apropriados para o usuário ler documentos armazenados RF003 A todo pedido deve ser associado um identificador único PID o qual o usuário pode copiar para a área de armazenamento permanente da conta Exercício Dê alguns exemplos de RFs para 1 Sistema da padaria de pequeno porte 2 Sistema inteligente de preenchimento do IRPF 3 Sistema de alocação docente 28 Requisitos Não Funcionais 29 DEFINEM PROPRIEDADES E RESTRIÇÕES DO SISTEMA TEMPO ESPAÇO ETC REQUISITOS DE PROCESSO TAMBÉM PODEM ESPECIFICAR O USO DE DETERMINADAS LINGUAGENS DE PROGRAMAÇÃO MÉTODO DE DESENVOLVIMENTO REQUISITOS NÃOFUNCIONAIS PODEM SER MAIS CRÍTICOS QUE REQUISITOS FUNCIONAIS NÃO SATISFAZ SISTEMA INÚTIL Requisitos Não Funcionais 30 Devido à sua própria definição requisitos nãofuncionais são esperados mensuráveis Assim devese associar forma de medidareferência a cada requisito não funcional elicitado 31 Propriedade Medida Velocidade Transações processadasseg Tempo de resposta do usuárioevento Tamanho K bytes No de chips de RAM Facilidade de uso Tempo de treinamento No de quadros de ajuda Confiabilidade Tempo médio de falhas Probabilidade de indisponibilidade Taxa de ocorrência de falhas Robustez Tempo de reinício após falha Percentual de eventos causando falhas Probabilidade de corrupção de dados após falha Portabilidade Percentual de declarações dependentes do destino No de sistemas destino Medidas de Requisitos NãoFuncionais Medidas de Requisitos NãoFuncionais Classificação de R N F 32 Produto deve comportarse de forma particular velocidade de execução confiabilidade etc Requisitos do Produto Conseqüência de políticas e procedimentos organizacionais padrões de processo usados requisitos de implementação etc Requisitos Organizacionais Conseqüência de fatores externos ao sistema e ao processo de desenvolvimento legislação etc Requisitos Externos Exemplos de R N F 33 RNF001 Toda consulta ao BD baseada em código de barras deve resultar em até 5 s Requisitos do Produto RNF002 Todos os documentos entregues devem seguir o padrão de relatórios XYZ00 Requisitos Organizacionais RNF003 Informações pessoais do usuário não devem ser vistas pelos operadores do sistema Requisitos Externos Exercício Dê alguns exemplos de RNFs para 1 Sistema da padaria de pequeno porte 2 Sistema inteligente de preenchimento do IRPF 3 Sistema de alocação docente 34 Diagramas de Uso UML Unified Modeling Language Lista de tipos de diagramas UML Diagrama de Classes Diagrama de componentes Diagrama de Implantação Diagrama de objetos Diagrama do pacote Diagrama de Perfil Diagrama de Estrutura Composta Objetivos Introduzir conceitos de use case ator e fluxo de eventos Apresentar sub fluxos de eventos Discutir sobre identificação evolução e organização de use cases Apresentar notação UML para reusar atores e use cases Use Case Função Procedimento computacionalalgorítmico atômico Sequência de ações executada pelo sistema que gera um resultado De valor observável E para ator particular Use Case e Ator A descrição de um use case define o que o sistema faz quando o use case é realizado A funcionalidade do sistema é definida por um conjunto de use cases cada um representando um fluxo de eventos específico Use Case Função Emissor Passo 1 Passo 2 Passo N Descrição Use Case e Ator Exemplo de Use Case e Ator Cliente de banco pode usar um caixa automático para sacar dinheiro transferir dinheiro ou consultar o saldo da conta Ator Cliente Use cases Sacar dinheiro transferir dinheiro e consultar saldo Exemplo de Use Case e Ator Cliente Transferir dinheiro Sacar dinheiro Consultar saldo Valor de resultado observável Identificando Use Cases Em geral difícil decidir entre um ou vários use cases Por exemplo seriam use cases Inserir cartão em um Caixa Automático Entrar com a senha Receber o cartão de volta Identificando Use Cases Representar valor observável para ator Podese determinar De interações sequência de ações com o sistema que resultam valores para atores Satisfaz um objetivo particular de um ator que o sistema deve prover Identificando Use Cases Facilitar gerenciamento durante ciclo de desenvolvimento A razão para agrupar funcionalidades e chamálas de use cases Evolução de Use Cases Inicialmente use cases são simples Apenas esboço sobre funcionamento é suficiente Mas com a sedimentação da modelagem Descrição mais detalhada do fluxo de eventos faz se necessária Fluxo de eventos deve ser refinado Todos os stakeholders envolvidos devem estar de acordo com a descrição Organizando Use Cases Sistema pequeno não demanda estruturação Exemplo seis use cases com doistrês atores Já sistemas maiores requerem princípios de estruturação e organização Caso contrário planejamento atribuição de prioridades etc podem se tornar difíceis Reuso em Use Cases Podese modelar como use case para ser reusado Comportamento comum a mais de dois use cases ou forma parte independente Inclusão Extensão GeneralizaçãoEspecialização Há três possibilidades Inclusão Comumidêntico Sempre usado Vários use cases possuem texto de fluxo de eventos include da linguagem C Equivalente a fatoração feita em programação através de subprogramas Inclusão Mas atenção NÃO SE DEVE CRIAR USE CASES MÍNIMOS Deve haver ganho no reuso Como exemplo tanto Sacar dinheiro quanto Consultar saldo necessitam da senha Podese criar novo use case Autenticar usuário e incluílo Inclusão Sacar dinheiro Consultar saldo Autenticar usuário include include Inclusão Descrição de Consultar saldo Fluxo de Eventos Principal include Autenticar usuário Sistema pede a Cliente que selecione tipo de conta corrente etc Extensão Use case pode ser estendido por outro Extensão de funcionalidadeCaso excepcional Extensão ocorre em pontos específicos Pontos de extensão Extensão Há também inclusão de texto fluxo de eventos Porém sob condições particulares Pode ser usada para Simplificar fluxos de eventos complexos Representar comportamentos opcionais Lidar com exceções Extensão Atendimento Pontos de extensão urgente Atendimento de urgência extend urgente Extensão Descrição de Atendimento Fluxo de Eventos Principal Colete os itens do pedido urgente Submeta pedido para processamento Especialização Use case pode especializar outro Adiçãorefinamento do fluxo de eventos original Especialização permite modelar comportamento de estruturas de aplicação em comum Especialização Atendimento Atendimento de urgência Cliente Cliente comercial Exemplo de Diagrama de Uso Transação de cartão Cliente corporativo Cliente individual Cliente Instituição vendedora Financeira Sistema de validação de cartão de crédito Processa fatura Reconcilia transações Gerencia conta Diagramas de Atividade Diagrama de Atividades O objetivo principal do diagrama de atividades é definir os mecanismos do comportamento do sistema Os diagramas de atividade são valiosos porque eles Representam a lógica exigida para implementar comportamentos do sistema Representam a lógica em qualquer nível que o projeto precise desde o workflow do sistema até implementações de métodos individuais São muito simples para se aprender São relativamente familiares aos usuários Diagrama de Atividades Geralmente é elaborado um diagrama de atividades para um caso de uso em particular porém também pode ser feito para representar a lógica de um método complexo Um modo de elaborar o diagrama de atividades é acompanhar a narrativa do caso de uso DIAGRAMA DE CASOS DE USO DIAGRAMA DE ATIVIDADES DIAGRAMA DE CLASSE DIAGRAMA DE SEQUENCIA Diagrama de Atividades É através do diagrama de atividades que se pode representar a dinâmica de um caso de uso Diagramas de atividades são uma espécie de fluxogramas Diagrama de Atividades Permitem mostrar a dinâmica de um Sistema A seqüência lógica em que os Casos de Uso do sistema são empregados localizandoos dentro de cada setor da empresa Notação Gráfica do Diagrama de Atividades Conceitos relevantes O diagrama de atividades Segue uma seqüência de atividades através de decisões desvio bifurcação e união para a concorrência e loops até que todas as tarefas ações no comportamento sejam contempladas com sucesso ou uma exceção termine a seqüência Não existe limite para o número de arestas de atividades de saída em um ponto de decisão porém só pode ter uma aresta de atividades entrando Exibir Eventos Exibir peças default Usuário selecionou cancelar Exibir Confirmação Usuário selecionou uma peça Exibir Peças para Evento selecionado Usuário informou intervalo de datas Exibir Peças para intervalo de datas informado Usuário selecionou um evento Salvar Peça Sim Ponto de fusão merge Exemplo Prático UC2 Verificar disponibilidade de passagens Descrição resumida O Cliente usa o sistema para pesquisar as passagens disponíveis indicando as cidades de origem e destino quantidade e tipo de passageiros adultos e crianças bem como a data da viagem Ator primário Cliente Précondição 1 Dados das Aeronaves Voôs Trechos Assentos Datas e Horários das Escalas de voôs importados do sistema administrativo 71 UC2 Verificar disponibilidade de passagens Cont Fluxo Principal 1 Cliente informa os dados para busca de acordo com RNx 2 Sistema valida os dados do critério de busca 3 Sistema verifica disponibilidade de assentos nos vôos correspondentes conforme os Requisitos de Negócio RF07 e RF08 4 Sistema calcula valor da passagem dos vôos disponíveis que satisfazem os dados informados 5 Sistema exibe vôos disponíveis data e número do vôo hora de saída e chegada escalas eou conexões preço e taxas de embarque 6 Cliente seleciona vôo de ida ou vôos de idavolta de interesse 7 Sistema exibe os detalhes do vôo selecionado e o contrato 8 Sistema apresenta as opções Comprar passagem Nova Busca e Sair 9 Cliente seleciona Sair 10 O caso de uso é encerrado UC2 Verificar disponibilidade de passagens Cont Fluxo alternativo 9a Cliente decide comprar a passagem 9a1 Cliente seleciona Comprar Passagem 9a2 Ir para UC9 9b Cliente decide realizar nova busca 9b1 Cliente seleciona Nova Busca 9b2 Voltar para o passo 1 do fluxo principal Fluxo de exceção 2a Local de saída igual ao de destino 2a1 Sistema mostra a seguinte mensagem Cidade de origem igual à cidade de destino 2a2 Retornar ao passo 1 do fluxo principal Inclusões Nenhuma Extensões UC9 Comprar Passagem Diagrama de Atividades do UC2 UC4 Cadastrar Cliente 75 Descrição resumida O Cliente usa o sistema realizar seu cadastro no sistema de reserva de passagens Ator primário Cliente Précondição Não há Fluxo Principal 1 Cliente informa seus dados Nome Endereço Completo Data de Nascimento CPF e RG e escolhe a opção Cadastrar 2 Sistema valida os dados do cliente 3 Sistema registra os dados no cliente e retorna a mensagem Cadastro Concluído com sucesso 4 O sistema exibe as opções Comprar Passagem e Sair 5 Cliente seleciona Sair 6 O caso de uso é encerrado Fluxo alternativo 6a Cliente decide comprar a passagem 6a1 Cliente seleciona Comprar Passagem 6a2 Ir para UC9 Fluxo de exceção 2a Dadas inválidos ou não informados 2a1 Sistema mostra a seguinte mensagem Dados inválidosnão informados 2a2 Retornar ao passo 1 do fluxo principal Inclusões Nenhuma Extensões UC9 Comprar Passagem UC4 Cadastrar Cliente Cont a a r ecosistema ânima