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 of the third term of the second year, is the second of three subjects called Software Engineering. Its teaching is designed to dedicate 3 ECTS to the theory part and 1 ECTS to practice the concepts exposed to theory.
This course will introduce the concept of Software Design Patterns by studying the most used and practicing their use in different circumstances.
Another of the topics covered in this subject will be Testing, making a general introduction, and explaining some specific techniques by deepening what is necessary to be able to use it.
The recommended requirements for taking this subject are the knowledge of the subjects FUNDAMENTALS OF PROGRAMMING, OBJECT-ORIENTED PROGRAMMING and SOFTWARE ENGINEERING I.
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. Test strategies.
2.3. Test techniques.
Topic 3. Software design patterns
3.1. Requirements and methods.
3.2. Pattern concept.
3.3. GoF patterns (adapter, factory, singelton, strategy, composite, facade and proxy).
Topic 4. Software modeling
4.1. Relationships between Use Cases.
4.2. Domain Model Organization.
4.3. Operations contract.
4.4. State diagrams. Pattern states.
4.5. Package Organization.
With this proposal we will reach the following contents of the report:
Assessment activities:
EX: exam grade 50%, yes it is recoverable, and at least you need to get a 4 in the final or recovery exam.
Q: average rating of short exercise quizzes 10%, is not recoverable.
P: average grade of the internships proposed during the quarter 40%, it is not recoverable
Final grade:
If the grade obtained in the final or make-up exam is greater than or equal to 4, the student's final grade will be:
Final grade = EX · 0.50 + Q · 0.10 + P · 0.40
Otherwise, the student will fail the subject and the final grade will be:
Final note = EX
Considerations:
Recovery:
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
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
Shekhar Gulati, Rahul Sharma (2017) Java Unit Testing with JUnit 5: Test Driven Development with JUnit 5. APress Publishing. ISBN 1484230140.
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.
Erich Gamma, et al. (2003) Design patterns: elements of reusable object-oriented software. Addison-Wesley, cop. Translation: César Fernández Acebal. ISBN 9788478290598.
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.