What are you looking for?
B2_That students know how to apply their knowledge to their job or vocation in a professional way and have the skills they demonstrate by developing and defending arguments and solving problems within their area of study
B4_That students can convey information, ideas, problems and solutions to both specialized and non-specialized audiences
B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy
EFB4_Basic knowledge of the use and programming of computers, operating systems, databases and computer programs with application in engineering
EIS1_Ability to develop, maintain and evaluate software services and systems that meet all user requirements and that behave reliably and efficiently, are affordable to develop and maintain and comply with quality standards, applying theories, principles, methods and software engineering practices
EIS4_Ability to identify and analyze problems and design, develop, implement, verify and document software solutions based on adequate knowledge of current theories, models and techniques
T1_That students know a third language, which will be preferably English, with an adequate level of oral and written form, according to the needs of the graduates in each degree
T2_That students have the ability to work as members of an interdisciplinary team either as one more member, or performing management tasks in order to contribute to developing projects with pragmatism and a sense of responsibility, making commitments taking into account the available resources
The subject d'Software Engineering II, in the third quarter of the second year, is the second of the three subjects called Software Engineering. Its teaching is designed to dedicate 3 ECTS to the theory part and 1 ECTS to practicing the concepts exposed in theory.
This subject will introduce the concept of Software Design Patterns by studying the most used ones and practicing their use in different circumstances.
Another of the topics addressed in this subject will be Testing, making a general introduction, and explaining a specific technique, going into as much depth as necessary to be able to use it.
The recommended requirements for taking this subject are knowledge of the subjects PROGRAMMING FUNDAMENTALS, OBJECT-ORIENTED PROGRAMMING and SOFTWARE ENGINEERING I.
The classroom (physical or virtual) is a safe space, free from sexist, racist, homophobic, transphobic and discriminatory attitudes, whether towards students or teachers. We trust that together we can create a safe space where we can make mistakes and learn without having to suffer the prejudices of others.
Topic 1. Software development process
1.1. The Unified Process
1.2. Software Design
1.3. Case Study
Topic 2. Software tests
2.1. Introduction to software testing
2.2. Testing strategies
2.3. Testing techniques
Topic 3. Software modeling
3.1. Relationships between Use Cases
3.2. Organization of the Domain Model
3.3. Operations contract
3.4. State diagrams and state patterns
3.5. Organization of Packages
Topic 4. Software design patterns
4.1. Requirements and methods
4.2. Concept of Pattern
4.3. GoF patterns (adapter, factory, singleton, strategy, composite, facade and proxy)
With this proposal we will achieve the following contents of the report:
Assessment activities:
EX: The exam grade is 40%, it is retaken, and at least a 5 out of 10 must be obtained in the final or retake exam.
R: Average grade for the challenges completed in theory classes 20%, not recoverable.
P: Average grade for the practices proposed during the quarter 40%, not recoverable.
Final grade:
If the grade obtained in the final or make-up exam is greater than or equal to 5/10, the student's final grade will be:
Final grade = EX · 0.40 + R · 0.20 + P · 0.40
Otherwise, the student will fail the subject and the final grade will be:
Final note = EX
Considerations:
Recovery:
Craig Larman (2003) UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process. (2nd Edition) Prentice Hall, cop. Translation Begoña Moros Valle. ISBN 978 8420534382
Laurent Debrauwer (2018) Design patterns in Java. The 23 design models: descriptions and illustrated solutions in UML2 and Java. (2nd edition). ENI editions. ISBN 9782409016349
Daniel Bolaños Alonso, Almudena Sierra Alonso, Miren Idoia Alarcón Rodríguez (2008) Software tests and JUnit: an in-depth analysis and practical examples. Prentice-Hall Spain. ISBN 9788483223543.
Erich Gamma, et al. (2003) Design patterns: elements of reusable object-oriented software. Addison-Wesley, cop. Translation: César Fernández Acebal. ISBN 9788478290598.
Paloma Cáceres García de Marina, Miguel Ángel Garrido Blázquez, Almudena Sierra Alonso (2019) Specifying Software through Use Cases and Uml. Ramón Areces University Publishing House. ISBN 9788499613420.
Shekhar Gulati, Rahul Sharma (2017) Java Unit Testing with JUnit 5: Test Driven Development with JUnit 5. APress Publishing. ISBN 1484230140.