Programa
1. Introdução aos processos de análise e modelação de sistemas
1.1 Conceito de análise e de sistema de informação
1.2 Enquadramento da actividade de análise de sistemas no processo de informatização
Ciclo de vida do software
Caracterização breve das fases do ciclo de vida do software
1.3 Princípios no desenvolvimento de software
1.4 Caracterização e utilidade da actividade de análise
Actividades englobadas
Resultados obtidos
Intervenientes e dificuldades
Objectivos, motivações e importância
1.5 Procedimentos e instrumentos da análise
Metodologias: Aplicação de estratégias para lidar com complexidade e para garantir uma condução sistemática do processo de informatização; Limitações.
Modelos: tipos de modelos, utilidade dos modelos e modelos de sistemas. Técnicas de modelação e sua combinação.
2. Técnicas de modelação de dados
2.1 Conceito e finalidade do modelo de dados
2.2 Níveis de modelação de dados
Modelo conceptual, lógico e físico
Vantagens da individualização de níveis de modelos
2.3 Modelação conceptual de dados
2.3.1 Modelo Entidade-Relacionamento
Conceitos básicos do modelo Entidade-Relacionamento: Entidade, relacionamento, atributo, Diagrama de Entidades-Relacionamentos
Grau de um relacionamento
Condições de participação das entidades num relacionamento: Conceito de participação obrigatória e diagrama de ocorrências
Número de entidades que participam num relacionamento: relacionamento de ordem maior do que dois
Relacionamentos recursivos
Relacionamentos com atributos
Entidades fortes e fracas
Tipos de atributos: simples, composto, derivado e multivalor
Descrição de entidades
2.3.2 Extensões ao modelo Entidade-Relacionamento
Justificação da extensão do modelo E-R
Uso e representação de papéis
Hierarquias de especialização/generalização, Superclasses e Subclasses
Tipos de especialização/generalização
Níveis de especialização
Abrangência das subclasses
Malha de especialização/generalização e subclasses partilhadas
Categorias e herança selectiva
2.4 Modelação lógica de dados: Modelo Relacional
Origens do modelo relacional
Representação de dados e relacionamentos no modelo relacional
Equivalência da notação na descrição de conceitos
Chaves: primária, candidatas e estrangeira
Integridade: de domínio, de entidade e referencial
Agrupamento de atributos e problemas de redundância, valores nulos, inconsistência e anomalias na manipulação de dados
2.5 Dependências entre atributos e normalização
2.5.1 Dependências funcionais e normalização
Dependência funcional
Conceito de normalização
Primeira forma normal
Segunda forma normal
Terceira forma normal
Forma normal de Boyce Codd
Diagramas de dependências funcionais
Estratégia de decomposição através da análise de dependências funcionais
Regras de inferência de dependências funcionais
Cobertura mínima
Propriedades da decomposição: preservação de atributos, preservação de dependências funcionais e junção sem perdas ou junção não aditiva
Algoritmo de verificação da propriedade de junção não aditiva
2.5.2 Dependências multivalor e de junção e formas normais avançadas
Dependências multivalor e quarta forma normal
Dependências de junção e quinta forma normal
2.6 Concepção do modelo lógico de dados relacional
2.6.1 Estratégias de derivação do modelo de dados relacional
2.6.2 Regras de derivação do modelo de dados relacional a partir do modelo E-R
Tratamento de relacionamentos binários de grau 1:1, 1:N e N:M, com participações obrigatórias e opcionais
Relacionamentos binários múltiplos
Tratamento de relacionamentos de diversas ordens
Tratamento de atributos multivalor
Tipos de entidades: independente, de agregação, de intersecção, fraca e subordinada
Tratamento de entidades fracas e entidades subordinadas
Tratamento de hierarquias de especialização/generalização
Tratamento de malha de especialização/generalização
Tratamento de categorias
3. 3. Técnicas de modelação funcional e de comportamento e de descrição de componentes
3.1 Diagramas de fluxo de dados
Terminadores ou entidades externas
Fluxos de dados
Depósitos de dados
Processos: primitivos e não primitivos
Representação das várias componentes dos DFD´s
Hierarquia dos vários níveis de detalhe de um DFD
Diagrama de contexto
Principais características de um DFD
Regras e sugestões de estruturação dos DFD´s
Extensões para modelação de sistemas em tempo real: Fluxos e processos de controlo
3.2 Diagramas de Transição de Estados
Funcionalidade dos DTE
Estados do sistema, transições de estado, condições de transição e acções
Notação utilizada na elaboração de um DTE
Tipos de estados: inicial, final, outros estados de espera e estados transitórios
Propriedades das condições de transição
Regras associadas a transições de estado
Estratégia de elaboração de um DTE
3.3 Dicionário de dados
Noção e utilidade
Notação utilizada na descrição de elementos de dados
3.4 Especificação de processos
3.4.1 Técnicas de especificação de processos primitivos
Linguagem estruturada
Pré e Pós condições
Tabelas e árvores de decisão
Fluxogramas
Diagramas de Nassi-Shneiderman
Comparação entre as várias técnicas de especificação
3.4.2 Especificação de processos de controlo
4. Análise estruturada
A análise estruturada
Modelos da análise estruturada
Ferramentas de modelação da análise estruturada
Aspectos do sistema focados por cada ferramenta de modelação
4.1 Modelo essencial
4.1.1 Estratégia de elaboração do modelo ambiental
Declaração de propósito do sistema
Diagrama de contexto
Tipos de eventos
Lista de eventos
Dicionário de dados inicial
Diagrama de entidades-relacionamentos dos depósitos de dados externos
4.1.2 Estratégia de elaboração do modelo comportamental
Abordagens top-down (clássica) e suas desvantagens
Abordagem Middle-out
Estratégia de construção de modelo comportamental preliminar
Estratégia de finalização do modelo comportamental
Critérios utilizados no agrupamento de processos
Critérios utilizados na decomposição de processos não primitivos
Consistência entre as várias ferramentas de modelação