IPLUSO 24350
Engenharia de Software I
Engenharia Informática e Aplicações (L) (IPLUSO)
-
ApresentaçãoPresentationEste curso oferece uma aprendizagem abrangente sobre os princípios, processos e metodologias de engenharia de software utilizados para projetar, desenvolver, manter e testar sistemas de software de forma eficiente. Os tópicos cobertos podem incluir análise de requisitos de software, desenho, teste, gestão de projetos, manutenção e linguagens de programação/paradigmas. Os alunos vão adquirir experiência prática aplicando estes princípios em cenários reais ao aprender sobre o ciclo de vida do desenvolvimento de software e metodologias ágeis. O objetivo final é produzir engenheiros de software capazes de criar soluções de software de alta qualidade, escaláveis e de fácil manutenção que atendem às necessidades dos usuários e clientes. Este curso serve como uma base sólida para estudos futuros em engenharia de software e áreas relacionadas.
-
ProgramaProgrammeCP1: Introdução à Engenharia de Software. Princípios e objetivos em engenharia de software. CP2: Metodologias de Desenvolvimento em Engenharia de Software. Métodos Ágeis e clássicos. CP3: Engenharia de Requisitos. Técnicas para a definição de requisitos e para a sua especificação. CP4: Desenho de software. Princípios, considerações e notações a usar no desenho de software. CP5: Desenvolvimento e construção de software. Introdução a tipologias de linguagens de programação, a paradigmas e técnicas de programação. CP6: Testes e Qualidade do Software. Tipos de testes e técnicas para o teste de aplicações. Introdução a métricas de software e a sua medição. CP7: Manutenção e Evolução do Software. Razões para a manutenção de software e técnicas para proceder à manutenção e evolução de software. CP8: Ferramentas e Técnicas em Engenharia de Software. Introdução a ferramentas e boas práticas. Integração e entrega contínua.
-
ObjectivosObjectivesOA1: Aprender os conceitos, técnicas e ferramentas para o correto desenvolvimento de software, mantendo a elevada qualidade do mesmo. OA2: Aplicar técnicas de desenho de software para a criação de aplicações em grande escala. OA3: Aprender o ciclo de vida do desenvolvimento de software (SDLC) e saber como manter e gerenciar os processos de engenharia de software relacionados com o SDLC. OA4: Aprender os princípios básicos de métricas de qualidade, manutenção e documentação de software, assim como de gestão de projetos. OA5: Aplicar sistemas de controle de versões, ferramentas de teste e práticas de integração contínua.
-
BibliografiaBibliographySommerville, Ian - Software Engineering. 10th Edition. Addison-Wesley, 2016. Pressman, Roger; Maxim, Bruce R. - Software Engineering: A Practitioner's Approach. 8th edition. McGraw-Hill, 2014.
-
MetodologiaMethodologyAs metodologias de ensino assentam em duas vertentes, nomeadamente: (1) Sessões teóricas: onde é exposta a matéria através de diapositivos fornecidos pelo docente da cadeira e existe uma discussão em aula sobre casos de estudo representativos. (2) Sessões práticas: onde é dado aos alunos uma abordagem prática com o objetivo de serem aplicados os conhecimentos lecionados nas sessões teóricas. Nestas sessões, também são efetuados trabalhos em equipa para a análise de casos de estudo de modo a criar-se metodologias e soluções de boas práticas. A avaliação será composta por 3 componentes: Prova de aferição de conhecimentos (50% da avaliação final). Projeto (40% da avaliação final). Assiduidade e participação nas aulas (10% da avaliação final).
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureObrigatório
-
EstágioInternshipNão