INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA BAIANO Campus Senhor do Bonfim I N S T I T U T O F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O L O G I A B A I A N O C a m p u s S E N H O R D O B O N F I M GESTÃO DE ATIVIDADES DE ENSINO SECRETARIA DE REGISTROS ACADÊMICOS FORMULÁRIO DE REGISTRO DE PLANO DE CURSO 2013.I CAMPUS COLEGIADO TURMA SENHOR DO BONFIM LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO 2011.I COMPONENTE CURRICULAR CÓDIGO TÍ TULO COMP 010 Análise de Sistemas CARGA HORÁRIA T P Est. TOTAL NOME DO DOCENTE 60 30 90 JOSÉ HONORATO FERREIRA NUNES EMENTA Componentes de um sistema orientado a objetos. Ferramentas de modelagem orientada a objetos. Metodologias para análise e desenvolvimento de sistemas orientados a objetos. Estudo de casos utilizando as metodologias apresentadas. OBJETIVOS OBJETIVO GERAL: Capacitar os alunos a analisarem e modelarem sistemas com orientação a objetos. OBJETIVOS ESPECÍFICOS: Introduzir conceitos básicos sobre orientação a objetos; Apresentar os principais componentes de um sistema orientado a objetos; Apresentar as principais ferramentas de modelagem orientada a objetos; Prover uma visão geral de projeto de sistemas orientados a objetos. http://www.ifbaiano.edu.br Página: 1
CONTEÚDO PROGRAMÁTICO VISÃO GERAL Modelagem de sistemas de software O paradigma da orientação a objetos : Classes e objetos, mensagens e O papel da abstração na orientação a objetos Evolução histórica da modelagem de sistemas A Linguagem de Modelagem Unificada (UML): Visões de um sistema e Diagramas da UML O PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Atividades típicas de um processo de desenvolvimento: Levantamento de requisitos, Análise, Projeto (desenho), Implementação, Testes e Implantação O componente humano (participantes do processo) : Gerentes de projeto, Analistas, Projetistas, Arquitetos de software, Programadores, Especialistas do domínio e Avaliadores de qualidade. Modelos de ciclo de vida: o modelo de ciclo de vida em cascata e o modelo de ciclo de vida iterativo e incremental. Utilização da UML no processo iterativo e incremental Prototipagem Ferramentas CASE MODELAGEM DE CASOS DE USO Modelo de casos de uso: Casos de uso, Atores e Relacionamentos Diagrama de casos de uso Identificação dos elementos do MCU: Identificação de atores e Identificação de casos de uso Construção do modelo de casos de uso : Construção do diagrama de casos de uso, Documentação dos atores e Documentação dos casos de uso Documentação suplementar ao MCU: Regras do negócio, Requisitos de desempenho e Requisitos de interface gráfica O MCU em um processo de desenvolvimento iterativo: O MCU nas atividades de análise e projeto e O MCU e outras atividades do desenvolvimento : Descrição da situação, Regras do negócio e Documentação do MCU MODELAGEM DE CLASSES DE ANÁLISE Estágios do modelo de classes Diagrama de classes: Classes, Associações, Generalizações e especializações Diagrama de objetos Técnicas para identificação de classes: Análise textual, Análise dos casos de uso, Identificação dirigida a responsabilidades, Padrões de análise, Outras técnicas de identificação e Discussão Construção do modelo de classes: Definição de propriedades, Definição de associações e Organização da documentação Modelo de classes no processo de desenvolvimento : Cartões CRC e Glossário PASSANDO DA ANÁLISE AO PROJETO Detalhamento dos aspectos dinâmicos Refinamento dos aspectos estáticos e estruturais Projeto da arquitetura Persistência de objetos Projeto de interface gráfica com o usuário Projeto de algoritmos http://www.ifbaiano.edu.br Página: 2
MODELAGEM DE INTERAÇÕES Elementos da modelagem de interações : Mensagens, Atores, Objetos, Classes e Coleções de objetos Diagrama de sequência: Linhas de vida, Mensagens, Ocorrências de execução e Criação e destruição de objetos Diagrama de comunicação Modularização de interações: Quadros e Diagrama de visão geral da interação Construção do modelo de interações: Mensagens para cumprir responsabilidades, Coesão e acoplamento, Dicas para a construção do modelo de interações e Procedimento de construção de um diagrama de interação Modelo de interações em um processo iterativo MODELAGEM DE CLASSES DE PROJETO Transformação de classes de análise em classes de projeto: classes de fronteira, classes de entidade, classes de controle e outras classes Especificação de atributos: Notação da UML para atributos Especificação de operações: Notação da UML para operações, Dicas práticas, Projeto por contrato, Operações de criação e destruição de objetos, Seletores e modificadores e Outras operações típicas Especificação de associações: O conceito de dependência, Transformação de associações em dependências, Navegabilidade de associações e Definindo a implementação de associações Herança: Tipos de herança, Classes abstratas, Operações polimórficas, Interfaces, Acoplamentos concreto e abstrato, Reuso através de delegação e Classificação dinâmica Padrões de projeto: Composite, Observer, Strategy, Factory Method, Mediator e Façade Modelo de classes de projeto em um processo iterativo MODELAGEM DE ESTADOS Diagrama de transição de estado: Estados, Transições, Eventos, Condição de guarda, Ações, Atividades, Ponto de junção, Cláusulas entry, exit e do, Transições internas, Estados aninhados e Estados concorrentes Identificação dos elementos de um diagrama de estados Construção de diagramas de transições de estados Modelagem de estados no processo de desenvolvimento MODELAGEM DE ATIVIDADES Diagrama de atividade: Fluxo de controle sequencial e Fluxo de controle paralelo Diagrama de atividade no processo de desenvolvimento iterativo: Modelagem dos processos do negócio, Modelagem da lógica de um caso de uso e Modelagem da lógica de uma operação complexa ARQUITETURA DO SISTEMA Arquitetura lógica: Camadas de software Implantação física: Alocação de camadas e Alocação de componentes Projeto da arquitetura no processo de desenvolvimento MAPEAMENTO DE OBJETOS PARA O MODELO RELACIONAL Projeto de banco de dados: Conceitos do modelo de dados relacional, Mapeamento de objetos para o modelo relacional, Classes e seus atributos, Associações, Agregações, Composições, Associações reflexivas, Associações ternárias, Classes associativas e Generalização Construção da camada de persistência: Acesso direto ao banco de dados, Uso de um SGBDOO ou de um SGBDOR, Padrão DAO e Frameworks ORM SOA - ARQUITETURA ORIENTADA A SERVIÇOS http://www.ifbaiano.edu.br Página: 3
DATA HORAS TOTALIZADAS ATIVIDADES PROGRAMADAS CRONOGRAMA DE ATIVIDADES 11/07/2013 2 Apresentação da disciplina: apresentação de alunos, professores e do plano de curso. 13/07/2013 6 Modelagem de sistemas de software; O paradigma da orientação a objetos; Evolução histórica da modelagem de sistemas; A Linguagem de Modelagem Unificada (UML). 18/07/2013 8 O processo de desenvolvimento de software: Atividades típicas de um processo de desenvolvimento; Modelos de ciclo de vida. 20/07/2013 12 Modelagem de casos de uso: Modelo de casos de uso; Diagrama de casos de uso; Identificação dos elementos do MCU; Construção do modelo de casos de uso; Documentação suplementar ao MCU; O MCU em um processo de desenvolvimento iterativo. 25/07/2013 14 Estudo de caso MCU: Descrição da situação; Regras do negócio; Documentação do MCU. 27/07/2013 18 Atividades utilizando o programa SmatUML para criação de diagramas de casos de uso. 01/08/2013 20 Modelagem de classes de análise: Estágios do modelo de classes; Diagrama de classes; Diagrama de objetos; Técnicas para identificação de classes; Construção do modelo de classes; 03/08/2013 24 Modelagem de classes de análise: Modelo de classes no processo de desenvolvimento. Estudo de caso: Cartões CRC. 08/08/2013 26 Atividades em laboratório utilizando o programa SmatUML para criação de diagramas de classe. 10/08/2013 30 Passando da análise ao projeto: Detalhamento dos aspectos dinâmicos; Refinamento dos aspectos estáticos e estruturais; Projeto da arquitetura; Persistência de objetos; Projeto de interface gráfica com o usuário; Projeto de algoritmos. 15/08/2013 32 Modelagem de interações: Elementos da modelagem de interações; Diagrama de sequência; Diagrama de comunicação; Modularização de interações; Construção do modelo de interações; Modelo de interações em um processo iterativo. 17/08/2013 36 Modelagem de classes de projeto: Transformação de classes de análise em classes de projeto; Especificação de atributos; Especificação de operações; Especificação de associações; Herança; Padrões de projeto; Modelo de classes de projeto em um processo iterativo. 22/08/2013 38 Estudo de caso e exercícios com o conteúdo ministrado aula anterior. 24/08/2013 42 Primeira avaliação 29/08/2013 44 Correção da primeira avaliação e definição dos temas e grupos para seminários. 31/08/2013 48 Modelagem de estados: Diagrama de transição de estado; Identificação dos elementos de um diagrama de estados; Construção de diagramas de transições de estados; Modelagem de estados no processo de desenvolvimento. 05/09/2013 50 Estudo de caso e exercícios com o conteúdo ministrado aula anterior. 12/09/2013 52 Modelagem de atividades: Diagrama de atividade; Diagrama de atividade no processo de desenvolvimento iterativo. 14/09/2013 56 Estudo de caso e exercícios com o conteúdo ministrado aula anterior. 19/09/2013 58 Arquitetura do sistema: Arquitetura lógica; Implantação física. 21/09/2013 62 Estudo de caso e exercícios com o conteúdo ministrado aula anterior. 26/09/2013 64 Mapeamento de objetos para o modelo relacional: Projeto de BD e Camada de persistência. 28/09/2013 68 Estudo de caso e exercícios com o conteúdo ministrado aula anterior. 03/10/2013 70 Atividades de revisão do conteúdo para prova 05/10/2013 74 Segunda avaliação 10/10/2013 76 Correção da segunda avaliação e organização das apresentações do seminário avaliativo. 17/10/2013 78 Desenvolvimento e orientações dos seminários. 19/10/2013 82 SOA - arquitetura orientada a serviços 24/10/2013 84 SOA - arquitetura orientada a serviços 26/10/2013 88 Apresentações dos gupos. 31/10/2013 90 Apresentações dos gupos e entrega dos resultados. 07/11/2013 94 Prova Final http://www.ifbaiano.edu.br Página: 4
FORMA DE AVALIAÇÃO DO APRENDIZADO Teremos três notas de avaliação: duas provas valendo 10 pontos cada e apresentação de seminário no final da disciplina valendo 10 pontos. METODOLOGIA DE ENSINO Aula Expositiva, estudos de caso, laboratórios (prática realizada pelo aluno) e exercícios ao final das aulas para auxiliar no processo de aprendizagem. BIBLIOGRAFIA BÁSICA: BIBLIOGRAFIA RECOMENDADA BEZERRA, E. Princípios de análise e projeto de sistemas com UML. 2. ed. Rio de Janeiro: Editora Campus, 2006. FURLAN, J. D. Modelagem de objetos através da UML. São Paulo: Makron Books, 1998. LARMAN, C. Utilizando UML e padrões: um guia para a análise e projeto orientados a objetos. 3.d. Porto Alegre: Editora Bookman, 2007. BIBLIOGRAFIA COMPLEMENTAR: BALZERT, Heide; UML 2 Compacto. Rio de Janeiro: Campus\Elsevier, 2008. ISBN: 978-38-274-1389-3 http://www.scielo.br/ http://www.sciencedirect.com/ Senhor do Bonfim, / /, NOME DO DOCENTE Aprovado em Reunião do Colegiado dia / /. Coordenador do Colegiado de Lic. em Ciências da Computação http://www.ifbaiano.edu.br Página: 5