Fundamentos de Projeto de Software e Atributos de Dados

Classificado em Tecnologia

Escrito em em português com um tamanho de 4,03 KB

Atributos e Suas Classificações

Atributos são as características que descrevem cada entidade dentro de um domínio. Por exemplo, um cliente possui nome, endereço e telefone.

Tipos de Atributos Descritivos

Descritivos: representam características intrínsecas de uma entidade, tais como nome ou cor.

Nominativos: além de serem também descritivos, estes têm a função de definir e identificar um objeto. Nome, código e número são exemplos de atributos nominativos.

Referenciais: representam a ligação de uma entidade com outra em um relacionamento. Por exemplo, uma venda possui o CPF do cliente, que a relaciona com a entidade Cliente.

Tipos de Atributos Estruturais

Simples: um único atributo define uma característica da entidade. Exemplos: nome, peso.

Compostos: para definir uma informação da entidade, são usados vários atributos. Por exemplo, o endereço pode ser composto por rua, número, bairro, etc.

Exemplo: Um Proprietário contata um Corretor (um proprietário pode contatar vários corretores e um corretor pode ser contatado por vários proprietários).

Projeto de Sistemas e Software

O projeto de software encontra-se no núcleo técnico do processo de desenvolvimento de software e é aplicado independentemente do modelo de ciclo de vida e do paradigma adotados.

Envolve a modelagem de como o sistema será implementado, com a adição dos requisitos tecnológicos ou não funcionais.

Fase de Projeto: Implementação Tecnológica

Incorporar a tecnologia aos requisitos essenciais do usuário, projetando o que será construído na implementação.

Tecnologia disponível e as facilidades do ambiente de software onde o sistema será desenvolvido e/ou implantado.

Tipos de Projeto na Fase de Implementação

Projeto de Dados: projetar a estrutura dos dados necessária para implementar o software.

Projeto de Interfaces: descrever como o software deverá se comunicar dentro dele mesmo (interfaces internas), com outros sistemas (interfaces externas) e com as pessoas que o utilizam (interface com o usuário).

Projeto Procedimental: refinar e detalhar a descrição procedimental dos componentes estruturais da arquitetura do software.

Especificação de Projeto de Software

  • Contemplar todos os requisitos explícitos contidos no modelo de análise e todos os requisitos implícitos desejados pelo cliente.
  • Ser um guia legível e compreensível para aqueles que irão codificar, testar e manter o software.
  • Prover um quadro completo do software, tratando aspectos funcionais, comportamentais e de dados, sob uma perspectiva de implementação.

Conceitos Fundamentais de Projeto

Níveis de Abstração

O projeto deve considerar vários níveis de abstração, começando em um nível mais alto, próximo da fase de análise. À medida que avançamos no processo de projeto, o nível de abstração deve ser reduzido.

Refinamento

Processo de elaboração, no qual o projeto vai sendo conduzido de níveis mais altos para níveis mais baixos de abstração.

Modularidade

Um projeto deve estruturar um sistema como módulos/componentes coesos e fracamente acoplados.

Ocultação de Informações

Módulos/componentes são caracterizados pelas decisões de projeto que cada um deles esconde dos demais. Módulos devem ser projetados e especificados de modo que as informações neles contidas (dados e alguns procedimentos) sejam inacessíveis a outros módulos. Interface Contratual.

Independência Funcional

Módulos devem cumprir uma função bem estabelecida, minimizando interações com outros módulos. Esta característica é resultado direto da soma das demais características e pode ser medida usando dois critérios de qualidade: coesão e acoplamento.

Entradas relacionadas: