Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
04755
Acrónimo :
ODES
Ciclo :
2.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
--

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
12.0h/sem
Aula Teórico-Prática (TP) :
12.0h/sem
Aula Prática e Laboratorial (PL) :
0.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
25.0h/sem
Trabalho Autónomo :
0.0
Horas de Trabalho Total :
25.0h/sem

Área científica / Scientific area


Ciências e Tecnologias da Informação

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2024/2025

Pré-requisitos / Pre-Requisites


Frequência com sucesso de pelo menos uma unidade curricular no 1º ciclo de Bolonha em que se cubram de forma abrangente os tópicos do corpo de conhecimento em Engenharia de Software (SWEBOK). No caso de ex-alunos de licenciatura do Iscte, esses pré-requisitos são garantidos pela unidade curricular de Engenharia de Software.

Objetivos Gerais / Objectives


"Esta UC tem como referência a área de conhecimento identificada no ACM Computing Classification System como Search-Based Software Engineering (SBSE) - ""Software and its engineering"" - ""Software creation and management"" - ""Search-Based Software Engineering"". Os estudantes serão dotados de uma visão integradora da otimização e decisão subjacente às atividades da Engenharia de Software (ES), nomeadamente, gestão do projeto, requisitos, desenho, implementação, validação e verificação, implantação. Os principais objetivos são: • compreender os problemas de otimização e decisão nas atividades de ES; • identificar os múltiplos critérios de qualidade e compromissos inerentes às decisões em ES; • formular os problemas da ES como problemas de otimização multiobjectivo e decisão multicritério; • analisar o papel do engenheiro de software no processo de otimização e decisão (human-in-the-loop); • utilizar técnicas de otimização multiobjectivo e decisão multicritério na resolução de problemas da ES"

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


"Após a conclusão desta UC o estudante deverá ficar apto a: OA1. Identificar os tipos de problemas de otimização e decisão mais relevantes das várias atividades da Engenharia de Software (ES), determinantes no sucesso dos projetos e dos produtos de software. OA2. Reconhecer as principais características de um problema de otimização multiobjectivo e decisão multicritério no contexto da ES. OA3. Definir o modelo computacional do problema de otimização multiobjectivo e decisão multicritério em ES; OA4. Conhecer as principais (famílias e) técnicas de otimização e decisão multicritério; OA5. Saber resolver problemas de otimização multiobjectivo e decisão multicritério em ES."

Conteúdos Programáticos / Syllabus


"CP1. Introdução à Otimização e Decisão em Engenharia de Software; CP2. Problemas de otimização e decisão de critério único; CP3. Problemas de otimização e decisão multicritério; CP4. Problemas de otimização e decisão multicritério em engenharia de software (gestão do projeto, requisitos, desenho, implementação, validação e verificação, implantação); CP5. Técnicas matemáticas de otimização e decisão multicritério; CP6. Heurísticas de otimização e métodos de decisão multicritério."

Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes


"Os CP1 a CP6 capacitam para a identificação e resolução de problemas subjacentes ao planeamento, desenvolvimento e exploração de projetos em Engenharia de Software (ES), em particular na formulação destes problemas como problemas de Otimização e Decisão Multicritério (ODM), nomeadamente: - O CP1 introduz tipos de problemas em ES, enfatizando atributos de qualidade de projeto, produto e processo, bem como otimização e decisão nas atividades de ES (OA1 e OA2); - Os CP2 e CP3 dão a conhecer os fundamentos de problemas de otimização e decisão de critério único e multicritério, bem como estratégias para a formulação matemática/computacional destes problems (OA2, OA3); - O CP4 enquadra as atividades de ES, a sua relação com os atributos de qualidade do projeto, produto e processo, e o papel das técnicas de ODM nessas atividades (OA2); - Os CP5 e CP6 são dedicados às técnicas de ODM baseadas em programação matemática, métodos estocásticos/heuriticas/metaheuristicas (OA4 e OA5)."

Avaliação / Assessment


"A natureza prática desta UC e a necessidade em que a avaliação de conhecimentos se faça essencialmente através da capacidade dos estudantes em aplicar os conhecimentos na resolução de problemas de otimização em engenharia de software, leva a que o método de avaliação adotado seja o de avaliação baseada em projeto. Em 1ª época ou época normal, avaliação ao longo do semestre, sem obrigação de assiduidade mínima, com 3 momentos de avaliação do projeto em grupo: - Apresentação de progresso a meio do semestre com peso de 20% na nota final da UC; - Relatório final do projeto com peso de 15% e software entregue com peso de 35% na nota final da UC; - Apresentação final com peso de 10% e discussão com peso de 10% na nota final da UC. A avaliação é feita com base no desempenho e contributo individual de cada elemento do grupo. Ou avaliação no final do semestre (1ª época), por projecto individual com 2 momentos de avaliação: - Relatório do projeto com peso de 20% e software entregue com peso de 45% na nota final da UC; - Apresentação do trabalho com peso de 10% e discussão com peso de 15% na nota final da UC. Em 2ª época, melhoria de nota ou época especial (nos termos do RGACC), avaliação por projeto individual, disponibilizado aos estudantes que o solicitarem: - Relatório do projeto com peso de 20% na nota final da UC; - Software entregue com peso de 45% na nota final da UC; - Apresentação do trabalho com peso de 10% na nota final da UC; - Discussão do trabalho com peso de 15% na nota final da UC. Todas as épocas de avaliação contemplam uma componente de avaliação realizada na plataforma de eLearning, com peso de 10% (2 valores em 20) na nota final da UC. Todas as componentes de avaliação, em todas as épocas de avaliação, têm nota mínima de 9,5 valores (em 20)."

Metodologias de Ensino / Teaching methodologies


"Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEA): MEA1: Expositivas, para apresentação dos enquadramentos teóricos MEA2: Ilustrativas, para exemplificação dos conceitos teóricos em contextos reais MEA3: Participativas, com análise e resolução de problemas MEA4: Argumentativas, com apresentação e discussão do projeto de grupo"

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Esta UC requer que os estudantes se familiarizem com conceitos e problemas essenciais da engenharia de software, bem como com conceitos teóricos fundamentais da otimização e decisão de critério único e multicritério, cujos materiais de apoio são disponibilizados na plataforma de eLearning e avaliados através da realização de Quizzes (online). As discussões e apresentações do projeto prático em grupo, avaliadas em dois momentos ao longo do semestre, complementam o processo de avaliação desta UC. A avaliação está sobretudo centrada no desenvolvimento do projeto em grupo e na demonstração das capacidades identificadas nos objetivos de aprendizagem ao longo do desenvolvimento do projeto, nomeadamente, identificar, formular e adotar estratégias, métodos e técnicas de resolução de problemas em engenharia de software e suas atividades, como problemas de otimização e decisão multicritério.

Observações / Observations


--

Bibliografia Principal / Main Bibliography


Software Metrics A Rigorous and Practical Approach, Norman Fenton, James Bieman, CRC Press, 2014.A64

Software Engineering Body of Knowledge (SWEBOK V3.0), IEEE Computer Society Professional Practices Committee, 2014.

Multicriteria Decision Aid and Artificial Intelligence: Links, Theory and Applications, Michael Doumpos, Evangelos Grigoroudis, Wiley, 2013.

Many-Criteria Optimization and Decision Analysis: State-of-the-Art, Present Chalenges, and Future Perspectives”, Dimo Brockhoff, Michael Emmerich, Boris Naujoks, Robin Purshouse, Springer, 2023.

Bibliografia Secundária / Secondary Bibliography


Multicriteria Optimization and Decision Making: Principles, Algorithms, and Applications, Michael Emmerich and Andr e Deutz, Leiden Institute of Advanced Computer Science, 2012.

Nonlinear Multiobjective Optimization, Kaisa Miettinen, Kluwer, 1999.

'Multiobjective Linear and Integer Programming, C.H. Antunes, M.J. Alves, J.N. Clímaco, Euro Advanced Tutorials on Operational Research Series, Springer, 2016.

Data da última atualização / Last Update Date


2024-09-09