Escolar Documentos
Profissional Documentos
Cultura Documentos
Enunciado
O trabalho deve ser feito em grupo de no
mximo dois alunos. Este trabalho consiste
na
implementao
de
uma
pequena
aplicao desktop, usando tcnicas e prticas de
programao
modular.
Nesta
implementao dever ser usado o modelo
arquitetural de camadas MVC (Model-ViewController).
Por
se
tratar
de
uma
implementao orientada a objetos, procure
encapsular
o
mximo
possvel
as
funcionalidades do sistema em classes e criar
namespaces apropriados para encapsular os componentes de cada camada.
Descrio da Aplicao
A aplicao a ser implementada consiste no controle de uma mala direta de Clientes. Ser
necessrio realizar as operaes bsicas de CRUD (Create-Read-Update-Delete) de Clientes e
a gerao de uma lista com todos os clientes. Sero armazenados os seguintes dados de cliente:
Cdigo (gerado automaticamente pelo banco de dados), Nome, Celular, Telefone Residencial,
Telefone Comercial, Email, CEP, e Cidade.
Camada de Viso (View)
Nesta camada deve-se fazer a interface grfica da aplicao. Deve-se usar alguma biblioteca ou
framework de interface grfica (no pode simplesmente arrastar componentes do Visual Studio
por exemplo). Sugere-se o uso dos frameworks Qt1, GTK+2 ou wxWidgets3 para construo da
interface.
Esta camada deve apenas lidar com os componentes da interface, recebendo dados do usurio e
enviando-os para a camada de controle (ou vice-versa). Cdigo de lgica de negcio no pode
ficar nessa camada.
Camada de Controle (Controller)
Nesta camada deve-se implementar a lgica de negcios da aplicao. Esta camada pode se
comunicar com todas demais camadas.
Qt um framework de Interface Grfica para C++ baseado na linguagem QML, est disponvel em
<http://qt-project.org>
2 GTK+ um toolkit multi-plataforma para criao de Interface Grficas, est disponvel em <http://
www.gtk.org/>
3 exWidgets uma biblioteca para criao de interfaces multi-plataforma em C++, est disponvel em
<http://www.wxwidgets.org/>
Atualizao 03/10: Adicionado wxWidgets como uma das bibliotecas permitidas para
criao da interface grfica.
MySQL um banco de dados comercial que pode ser usado para fins pessoais ou acadmicos
livremente, est disponvel em <http://www.mysql.com>.