Enviar pesquisa
Carregar
Biblioteca
•
Transferir como PPT, PDF
•
0 gostou
•
221 visualizações
G
guest7c753
Seguir
Tecnologia
Negócios
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 8
Baixar agora
Recomendados
Primeiros passos com a API do Zabbix - Webinar JLCP
Primeiros passos com a API do Zabbix - Webinar JLCP
Robert Silva
Jrsa 88 Homeless 17
Jrsa 88 Homeless 17
guest09446
Paracultitos
Paracultitos
Airung
Okulumuzdan Kareler
Okulumuzdan Kareler
orhangazi
A quick glimpse of my portfolio work
A quick glimpse of my portfolio work
naomisusi
Nooitmeer
Nooitmeer
dolmonly
Diversidade
Diversidade
Maria Almeida
Moka J Enne
Moka J Enne
mmad_per_voi
Recomendados
Primeiros passos com a API do Zabbix - Webinar JLCP
Primeiros passos com a API do Zabbix - Webinar JLCP
Robert Silva
Jrsa 88 Homeless 17
Jrsa 88 Homeless 17
guest09446
Paracultitos
Paracultitos
Airung
Okulumuzdan Kareler
Okulumuzdan Kareler
orhangazi
A quick glimpse of my portfolio work
A quick glimpse of my portfolio work
naomisusi
Nooitmeer
Nooitmeer
dolmonly
Diversidade
Diversidade
Maria Almeida
Moka J Enne
Moka J Enne
mmad_per_voi
Lib.SAPO.JS - Codebits2007
Lib.SAPO.JS - Codebits2007
Claudio Gamboa
Java 8 e futuro
Java 8 e futuro
Thiago Gonzaga
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
Wesley Lemos
Automatizando tarefas com Python
Automatizando tarefas com Python
pugpe
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
Marcos Thomaz
Criação de log de ações através do banco
Criação de log de ações através do banco
Marcos Thomaz
Um Mundo Java Sem XML
Um Mundo Java Sem XML
iMasters
Mais conteúdo relacionado
Semelhante a Biblioteca
Lib.SAPO.JS - Codebits2007
Lib.SAPO.JS - Codebits2007
Claudio Gamboa
Java 8 e futuro
Java 8 e futuro
Thiago Gonzaga
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
Wesley Lemos
Automatizando tarefas com Python
Automatizando tarefas com Python
pugpe
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
Marcos Thomaz
Criação de log de ações através do banco
Criação de log de ações através do banco
Marcos Thomaz
Um Mundo Java Sem XML
Um Mundo Java Sem XML
iMasters
Semelhante a Biblioteca
(7)
Lib.SAPO.JS - Codebits2007
Lib.SAPO.JS - Codebits2007
Java 8 e futuro
Java 8 e futuro
Javascript para CSharpers 4 - POO
Javascript para CSharpers 4 - POO
Automatizando tarefas com Python
Automatizando tarefas com Python
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco - PostgreSQL
Criação de log de ações através do banco
Criação de log de ações através do banco
Um Mundo Java Sem XML
Um Mundo Java Sem XML
Biblioteca
1.
Teste e Qualidade
de Software Teste baseado em modelos – exemplo da biblioteca João Pascoal Faria [email_address] www.fe.up.pt / ~jpf
2.
3.
Modelo do ciclo
de vida de um empréstimo Evento temporal (Rational Rose)
4.
Modelo de estrutura
estática Para simplificar: considerar relógio síncrono (Só parte de tratamento de prazo)
5.
Modelo de interacção
(notificação de sócios a tratar mais tarde) Também serve como especificação de um cenário de teste!
6.
Código de teste
– variáveis de instância class TestBiblioteca is subclass of Test instance variables bib : Biblioteca; s1 : Sócio; s2 : Sócio; s3 : Sócio; a1 : Autor; a2 : Autor; a3 : Autor; a4 : Autor; a5 : Autor; p1 : Publicação; p2 : Publicação;
7.
Código de teste
- setup operations -- construtor inicializa objectos exceptos empréstimos public TestBiblioteca() res : TestBiblioteca == ( Clock`SetCurDate(DateUtils`MakeDate(2005,11,8)); bib := new Biblioteca("Biblioteca da FEUP", "225081442", " Rua Dr. Roberto Frias, s/n 4200-465 Porto PORTUGAL"); Empréstimo`SetPrazoLevantamento(2); Empréstimo`SetPrazoDevolução(7); a1 := new Autor("John Fitzgerald", "UK"); a2 := new Autor("Peter Gorm Larsen", "DK"); a3 := new Autor("Paul Mukherjee", "?"); a4 := new Autor("Nico Plat", "?"); a5 := new Autor("Marcel Verhoef", "?"); p1 := new Publicação("0-521-62605-6", "Modelling systems : practical tools and techniques in software development", [a1, a2], 1998, "Cambridge University Press", DateUtils`MakeDate(2004,1,10), 100.0); bib.AddPublicação(p1); p2 := new Publicação("1-85233-881-4", "Validated Designs for Object-oriented Systems", [a1, a2, a3, a4, a5], 2005, "Springer", DateUtils`MakeDate(2005,11,1), 100.0); bib.AddPublicação(p2); s1 := new Sócio("Joana", "Rua Direita", "963033045", 90); bib.AddSócio(s1); s2 := new Sócio("Álvaro", "Rua Esquerda", "963033046", 90); bib.AddSócio(s2); s3 := new Sócio("Vicente", "Rua do Meio", "963038861", 90); bib.AddSócio(s3); return self );
8.
Código de teste
– caso de teste -- cenário que ilustra o mecanismo de alarmes public Test1() res : Biblioteca == ( dcl e1: Empréstimo; dcl e2: Empréstimo; dcl e3: Empréstimo; Clock`SetCurDate(Clock`GetCurDate()); e1 := p1.Emprestar(s1); e2 := p1.Requisitar(s2); e3 := p1.Requisitar(s3); e1.Devolver(); Assert(e2.GetEstado() = <EsperaLevantamento>); Assert(e3.GetEstado() = <EsperaDisponibilidade>); Clock`IncrCurDate(Empréstimo`GetPrazoLevantamento()+1); Assert(e2.GetEstado() = <Anulado>); Assert(e3.GetEstado() = <EsperaLevantamento>); e3.Levantar(); Clock`IncrCurDate(Empréstimo`GetPrazoDevolução()+1); Assert(s3.TemDevoluçõesAtrasadas()); e3.Devolver(); return bib ); end TestBiblioteca
Baixar agora