Upload
internet
View
102
Download
0
Embed Size (px)
Citation preview
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.
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
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
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.
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
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
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
: 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
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”
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
Classes
FormInscricao
GestorInscricao
Disciplina
OfertaDisciplina Professor
Estudante
AlgoritmoPlaneamento
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)
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
Classes
FormInscrição
GestorInscrição
adicionarEstudante(Disciplina, InfoEstudante)Disciplina
nomenumeroCreditos
open()addStudent(StudentInfo)
Estudantenomeárea
OfertaDisciplinalocalização
abri()AdicionarEstudante (InfoEstudante)
ProfessornomecategoriaAcademica
AlgoritmoPlaneamento
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
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
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
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
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
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
Herança
FormInscrição
GestorInscricao
Disciplina
Estudante
OfertaDisciplina Professor
adicionaEstudante()
nomenumeroCreditos
abre()adicionaEstudante(InfoEstudante)
area
localização
abre()adicionaEstudantet(StudentInfo)
categoriaAcademica
AlgoritmoPlaneamento
nome
UtilizadorInscricao
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
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
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
Diagrama de Componentes
Disciplina.dll
Pessoa.dll
Disciplina
OfertaDisciplina
Estudante Professor
SecretariaAcademica.exe
Interfaces
Os interfaces de um componente devem ser apresentados no diagrama de componentes
Registo.exe Contabilidade.exeContabilidade
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.
Diagrama de Implantação
SecretariaAcadémica
Base de dados
Biblioteca
Sala Convívio
Edíficio Principal
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
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
Estensão do UML
InterfacesElementos
UniversidadePessoas
Base de dados
Packages
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.