A disciplina da engenharia de software cobre não só os aspectos técnicos da construção dos sistemas de software, mas também aspectos de gestão, tais como a liderança de equipas de programação, o planeamento das actividades e a análise económica dos projectos de desenvolvimento tecnológico.
A engenharia de software pode ser definida de várias formas. Das várias sugestões já feitas, salientam-se as seguintes:
Todas estas definições incluem uma ideia central que implica que a engenharia de software é muito mais que codificar programas numa dada linguagem e inclui questões de qualidade, económicas, de gestão de recursos humanos, bem como conhecimentos e aplicação de princípios metodológicos.
A engenharia de software baseia-se em princípios da ciência da computação e da matemática, mas, como ramo da engenharia, ultrapassa largamente estes princípios e recorre igualmente a um conjunto alargado de outras disciplinas (engenharia de computadores, gestão, gestão de projectos, gestão da qualidade, ergonomia em software e engenharia de sistemas). A engenharia de software preocupa-se com a criação de software de qualidade, segundo uma abordagem sistemática, controlada e eficiente. Há necessariamente uma ênfase na análise, especificação, concepção e manutenção dos sistemas de software. Adicionalmente, devem abordar-se questões relacionadas com a gestão, a qualidade, o uso de normas e a gestão das capacidades dos projectistas.
Assim, esta unidade curricular de "Análise e Concepção de Software" tem por objectivo principal cobrir temáticas relacionadas com o desenvolvimento técnico de aplicações de software, com especial enfoque nas actividades de análise e concepção, e abordando também, embora em menor grau, o teste e a implementação. A componente prática está assegurada pela inclusão dum módulo de projecto, que irá funcionar como elemento integrador das várias matérias leccionadas nos restantes módulos.
-- 08 May 2007