Estudo de Caso de engenharia de Software Identificando classes em um documento de requisitos Diagramas de Classe em UML • Modelagem de casos de uso: fornece uma perspectiva do sistema do ponto de vista Externo • Visão interna: descrição do funcionamento interno do software 1. Aspecto Dinâmico: descreve a troca de mensagens entre os objetos, e a sua reação a eventos que ocorrem no sistema. É realizada pelas modelagens de interação e de estados. 2. Aspecto Estrutural Estático: Permite compreender como o sistema está estruturado internamente, para que as funcionalidades externamente visíveis sejam produzidas. a) Estático: Não apresenta informações de como os objetos interagem no decorrer do tempo b) Estrutural: Representação da estrutura das classes e de suas relações 9/5/2007 Prof. Flavio Augusto C. Correia 2 Diagramas de Classe em UML Descrição do aspecto estrutural estático: feito pelo MODELO DE CLASSES Modelo de classes = Diagrama de classes + descrição textual associada À medida que o sistema é desenvolvido, o modelo de classes é incrementado com novos detalhes. Ele evolui em três níveis de abstração: 1. Modelo de classes de domínio : a. Construído na fase de análise b. Representa as classes no domínio do negócio em questão c. Não leva em consideração aspectos inerentes à tecnologia de implementação 2. Modelo de classes de especificação: a. Construído na fase de projeto b. Adiciona ao modelo de classes de domínio detalhes específicos, conforme a solução de software escolhida c. Pode definir novas classes necessárias para desenvolver a solução do problema 3. Modelo de classes de implementação: a. Estende o modelo de classes de especificação b. Corresponde à implementação das classes em alguma linguagem de programação 9/5/2007 Prof. Flavio Augusto C. Correia 3 Identificando classes em um documento de requisitos • Identificar substantivos e substantivos compostos. • Eliminar entidades que estão fora do sistema. • Eliminar o que não faz parte do que é automatizado. 9/5/2007 Prof. Flavio Augusto C. Correia 4 Selecionando classes • Principais substantivos simples e substantivos compostos em um documento de requisitos: – Alguns são atributos de outras classes. – Alguns não correspondem a partes do sistema. – Alguns são classes. • Classes a ser representadas por diagramas de classe UML. 9/5/2007 Prof. Flavio Augusto C. Correia 5 Atributos versus Classes (I) Docente Docente Nome Morada Telefone Disciplina Nome Morada Telefone ou Disciplina 0…* Designação 0...1 ? É relevante realçar a noção de disciplina ? É importante referir que é obrigatório um docente estar associado a uma disciplina ? É importante validar as disciplinas (apenas permitir associar a um docente uma disciplina pré-definida)? A designação das disciplinas pode ser alterada? 9/5/2007 Prof. Flavio Augusto C. Correia 6 Atributos versus Classes (II) Docente Nome Morada Telefone Disciplina 0…* Designação 0...1 no computador Em rigor, não é necessária a Classe Disciplina para poder obter a funcionalidade indicada. No entanto, caso a classe não exista, as disciplinas válidas são constantes (não é permitida a sua manutenção). 9/5/2007 Prof. Flavio Augusto C. Correia 7 Exercício - Secretaria de um clube esportivo A secretaria precisa manter controle sobre todos os sócios titulares do clube com nome, endereço,cidade, estado, data de nascimento, seus dependentes com nome e data de nascimento e os atletas, sendo que todo atleta também é um sócio (com informações sobre os esportes que prática e títulos conquistados. É preciso ainda guardar informações de todos os funcionários do clube numero de registro, cargo. Um funcionário pode também ser sócio do clube. 9/5/2007 Prof. Flavio Augusto C. Correia 8 Resposta - Secretaria de um clube esportivo 1 Socio possui * dependente Esporte * titular 1…* Nome Endereco Cidade Estado Dt_nascimento Funcionario 0…1 0…1 N_registro Cargo Atleta titulo Descricao Data 9/5/2007 Prof. Flavio Augusto C. Correia 9 Exercício - Notas de Avaliações Objectivo: guardar as notas das avaliações de alunos de uma licenciatura Requisitos: a) Os alunos inscrevem-se em várias disciplinas; b) Uma disciplina apenas existe em uma licenciatura e está associada a um ano lectivo; c) Cada aluno, disciplina a disciplina, opta pelo tipo de avaliação que mais lhe convém; d) Para cada avaliação de uma disciplina é registada a nota que os alunos obtiveram; e) As disciplinas e as licenciaturas caracterizam-se por uma sigla e a correspondente designação; os alunos pelo seu número na escola, nome e morada; os tipos de avaliação existentes são: Teste & Trabalho, Teste. 9/5/2007 Prof. Flavio Augusto C. Correia 10 Resposta - Notas de Avaliações Aluno Disciplina 1 Sigla Designação 1…* 1…* Ano Lectivo Avaliação 1…* 1 Licenciatura Sigla Designação 9/5/2007 Número Nome Morada 1…* Nota Nota Tipo Avaliação Frequencia 1…* Data 1…* Prof. Flavio Augusto C. Correia 11