PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

Documentos relacionados
PROJETO DE PROGRAMAS. Projeto de Programas PPR0001

PROJETO PROCEDIMENTAL. Projeto de Programas PPR0001

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

PROJETO PROCEDIMENTAL. Projeto de Programas PPR0001

Aula 01 Revisão Geral Banco de Dados I Conceito de Banco de Dados e SGBD

Aula 01 Conceito de Banco de Dados e SGBD

MINISTÉRIO DA EDUCAÇÃO UNIVERSIDADE FEDERAL DE PELOTAS PRÓ-REITORIA DE GRADUAÇÃO PLANO DE ENSINO. Semestre letivo. 1. Identificação Código

INF1013 MODELAGEM DE SOFTWARE

Aula 1 - Introdução à disciplina e Processos de desenvolvimento de software e suas atividades básicas

Laboratório de Engenharia de Software I

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Análise e projeto de sistemas

01 - Quais as principais vantagens da utilização de um Sistema de Banco de Dados em relação aos sistemas tradicionais de gerenciamento de arquivos?

Análise de Sistemas 4º Bimestre (material 3)

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Requisitos de sistemas

Unidade 4 Projeto de Banco de Dados

Revisando Banco de Dados. Modelo Relacional

Modelo Entidade- Relacionamento

ENGENHARIA DE SOFTWARE

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Modelo Entidade- Relacionamento. Hugo Barros

PROJETO PROCEDIMENTAL. Projeto de Programas PPR0001

2

Sistemas da Informação. Banco de Dados I. Edson Thizon

Universidade Estadual de Ponta Grossa PRÓ-REITORIA DE GRADUAÇÃO DIVISÃO DE ENSINO

PARTICIPANTES, FERRAMENTAS E O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Projeto de Programas PPR0001

MODELAGEM DE DADOS UNIDADE 2 Projeto de Banco de Dados. Luiz Leão

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS Pró-Reitoria de Graduação - PROGRAD Plano de Ensino 2016/2

SISTEMA DE INFORMAÇÃO Modelo Conceitual. Prof. Luiz Fernando Laguardia Campos FMS

Modelo Entidade Relacionamento

Arquitetura de Software. Fatec ES III - Prof. Dinis 1

Análise e Projeto de Sistemas

FACULDADE DE CIÊNCIA DE ENGENHARIA DE SOFTWARE MATRIZ CURRICULAR DO CURSO DE ENGENHARIA DE SOFTWARE PRIMEIRO PERÍODO SEGUNDO PERÍODO

Projeto e Desenvolvimento de Sistemas de Informação

Análise Clássica (Tradicional) X Análise Estruturada

PCS3413 Engenharia de Software e Banco de Dados

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Visões Arquiteturais. Visões Arquiteturais

Instituto Federal de Educação, Ciência e Tecnologia do Sul de Minas Gerais Câmpus Muzambinho. Muzambinho /MG.

Unidade 3 23/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

EA975 - Laboratório de Engenharia de Software

Documento de Arquitetura de Software- SGE

PLANO DE ENSINO E APRENDIZAGEM CURSO: Tecnologia em Análise e Desenvolvimento de Sistemas

MER e DER Entidades Relacionamentos Atributos Ferramentas CASE Exemplos de DERs Exemplo de Minimundo. Banco de Dados. Aula 1.

Requisitos de Sistemas

BANCO DE DADOS I. Prof. Luiz Antônio Vivacqua C. Meyer

Professor Emiliano S. Monteiro

Programação Estruturada Orientada a Objetos

Modelagem de dados usando o modelo Entidade- Relacionamento (ER)

PLANO DE ENSINO. PRÉ-REQUISITO: Modelagem e Programação Orientada a Objetos. PROFESSORA RESPONSÁVEL: Roberta Macêdo Marques Gouveia

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

Banco de dados. Objetivo: Reter os dados de forma que possam ser utilizados em outros momentos

MER Modelo de entidade e Relacionamento. Prof. Me. Hélio Esperidião

DISCIPLINA: Programação de Computadores II

SSC Engenharia de Software. Prof. Paulo C. Masiero

Engenharia de Requisitos

RUP Unified Process. Profª Jocelma Rios

Arquitetura dos SBDs Características e Benefícios Visão Geral de Projeto de BD MER: Entidades e Atributos Atividade.

1. INTRODUÇÃO A MODELAGEM DE DADOS

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

Modelo Relacional. Aula 02

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Banco de Dados. SGBDs. Professor: Charles Leite

MODELAGEM DE DADOS UNIDADE 3 Modelo Entidade-Relacionamento. Luiz Leão

Transcrição:

PROJETO DE PROGRAMAS Projeto de Programas PPR0001

Desenvolvimento de Software 2

3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes individualmente Analisar como os componentes devem interagir uns com os outros São construídos modelos e/ou diagramas para representar o sistema a ser construído Não leva em conta o ambiente tecnológico a ser utilizado

4 Desenvolvimento de Software Análise de Requisitos Fase de validação / verificação: o Analistas levam os modelos elaborados aos clientes e verificam se as necessidades dos clientes estão sendo atendidas pelo sistema o Se um modelo não é bem definido, usuários e programadores poderão ter interpretações diferentes o Se um erro nesta etapa for descoberto posteriormente haverá um impacto muito grande no sistema

5 Desenvolvimento de Software Projeto Determina-se como o sistema atenderá aos requisitos o Descrição computacional do que o software deve fazer o Considera aspectos físicos e tecnológicos o Arquitetura do sistema, padrão de interface gráfica, linguagem de programação, gerenciador de banco de dados, etc.

6 Aspectos Técnicos de Projeto Aspectos Gerenciais Aspectos Técnicos Projeto Detalhado Projeto Preliminar Projeto de Interfaces Projeto Procedimental Projeto Arquitetural Projeto de Dados

7 Aspectos Técnicos de Projeto Projeto Possui duas etapas principais: Projeto de arquitetura (projeto de alto nível) Distribuir classes de objetos e seus subcomponentes Projeto detalhado (projeto de baixo nível) Descrição da colaboração entre os objetos de cada módulo Projeto de interface com o usuário Projeto do banco de dados Diagramas: de classe, casos de uso, interação, estados e atividades

8 Projeto de Dados Durante a análise se gera o modelo de informação, e com este modelo serão definidas as estruturas de dados necessárias para a implementação do software A etapa final é influenciada pela tecnologia de persistência escolhida para a implementação Banco de dados, arquivos (xml, csv), etc... A base do projeto de dados é um modelo entidaderelacionamento (MER), que armazena os objetos de dados e as relações entre eles.

9 Projeto de Dados Exemplo de um Diagrama Entidade-Relacionamento (DER)

10 Projeto Arquitetural Define quais tecnologias serão utilizadas: Arquitetura de computador Sistema Operacional SGBD (se for o caso) Linguagem de programação Considerações dos requisitos não-funcionais Define o estilo arquitetural adotados: Hierarquia / relação dos componentes e das estrutura de dados Padrões arquiteturais: centrado nos dados, orientado a objetos, em camadas, etc...

11 Projeto Arquitetural Define as interações internas (consigo mesmo): o Assinaturas de métodos Define como interage com outros sistemas: o E.g.: Troca de Informações entre sistemas bancários Como outro sistema bancário deve acessar meus dados: string clientdata (int conta, int agencia, string codseg); Como meu sistema deve acessar o sistema bancário X: string getclient (int conta, string codseg); Diagrama utilizado: o Diagrama de classes

12 Projeto Procedimental Especifica detalhes de processamento de cada módulo o Transforma os elementos estruturais da arquitetura em uma descrição procedimental dos componentes o Sequência de eventos realizados: Funcionalidades, Algoritmos Diagramas utilizados: o Diagrama de Fluxo de Dados (DFD) o Diagrama de Estados o Diagrama de Sequência (UML)

13 Projeto de Interfaces Define aspectos da interface do sistema: Qual tecnologia será utilizada? Como será a interface gráfica com o usuário? O que deve ser feito para usar a funcionalidade X? Questões envolvendo a Psicologia Cognitiva: o Percepção visual o Psicologia Cognitiva de leitura; o Memória Humana; o Raciocínio Indutivo e Dedutivo o Comunicação Textual ou Pictórica (ícones) o Nível Intelectual e/ou Habilidades do Usuário

PROJETO DE DADOS 14

15 Atividades Envolvidas Realizar a abstração de dados (visando o escopo do problema) o Uma abstração é uma representação das características e do comportamento relevantes de um conceito do mundo real para um determinado problema. O que faz parte do escopo de projeto? o Pode ser definida em dois níveis: Dados: informações relacionados a uma entidade Procedimental: Formas de interação/ação com o elemento

16 Atividades Envolvidas A abstração dos dados pode ser realizada em duas etapas: Etapa conceitual: Não se preocupa com tecnologia Identificar os objetos com seus dados e ações significativos Etapa lógica e física: Estudar e escolher as estruturas de dados que permitam a implementação mais adequada; Caracterizar a abrangência dos dados: componente (local) ou parte do software (global); persistência de dados: uso de Banco de Dados, arquivos ou memória;

17 Atividades Envolvidas Etapa conceitual: Utilização do Modelo Entidade-Relacionamento (MER) o Representação gráfica das entidades (objetos), seus atributos e relações o Criada em 1976 por Peter Chen o Muito utilizada em Banco de Dados o Ferramentas: BR-Modelo (binário) e Terra-ER (java)

18 Modelo Entidade-Relacionamento Entidade: representa um conjunto de objetos do mundo real significante ao problema Alunos João Maria Alice Bob (representação gráfica) (interpretação)

19 Modelo Entidade-Relacionamento Atributos: representam dados (características) significativos que estão associados a uma entidade ou relacionamento derivado multivalorado composto opcional identificador

20 Modelo Entidade-Relacionamento Ações: representam o que os usuários do sistema podem realizar no sistema (OBS: isto não é objetivo ou padrão do MER, mas vamos usar a mesma ferramenta para simplificar) Vamos utilizar uma caixa de texto para destacar os usuários do sistema e as operações. Incluir operações comuns (inserção, listagem, alteração e exclusão) Exemplo usando Terra-ER

21 Exemplo Realizar o projeto de dados conceitual para um sistema acadêmico que permite o controle e gerenciamento de matricula, frequência e desempenho dos discentes e a organização das disciplinas ofertadas. O sistema acadêmico deverá permitir que os acadêmicos realizem suas matrículas nas turmas de disciplinas disponíveis, considerando restrições de pré-requisitos, número máximo de créditos (9) e limite de alunos por turma. Deverá permitir que chefes de departamento incluam novas disciplinas e novos professores, abram novas turmas para as disciplinas existentes com sala, horário, lotação máxima e professor definidos. As disciplinas só poderão ser ofertadas entre 7:30 e 12:00, e, 13:30 e 21:40, em blocos de 50 minutos por aula (hora-aula). Também deverá ser possível que professores acessem suas turmas e registrem frequência e notas para seus alunos.

22 Exemplo O sistema deverá ter uma opção para finalizar o semestre, possibilitando a inclusão das notas de exame. Um aluno deverá ter frequência superior a 75% e deverá ter uma média superior a 3 para realizar exame. Caso sua nota seja maior ou igual a 7 está aprovado (desde que tenha a frequência necessária). Após a digitação das notas de exame o professor deverá finalizar a turma e o sistema mostrará o resultado final. O sistema deverá funcionar nos sistemas operacionais Windows e Linux e deverá ter seu acesso controlado por login e senha. (adicionar atributos que considerar relevantes ao problema)

23 Atividade Agora é a sua vez! Construa o projeto de dados conceitual para o sistema descrito no documento que está disponível na página da disciplina.

24 Bibliografia Básica: BEZERRA, E. Princípios de Análise e Projetos de Sistemas com UML. Rio de Janeiro: Campus, 2003. PRESSMAN, R.S. Engenharia de Software. São Paulo: Makron Books, 2002. SOMMERVILLE, I. Engenharia de Software. São Paulo: Addison Wesley, 2003. Complementar: WARNIER, J. Lógica de Construção de Programas. Rio de Janeiro: Campus, 1984. JACKSON, M. Princípios de Projeto de Programas. Rio de Janeiro: Campus, 1988. PAGE-JONES, M. Projeto Estruturado de Sistemas. São Paulo: McGraw-Hill, 1988.