Study programme competencies |
Code
|
Study programme competences
|
A5 |
Coñecemento da estrutura, organización, funcionamento e interconexión dos sistemas informáticos, os fundamentos da súa programación e a súa aplicación para a resolución de problemas propios da enxeñaría. |
A7 |
Capacidade para deseñar, desenvolver, seleccionar e avaliar aplicacións e sistemas informáticos que aseguren a súa fiabilidade, seguranza e calidade, conforme a principios éticos e á lexislación e normativa vixente. |
A8 |
Capacidade para planificar, concibir, despregar e dirixir proxectos, servizos e sistemas informáticos en todos os ámbitos, liderando a súa posta en marcha e a súa mellora continua e valorando o seu impacto económico e social. |
A9 |
Capacidade para comprender a importancia da negociación, os hábitos de traballo efectivos, o liderado e as habilidades de comunicación en todos os contornos de desenvolvemento de sóftware |
A10 |
Capacidade para elaborar o prego de condicións técnicas dunha instalación informática que cumpra os estándares e as normativas vixentes. |
A25 |
Capacidade para desenvolver, manter e avaliar servizos e sistemas sóftware que satisfagan todos os requisitos do usuario e se comporten de forma fiable e eficiente, sexan accesibles de desenvolver e manter, e cumpran normas de calidade, aplicando as teorías, principios, métodos e prácticas da enxeñaría do sóftware. |
A27 |
Capacidade de dar solución a problemas de integración en función das estratexias, estándares e tecnoloxías dispoñibles. |
A28 |
Capacidade de identificar e analizar problemas, e deseñar, desenvolver, implementar, verificar e documentar solucións sóftware sobre a base dun coñecemento adecuado das teorías, modelos e técnicas actuais. |
A29 |
Capacidade de identificar, avaliar e xestionar os riscos potencias asociados que se puideren presentar. |
A33 |
Capacidade de analizar e avaliar arquitecturas de computadores, incluíndo plataformas paralelas e distribuídas, así como desenvolver e optimizar sóftware para elas |
A48 |
Capacidade para participar activamente na especificación, deseño, implementación e mantemento dos sistemas de información e comunicación. |
A53 |
Capacidade para seleccionar, deseñar, despregar, integrar, avaliar, construír, xestionar, explotar e manter as tecnoloxías de hárdware, sóftware e redes dentro dos parámetros de custo e calidade adecuados. |
B1 |
Capacidade de resolución de problemas |
B2 |
Traballo en equipo |
B3 |
Capacidade de análise e síntese |
B4 |
Capacidade para organizar e planificar |
B5 |
Habilidades de xestión da información |
B6 |
Toma de decisións |
B7 |
Preocupación pola calidade |
B8 |
Capacidade de traballar nun equipo interdisciplinar |
B9 |
Capacidade para xerar novas ideas (creatividade) |
C1 |
Expresarse correctamente, tanto de forma oral coma escrita, nas linguas oficiais da comunidade autónoma. |
C2 |
Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro. |
C3 |
Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida. |
C4 |
Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común. |
C6 |
Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse. |
C7 |
Asumir como profesional e cidadán a importancia da aprendizaxe ao longo da vida. |
C8 |
Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade. |
Learning aims |
Subject competencies (Learning outcomes) |
Study programme competences |
Learn Software Engineering concepts and techniques. |
A5
|
|
|
Understand and identify the typical problems of software architectures and their contexts. |
A10 A25 A27 A28 A29 A48
|
B2 B3 B5 B7 B8 B9
|
C1 C2 C4 C6 C7 C8
|
Define and document specifications, models, and architectural components of an application, according to their requirements, so as to favour their maintenance and extensibility. |
A7 A8 A9 A33
|
B1 B2 B3 B4 B5 B6 B7 B8 B9
|
|
Proficient use of modeling languages. |
A28
|
|
|
Use specific tools for defining and building applications. |
|
|
C3
|
Validate the architecture of a system against its requirements. |
A7 A25 A53
|
B7
|
|
Synthesize success stories. |
A7 A25 A29
|
B3 B5
|
C1 C2 C4 C6 C7 C8
|
Contents |
Topic |
Sub-topic |
Concept of software architecture |
Definition of software architecture
Structures and views
- Notation
-- UML
-- IEEE Standard 1471
- Tools
Life and business cycle of software architecture |
Reference models and architectures |
Quality indicators in software architecture
Types of architectures
- Layered architecture
- Architecture repository
- Client/server architecture (service-oriented)
- 'Pipe and filter' architecture (component-based)
- Distributed architectures
-- Master/slave architectures
-- Multilayered client/server architectures
-- P2P architectures
- Other architectures
-- Embedded systems
-- Aspect-oriented systems |
Component design and integration. Architectural patterns |
Design strategies
Architectural Patterns
- Patterns for service access and configuration
- Patterns for event management
- Synchronization Patterns
- Distribution patterns
- Patterns for competitiveness
Reuse
- Legacy and COTS systems
- Integration styles
-- File transfer
-- Data sources sharing
-- Remote procedure invocation
-- Message passing
System reconstruction / re-engineering |
Traceability and integration testing |
Integration process
Verification and integration testing
- Functional tests
- Non-functional tests
Validation and Usability |
Planning |
Methodologies / tests |
Ordinary class hours |
Student’s personal work hours |
Total hours |
Guest lecture / keynote speech |
21 |
21 |
42 |
Document analysis |
0 |
7 |
7 |
Directed discussion |
7.5 |
15 |
22.5 |
Laboratory practice |
15 |
30 |
45 |
Supervised projects |
1.5 |
15 |
16.5 |
Objective test |
3 |
9 |
12 |
|
Personalized attention |
5 |
0 |
5 |
|
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students. |
Methodologies |
Methodologies |
Description |
Guest lecture / keynote speech |
Lectures in which the notions and concepts of the field are presented, using different kinds of resources such as board, slides, or material provided beforehand by the teacher by means of a virtual platform (Moodle). |
Document analysis |
Reading and understanding task for the student, in which they will manage different resources provided or pointed to. Materials will be selected to promote a better understanding of lectures, to generate debate during discussion sessions, or to assist in carrying out practical (un)supervised work. |
Directed discussion |
Constructive debate, led by the teacher but participated by the whole class group, on different issues presented in lectures. The aim of these debates is to deepen the understanding and acquisition of theoretical concepts, and the development of critical and analytical skills. |
Laboratory practice |
Small projects designed so that the students can put in practice the theoretical knowledge as they acquire it. These projects wil be dimensioned to be undertaken by groups of students. The size of these gropus will be determined depending on the number of students enrolled in the course. |
Supervised projects |
Specific report or essays to be developed by students, either in groups or individually. These reports will be presented either at small group sessions or during personalized tutoring sessions. The use of English in its realization and presentation will be specifically taken into account. |
Objective test |
Final examination in which students must prove the knowledge they have acquired. Students are expected to show their skills both on a theoretical level (by answering questions similar to those posed during lectures and discussion sessions), and a practical level (by solving problems and exercises similar to those proposed during lab sessions and small projects). |
Personalized attention |
Methodologies
|
Laboratory practice |
Supervised projects |
|
Description |
The personalized attention to students involvese not only the well-known tutoring sessions, but also the following actions:
- Guidance and monitoring of the work done in the projects/essays/reports and other practices.
- Evaluation of the involvement and participation in discussion sessions. |
|
Assessment |
Methodologies
|
Description
|
Qualification
|
Laboratory practice |
Evaluation of the practices (small projects). Even though these practices are conducted in groups, two components are considered in the assessment of a student's work:
- Assessment of group work, which takes into account the degree of coordination and collaboration among its members.
- Personal assessment, which evaluates the specific contribution of one student to the group.
The aspects that will be considered to evaluate these projects are:
- Accuracy in achieving the objectives using the proposed techniques.
- Understanding of the concepts involved.
- Originality of the proposals.
- Responsibility in delivering the project results in due time, as well as proper use of the established delivery means. |
40 |
Objective test |
Written test divided into two parts: theoretical questions, and modeling of a problem. |
40 |
Supervised projects |
The following aspects will be evaluated:
- Knowledge and understanding of presented contents.
- Knowledge and understanding of the theoretical and practical concepts of the subject involved. |
20 |
|
Assessment comments |
Students will need to show balance in their performance on the final examination and the lab practices (group projects). A balance of at least 50% of the corresponding qualification weight will me required on both aspects.
|
Sources of information |
Basic
|
Clements, Paul [et al.] (2003). Documenting software architectures : views and beyond. Addison-Wesley
Hohpe, Gregor (2004). Enterprise integration patterns designing, building and deploying messaging solutions. Addison-Wesley
Sommerville, Ian (2011). Ingeniería de software. Addison Wesley
Schmidt, Douglas [et al.] (2000). Pattern-oriented software architecture. John Wiley & Sons
Fowler, Martin (2003). Patterns of enterprise application architecture. Addison-Wesley
Bass, Len [et al.] (2003). Software architecture in practice. Addison-Wesley
Braude, Eric J. (2001). Software engineering an object-oriented perspective. John Wiley & Sons |
|
Complementary
|
|
|
Recommendations |
Subjects that it is recommended to have taken before |
Marcos de Desenvolvemento/614G01052 | Validación y Verificación del Software/614G01053 | Ferramentas de Desenvolvemento/614G01054 |
|
Subjects that are recommended to be taken simultaneously |
Enxeñaría de Requisitos/614G01027 | Aseguramento da Calidade/614G01028 |
|
Subjects that continue the syllabus |
Deseño Software/614G01015 | Proceso Software/614G01019 | Internet e sistemas distribuidos/614G01023 |
|
|