Turma 0991 - Arquitetura de Software - 2021/1

Imprimir

Curso: Ciência da Computação

Período: 8

Professor(es): Fábrica de Software

Carga Horária: 68 h

Ano/Semestre: 2021/1

Objetivo

O Bacharel em Ciência da Computação é capacitado para estudar e desenvolver novas tecnologias ligadas à computação e atuar na pesquisa científica e tecnológica; para atuar no mercado de trabalho a fim de projetar, desenvolver, implantar e gerenciar soluções envolvendo a tecnologia da computação para desafios da sociedade e empresas. Este profissional é formado para intervir na realidade, de forma empreendedora e criativa. Também pode seguir a carreira acadêmica através de mestrado e doutorado em computação.

Ementa

Princípios da Arquitetura de Software; Desenvolvimento de Projeto de Arquitetura de Software; Importância da arquitetura dentro do processo de desenvolvimento de software; Arquitetura de Software na prática,Ppadrões e estilos arquiteturais; Documentação de Arquitetura de Software; Tendências e Perspectiva em Arquitetura de Software; Padrões de Projeto; Linhas de Produto de Software (Reúso, Componentes, Frameworks e Ferramentas); Aplicações.

Competências

Capacidade de abstração dos requisitos de um software para planejamento de sua arquitetura, incluindo tecnologias e equipe necessária para o seu desenvolvimento

Habilidades

? Definir, documentar e comunicar uma arquitetura de software
? Definir estratégias técnicas que serão utilizadas para resolver os problemas impostos pelos requisitos arquiteturais
? Desenvolver a arquitetura executável, que são versões iniciais do sistema com funcionalidades reduzidas que demonstrem as principais estruturas que compõem a arquitetura
? Definir as diretrizes de implementação que serão utilizadas no desenvolvimento de um software (e.g. padrões de projeto)
? Compreender e planejar os caminhos evolutivos;
? Planejar para a inserção de novas tecnologias;
? Gerir a identificação de riscos e estratégias de redução dos riscos associados à arquitetura.
? Conhecer UML, linguagens de programação e modelos de arquitetura de software (e.g. baseado em serviço e cliente servidor).

Programa

Introdução à Arquitetura de Software
    Definição
    Projeto de Arquitetura de Software
Arquitetura em pequena escala
    Arquitetura em grande escala
    Importância de uma arquitetura de software
Processo de desenvolvimento baseado em arquitetura
Visões e estruturas arquiteturais
    Estrutura de Módulos (Module)
    Estruturas Componente-e-Conector (Component-and-Connector)
    Estruturas de Alocação (Allocation)
Atributos de qualidade de uma arquitetura de software
    Performance
    Segurança
    Disponibilidade
    Usabilidade
    Confiabilidade
Estilos e Padrões Arquiteturais
    Da desordem a estrutura
        Layered Architecture (Arquitetura em Camadas)
        Pipe-and-Filter ((Dutos e Filtros)
    Sistemas distribuídos
        Client-Server (Cliente-Servidor)
        Orientado a serviços
        Orientado a mensagens
        Broker
    Sistemas interativos
        Model-View-Controller (MVC)
    Sistemas adaptáveis
        Reflection (Reflexão)
Padrões de Projeto
    Padrões de Criação
    Padrões Estruturais
    Padrões Comportamentais
Estratégias de construção de arquitetura
    Disponibilidade
    Detecção de falhas
    Recuperação de falhas
    Prevenção de falhas
    Manutenabilidade
    Modificações localizadas
    Prevenção do efeito cascata
Documentação de Arquitetura de Software
    Documentar as visões da arquitetura (exemplo, lógica, processo, desenvolvimento)
    Documentação de comportamento
    Documentação das informações que se aplicam em mais de uma visão da arquitetura do software

Linhas de Produto de Software (Reúso, Componentes, Frameworks e Ferramentas); Aplicações

Metodologia

- As aulas têm caráter dinâmico e prático, com exposição de conceitos e exemplos. A aula é divida em dois períodos: 1) é apresentado ao aluno o embasamento teórico a respeito do assunto; 2) serão realizadas atividades práticas com o objetivo de fixar o conteúdo previamente aprestando.  Além disso, alguns dos trabalhos que serão desenvolvidos pelos alunos serão brevemente apresentados no início da aula seguinte: o objetivo é socializar as atividades que o os alunos estão desenvolvendo e verificar o quanto estão absorvendo o conteúdo e conseguindo aplicar de na prática.

- serão desenvolvidas 2 web atividades como exercícios de reforço que devem ser resolvidos fora da sala de aula.

Avaliação

O sistema de avaliação é composto por uma média ponderada de duas avaliações: G1 e G2, em que a segunda avaliação tem peso 2. Assim, tem-se:

MF = (G1 + G2*2)/3

A nota da G1 é composta por:
G1 = NG1 + TG1

NG1= Nota de uma avaliação individual, que equivale a 70% da nota.
TG1 = Nota de trabalhos desenvolvido em sala de aula e extra sala de aula, que equivale a 30% da nota

A nota da G2 é composta por:
G2 = NG2 + TG2

NG2= Nota de uma avaliação individual, que equivale a 70% da nota.
TG2 = Nota de trabalhos desenvolvido em sala de aula e extra sala de aula, que equivale a 30% da nota

Bibliografia

Básica

PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 7. ed. Porto Alegre: Bookman, 201
GAMMA, Erich; HELM, Richard; RALPH, Johnson; VLISSIDES, John. Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos. Porto Alegre: Bookman, 2000.
MENDES, Antônio. Arquitetura de software: desenvolvimento orientado para arquitetura. Rio de Janeiro: Campus, 2002

Complementar

LARMAN, Craig. Utilizando UML e padrões : uma introdução à análise e ao projeto orientados a objetos. Porto Alegre: Bookman, 2000.
SILVEIRA, Paulo; SILVEIRA, Guilherme; LOPES, Sérgio; MOREIRA, Guilherme; STEPPAT, Nico; KUNG, Fabio. Introdução à Arquitetura e Design de Software - Uma Visão Sobre a Plataforma Java. Rio de Janeiro: Elsevier - Campus, 2012.
SHALLOWAY, Allan; TROTT, James R. Explicando Padrões de Projeto. Porto Alegre: Bookman, 2004.
ARAUJO, Everton Coimbra de. Padrões de Projeto em Aplicações WEB.  Florianópolis: Visual Books, 2013.
SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011.[Biblioteca Virtual]

Material Digital

Imprimir
Selo da responsabilidade social
CENTRO UNIVERSITÁRIO LUTERANO DE PALMAS
Avenida Teotônio Segurado 1501 Sul Palmas - TO CEP 77.019-900
Fone: (63) 3219 8000