Official Code: | 6295 |
Acronym: | MESW |
BACKGROUND As the dimension and complexity of software systems grows, it becomes more important to understand them at more advanced abstraction levels. The architecture of a software system describes the global structure in terms of its components, external proprieties and its interrelations. For medium and big-dimension systems, to chose the right architecture becomes crucial to the success of its development.
SPECIFIC AIMS This course aims to introduce the concepts of software architectures, design patterns and topics directly related, such as the software components’ one. Furthermore, it aims to teach how to design, understand and evaluate software systems architectures both at the level of abstraction of macro-architecture and micro-architecture. All this to familiarize the students with the fundamental concepts of software architecture, the proprieties and applicability of the different architecture styles, the most popular design patterns, software components, reusable architectures and the relations of all these concepts with the software reuse.
PERCENTAGE DISTRIBUTION Scientific component: 50% Technologic componente: 50.
This course unit aims to endow students with planning and management skills, so that they can analyse and specify the requirements of a software system.
To apply a Software Engineering process to the complete development of a real software system, along the curricular unit, covering the specification of requirements, software architecture and design, coding, integration, test, documentation and demonstration.
To acquire fundamental knowledge and experience about agile software development practices: iteration planning, unit tests, refactoring, pattern-based design, collective ownership, pair programming, continuous integration.
To use software development tools adapted to agile methods to enable the continuous monitoring and tracking of the project along its lifecycle.
To use large-scale APIs with class packages, to induct the component-based computing and related problems with application integration.
To develop collaborative work, integrating other project participants in design decisions, planning, delegation, negotiation, and group review.This curricular unit aims to address key concepts and techniques in Software Engineering that are applicable across various phases of the software development lifecycle (Requirements, Architecture, Design, Construction, Testing, Evolution), and which are covered in more detail in other curricular units during the first or second semester of the program.
Background:
After a period in which different companies/institutions invested in data collection by digitalization of their operations (e.g. sensors, GPS systems), and in which many and varied new data sources have emerged (e.g. social networks), there is now the need to place such data at the service of those companies. The goal is to be able to extract knowledge from these data in order to improve efficiency in the processes and gain competitive advantage. The Data Analysis and Software Engineering (ADES) course stems from this need .
Objectives:
The student should be able to: develop simple descriptive and predictive data mining (DM) projects involving the most traditional tasks: clustering, association, classification, and regression.
The course ojectives include the acquisition of knowledge and practice of the concepts of design, architecture and implementation of applications, mainly business, satisfying access needs to data and computing in any place and at any time. Emphasis is on the use of current and generic frameworks.
Problems and challenges include the existing diversity, dimension, interaction and unusual components.
Important requirements include a good knowledge and practice in the development of local and remote components in several environments. The development, use, and integration of remote services (web services) is also very useful.
In accordance with the procedure laid down in specific standards of FEUP, characterisation of Dissertation is as follows:
1. individual Work, research and development leading to the development of a
scientific dissertation about a desktop theme, or knowledge of the course towards
integration and application to solving complex problems of engineering knowledge,
skills and attitudes acquired along the course.
2. it may be a work of research or technological development and implementation,
involving experimental media and/or simulation, which promotes the development of
capacity for initiative, decision-making, innovation, creative thinking and critical, in
the context of individual or group work.
3. should involve the analysis of new situations, the collection of relevant
information, development and selection of design or approach methodologies and
instruments proposed problem resolution, to its resolution, the Office of sin-thesis
and drawing of conclusions, and the preparation of a relevant dissertation subject to
public presentation and discussion of results.
4. Can be carried out in academic or academic and entrepreneurial environment. In
this case the objectives, nature and form of monitoring of the work shall be subject
to prior agreement between the student and the College's guiding and company,
validated by the course Director, ensuring the satisfaction of the scientific and
pedagogical objectives of the curriculum unit, and protect any confidentiality issues
by the host institution/company.
Main aims: The main aim of this course unit is to prepare students to analyse and project interactive components of systems, particularly the user interface. It should be adequately done, considering the short, the medium and the long term.
Aims:
1. To prepare students to analyse interactive systems concerning their quantitative and qualitative parameters.
2. To prepare students to use study, observation and questioning techniques based on the understanding of the conceptual model of system users
3. To prepare students to use a construction process of interactive products based on the design, user assessment, conception, prototyping, validation, construction and maintenance.
The objective of this course is to present, in the form of independent seminars, a wide range of Software Engineering subtopics, which, due to their relevance, in terms of research, innovation or industrial application, allow students to better prepare themselves for the eventual conducting scientific or applied research in a field of Software Engineering.
It is intended