Teachers
Person in charge
- Ernest Teniente Lopez ( ernest.teniente@upc.edu )
Others
- Claudia Patricia Ayala Martinez ( claudia.ayala@upc.edu )
- Francesc Holly Miró ( francesc.holly@upc.edu )
- Jordi Casanovas Muñoz ( jordi.casanovas@fib.upc.edu )
- José Francisco Crespo Sanjusto ( josefran@fib.upc.edu )
- Manuel Rello Saltor ( manuel.rello@upc.edu )
- Oriol Catasús i Llena
- Pau Duran Manzano ( pau.duran.manzano@upc.edu )
- Sergio Morales Garcia ( sergio.morales@upc.edu )
- Xavier Oriol Hilari ( xavier.oriol@upc.edu )
Weekly hours
Theory
2
Problems
2
Laboratory
0
Guided learning
0
Autonomous learning
6
Competences
Common technical competencies
- CT2.1 - To demonstrate knowledge and capacity to apply the principles, methodologies and life cycles of software engineering.
- CT2.3 - To design, develop, select and evaluate computer applications, systems and services and, at the same time, ensure its reliability, security and quality in function of ethical principles and the current legislation and normative.
- CT2.4 - To demonstrate knowledge and capacity to apply the needed tools for storage, processing and access to the information system, even if they are web-based systems.
- CT3.3 - To be able to find and interpret basic information for evaluating the economic environment of the organization.
- CT5.5 - To use the tools of a software development environment to create and develop applications.
- CT6.1 - To demonstrate knowledge and capacity to manage and maintain computer systems, services and applications.
- CT7.1 - To demonstrate knowledge about metrics of quality and be able to use them.
- CT8.1 - To identify current and emerging technologies and evaluate if they are applicable, to satisfy the users needs.
- CT8.2 - To assume the roles and functions of the project manager and apply, in the organizations field, the techniques for managing the timing, cost, financial aspects, human resources and risk.
- CT8.3 - To demonstrate knowledge and be able to apply appropriate techniques for modelling and analysing different kinds of decisions.
- CT8.4 - To elaborate the list of technical conditions for a computers installation fulfilling all the current standards and normative.
- CT8.5 - To manage and solve problems and conflicts using the capacity to generate alternatives or future scenarios analysed properly, integrating the uncertainty aspects and the multiple objectives to consider.
- CT8.6 - To demonstrate the comprehension of the importance of the negotiation, effective working habits, leadership and communication skills in all the software development environments.
- CT8.7 - To control project versions and configurations.
Effective oral and written communication
- G4.2 - To use strategies to prepare and perform oral presentations and write texts and documents with a coherent content, adequate structure and style and a good orthographic and grammatical level. To perform an oral presentation in front of a limited audience. To choose properly the contents, style, timing and format of the presentation. To be capable of communicating effectively with the user in a non-technical language, and understand its needs.
Objectives
-
Students should be able to provide an overview of the software engineering process
Related competences: CT2.1, CT6.1, CT8.2, CT3.3, -
Students should be able to understand the requirements of a software system and relate these to the different parts of the specifications
Related competences: CT8.3, CT8.6, CT8.5, CT3.3, -
Students should be able to write specifications for a UML software system
Related competences: CT8.1, CT8.3, G4.2, CT8.5, CT8.7, CT3.3, CT5.5, CT2.3, -
Students should be able to understand the desirable properties of specifications for a software system.
Related competences: CT7.1, CT8.4, -
Students should be able to analyse the completeness and consistency of the specifications.
Related competences: CT8.1, CT8.3, CT7.1, CT5.5, CT2.3, -
Students should be able to understand the general principles of software architecture and object-oriented design in UML
Related competences: CT8.1, CT8.5, -
Students should be able to understand the logic structure in layers of an information system: presentation, domain and data management layers
Related competences: CT8.1, CT8.3, CT2.4, -
Students should be able to transform a UML model into a design specification
Related competences: G4.2, CT5.5, CT2.4, -
Students should be able to understand the concept of design template and use some of the better known templates.
Related competences: CT2.1, CT8.1, CT8.3, G4.2, CT2.3, -
Students should be able to understand the basic concepts of software testing
Related competences: CT2.1, CT8.3, CT7.1, CT8.4, CT5.5,
Contents
-
Introduction to software engineering
-
Software requirements and software specifications
-
UML use case models
-
UML software system specification
Class diagrams, behaviour diagrams and state diagrams. -
Introduction to software design
-
Object-oriented design with UML
Activities
Activity Evaluation act
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h
Theory
1h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
4h
Theory
4h
Problems
12h
Laboratory
0h
Guided learning
0h
Autonomous learning
23h
Theory
4h
Problems
8h
Laboratory
0h
Guided learning
0h
Autonomous learning
16h
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h
Theory
10h
Problems
10h
Laboratory
0h
Guided learning
0h
Autonomous learning
33h
Teaching methodology
The subject is structured around theory and problem-solving classes.In the theory classes the lecturer will explain the main subject content. Lecturers typically use slides that students should obtain before class.
In problem-solving classes, course content (whether presented in class or studied independently) will be studied by completing problems. This will sometimes require problems to be resolved (or at least attempted) before class, so that the best solutions can be collectively analysed and discussed in class. On other occasions, the problem will be both set and resolved in class.
Evaluation methodology
The final mark will be based on three assessment activities (C1, FHC1, FHC2) issued throughout the course and on participation in course activities. The final mark is calculated as:Final mark = 40% FHC1 + 15% C1 + 40% FHC2 + 5% participation.
taking into account that:
The mark of participation is achieved by delivering at least the 75% of the exercises proposed during the course and by actively participating at class.
Final Mark = NP if the student does not show to FHC2 and his/her mark according to the previous formula is <4.
There is no final exam.
In addition to a subject mark, a generic competency mark will be awarded with the score A (excellent), B (good), C (satisfactory) , D (fail) or NA (Not evaluated).
Bibliography
Basic
-
Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development
- Larman, C,
Prentice Hall PTR,
2005.
ISBN: 0131489062
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002842069706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Software engineering: a practitioner's approach
- Pressman, R.S.; Maxim, B.R,
McGraw Hill Higher Education,
2020.
ISBN: 9781260548006
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193559706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
The unified modeling language reference manual
- Rumbaugh, J.; Jacobson, I.; Booch, G,
Addison-Wesley,
2005.
ISBN: 0321245628
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002895869706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Transparències d'Introducció a l'Enginyeria del Software
- Professorat d'IES,
-
Exercicis i exercicis resolts d'Introducció a l'Enginyeria del Software
- Professorat d'IES,
Complementary
-
Conceptual modeling of information systems
- Olivé, A,
Springer,
2007.
ISBN: 9783540393894
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003295159706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Design patterns: elements of reusable object-oriented software
- Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J,
Addison-Wesley,
1995.
ISBN: 0201633612
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991001193289706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Testing object-oriented systems: models, patterns, and tools
- Binder, R.V,
Addison-Wesley,
2000.
ISBN: 9780321700674
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003748579706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- El principal seti web dels patrons de disseny. http://hillside.net/patterns/
- El seti web de l'Object Management Group (OMG) http://www.omg.org/
- L'UML a l'Object Management Group http://www.uml.org/