Objetivos
- Capacitar o aluno a conduzir atividades associadas à modelagem de software;
- Apresentar ao aluno os benefícios da modelagem de software e como ela se ajusta no processo de desenvolvimento de software;
- Dotar o aluno de conhecimento sobre a formalização de modelos;
- Apresentar métodos, técnicas e ferramentas de apoio às atividades de desenvolvimento de software;
- Capacitar o aluno a conduzir atividades ao desenvolvimento de software utilizando paradigma procedimental e orientado a objetos;
- Capacitar o aluno no uso da UML;
- Apresentar mecanismos de extensão da UML que possibilitam a modelagem de sistemas Web.
- Introduzir as metodologias ágeis com seus métodos e cerimônias
Ementa
- Problemas de modelagem de software:
- Diversidade de artefatos
- Dificuldade na formalização de modelos
- Lacuna semântica entre requisitos e implementação
- Revisão de processos de desenvolvimento.
- Variedade de linguagens de modelagem:
- UML
- Diagramas estruturados
- Notações formais (algébricas, lógicas, operacionais)
- Paradigmas de Implementação:
- Procedimental
- OO
- Aspectos
- Features
- Modelagem com UML.
- Casos de Usos
- Atividades
- Classes
- Seqüência
- Colaboração
- Concorrência
- Estados
- Componentes
- Implantação.
Programa
- Introdução à construção de modelos
- Problemas de modelagem
- Formalização de modelos
- Processo iterativo e incremental para o desenvolvimento de software
- Processos de Desenvolvimento de software
- Modelagem de software usando paradigma procedimental
- Modelagem Funcional usando Diagrama de Fluxo de Dados
- Modelagem Funcional usando Diagrama de Estrutura
- Modelagem de Dados usando Diagrama de |Entidade-Relacionamento
- Modelagem de software orientado a objetos com UML
- Fundamentos da orientação a objetos e UML.
- Meta-modelo da UML.
- Modelagem estrutural x comportamental
- Estruturais
- Diagramas de classes
- Diagramas de objetos
- Diagrama de Pacotes
- Diagrama de componentes
- Diagrama de implantação
- Diagrama de estrutura composta
- Comportamentais
- Diagramas de casos de uso
- Diagramas de Atividades
- Diagramas de interação
- Diagrama de sequência
- Diagrama de comunicação
- Diagrama de transição de estados
- Modelagem de processos de negócio
- Modelagem funcional com Diagramas de Caso de Uso
- Modelagem de dados com Diagramas de Classe
- Modelagem da arquitetura do sistema
- Tópicos especiais em modelagem de sistemas de software.
- Aplicações de modelagem de software e estudos de caso.
- Extensões da UML para Desenvolvimento WebModelagem Funcional usando Diagrama de Estrutura
Bibliografia
- Básica:
- BLAHA, M.; RUMBAUGH, J. Modelagem e projetos baseados em objetos com UML 2. Rio de Janeiro, Campus. 2006.
- BOOCH, G.; JACOBSON, I.; RUMBAUCH,J. UML: Guia do Usuário. Rio de Janeiro: Campus, 2006.
- FURLAN, J. D. Modelagem de Objetos através UML. São Paulo: Makron Books, 1998.
- Complementar:
- GUEDES, G. T.A. UML 2 – Uma abordagem prática. São Paulo: Novatec., 2009.
- LARMANN, C. Utilizando UML e Padrões. Porto Alegre: Bookman, 2007.
- OESTEREICH, B.; WEILKIENS, T. UML 2 Certification Guide. Boston: Morgan Kaufmann, 2006.
- PENDER, T. UML - A Bíblia. Rio de Janeiro: Campus, 2004.
- PRESSMAN, Roger S. Engenharia de Software. São Paulo: Makron Books, 1995.
- Yourdon, E; Análise Estruturada Moderna, Campus, 1989.
- Recente:
- Cruz, Fabio. Scrum e Agile em Projetos. Rio de Janeiro. Brasport. 2015.
- Gomes, André Faria, Agile: Desenvolvimento de software com entregas frequentes e foco no valor de negócio. Casa dp Código. eBook e Kindle.
- Sabbagh, Rafael. Scrum: Gestão ágil para projetos de sucesso eBook Kindle. Casa do Código.
Avaliações
- 1a. Prova: 30 pontos
- 2a. Prova: 30 pontos
- Seminários: 10 pontos
- Análise e Projeto: 30 pontos
Projeto de Análise e Projeto de Sistemas
- 30 pontos
- O curso de Análise e Projeto de Sistemas desenvolve um projeto completo de um sistema usando os métodos apresentados em aula:
- Grupos de no máximo 5 alunos
- O sistema a ser desenvolvido será escolhido pelos alunos.
- É necessário a definição de um cliente real para o projeto.
- Cronograma do projeto:
- Etapa 1: 5 pontos - Definição das equipes e do sistema a ser desenvolvido
- Etapa 2: 5 pontos - Identificação das necessidades, coleta inicial de dados com estudo de viabilidade do sistema
- Template 1 - Documento de Modelagem de Negócio
- Etapa 3: 5 pontos - Análise Estruturada de Sistemas
- Lista de eventos
- Diagrama de contexto
- Diagrama de fluxo de dados completo
- Modelo de entidade
- Template 2 - Documento de Análise Estruturada
- Etapa 4: 5 pontos - Análise, especificação e validação dos requisitos
- Diagrama de caso de uso com especificação completa dos cenários
- Template 3 - Documento de Requisitos de Projeto
- Etapa 5: 5 pontos - Análise de Sistemas
- Modelo conceitual de objetos
- Diagrama de estado de objetos
- Diagramas de sequência,
- Diagrama de entidade
- DER
- Protótipos das interfaces
- Diagrama de implantação
- Template 4 - Documento de Análise e Projeto do Sistema
- Etapa 6: 5 pontos - Avaliação final de todos os templates
- Requisitos não funcionais exigidos:
- Limite mínimo de 8 tabelas do DER
- 8 classes do diagrama de classes
- O cliente do projeto deve ser um cliente real com uma necessidade real para ser resolvido.
Grade curricular
- 1º Período
- Análise de Dados I
- Cálculo I
- Empreendedorismo e Geração de Idéias
- Fundamentos e Estratégia de Administração
- Geometria Analítica e Algebra Linear
- Lógica para Computação
- 2º Período
- Análise de Dados II
- Cálculo II
- Dados e Informações Financeiras I
- Fundamentos de Marketing
- Oficina de Programação e Laboratório
- Sistema de Informação Gerencial
- 3º Período
- Ambiente Legal das Organizações
- Análise de Dados III
- Cálculo III
- Dados e Informações Financeiras II
- Estrutura de Dados
- Plano de Negócios
- 4º Período
- Análise de Dados IV
- Análise de Investimentos
- Composto Mercadológico
- Desenvolvimento de Negócios de Base Tecnológica
- Gestão de Pessoas
- Projeto e Desenvolvimento de Software
- 5º Período
- Administração de Projetos
- Algoritmos e Programação
- Criação de Empresas
- Comportamento Organizacional
- Economia de Negócios
- Programação Orientada a Objetos