Objetivos
Ao final da disciplina o aluno poderá ser capaz de:
- Compreender o cenário atual de Engenharia de Software bem como seus processos e modelos de sistemas
- Atualizar-se com as tendências e estado da arte da área de TI (Tecnologia da Informação)
- Desenhar e analisar sistemas computacionais seguindo padrões, com a utilização de esboços gráficos e de ferramentas de auxílio ao desenvolvimento (Ferramentas CASE)
- Desenvolver protótipos que representem soluções do mundo atual
- Exercitar a capacidade na resolução de problemas computacionais
Ementa
Conceito de engenharia de software
- Componentes e Tipos de Software
- Problemas com software e suas causas
- Mitos do software
- A crise do software
- Software e hardware – diferenças fundamentais
- Configuração de Software
Engenharia de sistemas
- Definição de sistemas
- Papel do analista
- Software e engenharia de software
- Etapas de desenvolvimento de softwares
- Passos da análise de sistemas
Análise de requisitos
- Definições
- Requisitos de software e de hardware
- Passos da análise de requisitos
Análise e projeto estruturados
- Histórico
- Modelo ambiental e modelo comportamental
- Diagrama Entidade-Relacionamento
- Diagramas de Fluxo de Dados
- Dicionário de dados
Projeto de software
- Etapas no desenvolvimento de projetos
- Abstração e refinamento
- Diagrama Hierárquico de Funções
Análise e projeto orientados a objetos
- Análise Orientada a Objetos
- Conceitos básicos
- Objetos e classes
- Distinção de objetos
Diagramas de AOO
- Diagramas de Classes
- Diagramas de Casos de Uso
- Diagramas de Sequência
- Diagramas de Estado
- Diagramas de Atividades
- Diagramas de Colaboração
- Diagramas de Integração
Paradigmas de engenharia de software
- Ciclo de vida em cascata
- Abordagem incremental
- Prototipação
- Desenvolvimento por modelo espiral
- Técnicas de quarta geração
DSL - Domain Specific Language
- Conceito
- Design by Evolution
- Usage patterns
- Vantagens e Desvantagens
Ferramentas Case
- Introdução
- Exemplo de ferramentas Case
Arquitetura
- Arquitetura Cliente servidor
- Arquitetura Internet
- Vantagens e desvantagens das arquiteturas
- SOA – Service Oriented Architecture
Protótipo
- Requisitos
- Projeto
- Implementação
- Apresentação
Raciocínio Lógico-Matemático
- Estrutura de Dados
- Geometria computacional
- Grafos
- Matemática
- Strings
- Paradigmas
Bibliografia
- PRESSMAN, R. Engenharia de Software, McGraw Hill, São Paulo, 2006
- TONSIG, S. L. Engenharia de Software – Análise e Projeto de Sistemas, Ed. Futura, São Paulo, 2003
- SOMMERVILLE, I. Engenharia de Software, Addison Wesley, São Paulo, 2007
- BOOCH, Grady. UML, guia do usuário. Campus, Rio de Janeiro, 2000
- FILHO, W. P. P. Engenharia De Software: Fundamentos, Métodos E Padrões, LCT, Rio de Janeiro, 2003
- IEEE - The Institute of Electrical and Electronics Engineers. Swebok Guide to the Software Engineering. Body of Knowledge. 2004.
Extensões
- Exercícios
- Wiki
- http://www.sourceinnovation.com.br/wiki/
- Autenticar-se
- Para obter uma conta de utilizador, deverá requisitá-la.
- Biografia: Responder informando no minimo ...
- Possui formação profissionalizante, técnico?
- Participou de eventos acadêmicos: OBMEP. OBM, OBI, Feiras científicas, ...?
- Participou de eventos técnicos: Palestras, visitas técnicas, competiçoes de games, ...?
- Tem experiência em programação? Quais linguagens?
- Gosta de desenvolver aplicações?
- Faz pesquisa? Em qual área?
- Qual ênfase pretende: Energia, Automação, Telecom, Computação, Biomédicas, outro?
- Hobby
- Trabalha? Em qual área?
- Gostaria de criar sua própria empresa ou seu próprio produto?
- Exemplo:
- Me chamo Luiz Cláudio Theodoro, natural de Uberlândia - MG, estudei no Colégio Messias Pedreiro onde participei de vários eventos: feiras de física, biologia e geografia. Participei de Olímpiadas de Matemática e também da fanfarra (similar à charanga). Visitei alguns locais como indústrias, universidades, hidrelétricas e empresas de TI para entender o perfil e as responsabilidades de um engenheiro
- Tenho experiência em linguagens de programação como Assembler, C, Clipper, Cobol, Fortran, Clean, SQL, Prolog e algumas outras. Embora adore desenvolver não tenho tido muito tempo e e me dedico normalmente a criar projetos de soluções inovadoras. Coordeno grupos de estudos que se preocupam em resolver problemas do mundo na área de Internet do Futuro, Voz sobre IP, Internet das Coisas e 4a. geração de telefonia móvel.
- Atuo como professor das disciplinas de Engenharia de Software e Banco de Dados na Graduação e Sistemas de Informação e Telecomunicações, Desenvolvimento de Projetos de Tecnologia e Tópicos Aplicativos de Telefonia para a Pós-graduação. Coordeno as Maratonas de Programação regionais que tem revelado grandes talentos locais. Trabalho como pesquisador numa Operadora de Telecomunicações onde sou líder da frente de Open Innovation.
- Adoro ler e como hobby, jogo futebol inclusive sou fundador e vice-presidente da A.A. Santa Mônica, time do campeonato amador formado apenas por universitários da UFU. Já tive minha própria empresa e ainda pretendo criar outra mas por enquanto me dedico a motivar pessoas no empreendedorismo.
- Cases
- Projetos
- Estágio
- TCC
- Grupos de Estudo