Go to:
Logótipo
You are here: Start > M.EEC001

Software Design

Code: M.EEC001     Acronym: PSW

Keywords
Classification Keyword
OFICIAL Informatics

Instance: 2023/2024 - 1S Ícone do Moodle

Active? Yes
Responsible unit: Department of Electrical and Computer Engineering
Course/CS Responsible: Master in Electrical and Computer Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M.EEC 164 Syllabus 1 - 6 45,5 162

Teaching Staff - Responsibilities

Teacher Responsibility
Mário Jorge Rodrigues de Sousa

Teaching - Hours

Lectures: 1,50
Laboratory Practice: 2,00
Type Teacher Classes Hour
Lectures Totals 1 1,50
Armando Jorge Miranda de Sousa 0,50
Mário Jorge Rodrigues de Sousa 1,00
Laboratory Practice Totals 7 14,00
Armando Jorge Miranda de Sousa 2,00
Luís Carlos Feliz Santos 4,00
Ricardo Roberto Duarte Marau 4,00
Mário Jorge Rodrigues de Sousa 4,00

Teaching language

Suitable for English-speaking students

Objectives

Within the context of the specification, development and maintenance of software applications with graphical user interfaces (GUI) using client/server or database-driven architectures, this course aims to:

  • Promote the acquisition of software engineering concepts, methods and techniques and enable students to apply them in the design and development of software systems.
  • Equip students with practical skills in the use of software development tools appropriate to the specification and development of the product throughout its life-cycle, including debugging, testing and documentation of the Java programming language code.

Learning outcomes and competences

After completing this course, the student will be able to:


  1. Identify and document the requirements of a Software System using "user stories".

  2. Implement a prototype of the User Interface.

  3. Identify and document additional requirements.

  4. Obtain the conceptual domain model using UML.

  5. Describe the architecture using UML.

  6. Validate the architecture through a prototype.

  7. Modelling the structure of classes using UML.

  8. Modelling the behaviour of objects using UML.

  9. Code and develop an Object-oriented software system.

  10. Unit test the code.

  11. Use a collaborative Application Lifecycle Management (ALM) tool.

  12. Use an integrated development environment (IDE) in software development.

  13. Use a version control system.

  14. Plan, estimate and manage an agile software development process.

Working method

Presencial

Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Knowledge of Programming languages.
Basic notions of database systems (preferably).

Program

- Object-Oriented Programming: syntax, concepts, classes and techniques.
- Advanced OO programming: collections/data structures, generics/templates, GUIs, I/O, Concurrency.
- Unified Modelling Language: modelling concepts; class, state and sequence diagrams. Other diagrams.
- Software Development Processes: concepts, methodologies, phases, practices, tools, artefacts, emerging technologies.

Mandatory literature

Scott W. Ambler; The object primer. ISBN: 978-0-521-54018-6

Complementary Bibliography

F. Mário Martins; Projetos de POO em JAVA. ISBN: 978-972-722-792-1
Richard S. Wiener; An introduction to object-oriented programming and C++. ISBN: 0-201-15413-7

Teaching methods and learning activities

Tutorial lectures (1,5 hours per week) will be used to briefly overview the programmatic topics, providing further studying references to openly discuss matters regarding cross-cutting issues around the application of acquired knowledge by the students. 

In the laboratory classes (2 hours per week), the students will work in teams of three or four people in a software project, as well as in exploring modules regarding specific course topics as means to consolidate the learning outcomes or to tackle specific hurdles from the developing project.

Evaluation Type

Distributed evaluation without final exam

Assessment Components

Designation Weight (%)
Teste 20,00
Trabalho prático ou de projeto 80,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Elaboração de projeto 80,00
Estudo autónomo 36,50
Frequência das aulas 45,50
Total: 162,00

Eligibility for exams

Practical work (PROJ) will be evaluated through the documentation submitted, the application developed and individual performance by each team member.

The theoretical concepts are evaluated through the individual response to two tests (M1 and M2, without consultation).

Minimum required to pass this course: 40%, at least, at all assessment items (PROJ, M1 and M2).

This course, due to its laboratory nature, can not be replaced by taking an exam.

Calculation formula of final grade

Classification = 80% PROJ + 10% M1 + 10% M2

where:

PROJ = Project final grade.
M1 = First test grade.
M2 = Second test grade.

The classification of the practical component (PROJ) may vary from element to element in the same team, based on the opinion of teachers and the self-evaluation to be conducted internally within each team.

Examinations or Special Assignments

Further to the demonstration of the product, an oral session may be required for some of the students.

Special assessment (TE, DA, ...)

Students under special regimes are expected to submit the practical work required for this course as ordinary students.

Students that are not required to be present in the classes, have to present the evolution of their work to the teacher simultaneously with the regular students and conduct the same theoretical tests.

Classification improvement

Improving the classification requires a new enrolment in the course.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2024-06-02 at 23:43:23 | Acceptable Use Policy | Data Protection Policy | Complaint Portal