Requisitos de Software e UML Básico. Janaína Horácio

Documentos relacionados
INF1013 MODELAGEM DE SOFTWARE

UML Diagrama de Atividades Diagrama de Caso de Uso. ENG1518/3VB Sistemas de Informação Gerenciais Prof. Marcos Villas

Engenharia de Software. Aula 2.4 Modelos de Casos de Uso. Prof. Bruno Moreno

UML Unified Modeling Language Linguagem de Modelagem Unificada

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Engenharia de Software. UML Unified Modeling Language

Modelagem Usando Orientação à Objetos (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Modelos de Sistemas Casos de Uso

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

Modelando sistemas em UML - Casos de uso.

Rational Unified Process (RUP)

FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ

O conceito de casos de uso foi criado em 1986 por Ivar Jacobson, metodologista e um dos pais do Processo Unificado.

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Análise de Sistemas. Aula 5

Análise e projeto de sistemas

UML e seus diagramas

UML: Introdução. História Visão geral Modelo conceitual da UML. Bibliografia. UML: introdução

Modelagem ou Diagrama de Caso de Uso

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Introdução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Diagrama de Casos de Uso

UML (Unified Modelling Language)

Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Diagrama de Casos de Uso. Componentes do Diagrama.

Diagrama de Casos de Uso

UML Unified Modeling Language Linguagem de Modelagem Unificada Requisitos, Casos de Uso no ArgoUML

Introdução à Gestão de Processos de Negócios

Análise de Sistemas 3º Bimestre (material 2)

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

27) Em relação aos Projetos de Sistemas de Software, assinale a sequência correta de desenvolvimento de um sistema:

UML. Modelando um sistema

ANÁLISE DE SISTEMAS UML. por. Antônio Maurício Pitangueira

Diagrama de Casos de Uso. Interagindo com o Usuário

MODELAGEM DE SISTEMAS Unidade 2 A Linguagem UML. Luiz Leão

Engenharia de Software

INTRODUÇÃO À ENGENHARIA DE SOFTWARE. Prof.: Tiago Alves

ENGENHARIA DE SOFTWARE. Aula 07 UML - Diagrama de Casos de Uso

Modelagem de Casos de Uso (Parte 1)

Análise de Sistemas. Visão Geral - Orientação a Objetos. Prof. José Honorato Ferreira Nunes

UML Diagrama de Caso de Uso. ENG1518/3VC Sistemas de Informação Gerenciais Prof. Marcos Villas

Modelagem de Sistemas

Visão Geral da UML. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Prof. Dr. Thiago Jabur Bittar

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos

Introdução à UML. Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX. Prof. Fernando Maia da Mota

UML. Trabalho Análise e Projeto de Sistemas. Aluna: Luana Alves Businaro

Engenharia de Software Orientada a Objetos - OOSE. Método de Jacobson

Introdução a UML (Unified Modeling Language)

Requisitos de Sistemas

ENGENHARIA DE SOFTWARE I AULA 3. Análise e diagramação. professor Luciano Roberto Rocha.

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

Modelagem de Sistemas. Análise de Requisitos. Modelagem

Lógica de Programação UML Caso de Uso

O Processo Unificado (PU) SSC 121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)

Projeto Integrador II. Princípios de Análise e Projeto de Sistemas com UML (livro de Eduardo Bezerra)

Q d( ) P. a( ) c( ) e( ) c( ) S. c( ) d( )

IFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Introdução à Análise e Projeto de Sistemas

PUC-GO- ADS: Prof. Vicente P. de Camargo. Desenvolvimento de Aplicações para Cliente Servidor

LEVANTAMENTO DE REQUISITOS E ANÁLISE PARA UM SISTEMA DE CONTROLE DE ACADEMIA

Introdução. Introdução. Introdução. Planejamento da disciplina. Modelagem de Processos de Negócio. Prof.: Clarindo Isaías Pereira da Silva e Pádua

Introdução à Engenharia de Software

Esse diagrama documenta o que o sistema faz do ponto de vista. do usuário. Em outras palavras, ele descreve as principais

Departamento de Sistemas de Computação Universidade de São Paulo Análise e Projeto Orientados a Objetos Aula 2 O Processo Unificado (PU)

Diagrama de Casos de Uso

Lista Diagrama de Casos de Uso

1 Modelagem de Processos de Negócio Engenharia de Software.

Padrão para Especificação de Requisitos de Produto de Multimídia

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

Problemas e Práticas Recomendadas no Desenvolvimento de Software

Professor Emiliano S. Monteiro

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

APÊNDICE D Unified Model Language (UML)

Transcrição:

Requisitos de Software e UML Básico Janaína Horácio janaina@les.inf.puc-rio.br

Agenda Requisitos O que é? Objetivos? Atividades?... UML O que é? Modelos... Casos de Uso O que é? Componentes 2

Requisitos Descrição das necessidades ou dos desejos de um produto. É a parte mais crítica e propensa a erros no desenvolvimento de software Objetivo Identificar os requisitos que serão satisfeitos Documentar Facilitar a comunicação 3

Requisitos O processo de Engenharia de Requisitos é composto por quatro atividades de alto nível (Soares, 2005): Identificação. Análise e negociação. Especificação e documentação. Validação. 4

Requisitos Os seguintes artefatos são recomendados na fase de requisitos: Um texto de visão geral Clientes Objetivos Funções do sistema Atributos do sistema 5

Requisitos Onde Coletar os Requisitos? Fontes Humanas Ambiente onde o Sistema Funcionará Estudos de Viabilidade (técnica, financeira) Análises de Mercado Planos de Negócios Análise de Produtos Competidores Conhecimento do Domínio 6

Requisitos Requisito Funcional A especificação de um requisito funcional deve determinar o que se espera que o software faça, sem a preocupação de como ele faz. Requisito Não-Funcional Requisitos não-funcionais são as qualidades globais de um software, como manutenibilidade, usabilidade, desempenho, custos e várias outras. Normalmente estes requisitos são descritos de maneira informal, de maneira controversa e são difíceis de validar. 7

Requisitos Uma boa especificação de requisitos deve ser: Clara e não-ambígua Completa Correta Compreensível Consistente Concisa Confiável 8

Requisitos Construir um sistema de software com base em requisitos inconsistentes e mal definidos é como construir uma casa sem alicerce na areia... 9

UML Básico

UML A UML (Unified Modeling Language) é uma linguagem para especificação, documentação, visualização e desenvolvimento de sistemas orientados a objetos. A UML é controlada pelo Grupo de Gerenciamento de Objeto (Object Management Group - OMG) e é adotada por boa parte da indústria para descrever graficamente software. 11

UML Uma linguagem de modelagem é uma linguagem cujo vocabulário e regras têm seu foco voltado para a representação conceitual e física de um sistema. O vocabulário e as regras indicam como criar e ler modelos bem formados, mas não apontam quais modelos devem ser criados e nem em que seqüência. 12

UML A UML fornece os símbolos gráficos para a representação de artefatos de software. Por trás de cada símbolo empregado, existe uma sintaxe e uma semântica bem-definidas. Dessa maneira, um desenvolvedor poderá usar a UML para escrever seu modelo e qualquer outro será capaz de interpretá-lo sem ambigüidades. 13

UML Além dos modelos que descrevem o projeto, outros documentos, que fornecem informações importante sobre o sistema, também podem ser expressos com UML: os requisitos do sistema, a arquitetura do sistema e todos os seus detalhes, as atividades de planejamento do projeto, as atividades de realização de testes, o gerenciamento de versões. 14

UML Figura 1. Relações entre os diagramas da UML 15

Vantagens da UML Padrão aberto e não proprietário. Integração das melhores práticas de modelagem. Independência do processo de desenvolvimento. Aplicável a todas as fases do ciclo de desenvolvimento. Independência de linguagem de implementação. Suporte a conceitos de alto nível. É uma linguagem extensível. 16

Diagrama de Caso de Uso

Casos de Uso Segundo Ivan Jacobson, podemos dizer que um caso de uso é um "documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar um processo". É uma técnica de modelagem usada para descrever o que um novo sistema deve fazer e não como deve ser feito. 18

Casos de Uso Os componentes de um modelo de casos de uso são : Ator - é um papel que tipicamente estimula/solicita ações/eventos do sistema e recebe reações. Cada ator pode participar de vários casos de uso Casos de uso - documento narrativo que descreve a seqüência de eventos feitos por um ator no uso do sistema. Sistema - O sistema a ser modelado 19

Como Identificar Casos de Uso Para cada ator identificado, quais são as tarefas nas quais o sistema estaria envolvido? O ator precisa estar informado sobre certas ocorrências no sistema? O ator precisa informar o sistema sobre mudanças externas repentinas? O sistema fornece ao negócio o comportamento correto? Todos as características podem ser realizadas pelos casos de uso identificados? Que casos de uso suportarão e manterão o sistema? Que informações devem ser modificadas ou criadas no sistema? 20

Casos de Uso Omitidos Início e fim do sistema. Manutenção do sistema. Por exemplo, adicionar novos usuários e configurar os perfis de usuário. Manutenção dos dados armazenados no sistema. Por exemplo, o sistema é criado para trabalhar junto com um sistema legado, e os dados precisam ser sincronizados entre os dois. Funcionalidade necessária para modificar o comportamento no sistema. Um exemplo seria a funcionalidade para criar novos relatórios. 21

Boas Práticas de Casos de Uso Nomeie um caso de uso começando com um verbo, para enfatizar que ele é um processo. Ex: Cadastrar Cliente, Comprar Item, etc. Para identificar claramente um ator iniciador e um evento, comece a descrição da seqüência de um caso de uso usando o seguinte esquema: <Ator> <Evento que inicia o caso de uso> 22

Relacionamentos de Casos de Uso Os relacionamentos possíveis são : Inclusão : Se um caso de uso inicia ou inclui o comportamento de outro, dizemos que ele usa o outro. O relacionamento de inclusão em UML é ilustrado com uma linha de generalização com o rótulo <<include>>. 23

Relacionamentos de Casos de Uso Extensão - Define pontos de extensão que adicionam comportamento a um caso de uso base descrevendo uma variação do comportamento normal. O caso de uso base pode ser executado mesmo sem a extensão. <<extend>> 24

Relacionamentos de Casos de Uso Generalização especifica que um Caso de Uso herda as características do Super Caso de Uso, e pode sobrepor algumas delas ou adicionar novas 25

Especificação de Caso de Uso Caso de Uso 01 Cadastrando cliente (descrição típica) Ator Primário: Cliente Precondições: Nenhuma Fluxo Normal 1 Cliente preenche ficha cadastral. 2 Assistente de Cadastro informa recebimento de documentação cadastral. 3 Gerente de Cadastro informa aprovação do Cliente. Fluxo Alternativo: documentação incompleta ou com erro 2a Assistente de Cadastro informa documentação irregular. 2b Cliente envia documentação corrigida para cadastro. 2c Retorna ao passo 2. Fluxo Alternativo: irregularidade nos dados cadastrais 3a Gerente de Cadastro informa irregularidade nos dados cadastrais. 3b Cliente atualiza dados cadastrais. 3c Retorna ao passo 3. 26

Diagramas UML: Sistema de Matrícula (SM) Uma universidade requisita um sistema de matrículas: 1. A universidade oferece vários cursos. 2. O Coordenador de um curso define as disciplinas que serão oferecidas pelo seu curso num dado semestre. 3. Várias disciplinas são oferecidas em um curso. 4. Várias turmas podem ser abertas para uma mesma disciplina. 5. Estudantes selecionam 4 disciplinas preferenciais e 2 alternativas. 6. Quando um estudante matricula-se para um semestre, o Sistema de Registro Acadêmico é notificado. 7. Após a matrícula, os estudantes podem, por um certo prazo, utilizar o sistema para adicionar ou remover disciplinas. 8. Professores usam o sistema para obter a lista de alunos matriculados em suas disciplinas. 9. Todos os usuários do sistema devem ser validados. 27

SM: Identificando os atores Uma universidade requisita um sistema de matrículas: 1. A universidade oferece vários cursos. 2. O Coordenador de um curso define as disciplinas que serão oferecidas pelo seu curso num dado semestre. 3. Várias disciplinas são oferecidas em um curso. 4. Várias turmas podem ser abertas para uma mesma disciplina. 5. Estudantes selecionam 4 disciplinas preferenciais e 2 alternativas. 6. Quando um estudante matricula-se para um semestre, o Sistema de Registro Acadêmico é notificado. 7. Após a matrícula, os estudantes podem, por um certo prazo, utilizar o sistema para adicionar ou remover disciplinas. 8. Professores usam o sistema para obter a lista de alunos matriculados em suas disciplinas. 9. Todos os usuários do sistema devem ser validados. 28

SM: Identificando os atores Uma universidade requisita um sistema de matrículas: 1. A universidade oferece vários cursos. 2. O Coordenador de um curso define as disciplinas que serão oferecidas pelo seu curso num dado semestre. 3. Várias disciplinas são oferecidas em um curso. 4. Várias turmas podem ser abertas para uma mesma disciplina. 5. Estudantes selecionam 4 disciplinas preferenciais e 2 alternativas. 6. Quando um estudante matricula-se para um semestre, o Sistema de Registro Acadêmico é notificado. 7. Após a matrícula, os estudantes podem, por um certo prazo, utilizar o sistema para adicionar ou remover disciplinas. 8. Professores usam o sistema para obter a lista de alunos matriculados em suas disciplinas. 9. Todos os usuários do sistema devem ser validados. 29

SM: Identificando os casos de uso Uma universidade requisita um sistema de matrículas: 1. A universidade oferece vários cursos. 2. O Coordenador de um curso define as disciplinas que serão oferecidas pelo seu curso num dado semestre. 3. Várias disciplinas são oferecidas em um curso. 4. Várias turmas podem ser abertas para uma mesma disciplina. 5. Estudantes selecionam 4 disciplinas preferenciais e 2 alternativas. 6. Quando um estudante matricula-se para um semestre, o Sistema de Registro Acadêmico é notificado. 7. Após a matrícula, os estudantes podem, por um certo prazo, utilizar o sistema para adicionar ou remover disciplinas. 8. Professores usam o sistema para obter a lista de alunos matriculados em suas disciplinas. 9. Todos os usuários do sistema devem ser validados. 30

SM: Obtendo o Diagrama de Casos de Uso 31

SM: Obtendo o Diagrama de Casos de Uso 32

SM: Especificando os casos de uso 33

34

https://jude.change-vision.com/judeweb/servicedownloadlink.do 35