32
Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre Uma área vocacional oferece várias disciplinas Cada Estudante selecciona 6 disciplinas, 4 da sua área vocacional e 2 de uma área de opção Assim que o estudante faz a sua inscrição a Contabilidade é notificada e o valor é contabilizado na conta do estudante. Os estudantes podem utilizar o Sistema de Inscrições para alterar as disciplinas escolhidas durante um certo periodo após a inscrição Os professores utilizam o sistema para aceder á lista dos candidatos inscritos nas disciplinas que oferecem. Os utilizadores do Sistema de Inscrições possuem senhas (passwords) que são utilizadas para validar o acesso.

Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Embed Size (px)

Citation preview

Page 1: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Sistema de Inscrições

A Universidade pretende desenvolver um Sistema de Inscrições

A Secretaria Académica prepara o curriculum de disciplinas para um semestre

• Uma área vocacional oferece várias disciplinas

Cada Estudante selecciona 6 disciplinas, 4 da sua área vocacional e 2 de uma área de opção

Assim que o estudante faz a sua inscrição a Contabilidade é notificada e o valor é contabilizado na conta do estudante.

Os estudantes podem utilizar o Sistema de Inscrições para alterar as disciplinas escolhidas durante um certo periodo após a inscrição

Os professores utilizam o sistema para aceder á lista dos candidatos inscritos nas disciplinas que oferecem.

Os utilizadores do Sistema de Inscrições possuem senhas (passwords) que são utilizadas para validar o acesso.

Page 2: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Actores

Um actor é alguém ou algo que tem de interagir com o sistema que está a ser desenvolvido

Estudante

Secretaria Académica

Professor

Contabilidade

Page 3: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Use Cases Um “use case” é um padrão de comportamento que o

sistema exibe; pode ser associado a um serviço que é disponibilizado.

– Cada “use case” é uma sequencia de transações relacionadas, executadas num diálogo entre um actor e o sistema

Os actores são identificados para que se determinem as suas necessidades

– Secretaria Académica -- manter curriculum de disciplinas – Professor -- solicitar lista de candidatos inscritos– Estudante -- inscrever em disciplina– Contabilidade -- receber a informação contabilística da

Secretaria Académica

Fazer inscriçãoManter Curriculum Solicitar Lista Candidatos

Page 4: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Fluxo de Eventos Manter Curriculum

Este “use case” inicia-se quando a Secretaria Académica acede ao Sistema de Inscrições e fornece a sua password. O sistema verifica que a password é valida (E-1) e notifica a Secretaria Académica para seleccionar o semestre corrente ou um semestre futuro (E-2). A Secretaria insere o semeste pretendido. O sistema solicita à Secretaria Académica que seleccione a operação que pretende realizar: ADICIONAR, REMOVER, REVER ou TERMINAR.

Se a actividade selecionada for ADICIONAR inicia-se o subfluxo S-1: Adicionar uma disciplina.

Se a actividade selecionada for REMOVER inicia-se o subfluxo S-2: Remover uma disciplina.

Se a actividade selecionada for REVER inicia-se o subfluxo S-3: Rever curriculo.

Se a actividade for QUIT, o “use case” termina.

Page 5: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Diagrama de “Use Case”

Os diagramas de “Use case” são criados para visualizar as relações entre os actores e os “use cases”

Estudante

Secretaria Académica

Professor

Inscrever em Disciplina

Manter Curriculum

Solicitar Lista de Candidatos

Contabilidade

Page 6: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Concretização do “Use Case”

O diagrama de “use case” apresenta uma visão externa do sistema

O diagrama de interacção descreve o funcionamento do “use cases” através das interacções entre comunidades de objectos.

Podem ser utilizados dois tipos de diagramas de interacção– Diagramas de Sequencia– Diagramas de Colaboração

Page 7: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Diagrama de Sequencia

Um diagrama de sequencia apresenta as interacções entre objectos organizadas numa sequencia temporal

: Estudanteformulário

Inscriçãogestor

inscriçãomatemática

1: preenche info

2: submete

3: adiciona disciplina (jose, matematica, estatística) 4: Funciona?

5: Funciona?

6: adiciona (jose)

7: adiciona (jose)

matemática estatística

Page 8: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

: Secretaria Académica

Formulario disciplina: FormularioDisciplina

oGestor : gestorCurriculumumaDisciplina :

Disciplina

1: define informação disciplina2: processa

3: adiciona disciplina

4: nova disciplina

Diagrama de Colaboração

Um diagrama de colaboração apresenta as interacções entre objectos organizadas em torno dos objectos e das suas ligações

Page 9: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Diagramas de Classes

Um diagrama de Classes apresenta a existencia de classes e suas ligações segundo a visão lógica do sistema

Elementos de modelaçãoUML nos diagramas de class – Classes e a sua estrutura e comportamentos– Relações de associação, agregação, dependencia,e herança– Indicadores de multiplicidade e navigação– Nomes de “papeis”

Page 10: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Classes

Uma classe é uma coleção de objectos com uma estrutura e comportamento, relacionamentos e semantica comuns

Identificam-se classes examinando os objectos presentes nos diagramas de sequencia e de colaboração

Uma classe é desenhada como um rectangulo com três compartimentos

Classes devem ser designadas através de nomes utilizados no vocabulário do domínio.

– Devem ser criadas normas de identificação – ex., todas as classes tem um nome singular que começa por

maiuscula

Page 11: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Classes

FormInscricao

GestorInscricao

Disciplina

OfertaDisciplina Professor

Estudante

AlgoritmoPlaneamento

Page 12: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Operações

O comportamento de uma classe é representado pelas suas operações

Operações são identificadas nos diagramas de interacção

formulario inscrição

gestor inscrição

3: adicionar disciplina (jose, matematica, estatistica)

GestorInscrição

adicionarDisciplina (Estudante, Area,Disciplina)

Page 13: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Atributos

A estructura de uma classe é representada pelos sues atributos

Podemos determinar os atributos examinando a definição das classes, os requisitos do problema e apliccando o nosso conhecimento do domínio

Cada oferta de disciplina possui um número, localização e hora

OfertaDisciplina

numerolocalizaçãohora

Page 14: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Classes

FormInscrição

GestorInscrição

adicionarEstudante(Disciplina, InfoEstudante)Disciplina

nomenumeroCreditos

open()addStudent(StudentInfo)

Estudantenomeárea

OfertaDisciplinalocalização

abri()AdicionarEstudante (InfoEstudante)

ProfessornomecategoriaAcademica

AlgoritmoPlaneamento

Page 15: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Relacionamentos

Os relacionamentos estabelecem um caminho para a comunicação entre objectos

Os diagramas de sequencia e/ou colaboração devem ser examinados de modo a determinar as ligações que devem existir entre objectos para concretizar o comportamento - deverá existir uma ligação entre dois objectos que precisam de “falar”.

O UML define três tipos de relacionamentos:– Associação– Agregação– Dependencia

Page 16: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Gestor Inscrição

Matematica: Disciplina

3: adiciona estudante(jose)

GestorInscrição

Disciplina

Procurar Relacionamentos

Os relacionamentos identificam-se a partir dos diagramas de interacção

– Se dois objectos necessitam de “falar” então deverá existir um caminho para a essa comunicação

Page 17: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Relacionamentos

FormInscrição

GestorInscrição

Disciplina

Estudante

OfertaDisciplina Professor

adicionaEstudante(Disciplina, InfoEstudante)

nomenumeroCreditos

abre()adicionaEstudante(InforEstudante)nome

área

localização

abre()adicionaEstudante(InfoEstudant)

nomecategoriaAcademica

AlgoritmoPlaneamento

Page 18: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Multiplicidade e Navigação

Multiplicidade define quantos objectos participam no relacionamento

– Multiplicidade representa o número de instancias de uma classe que estão relacionadas com UMA instancia de outra classe.

– Para cada associação e agregação temos de decidir qual a multiplicidade em cada extremo do relacionamento.

Embora, por princípio, as associações e agregações sejam bi-direcionais é desejavel restringir a navegação a uma direcção previlegiada

– Se a navegação for restringida, será incluida uma seta para indicar a direcção da navegação

Page 19: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Multiplicidade e Navigação

FormInscrição

GestorInscrição

Disciplina

Estudante

OfertaDisciplina Professor

adicionaEstudante()

nomenumeroCreditos

abre()adicionaEstudante(InfoEstudante)nome

area

localização

abre()adicionaEstudantet(InfoEstudante)

nomecategoriaAcademica

AlgorimoPlaneamento

10..*

0..*

1

1

1..*4

3..10

0..41

Page 20: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Herança

Herança é um relacionamento etre uma superclasse e as suas subclasses

Existem dois modos de identificar herança:– Generalização– Especialização

No nivel mais elevado da hierárquia apresentam-se atributos, operações e/ou relacionamentos comuns

Page 21: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Herança

FormInscrição

GestorInscricao

Disciplina

Estudante

OfertaDisciplina Professor

adicionaEstudante()

nomenumeroCreditos

abre()adicionaEstudante(InfoEstudante)

area

localização

abre()adicionaEstudantet(StudentInfo)

categoriaAcademica

AlgoritmoPlaneamento

nome

UtilizadorInscricao

Page 22: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

O Estado de um Objecto

O diagrama de transição de estados apresenta – a história da vida de uma dada classe– os eventos que provocam a transição de um estado para outro– As acções que resultam de uma mudança de estado

Os diagrama de transição de estado são criados para objectos com um comportamento dinamico significativo

Page 23: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Diagrama de Transição de Estado

IniciadoAberto

entry: Regista estudanteexit: Incrementa contador

Encerrado

Cancelado

do: Inicia disciplina

do: Finaliza disciplina

do: Notifica estudantes inscritos

Adiciona Estudante / Set contador = 0

Adiciona estudante[ contador < 10 ]

[ contador = 10 ]

Cancela

Cancela

Cancela

Page 24: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

O Mundo Físico: Implementação

Diagramas de componente ilustram a organização e dependencias entre componentes de software

Um componente pode ser – Um componente programa fonte– Um componente “run time”– Um componente executavel

Page 25: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Diagrama de Componentes

Disciplina.dll

Pessoa.dll

Disciplina

OfertaDisciplina

Estudante Professor

SecretariaAcademica.exe

Page 26: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Interfaces

Os interfaces de um componente devem ser apresentados no diagrama de componentes

Registo.exe Contabilidade.exeContabilidade

Page 27: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Implantação do Sistema

O diagrama de implantação apresenta a configuração dos elementos de processamento (computadores) e dos processos de software que os utilizam

O diagrama de implantação descreve a localização dos componentes na empresa.

Page 28: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Diagrama de Implantação

SecretariaAcadémica

Base de dados

Biblioteca

Sala Convívio

Edíficio Principal

Page 29: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Estensão do UML

Os Estereotipos são um mecacnismo de classificação que permitem estender os elementos de notação do UML

Os Estereotipos podem ser utilizados para classificar e estender associações, relações de herança, classes e componentes

Exemplos:– Estereótipos de classe : fronteira, controlo, entidade, utilidade,

excepção, interface– Estereótipos de herança: “uses” e “extends”– Estereótipos de componente: subsistema

“Control”

GestorInscrição

“Excepção”

Inscrição Recusada

Page 30: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Estensão do UML

Um package é uma forma de organização de elementos de modelação. Cada pacote pode conter uma colecção de “use cases”, uma colecção de classes ou uma colecção de componentes.

As setas descrevem dependencias entre packages.

Exemplos– Interfaces: FormInscrição, FormSelacçaoDisciplina, ...– Elementos da Universidade: Disciplina, OfertaDisciplina,

ListaCandidatos– Pessoas: InfoEstudante, InfoProfessor– Base de Dados: repositório de dados Package

Page 31: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Estensão do UML

InterfacesElementos

UniversidadePessoas

Base de dados

Packages

Page 32: Sistema de Inscrições A Universidade pretende desenvolver um Sistema de Inscrições A Secretaria Académica prepara o curriculum de disciplinas para um semestre

Conclusões

Modelação visual pode ser utilizada para:– Definir processos de negócio– Comunicar– Dominar complexidade– Definir arquitectura de software– Promover reutilização

O UML é uma linguagem “standard” para visualizar, especificar, construir e documentar os elementos de um sistema complexo de software.

– O UML pode sre utilizado com todos os processos, ao longo de todo o ciclo de desenvolvimento e utilizando diversas tecnologias de implementação.