Buscar

ResumoDSII-Prova1

Prévia do material em texto

Definições
● Software engineering is the application of a systematic, disciplined, quantifiable approach
to development, operation, and maintenance of software; that is, the application of
engineering to software (IEEE).
● Establishment and use of sound engineering principles to obtain economically software
that is reliable and works on real machines efficiently. (Fritz Bauer)
● Coesão
○ Módulos executam uma tarefa simples
○ Pouca interação entre módulos
● Acoplamento
○ Grau de interconexão entre módulos
○ Conexão simples entre módulos resulta em módulos que são mais fáceis de
entender
○ Baixa propagação de erros.
● Refatoração
○ Eliminar redundâncias
○ Melhorar algoritmos
○ Melhorar as estruturas de dados
● Ferramentas de analise estruturada
○ Diagrama de Fluxo de Dados ­ Modelo logico do soft
■ Entidade externa (origem/destino) ­ Define a origem ou o destino dos
dados
■ Processo ­ Transforma dados
■ Depósito de dados ­ Pode ser um arquivo, uma tabela, ou parte de um
banco de dados.
■ Fluxo de dados ­ Insere e retira dados de processos, depósitos de dados
e entidades externas.
○ Dicionário de Dados
○ Pseudo­código/Linguagem estruturada ­ Notação algoritmica para especificar o
comportamento dos processos
○ Árvores de decisão ­
○ Tabelas de Decisão
○ Diagrama Entidade­Relacionamento ­ Modela os dados identificados, juntamente
com seus atributos e relacionamentos
● Processo: comportamento de um sistema
● Algebra: conceitos algébricos para modelar comportamento
● Process algebra: the study of the behaviour of parallel or distributed systems by
algebraic means
● Possibilidades de verificação:
○ Estabelecer se um sistema satisfaz determinada propriedade.
● A UML não é perfeita, mas é o que temos de melhor em termos de modelagem de SW
atualmente.
Casos de Uso
● O modelo de casos de uso é uma representação das
○ funcionalidades externamente observáveis do sistema e dos
○ elementos externos ao sistema que interagem com o mesmo.
● Representa, na UML, os requisitos funcionais do sistema.
● Utilidade dos casos de uso
○ Clientes: Validação
○ Desenvolvimento:
● Caso de Uso ­ Especificação de uma seqüência de interações entre um sistema e os
agentes externos.
○ Define parte da funcionalidade de um sistema, sem revelar a estrutura e o
comportamento internos deste sistema.
● Atores ­ Elemento externo que interage com o sistema.
○ Casos de uso representam uma seqüência de interações entre o sistema e o
ator no sentido de troca de informações entre eles.
○ Categorias de atores
■ Cargos (Empregado, Cliente, Gerente, Almoxarife, Vendedor, etc);
■ Organizações (Empresa Fornecedora, Agência de Impostos,
Administradora de Cartões, etc);
■ Outros sistemas (Sistema de Cobrança, Sistema de Estoque de
Produtos, etc).
■ Equipamentos (Leitora de Código de Barras, Sensor, etc.)
● Diagrama de casos de uso
●
●
● Identificação dos casos de uso
○ Necessidades e objetivos de cada ator em relação ao sistema
○ informações que o sistema deve produzir
○ Ação que ocorre regularmente no tempo
Diagrama de classes
● Uma classe descreve seus objetos através de atributos e operações.
○ Atributos correspondem às informações que um objeto armazena.
○ Operações correspondem às ações que um objeto sabe realizar.
○ Detalhamento utilizado depende do estágio de desenvolvimento e do nível de
abstração desejado.
●
● Associassões ­ Uma associação representa relacionamentos que são formados entre
objetos durante a execução do sistema.
●
●
● Classe de assossiação: Usada quando duas ou mais classes estão  associadas, e é
necessário manter  informações sobre esta associação.
○
● Assossiação N­area
○
● Assossiações reflexivas
○
● Agregações
○
● Restrições sobre associações
○
● Herança
○ De assossiações
■
○
● Classes abstratas ­ Na UML, uma classe abstrata é representada com o seu nome em
itálico.
○
● Técnicas de Identificação de Objetos, Atributos e Métodos
○ Categorias de Conceitos
○ Análise Textual de Abbott (Abbot Textual Analysis)
○ Análise de Casos de Uso (RUP)
● Categorização de Classes
○ Objetos de entidade:
■ usualmente objetos do  domínio do problema
○ Objetos de fronteira:
■ atores interagem com  esses objetos
○ Objetos de controle:
■ servem como intermediários entre objetos de fronteira e de entidade,
definindo o comportamento de um caso de uso específico.
● Objetos de Entidade  ­ Representam conceitos do domínio do negócio.
● Objetos de Fronteira  ­ Comunicação do sistema com os atores
○ Os que se comunicam com o usuário (atores humanos): relatórios, interface
gráfica. (TELAS)
○ Os que se comunicam com atores não­humanos
● Objetos de Controle  ­ São a “ponte de comunicação” entre objetos de fronteira
e objetos de entidade.
○ Responsáveis por controlar a lógica de execução correspondente a casos de
uso.
● Modelo de Análise no Processo Iterativo e Incremental
○
● Sintaxe para atributos e métodos
○ Sublinhado: método/atributo estático/ : atributo derivado
○
■ Visibilidade
■ + visibilidade pública
■ # visibilidade protegida
■ ­ visibilidade privativa
●  Projeto de métodos
○ Métodos de criação e destruição de objetos
○ Métodos de acesso (getX/setX)
○ Outros métodos:
○ Alguns métodos devem ter uma operação  inversa óbvia
● Implementação de associações
○ 1:1 ­
○ 1:N ­ São utilizados atributos cujos tipos representam coleções de elementos.
○ N:M ­ São utilizados atributos cujos tipos representam coleções de elementos.
●
● Classes assossiativas
● Herança simples e multipla
● Operações polimorficas
● Convensões da disciplina
○ Classes de Análise
■ Métodos "simples"
■ Atributos sem tipo
■ –Associações nomeadas
■ –Cardinalidades definidas
■ –Classes de entidade
○ •Projeto
■ –Métodos complexos (relativos a duas ou mais classes)
■ –Métodos com atributos e valores de retorno
■ –Atributos com tipo (inclusive criados) e visibilidade
■ –Classes de fronteira e de controle (com métodos)
■ –Projetado durante/após os modelos dinâmicos
Diagramas de Sequência e Comunicação
● Tipos de diagramas de interação
○ •Diagrama de seqüência: foco nas mensagens enviadas no decorrer do tempo.
○ •Diagrama de comunicação: foco nas mensagens enviadas entre objetos que
estão relacionados.
● Elementos
○ –Atores
○ –Objetos e classes
○ –Mensagens
○ –Linhas de vida e focos de controle
○ –Criação e destruição de objetos
○ –Iterações
● Mensagens ­ Uma mensagem implica na existência de uma operação no objeto receptor
● .
● Mensagem reflexiva
○
● Exemplo de diagrama de sequencia
● Criação/destruição de objetos
●
Exemplo
● Diagramas referenciados
● Alternativas
●
● Opções
●
● Iterações
● Heuristicas para modelagem de diagrama de sequencia
Na primeira coluna: ator que iniciou o caso de uso.
Na segunda coluna: um objeto de fronteira (usado pelo ator para iniciar o caso de uso).
Na terceira coluna: o objeto de controle responsável pelo caso de uso.
Objetos de entidade são acessíveis tanto por objetos de fronteira (raro) como por
objetos de controle.
Objetos de entidade nunca acessam objetos de fronteira ou de controle.
Objetos de entidade normalmente são compartilhados por outros diagramas de
sequência.
Diagrama de comunicação
● Heurísticas para construção do MI
○ •Verifique a consistência dos
diagramas de interação em relação aos
Casos de Uso e ao modelo de classes.
○ –Cada cenário relevante
para cada caso de uso foi considerado na
modelagem de interações.
○ –Durante a construção do
diagrama de interação, pode­se identificar
novas classes.
○ –Atributos, associações e operações também surgem como subproduto da
construção dos diagramas de interação.
● MI em um processo iterativo e incremental
 ●

Continue navegando