projeto de sistemas i aula 6 professora: kelly de paula cunha e-mail: [email protected]...

46
Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: [email protected] Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Upload: dina-maranhao-galindo

Post on 07-Apr-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Projeto de Sistemas IAula 6

Professora: Kelly de Paula Cunhae-mail: [email protected]

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

Page 2: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

1) Plano de Trabalho - 29/09/2015

2) Modelagem dos dados – 20/10/2015-> Projeto conceitual – DER-> Projeto lógico – Modelo Relacional-> Projeto físico – Algoritmo

Avisos

Page 3: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Avisos

Page 4: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Etapas: Levantamento de requisitos Projeto conceitual Projeto lógico Projeto físico

Projeto Conceitual de Banco de Dados

Page 5: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD:

Levantamento de requisitos:

Entrevista com o usuário do banco de dados para entender e documentar seus requerimentos de dados.

Projeto Conceitual de Banco de Dados

Page 6: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Etapas: Levantamento de requisitos Projeto conceitual Projeto lógico Projeto físico

Projeto Conceitual de Banco de Dados

Page 7: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Projeto ConceitualDescrição concisa dos requerimentos do usuário, usando um modelo de dados, ex. o MER.

Serve para checar se todos os pedidos dos usuários estão sendo atendidos e se não há conflitos entre eles.

Não há preocupação com armazenamento físico.

Projeto Conceitual de Banco de Dados

Page 8: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

MODELAGEM CONCEITUAL

Abstração de alto nível dos fatos relevantes do mundo real que devem se tornar persistentes (dados operacionais)

Identifica : Objetos concretos (pessoa, livro etc.) Objetos abstratos (conceitos) (endereço, pedido etc.)

Projeto Conceitual de Banco de Dados

Page 9: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Vantagens de uma documentação conceitual de dados:

independente de detalhes de implementação em um SGBD melhor compreendido por usuários leigos

Projeto Conceitual de Banco de Dados

Page 10: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Vantagens de uma documentação conceitual de dados:

pode ser mapeado para qualquer modelo de BD facilita a manutenção dos dados

modificação de requisitos de dados engenharia reversa (desempenho, ...)

facilita a migração de SGBD usado como modelo intermediário

Projeto Conceitual de Banco de Dados

Page 11: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

MODELO ER

A técnica de modelagem mais usada é a Abordagem Entidade-Relacionamento (ER). O modelo de dados é representado graficamente através

de um Diagrama de Entidade-Relacionamento (DER). Essa abordagem foi criada por Peter Chen (1976) é

considerada como um padrão para a modelagem conceitual.

Projeto Conceitual de Banco de Dados

Page 12: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Etapas: Levantamento de requisitos Projeto conceitual Projeto lógico Projeto físico

Projeto Conceitual de Banco de Dados

Page 13: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Projeto LógicoDescrição das estruturas de representação da base de dados.

O modelo conceitual é transformado em num modelo de dados de implementação, ex. modelo relacional.

Ele resulta no esquema do banco de dados usado pelo SGBD.

Projeto Conceitual de Banco de Dados

Page 14: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Etapas: Levantamento de requisitos Projeto conceitual Projeto lógico Projeto físico

Projeto Conceitual de Banco de Dados

Page 15: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Parte integrante do Projeto de um BD

Projeto Físicoé a descrição das estruturas internas de armazenamento, dos esquemas utilizando a DDL (Data Definition Language).

Projeto Conceitual de Banco de Dados

Page 16: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Atividade 5 – Modelagem dos dados (20/10/2015)

revisão e modificação dos requisitos (se necessário) análise identificação das classes identificação dos atributos e relacionamentos elaboração do diagrama entidade-relacionamento

(DER) elaboração do modelo relacional Implementação do banco de dados

Page 17: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Material didático adaptado da Prof. Eliane Martins (http://www/ic.unicamp.br/~eliane/Cursos)

Page 18: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

O aumento na qualidade do processo aumenta o diminui o tempo de desenvolvimento?

Page 19: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

O aumento na qualidade do processo aumenta o diminui o tempo de desenvolvimento?

Page 20: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Processos de software -> conj. de atividades, métodos, práticas e transformações, usado para desenvolver e manter produtos de software.

Em organizações com baixa maturidade de capacitação em software, os processos geralmente são informais.

Um processo definido tem documentação que detalha todos os seus aspectos importantes: o que é feito, quando, por quem, as coisas que usa e as coisas que produz.

Page 21: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Existem muitas formas de representação de processos definidos. Exemplos de possíveis formas são:

sequências de passos descritos em linguagem natural;

tabelas onde cada linha corresponde a um passo do processo; representações gráficas, como os fluxogramas e notações

equivalentes.

Page 22: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Importância:

Dependência crescente em sistemas computacionais

Sistemas computacionais dependem cada vez mais do softwares

Mau funcionamento do software pode ter custos altos

Page 23: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Exemplos que Comprovam a Importância de se Manter uma Alta Qualidade de Software:

Page 24: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Exemplos que Comprovam a Importância de se Manter uma Alta Qualidade de Software:

Page 25: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

O que é qualidade de software?

Conj. de características que devem ser alcançadas em um determinado grau para que o produto atenda às necessidades de seus usuários. [Ana R. C.Rocha2001]

Totalidade de características de uma entidade que lhe confere a capacidade de satisfazer a necessidades explícitas e implícitas [NBR ISO 1994]

Conformidade a (Pressman): requisitos funcionais e de desempenho, padrões e convenções de desenvolvimento pré-estabelecidos, atributos implícitos que todo software desenvolvido profissionalmente deve possuir.

Page 26: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software Fatores de Qualidade de McCall com relação às alterações do produto (habilidade para ser alterado):

manutenibilidade: o quanto de esforço é necessário para localizar e eliminar erros em um programa

flexibilidade: o quanto de esforço é necessário para modificar um programa

testabilidade: o quanto de esforço é necessário para testar um programa a fim de garantir que ele execute a função pretendida

Page 27: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software Com relação às alterações do produto (habilidade para ser alterado):

portabilidade: o quanto de esforço é necessário para transferir um programa de uma plataforma de hardware e/ou software para outra

reusabilidade: o quanto um programa (ou partes dele) pode ser reutilizado em outros programas

interoperabilidade: o quanto de esforço é necessário para se acoplar um programa a um outro

Page 28: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Page 29: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Qualidade x tipo de software

• Cada tipo de software tem seu próprio requisito de qualidade

• A importância de cada característica depende do tipo de software

Page 30: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Qualidade x Tipo de software

Page 31: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Qualidade x Pontos de Vista

Page 32: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Norma ISO/IEC 9126/1991 ou NBR 13596:

fornecem um modelo de propósito geral o qual define 6 categorias de características de qualidade de software.

é uma referência mundial para qualidade de software

ISO: The International Standardization Organization, fundada em 1947, coordena o trabalho de 127 países membros para promover a padronização de normas técnicas em âmbito mundial

IEC: The International Electrotechnical Commission, fundada em 1906, conta com mais de 50 países e publica normas internacionais relacionadas com eletricidade, eletrônica e áreas relacionadas [Gomes]

Page 33: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Algumas normas usadas paraavaliação da qualidade do produto

ISO/IEC 9126 (NBR 13596), define as características de qualidade de software que devem estar presentes em todos os produtos

ISO/IEC 12119, estabelece os requisitos de qualidade para pacotes de software e instruções para teste, considerando esses requisitos

ISO/IEC 14598-5, define um processo de avaliação da qualidade de produto de software

Page 34: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Como fazer para garantir a qualidade do software?

organismos de certificação: no Brasil, para fornecer o certificado ISO 9000, existem empresas credenciadas pelo INMETRO

avaliar in-house: utilizar equipe multidisciplinar com especialistas da área de tecnologia e especialistas da área que se utilizará do software (ie, que vão olhar para o sw a partir do ponto de vista do cliente) → grupo de Garantia da Qualidade do software

contratar empresas para avaliação: existem empresas que fazem avaliação do software mas, por não serem credenciadas pelo INMETRO, não emitem certificado oficial. São no entanto mais acessíveis e mais ágeis que os organismos credenciados.

Page 35: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Problemas na Qualidade do Software

Page 36: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Atividades de garantia da qualidade, tais como:

Controle de alterações toda mudança no software tem potencial para introduzir erros ou

criar efeitos colaterais que propagam erros controle de mudanças ⇒durante desenvolvimento e manutenção é essencial para garantir a qualidade do software

Medição obtenção de métricas para rastrear a qualidade do software e para

avaliar o impacto de mudanças nos métodos e procedimentos usados para desenvolvimento e manutenção

Anotação e manutenção de registros manter histórico com resultados de revisões, auditorias, controle de

alterações e outras atividades de garantia de qualidade, que devem ser levados ao conhecimento dos desenvolvedores

Page 37: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Atividades de garantia da qualidade, tais como:

revisões, testes, auditorias. A forma mais cara de remoção de defeitos ocorre quando os defeitos não são detectados precocemente e chegam ao produto final, sendo removido através de uma operação de manutenção.

Page 38: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

1) Crie um novo documento no Microsoft Word

2) Dê o nome de Documentação_Final_PJ1

3) Crie um item chamado Estrutura Analítica de Projetos (EAP) no Documentação_Final_PJ1

4) Crie a seguinte tabela

Page 39: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software Estimativa de tempo (em horas)

Estimativa de custo (em reais)

Levantamento de requisitos

Análise do projeto

Projeto lógico do sistema

Documentação do projeto lógico

Projeto físico do sistema

Projeto do banco de dados e

Projeto de interface

Projeto de programas/rotinas;

Documentação final

Implementação

Entrega da versão final

Page 40: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

5)Juntamente com o seu grupo, faça as estimativas de tempo e custo

-> Estimativa de tempo: seguindo o modelo Wideband Delphi

-> Estimativa de custo: seguindo o modelo Botton-up- Suponha que todos os desenvolvedores

recebam R$: 30,00 / hora

Page 41: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

6)Crie uma quarta coluna na tabela,E ao longo do desenvolvimento do trabalho, coloque o tempo que realmente foi gasto para execução de cada subatividade.

-> Assim você fará um controle se o tempo estimado para o desenvolvimento do software está sendo cumprido

Page 42: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

7) Crie um novo item no Documentação_Final_PJ1 chamado: Controle de Qualidade do Software

8) Desenhe a seguinte tabela:

Page 43: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

Page 44: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Qualidade do Software

9) Ao longo do desenvolvimento do trabalho, procure desenvolver um software que atenda todos os 6 itens na tabela.

10) Ao final do trabalho, faça uma avalição crítica do seu software, preenchendo cada uma dos itens da segunda coluna da tabela com as palavras: SIM, PARCIALMENTE ou NÃO.

Page 45: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Referências• R.S.Pressman. Software Engineering, A Practicioners Approach,

McGraw-Hill.

• Steven R. Rakitin. “Software Verification and Validation: a Practitioner’s Guide”. Artech House, 1997.

• Nelma S. Gomes. “Qualidade de Software - Uma Necessidade”. Artigo obtido em fev/2003 em: www.esaf.fazenda.gov.br/cst/arquivos/Qualidade_de_Soft.pdf

• Rosely Sanches. Notas de curso. ICMC/USP-S.Carlos. Obtido em fev/ 2003:server.labes.icmc.sc.usp.br/cursos/sce5837/

Page 46: Projeto de Sistemas I Aula 6 Professora: Kelly de Paula Cunha e-mail: kellypcsoares@ifsp.edu.br Instituto Federal de Educação, Ciência e Tecnologia de

Obrigada pela atenção!

Até a próxima aula...