Prévia do material em texto
<p>Engenharia de Requisitos</p><p>TADS</p><p>TECNOLOGIA EM ANÁLISE</p><p>E DESENVOLVIMENTO DE</p><p>SISTEMAS</p><p>PROFESSOR ISRAEL COSTA</p><p>Classes e ObjetosparteII|</p><p>Modelo de Atividades e Sequência |</p><p>Conceitos da Análise de Negócios</p><p>ENGENHARIA DE REQUISITOS</p><p>2</p><p>Professor Israel Costa</p><p>Roteiro</p><p>Técnicas de Identificação de Classes</p><p>Modelo de Atividades</p><p>Modelo de Sequência</p><p>3</p><p>Classes e Objetos</p><p>4</p><p>▪ Uma das tarefas mais difíceis é a identificação</p><p>de classes necessárias e suficientes para</p><p>compor um sistema.</p><p>▪ Identificar as classes significa “saber quais são</p><p>os objetos que irão compor o sistema”</p><p>Classes e Objetos</p><p>5</p><p>▪ Atividades da identificação:</p><p>▪ DEFINIR classes candidatas</p><p>▪ ELIMINAR as classes desnecessárias</p><p>Classes e Objetos</p><p>6</p><p>▪ Técnicas</p><p>▪ Análise textual</p><p>▪ Análise dos Casos de Uso</p><p>▪ Identificação dirigida a responsabilidades</p><p>▪ Padrões de análise</p><p>Classes e Objetos</p><p>7</p><p>▪ Análise textual de Abbott</p><p> Utiliza-se diversas fontes de informação:</p><p> Documento de Requisitos</p><p> Modelo de Negócios</p><p> Glossários, etc.</p><p> Destacam-se os termos como sujeito,</p><p>substantivos e verbo</p><p>8</p><p>Classes e Objetos</p><p>9</p><p>Análise de Caso de Uso</p><p> Passo a passo:</p><p> Para cada caso de uso:</p><p> Identifique as classes a partir do</p><p>comportamento</p><p> Distribua o comportamento do caso de</p><p>uso pelas classes identificadas</p><p>Classes e Objetos</p><p>10</p><p>Análise de Caso de Uso</p><p> Passo a passo:</p><p> Para cada classe de análise resultante:</p><p> Descreva suas responsabilidades</p><p> Descreva atributos e associações</p><p>Classes e Objetos</p><p>11</p><p>Análise de Caso de Uso</p><p> Categorização BCE: Os objetos são divididos em</p><p>3 categorias:</p><p> Objetos de Fronteira (Boundary)</p><p> Objetos de Controle (Control)</p><p> Objetos de Entidade (Entity)</p><p>Classes e Objetos</p><p>12</p><p>Análise de Caso de Uso</p><p> Categorização BCE: Os objetos são divididos em</p><p>3 categorias:</p><p> Notação UML</p><p>Diagrama de Classe</p><p>13</p><p>Análise de Caso de Uso</p><p> Objetos de Fronteira</p><p> Permite ao sistema interagir com seu</p><p>ambiente</p><p> Tipos principais:</p><p> Interface com usuário</p><p> Interface com sistemas externos</p><p> Comunicação com dispositivos</p><p>Diagrama de Classe</p><p>14</p><p>Análise de Caso de Uso</p><p> Objetos de Fronteira</p><p> Responsabilidades (comunicação):</p><p> Notificar aos demais objetos de</p><p>eventos gerados pelo ambiente</p><p> Notificar os atores sobre o resultado</p><p>de interações entre os objetos</p><p>Linguagem de</p><p>Modelagem Unificada</p><p>15</p><p>Análise de Caso de Uso</p><p> Objetos de Fronteira</p><p> Os nomes devem lembrar qual o canal de</p><p>comunicação com o mundo externo</p><p> Ex:</p><p> FormularioInscricao</p><p> LeitoraCartao</p><p> SistemaFaturamento</p><p>Diagrama de Classe</p><p>16</p><p>Análise de Caso de Uso</p><p>Objetos de Controle</p><p> É uma ponte de comunicação entre</p><p>os objetos de FRONTEIRA e os</p><p>objetos de ENTIDADE</p><p>Diagrama de Classe</p><p>17</p><p>Análise de Caso de Uso</p><p>Objetos de Controle</p><p>Responsabilidades</p><p> Realizar monitorações para</p><p>responder a eventos externos</p><p> Coordenar a realização de um caso</p><p>de uso</p><p> Criar associações entre objetos</p><p>Entidade</p><p>Diagrama de Classe</p><p>18</p><p>Análise de Caso de Uso</p><p> Objetos de Controle</p><p> Os nomes devem lembrar o caso de uso</p><p>que a classe é responsável por coordenar</p><p> Ex:</p><p> GerenciadorContas</p><p> ControladorInscricao</p><p> ControladorReservas</p><p> MarcadorTempo, etc.</p><p>Diagrama de Classe</p><p>19</p><p>Análise de Caso de Uso</p><p> Objetos de Entidade</p><p> Servem como um repositório para as</p><p>informações manipuladas pelo sistema</p><p> Dizem respeito a lógica do negócio</p><p>Diagrama de Classe</p><p>20</p><p>Análise de Caso de Uso</p><p> Objetos de Entidade</p><p> Os nomes lembram as informações do</p><p>sistema:</p><p> Produto</p><p> Cliente</p><p> Pedido</p><p> ItemPedido, etc.</p><p>Diagrama de Classe</p><p>21</p><p>Análise de Caso de Uso</p><p> Objetos de Entidade</p><p> Responsabilidades:</p><p> Informar valores de seus atributos</p><p>aos requisitantes</p><p> Realizar cálculos ou impor restrições</p><p>relativas as regras de negócios</p><p> Criar e destruir objetos partes</p><p>22</p><p>Modelo de Atividades</p><p>UML</p><p>23</p><p>Introdução</p><p>24</p><p>▪ O diagrama de atividades era considerado</p><p>um caso especial do diagrama de gráfico</p><p>de estados, hoje conhecido como</p><p>diagrama de máquina de estados.</p><p>▪ A partir da versão 2.0 da UML, o diagrama</p><p>de atividades passou a ser totalmente</p><p>independente.</p><p>Introdução</p><p>25</p><p>▪ É o diagrama com maior ênfase ao nível de</p><p>algoritmo da UML, e provavelmente um dos</p><p>mais detalhistas.</p><p>▪ Apresenta semelhança com os fluxogramas</p><p>utilizados para desenvolver a lógica de</p><p>programação.</p><p>Atividade</p><p>26</p><p>▪ Definição</p><p>▪ Uma atividade especifica a coordenação</p><p>de execução de comportamento usando</p><p>um modelo de fluxo de controle de dados.</p><p>Atividade</p><p>27</p><p>▪ Uma atividade é representada por um</p><p>retângulo grande com as bordas</p><p>arredondadas.</p><p>Atividade</p><p>28</p><p>▪ As atividades podem conter ações de vários</p><p>tipos:</p><p>▪ Ocorrência de funções primitivas, tais</p><p>como funções aritméticas.</p><p>▪ Invocação de comportamentos, tais como</p><p>atividades.</p><p>▪ Ações de comunicação, tais como envio de</p><p>sinais.</p><p>Atividade</p><p>29</p><p>▪ Manipulação de objetos</p><p>▪ Leitura ou gravação de atributos</p><p>▪ Instanciação</p><p>▪ Destruição de objetos.</p><p>Fluxo de Controle</p><p>30</p><p>▪ O fluxo de controle é um conector que liga</p><p>dois nós, enviando sinais de controle.</p><p>▪ É representado por uma linha contendo uma</p><p>seta apontando para o novo nó</p><p>Nó Inicial</p><p>31</p><p>▪ É utilizado para apresentar o início do fluxo da</p><p>atividade quando a atividade é invocada.</p><p>▪ É representada por um circulo preenchido.</p><p>Nó Final de Atividade</p><p>32</p><p>▪ Esse componente é utilizado para representar</p><p>o fim do fluxo de uma atividade.</p><p>▪ É representado por um circulo preenchido</p><p>dentro de um circulo vazio</p><p>Nó de Decisão</p><p>33</p><p>▪ Um nó de decisão é também utilizado para</p><p>representar uma escolha entre dois ou mais</p><p>fluxos possíveis, em que um dos fluxos será</p><p>escolhido em detrimento do outro.</p><p>Final de Fluxo</p><p>34</p><p> É um nó de controle que pode tanto dividir um</p><p>fluxo em dois ou mais fluxos como mesclar</p><p>dois ou mais fluxos em um único fluxo</p><p>concorrente.</p><p>Final de Fluxo</p><p>35</p><p> Representa o encerramento de uma rotina do</p><p>fluxo, mas não de toda a atividade. É</p><p>representado por um circulo com um X.</p><p>36</p><p>37</p><p>Modelo de Sequência</p><p>ANÁLISE DE REQUISITOS E PROJETOS</p><p>38</p><p>Introdução</p><p>39</p><p>▪ É um diagrama comportamental que procura</p><p>determinar a sequência de eventos que ocorre</p><p>em um determinado processo.</p><p>▪ Baseia-se no diagrama de caso de uso,</p><p>havendo, normalmente, um diagrama de</p><p>sequência para cada (uma vez que um caso de</p><p>uso é um processo disparado por um ator).</p><p>Introdução</p><p>40</p><p>▪ O diagrama de sequência também depende do</p><p>diagrama de classes pois as classes do objetos</p><p>são também utilizados para compor o</p><p>diagrama de sequência.</p><p>Atores</p><p>41</p><p>▪ Os atores modelados nesse diagrama são</p><p>instâncias dos atores declarados no diagrama</p><p>de caso de uso.</p><p>▪ Representando entidades externas que</p><p>interagem com o sistema e solicitam serviços.</p><p>Lifeline</p><p>42</p><p>▪ Na maioria das vezes um lifeline irá se referir a</p><p>uma instância de uma Classe que participa de</p><p>uma interação.</p><p>Lifeline</p><p>43</p><p>▪ Um lifeline pode existir desde o início do</p><p>processo ou..</p><p>▪ Ser criado durante o decorrer de sua</p><p>execução.</p><p>�� no primeiro caso,</p><p>aparecerá na parte</p><p>superior do diagrama</p><p>▪ ou na mesma</p><p>altura que a</p><p>mensagem que o</p><p>criar for chamada.</p><p>Foco de Controle ou</p><p>Ativação</p><p>44</p><p>▪ Indica o período em que determinado objeto</p><p>está participando ativamente do processo.</p><p>Mensagens</p><p>45</p><p>▪ São utilizadas para demonstrar a ocorrência de</p><p>eventos, que tradicionalmente forçam a</p><p>chamada de um método dos objetos</p><p>envolvidos no processo.</p><p>▪ No entanto, pode ocorrer mensagens</p><p>representar a comunicação entre atores; nesse</p><p>caso NÃO disparam métodos.</p><p>Mensagens</p><p>46</p><p>▪ Usualmente, as mensagens podem ser</p><p>disparadas entre:</p><p>▪ Atores.</p><p>▪ Ator e objeto (ator produzindo um evento que</p><p>dispara um método em um objeto).</p><p>▪ Objetos (ocorrência mais comum, executando</p><p>um método)</p><p>▪ Um objeto e um ator (em resposta a um</p><p>método executado).</p><p>Mensagens</p><p>47</p><p>▪ Mensagem simples entre atores</p><p>As mensagens são representadas por</p><p>linhas entre dois componentes,</p><p>contendo setas identificando quem</p><p>enviou e quem</p><p>recebeu a mensagem</p><p>Mensagens</p><p>48</p><p>▪ Mensagem com disparo com métodos entre</p><p>objetos</p><p>Mensagens</p><p>49</p><p>▪ Mensagem que instancia um novo objeto</p><p>Mensagens</p><p>50</p><p>▪ Mensagem que dispara um método destrutor</p><p>Mensagens</p><p>51</p><p>▪ Mensagem de Retorno</p><p>Diagrama de Objetos</p><p>52</p><p>▪ Autochamadas</p><p>53</p><p>Dúvidas? Engenharia de</p><p>Requisitos</p><p>54</p><p>Dividir em Equipe</p><p>Engenharia de Requisitos 55</p><p>56</p><p>1. Modele para cada estudo de caso abaixo um</p><p>Modelo de Caso de Uso, Modelo de Classes,</p><p>Modelo de Atividades (2 MCU) e Sequência (1</p><p>MCU):</p><p>a. Sistema para Construção Civil</p><p>b. Uma Clínica Médica Veterinária</p><p>c. Sistema Clínica de Fisioterapia</p><p>2. Escolha um cenário acima e faça o mapeamento</p><p>no modelo abaixo:</p><p>Fixando</p><p>Atividade I</p><p>Até a Próxima Aula</p><p>Engenharia de Requisitos 57</p><p>Slide 1</p><p>Slide 2: Classes e ObjetosparteII| Modelo de Atividades e Sequência | Conceitos da Análise de Negócios</p><p>Slide 3: Roteiro</p><p>Slide 4: Classes e Objetos</p><p>Slide 5: Classes e Objetos</p><p>Slide 6: Classes e Objetos</p><p>Slide 7: Classes e Objetos</p><p>Slide 8</p><p>Slide 9: Classes e Objetos</p><p>Slide 10: Classes e Objetos</p><p>Slide 11: Classes e Objetos</p><p>Slide 12: Classes e Objetos</p><p>Slide 13: Diagrama de Classe</p><p>Slide 14: Diagrama de Classe</p><p>Slide 15: Linguagem de Modelagem Unificada</p><p>Slide 16: Diagrama de Classe</p><p>Slide 17: Diagrama de Classe</p><p>Slide 18: Diagrama de Classe</p><p>Slide 19: Diagrama de Classe</p><p>Slide 20: Diagrama de Classe</p><p>Slide 21: Diagrama de Classe</p><p>Slide 22</p><p>Slide 23: Modelo de Atividades</p><p>Slide 24: Introdução</p><p>Slide 25: Introdução</p><p>Slide 26: Atividade</p><p>Slide 27: Atividade</p><p>Slide 28: Atividade</p><p>Slide 29: Atividade</p><p>Slide 30: Fluxo de Controle</p><p>Slide 31: Nó Inicial</p><p>Slide 32: Nó Final de Atividade</p><p>Slide 33: Nó de Decisão</p><p>Slide 34: Final de Fluxo</p><p>Slide 35: Final de Fluxo</p><p>Slide 36</p><p>Slide 37</p><p>Slide 38: Modelo de Sequência</p><p>Slide 39: Introdução</p><p>Slide 40: Introdução</p><p>Slide 41: Atores</p><p>Slide 42: Lifeline</p><p>Slide 43: Lifeline</p><p>Slide 44: Foco de Controle ou Ativação</p><p>Slide 45: Mensagens</p><p>Slide 46: Mensagens</p><p>Slide 47: Mensagens</p><p>Slide 48: Mensagens</p><p>Slide 49: Mensagens</p><p>Slide 50: Mensagens</p><p>Slide 51: Mensagens</p><p>Slide 52: Diagrama de Objetos</p><p>Slide 53</p><p>Slide 54: Dúvidas?</p><p>Slide 55: Dividir em Equipe</p><p>Slide 56</p><p>Slide 57: Até a Próxima Aula</p>