Universidade Federal de Goiás Instituto de Informática - INF

Propaganda
Universidade Federal de Goiás
Instituto de Informática
Sistemas de Informação
Código da Matriz Curricular: 109P1NB
Plano de Disciplina
Ano Letivo: 2012 - 2 º Semestre
Dados da Disciplina
Código Disc.
Nome
ARQUITETURA DE SOFTWARE
Carga Horária
Teórica
Prática
32
32
Prof
Fabrizzio Alphonsus Alves de Melo Nunes Soares
Turma A
Ementa
Conceitos de arquitetura de Software, estilo, estrutura, requisitos, análise de arquitetura. Projeto
Arquitetural, Avaliação Arquitetura. Modelo de arquitetura em camadas – MVC (model –
Viewcontroller), MDA (model drive architecture). Ferramentas.
Objetivo Geral
Desenvolver clara percepção de arquitetura de software, sua importância e implicações no
sucesso ou não de um empreendimento de software. O estudante ainda deve adquirir habilidade
para identificar modelos arquiteturais apropriados para problemas e habilidade para definir uma
arquitetura de software para um dado cenário.
Objetivos Específicos
Capacitar o aluno a: Reconhecer, entender, e comparar as diferentes definições existentes do
termo arquitetura de software; Conhecer a definição de Arquitetura de Software pelo Padrão
ISO/IEEE 1471-2000; Conhecer os componentes de construção de um software e sua relação com
outros softwares; Conhecer os modelos de arquiteturas;
Desenvolver softwares aplicando o estilo apropriado; Desenvolver softwares aplicando os atributos
de qualidade de software; Entender o conceito de transações distribuídas e conhecer os protocolos
para coordenação de transações distribuídas (XA, MTC, etc);
Conhecer a linguagem de marcação XML, suas derivações e aplicações em arquiteturas de
softwares; Conhecer os modelos de softwares em camadas e suas particularidades;
Desenvolvedor aplicativos com utilização de servidores de aplicação; Conhecer os modelos e
notações utilizadas para especificar Processos de Arquitetura de Software; Conhecer os conceitos
de Arquiteturas Dirigidas por Modelos (MDA); Especificar arquiteturas de softwares conforme o
domínio; Integrar softwares desenvolvidos em tecnologias diferentes; Conhecer protocolos para
comunicação de softwares; Conhecer e desenvolver softwares baseado em arquitetura orientada a
serviços (SOA); Conhecer e desenvolver aplicativos baseados em eventos, orientado a
mensagens e utilizando MVC; Entender os conceitos de SOAP e WSDL; Desenvolver aplicativos
com uso de Web Services; Conhecer e desenvolver aplicativos com o uso de ESB (Enterprise
Service Bus), e outros.
Relação com Outras Disciplinas
Requisitos de Software; Construção de Software; Projeto Detalhado de Software; Verificação e
Validação; Manutenção de Software e Qualidade de Software.
Programa
Introdução à Arquitetura de Software; Estilos Arquiteturais; Atributos de Qualidade de Software;
Modelo de Software em Camadas; Tecnologias para Middleware; Requisitos Arquiteturais; Análise
Arquitetural; Arquiteturas de Domínio Específico; Introdução ao XML; Model-View-Controller
(MVC); Arquitetura Dirigida por Modelos (MDA); Webservices; Arquitetura Orientada a Serviços
(SOA) e Barramento de Serviços Empresariais (ESB).
Procedimentos Didáticos
Legenda
AEX
RE
Descrição
Aula teórica
Objetivo
Transmitir conhecimento utilizando quadro ou slides.
Aula teórica com resolução de exercícios
Desenvolver o raciocínio lógico, criatividade e capacidade de
abstração e a capacidade de identificar, analisar e projetar
soluções de problemas.
TG
Trabalho em grupo
Desenvolver a capacidade de comunicação oral e escrita.
Capacidade de trabalhar em grupo.
AP
Aula prática
Proporcionar ao aluno a aplicação prática do conteúdo
ministrado em aula teórica.
ED
Estudo dirigido
Desenvolver a capacidade analítica, capacidade de síntese, de
avaliação crítica e de análise.
Seminários
Desenvolver o raciocínio lógico, criatividade, capacidade de
abstração, capacidade para identificar, analisar, projetar
soluções de problemas, a capacidade de comunicação oral e a
capacidade de trabalhar em
Outros
Transmitir conhecimento utilizando quadro ou slides.
SE
OTR
Conteúdo Programático / Cronograma
Tópico
Proc. Did.
# Aul.
Apresentação da Disciplina
AEX
2
Introdução à arquitetura de software
AEX
2
Estilos arquiteturais
AEX
2
Modelos de persistência de dados
AEX
2
AEX, TG, AP
8
AEX
2
Tecnologias para Middleware
AEX, AP
2
Servidores de Aplicação
AEX, AP
2
AEX, TG, AP
4
Transações distribuídas
AEX, AP
2
EJB com JDBC e JPA
AEX, AP
4
OTR
2
AEX, OTR
2
Java Persistence API - JPA
Modelo de Software em Camadas
EJB de sessão: EJB sem estado e EJB com estado
1ª Avaliação
Devolução da 1ª Avaliação – Introdução ao JMS
Inicio
22/10/2012
23/10/2012
29/10/2012
30/10/2012
05/11/2012
19/11/2012
20/11/2012
26/11/2012
27/11/2012
04/12/2012
10/12/2012
17/12/2012
18/12/2012
Tópico
Modelos orientados a Mensagens, Java Message
System
Proc. Did.
# Aul.
AEX
4
AEX, AP, TG
2
AEX, AP
2
AEX, TG, AP
6
AEX
2
AEX, TG
2
AEX, TG, AP
2
AEX, AP
2
Arquitetura Dirigida por Modelos (MDA)
AEX
2
2ª Avaliação
OTR
2
Entrega de novas e Fechamento do Semestre
OTR
2
EJB de Mensagem
Aplicações WEB
Webservices
Arquitetura Orientada a Serviços – SOA e ESB
Requisitos Arquiteturais
Análise Arquitetural
Model-View-Controller (MVC)
Total
64
Inicio
07/01/2013
14/01/2013
15/01/2013
21/01/2013
29/01/2013
05/02/2013
18/02/2013
19/02/2013
25/02/2013
26/02/2013
04/03/2013
Critério de Avaliação
A avaliação da aprendizagem será composta de:
- 2 (três) Avaliações Teóricas (AT1 e AT2);
- Diversos trabalhos práticos, sendo pelo menos 1 por avaliação.
Observação:
- Serão desenvolvidos diversos trabalhos individuais ou em grupo, sendo pelo menos 1 para cada
prova, e que serão entregues até uma data estabelecida em aula.
- Os alunos que realizarem os trabalhos para cada prova, receberão uma bonificação equivalente a
10% do valor de sua respectiva prova e será somado ao valor da mesma.
- A nota máxima de cada prova é 10, e assim, quando somadas as notas de prova e trabalho, caso
exceda 10, será descartado o excesso.
Data da Realização das Provas
AT1 em 17 de dezembro de 2012
AT2 em 26 de fevereiro de 2013
Bibliografia Básica
- FOWLER, Martin. Patterns of Enterprise Application Architecture, Addison-Wesley, 2002
- BASS, Len et al. Software Architecture in Practice, Addison-Wesley, 2003
Bibliografia Complementar
- A Software Architecture Primer, John Reekie and Rohan McAdam, Angophora Press, 2006.
- Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives,
Nick Rozanski and Eóin Woods, Addison-Wesley, 2005.
- Software Architecture in Practice, Len Bass et al., Addison-Wesley, 2003.
- Patterns of Enterprise Application Architecture, Martin Fowler, Addison-Wesley, 2002.
- Design and Use of Software Architecture: Adopting and Evolving a Product-Line Approach, Jan
Bosch, Addison-Wesley, 2000.
- Architecting Enterprise Solutions: Patterns for High-Capability Internet-based Systems, Paul
Dyson and Andrew Longshaw, Wiley, 2004.
- Pattern-Oriented Software Architecture Volume 1: A System of Patterns, Frank Buschmann et al.,
Wiley, 1996.
- Pattern-Oriented Software Architecture Volume 5: On Patterns and Pattern Languages, Frank
Buschmann et al., Wiley, 2007.
- Handbook of Software Architecture, Grady Booch, (disponível na web).
- SOA in Practice: The Art of Distributed System Design, Nicolai M. Josuttis, O’Reilly, 2007.
Bibliografia Sugerida
- EJB 3 in Action Debu Panda et al, Manning Publications, 2008
- Enterprise JavaBeans 3.0 Bill Burke & Richard Monson-Haefel, O'Reilly, 2006
- Enterprise JavaBeans Technology: http://java.sun.com/products/ejb/
- EJB 3 em Ação, Reza Rahman; Debu Panda; Lane, Derek, Alta Books, 2009.
- Enterprise Java Beans 3.0, Bill Burke & Richard Monson-Haefel, Pearson, 2007.
- EJB 3 Profissional - Java Persistence API, Merrick Schincariol, Ciência Moderna, 2008.
Parecer
O plano está coerente com os objetivos esperados para esta disciplina.
Termo de Entrega
Apresentado à Coordenação no dia
Termo de Aprovação
Aprovado em Reunião de CD no dia
Prof(a) Fabrizzio Alphonsus Alves de Melo Nunes
Soares
Prof. Dr. Auri Marcelo Vincenzi
Professor
Diretor do Instituto de Informática
Termo de Homologação
Data de Expedição: Goiânia, ___ de fevereiro de 2012.
Download