Código Oficial: | 6295 |
Sigla: | MESW |
ENQUADRAMENTO À medida que os sistemas de software aumentam de dimensão e de complexidade torna-se cada vez mais importante compreendê-los a níveis de abstracção mais elevados. A arquitectura de um sistema de software descreve a sua estrutura global em termos dos seus componentes, das propriedades externas desses componentes e das suas interrelações. Para sistemas de média e grande dimensão a escolha adequada da arquitectura assume uma importância crucial para o sucesso do seu desenvolvimento.
OBJETIVOS ESPECÍFICOS A disciplina de Arquitecturas de Sistemas de Software tem como objectivo principal introduzir os conceitos de arquitecturas de software, padrões de desenho e tópicos directamente relacionados, tais como o de componentes de software. Pretende ensinar a desenhar, compreender e avaliar arquitecturas de sistemas de software, tanto ao nível de abstracção de macro-arquitectura como de micro-arquitectura e assim familiarizar os alunos com os conceitos fundamentais de arquitectura de software, as propriedades e aplicabilidade dos diferentes estilos de arquitectura existentes, os padrões de desenho mais populares, componentes de software, arquitecturas reutilizáveis e as relações destes conceitos todos com a reutilização de software.
DISTRIBUIÇÃO PERCENTUAL Componente Científica: 50% Componente Tecnológica 50%.
Dotar os alunos com competências para planear, gerir e levar a cabo um processo de análise e especificação de requisitos de um sistema de software.
Aplicar um processo de Engenharia de Software ao desenvolvimento completo de um sistema de software real, ao longo do semestre, abrangendo a especificação de requisitos, arquitetura, implementação, integração, teste, documentação e demonstração.
Adquirir conhecimentos fundamentais e experiência sobre as práticas de desenvolvimento ágil de software: planeamento de iterações, testes unitários, refactoring, pattern-based design, autoria colectiva de código, programação em pares, integração contínua.
Utilizar ferramentas de desenvolvimento de software adequadas e que permitam o acompanhamento do desenvolvimento do produto durante todo o seu ciclo de vida.
Utilizar APIs e infraestruturas de software de grande escala, focando o desenvolvimento baseado em componentes e problemas de integração aplicacional.
Desenvolver trabalho colaborativo, integrando outros intervenientes do projeto em decisões de desenho e planeamento e delegar, negociar e rever estas decisões em grupo.Esta unidade curricular tem como objetivo principal abordar conceitos e técnicas de Engenharia de Software transversais às várias fases do ciclo de vida do desenvolvimento de software (Requisitos, Arquitetura, Desenho, Construção, Teste, Evolução) e que têm tratamento especializado noutras UCs do 1º ou 2º semestre do curso.
Enquadramento:
Após uma época em que as diferentes empresas/instituições muito investiram na recolha de dados no âmbito da informatização das suas operações (por ex.: sensores, sistemas GPS), e em que muitas e variadas novas fontes de dados surgiram (por ex.: redes sociais), existe agora a necessidade de pôr esses dados ao serviço dessas empresas/instituições. O objetivo é ser capaz de extrair conhecimento desses dados de modo a melhorar a eficiência dos processos e ganhar vantagem competitiva. Uma das áreas em que esse evolução se tem observado de forma mais marcante é a Engenharia de Software. É desta necessidade que surge a Unidade Curricular de Análise de Dados e Engenharia de Software (ADES).
Objetivos:
O estudante deve ser capaz de: desenvolver projetos simples de data mining (DM) descritivos e preditivos envolvendo as tarefas mais tradicionais: clustering, associação, classificação, e regressão.
Os objetivos de aprendizagem visam a aquisição de conhecimento e a prática dos conceitos do projeto, arquitetura e implementação de aplicações, principalmente empresariais, em dispositivos móveis, utilizando plataformas e APIs de grande divulgação corrente.
São problemas e desafios a vencer a grande diversidade de capacidades, dimensões, formas de interação e componentes pouco usuais dos dispositivos móveis atuais. Fazem também parte dos objetivos o conhecimento e a prática do desenvolvimento de aplicações de razoável dimensão em diversos ambientes e a integração de serviços remotos.
Nos termos do estipulado em normas específicas da FEUP, a caracterização de Dissertação é a seguinte:
1. Trabalho individual de investigação e desenvolvimento, conducente à elaboração
de uma dissertação de natureza científica sobre um tema da área de conhecimento
do curso, ou visando a integração e aplicação à resolução de problemas complexos
de engenharia de conhecimentos, competências e atitudes adquiridos ao longo do
curso.
2. Pode ser um trabalho de investigação ou de desenvolvimento tecnológico e
aplicação, envolvendo meios experimentais e/ou de simulação, que promova o
desenvolvimento de capacidades de iniciativa, de decisão, de inovação, de
pensamento criativo e crítico, num contexto de trabalho individual ou em grupo.
3. Deve envolver a análise de situações novas, a recolha de informação pertinente, o
desenvolvimento e selecção ou concepção das metodologias de abordagem e dos
instrumentos de resolução do problema proposto, a sua resolução, o exercício de
síntese e elaboração de conclusões, e a preparação de uma dissertação pertinente
sujeita a apresentação pública e discussão dos resultados.
4. Pode ser realizado em ambiente académico ou académico e empresarial. Neste
caso os objectivos, natureza e forma de acompanhamento do trabalho devem ser
objecto de acordo prévio entre o estudante e os orientadores por parte da Faculdade
e da empresa, validado pelo Director do Curso, que garanta a satisfação dos
objectivos de natureza científica e pedagógica da unidade curricular, e proteja
eventuais questões de confidencialidade por parte da empresa/instituição de
acolhimento.
OBJECTIVO GERAL O principal objectivo da disciplina é o de preparar os estudantes para analisarem e projectarem as componentes interactivas dos sistemas, em particular da interface com os utilizadores, de uma forma adequada às suas necessidades, considerando o curto, médio e longo prazo.
OBJECTIVOS PARTICULARES
1. Preparar os estudantes para analisarem sistemas interactivos, em termos de um conjunto de parâmetros quantitativos e qualitativos.
2. Preparar os estudantes para utilizarem técnicas de estudo, observação e interrogação de utilizadores suportadas na compreensão do modelo conceptual dos utilizadores de sistemas.
3. Preparar os alunos para utilizarem um processo de construção de produtos interactivos baseado numa filosofia de projecto, incluindo a avaliação dos utilizadores, concepção, prototipagem, validação, construção e manutenção.
O objetivo desta unidade curricular é apresentar, sob a forma de seminários independentes, um leque alargado de subtópicos de Engenharia de Software, que pela sua pertinência, em termos de investigação, inovação ou aplicação industrial, permitam aos estudantes preprarem-se melhor para a eventual realização de um trabalho de investigação cientifica ou aplicada numa área da Engenharia de Software.
Pretende-se