joice mendes [email protected] samuel martins sbm ...ra144681/courses/aswi4... · desenvolva o...
TRANSCRIPT
Joice Mendes Bacharel em Ciência da Computação - UNIFEI Mestra em Ciência e Tecnologia da Computação UNIFEI Doutoranda em Engenharia de Produção - UNIFEI
Samuel Martins
Bacharel em Ciência da Computação USP-São Carlos Mestre em Ciência da Computação Unicamp Doutorando em Ciência da Computação - Unicamp
2
Introdução à arquitetura de software;
Tipos de arquitetura de software;
Visões de arquitetura de software;
Padrões de projeto;
Desenvolvimento em camadas;
Componentes de software;
Integração e implantação de sistema de software;
Reuso e refatoração;
Camada de persistência de dados;
Mapeamento objeto-relacional;
Verificação e validação;
Desenvolvimento de Softwares Baseado em Testes
3
Avaliações, trabalhos e apresentações durante o semestre;
4
Bimestre Avaliações Apresentações Trabalhos
1 BIM
12/08
30/09
Requeridos
durante o
bimestre
02/09
23/09
2 BIM
14/10
09/12
Requeridos
durante o
bimestre
11/11
02/12
Composição da nota bimestral
NPB = (P1+P2+P3)/3
NTB = Apresentação de trabalho + Trabalhos entregues
no decorrer do bimestre.
NBIM1 = (0,5*NPB + 0,5*NTB)
Média Final: MF = máximo {IFA, (NBIM1 +
NBIM2)/2}
5
Modelo de Software - Diagramas UML Diagrama de Casos de Uso
Diagrama de classes
6
Planejamento do sistema que será construído;
Considera aspectos relevantes ao propósito do
modelo;
7
Captura uma visão do sistema físico, é uma
abstração do sistema (estruturais e
comportamentais)
8
ser visto como uma representação idealizada de um
Eduardo Bezerra
Gerenciamento da complexidade;
Comunicação entre as pessoas envolvidas;
Redução dos custos no desenvolvimento;
Predição do comportamento futuro do sistema.
9
Por que tantos diagramas?
Diagrama de casos de uso;
Diagrama de classes;
Diagrama de objetos;
Diagrama de pacotes;
Diagrama de sequência;
etc
10
Descreve o sistema de um ponto de vista externo;
Interações entre o sistema e os agentes externos;
Diagrama mais geral e informal da UML;
Utilizado na fase de levantamento e análise de
requisitos;
11
Base para outros diagramas;
Molda requisitos funcionais;
Linguagem simples e de fácil compreensão;
Perspectiva do usuário;
Identifica
Atores
Funcionalidades
12
Atores: representam os elementos que interagem
com o sistema;
Externos não fazem parte do sistema
Interagem trocam mensagens
13
Casos de Uso: serviços, tarefas ou funcionalidades do software;
Utilizar verbos para representar as ações
14
Associações: relacionamentos entre os elementos do diagrama
Generalização: parte geral e específica
15
Associações: relacionamentos entre os elementos do diagrama
Inclusão: rotina comum a mais de um caso de uso
16
Associações: relacionamentos entre os elementos do diagrama
Extensão: cenários opcionais de um caso de uso, não
ocorrem sempre
17
Desenvolva o diagrama de casos de uso considerando os seguintes requisitos:
O celular oferece o serviço de realizar chamadas, no qual o usuário informa um
telefone para que o celular ligue. O celular deve registrar as últimas chamadas.
O celular oferece o serviço de enviar mensagens, onde o usuário informa um
telefone para o qual deseja enviar a mensagem. O celular deve registrar as últimas
mensagens.
O aparelho oferece o serviço de agenda, sendo possível cadastrar os diversos
contatos do usuário. Cada contato armazena o nome do contato e seu telefone. Caso o
usuário consulte um telefone já existente, ele poderá ligar para esse contato ou enviar uma
mensagem. O sistema deve guardar as últimas ligações feitas, bem como as últimas
mensagens enviadas.
O celular oferece o serviço de recebimento de chamadas e o usuário pode aceitar a
chamada ou não. As últimas ligações também devem ser gravadas.
O sistema deve oferecer o serviço de recebimento de mensagens, devendo
também registrar as últimas mensagens recebidas.
O celular oferece o serviço de despertador, no qual o usuário pode cadastrar e/ou
ativar um ou mais horários para despertar.
O sistema oferece o serviço de tons, no qual o usuário pode selecionar a
música que será tocada no recebimento de uma chamada ou mensagem,
ou para despertá-lo.
18
19
Permite visualizar os classes que compõem o
sistema com os respectivos atributos e métodos;
Representa a relação entre as classes;
Visão estática das classes;
Composto de classes e relacionamentos.
20
Classe representada como um retângulo com três áreas:
Nome da classe
Atributos
Métodos
Visibilidade: Privada
Protegida #
Pública +
Pacote ~
21
Relacionamentos ou Associações: descreve o vínculo entre os objetos
22
Agregação: demonstra informações de um objeto todo e sua(s) parte(s)
23
Todo Parte
Composição: variação da agregação, onde o objeto parte não existe sem o objeto todo
24
Generalização: representa herança entre as classes, identificando as superclasses e subclasses
25
Estereótipos
<<entity>> explicita que uma classe é uma entidade
<<boundary>> comunicação entre atores externos e o
sistema
<<control>> identifica classes que servem de intermédio
entre as classes <<boundary>> e demais classes
26
Desenvolva o diagrama de casos de uso considerando os seguintes requisitos:
O celular oferece o serviço de realizar chamadas, no qual o usuário informa um
telefone para que o celular ligue. O celular deve registrar as últimas chamadas.
O celular oferece o serviço de enviar mensagens, onde o usuário informa um
telefone para o qual deseja enviar a mensagem. O celular deve registrar as últimas
mensagens.
O aparelho oferece o serviço de agenda, sendo possível cadastrar os diversos
contatos do usuário. Cada contato armazena o nome do contato e seu telefone. Caso o
usuário consulte um telefone já existente, ele poderá ligar para esse contato ou enviar uma
mensagem. O sistema deve guardar as últimas ligações feitas, bem como as últimas
mensagens enviadas.
O celular oferece o serviço de recebimento de chamadas e o usuário pode aceitar a
chamada ou não. As últimas ligações também devem ser gravadas.
O sistema deve oferecer o serviço de recebimento de mensagens, devendo
também registrar as últimas mensagens recebidas.
O celular oferece o serviço de despertador, no qual o usuário pode cadastrar e/ou
ativar um ou mais horários para despertar.
O sistema oferece o serviço de tons, no qual o usuário pode selecionar a
música que será tocada no recebimento de uma chamada ou mensagem,
ou para despertá-lo.
27
28
Desenvolva o diagrama de casos de uso e o diagrama de classes para um sistema de controle de cinema.
Um cinema pode ter muitas salas, sendo necessário registrar informações a respeito de cada uma, como sua capacidade (nº assentos);
O cinema apresenta muitos filmes. Um filme tem informações como título e duração. Sempre que um filme for apresentado, deve-se registrá-lo também;
Um mesmo filme pode ser apresentado em diferentes salas e em horários diferentes. Cada apresentação em uma determinada sala e horário é chamada Sessão. Um filme sendo apresentado em uma sessão tem um número máximo de ingressos, determinado pela capacidade da sala;
Os clientes do cinema podem comprar ou não ingressos para assistir a uma sessão. O funcionário deve intermediar a compra. Um ingresso deve conter informações como o tipo de ingresso (meio ou inteiro). Além disso, um cliente só pode comprar ingressos para sessões ainda não encerradas.
29
Desenvolva o diagrama de casos de uso e o diagrama de classes para um sistema de controle de clube social. Para ingressar em um clube é necessário apresentar uma solicitação, a ser avaliada por uma comissão nomeada pelo clube; Em caso de aprovação, o candidato pode associar-se no clube. Opcionalmente, caso possua dependentes, poderá associá-lo também, o que aumentará o valor da mensalidade a ser paga; Sendo sócio do clube, deverá pagar uma mensalidade para poder frequentá-lo; As mensalidades são geradas pelo clube levando em consideração a categoria do sócio e o número de dependentes.
30
Grupo de, no máximo, 4 alunos;
Proposta de um sistema a ser desenvolvido.
Apresentar o contexto a ser resolvido pelo
sistema.
Simples!
31