Gestão de projeto de software – Aula 6, 13/09/2018

Descrição da atividade: Vamos desenvolver nas próximas aulas um sistema para controle de projetos. O mesmo terá telas de cadastro de projeto, cadastro de tarefas e cadastro de recursos humanos, formulários mestre detalhe (para o caso projeto–tarefas), gráficos de gantt e um kanban, outros gráficos e um dashboard, um menu principal e sistema de login. O aluno poderá realizar o exercício na ferramenta e banco que desejar, o professor utilizará a versão de demonstração do scriptcase e o banco de dados MySQL/MariaDB. As atividades serão desenvolvidas nas aulas dos dias 13, 15, 20 e 27 de setembro. No último dia será realizado a apresentado do sistema gerado.

Material sobre scriptcase… o mesmo do semestre passado! Deseja um material FÁCIL ? Curso fundamental gratis aqui.

Lembrando que o banco já foi passado no início do semestre, é bom ir fazendo os ajustes em sala conforme necessário, o mesmo SERÁ alterado nas próximas aulas!

Aula 1 – quinta 13/set: Ajustes no banco (novos campos adicionados), criação do projeto, seleção de tema, criação de grids e formulários para as 3 tabelas, desenvolvimento do menu, criação do calendário, ajustes no SQL de algumas grids, ajustes “estéticos” em campos dos formulários.

Programação das próximas aulas?
Aula 2 – sábado dia 15/set: Gráfico de gantt. E seu o aluno não puder vir no sábado??? O assunto abordado será o gráfico de Gantt que pode visto neste video ou neste tutorial.
Aula 3 – quinta dia 20/set: Desenvolvimento do KanBan, gráficos diversos, dashboard e tela de login.
Aula 4 – quinta dia 27/09: Ajustes da quicksearch, página em HTML5 (formulário blank), papel de parede, geração do deploy final, Apresentação FINAL (valendo nota!) será avaliado individualmente o progresso de cada um + pontos por participação durante todo o trabalho.

Pra quem desejar o mesmo banco de dados que o professor, segue…

# Host: localhost (Version 5.7.19)
# Date: 2018-09-14 11:54:58
# Generator: MySQL-Front 6.0 (Build 2.20)

#
# Structure for table “projetos”
#

DROP TABLE IF EXISTS `projetos`;
CREATE TABLE `projetos` (
`IdProjeto` int(11) NOT NULL AUTO_INCREMENT,
`Descricao` varchar(50) DEFAULT NULL,
`CustoInicial` float(10,2) DEFAULT NULL,
`CustoFinal` float(10,2) DEFAULT NULL,
`Stakeholder` varchar(50) DEFAULT NULL,
`Prioridade` int(11) DEFAULT NULL,
`Observacao` varchar(255) DEFAULT NULL,
PRIMARY KEY (`IdProjeto`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

#
# Structure for table “recursos”
#

DROP TABLE IF EXISTS `recursos`;
CREATE TABLE `recursos` (
`IdRecurso` int(11) NOT NULL AUTO_INCREMENT,
`Nome` varchar(50) DEFAULT NULL,
`Telefone` varchar(15) DEFAULT NULL,
`Email` varchar(100) DEFAULT NULL,
`Fornecedor` varchar(1) DEFAULT NULL COMMENT ‘SIM / NAO’,
`Funcionario` varchar(1) DEFAULT NULL COMMENT ‘SIM / NAO’,
`Foto` longblob,
`Observacao` text,
PRIMARY KEY (`IdRecurso`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

#
# Structure for table “tarefas”
#

DROP TABLE IF EXISTS `tarefas`;
CREATE TABLE `tarefas` (
`IdTarefa` int(11) NOT NULL AUTO_INCREMENT,
`Descricao` varchar(100) DEFAULT NULL,
`IdProjeto` int(11) DEFAULT NULL,
`DataInicio` date DEFAULT NULL,
`HoraInicio` time DEFAULT NULL,
`DataFim` date DEFAULT NULL,
`HoraFim` time DEFAULT NULL,
`Progresso` int(11) DEFAULT NULL,
`Recursivo` varchar(10) DEFAULT NULL,
`Periodo` varchar(10) DEFAULT NULL,
`Custo` float(10,2) DEFAULT NULL,
`Status` varchar(10) DEFAULT NULL,
`IdRecurso` int(11) DEFAULT NULL,
`Kanban` varchar(10) DEFAULT NULL,
PRIMARY KEY (`IdTarefa`),
KEY `idx_projeto_tem_tarefas` (`IdProjeto`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

Programação orientada a objetos, REOFERTA (de 03/09 a 24/09)

Material para download.

Serão realizadas 3 avaliações no Moodle da faculdade sobre o conteúdo no material para download, serão avaliações objetivas de múltipla escolha.

Esta disciplina utilizará a linguagem C#.

As avaliações serão disponibilizadas no final do curso.

EMENTA:
Estudo de uma linguagem de programação orientada a objetos. Paradigma orientado a objetos: classes, objetos, encapsulamento, polimorfismo, herança, classes abstratas, interfaces, agregação e composição. Estruturas da linguagem. Declarações, comandos de atribuição, condicionais e de repetição. Arquitetura de sistemas Orientados a Objetos. Mensagens e troca, além do desenvolvimento de aplicações baseadas em componentes JSE (Java Standard Edition) do tipo Swing e AWT.

OBJETIVOS DA DISCIPLINA:
Apresentar conceitos avançados no desenvolvimento de softwares utilizando paradigma programação orientada objeto. Compreender os conceitos básicos da Programação Orientada a Objetos; Apresentar o processo de desenvolvimento orientado a objetos em camadas; Modelar e implementar em uma linguagem de programação orientada a objetos, problemas de pequena complexidade; Adquirir domínio básico de uma linguagem de programação orientada a objetos através da aplicação prática dos conceitos aprendidos.

BIBLIOGRAFIA BÁSICA:
DEITEL, H. M.; DEITEL, P. J.. Java Como Programar. 8ª Edição. São Paulo: Pearson, 2010.
PREISS, B. R. Estruturas de dados e algoritmos: padrões de projetos orientados e objetos com Java. Rio de Janeiro: Elsevier, 2000.
SANTOS, R. Introdução à programação orientada a objetos usando Java, Editora Campus. 1ª ed. RJ: 2003.
HORSTMANN, Cay S.; CORNELL, Gary. Core Java, volume I. São Paulo: Pearson Prentice Hall, 2010.
FLANAGAN, David. Java: o guia essencial. Porto Alegre: Bookman, 2006.