SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
Aplicação de Software
Social
Grupo Prata
Projeto de Desenvolvimento
Decisão da plataforma: Ruby on Rails
Padrão de Projeto: MVC
Banco de Dados: MySQL
Decisão de implementação: Dividir o
desenvolvimento em blocos
Etapa Conjunta - Banco de Dados
Desenvolvimento
Por que dessa forma?
● Dado que o banco foi criado corretamente,
podemos definir os relacionamentos nas
próprias classes, não sendo necessário criar
chaves estrangeiras no SQL. (É claro que
seria melhor se fossem criadas, mas falta-se
tempo)
Sintaxe do Relacionamento
create_table "projects", :force => true do |t|
t.text "title"
t.text "description"
t.date "inicial_date"
t.datetime "estimated_duration"
t.date "final_date"
t.integer "user_id"
t.boolean "active",
:default => true
end

create_table "tasks", :force => true do |t|
t.text "title"
t.text "description"
t.integer "user_id"
t.integer "project_id"
t.boolean "finish",
:default => false
t.integer "owner"
t.integer "estimated_duration"
end
Sintaxe do Relacionamento
class Project < ActiveRecord::Base
has_many :users, :through => :teams
has_many :teams, :dependent => :destroy
has_many :tasks
has_many :teams

class Task < ActiveRecord::Base
belongs_to :project
has_many :executors
has_many :events
has_many :users, :through => :executors
belongs_to :user
SCRUMY
● As tarefas estão sendo divididas pelo grupo
e podem ser realizadas separadamente.
● Estamos nos comunicando através de email.
● As tarefas por pessoa devem ser realizadas
até dia 20/11/13
● Deve estar pronto até o dia 25/11/13

Mais conteúdo relacionado

Semelhante a Aplicação de Software Social Grupo Prata - Desenvolvimento do Banco de Dados e Relacionamentos

Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralHelder Lopes
 
Arquiteturas de sistemas reais
Arquiteturas de sistemas reaisArquiteturas de sistemas reais
Arquiteturas de sistemas reaisInael Rodrigues
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_jsgustavobeavis
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBRodrigo Hjort
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosVitor Silva
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMeetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMauricio Fernandes de Castro
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Romualdo Andre
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'C. Augusto Proiete
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaBreno Vitorino
 

Semelhante a Aplicação de Software Social Grupo Prata - Desenvolvimento do Banco de Dados e Relacionamentos (20)

SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python SQLAlchemy - Desenvolvendo uma aplicação com Python
SQLAlchemy - Desenvolvendo uma aplicação com Python
 
NoSQL azure
NoSQL azureNoSQL azure
NoSQL azure
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 
Desenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geralDesenvolvimento web com vs2012: Uma visão geral
Desenvolvimento web com vs2012: Uma visão geral
 
Palestra nosql
Palestra nosqlPalestra nosql
Palestra nosql
 
Aula1
Aula1Aula1
Aula1
 
Arquiteturas de sistemas reais
Arquiteturas de sistemas reaisArquiteturas de sistemas reais
Arquiteturas de sistemas reais
 
ASP.NET MVC Core
ASP.NET MVC CoreASP.NET MVC Core
ASP.NET MVC Core
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
Desenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a DadosDesenvolvimento em .Net - Acesso a Dados
Desenvolvimento em .Net - Acesso a Dados
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
Rails na prática
Rails na práticaRails na prática
Rails na prática
 
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte IIMeetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
Meetup ScalaCamp Curitiba, Fevereiro de 2017, Parte II
 
Java web
Java webJava web
Java web
 
Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016Introdução JavaScript e DOM 2016
Introdução JavaScript e DOM 2016
 
Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'Funcionalidades de Acesso a Dados no 'Mango'
Funcionalidades de Acesso a Dados no 'Mango'
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em Java
 
Jsp+Jdbc+Servlets
Jsp+Jdbc+ServletsJsp+Jdbc+Servlets
Jsp+Jdbc+Servlets
 

Aplicação de Software Social Grupo Prata - Desenvolvimento do Banco de Dados e Relacionamentos

  • 2. Projeto de Desenvolvimento Decisão da plataforma: Ruby on Rails Padrão de Projeto: MVC Banco de Dados: MySQL Decisão de implementação: Dividir o desenvolvimento em blocos
  • 3. Etapa Conjunta - Banco de Dados
  • 5. Por que dessa forma? ● Dado que o banco foi criado corretamente, podemos definir os relacionamentos nas próprias classes, não sendo necessário criar chaves estrangeiras no SQL. (É claro que seria melhor se fossem criadas, mas falta-se tempo)
  • 6. Sintaxe do Relacionamento create_table "projects", :force => true do |t| t.text "title" t.text "description" t.date "inicial_date" t.datetime "estimated_duration" t.date "final_date" t.integer "user_id" t.boolean "active", :default => true end create_table "tasks", :force => true do |t| t.text "title" t.text "description" t.integer "user_id" t.integer "project_id" t.boolean "finish", :default => false t.integer "owner" t.integer "estimated_duration" end
  • 7. Sintaxe do Relacionamento class Project < ActiveRecord::Base has_many :users, :through => :teams has_many :teams, :dependent => :destroy has_many :tasks has_many :teams class Task < ActiveRecord::Base belongs_to :project has_many :executors has_many :events has_many :users, :through => :executors belongs_to :user
  • 8. SCRUMY ● As tarefas estão sendo divididas pelo grupo e podem ser realizadas separadamente. ● Estamos nos comunicando através de email. ● As tarefas por pessoa devem ser realizadas até dia 20/11/13 ● Deve estar pronto até o dia 25/11/13