Software Engineering II26215
- Centre
- Faculty of Informatics
- Degree
- Bachelor's Degree in Informatics Engineering
- Academic course
- 2024/25
- Academic year
- X
- No. of credits
- 6
- Languages
- Spanish
- Basque
- Code
- 26215
TeachingToggle Navigation
Teaching guideToggle Navigation
Description and Contextualization of the SubjectToggle Navigation
PLEASE NOTE THAT THIS SUBJECT IS TAUGHT ONLY IN SPANISH/BASQUE
This subject shares the name with the specialty: "Software Engineering". It is one of the 8 compulsory subjects of the same specialty and is taught in the first semester.
The main objective is to delve into the design, implementation and testing of applications already covered in the mandatory second-year subject "Software Engineering I". Therefore, it is highly recommended to have previously taken the second year subject "Software Engineering".
In the previous subject, the development of a distributed application was undertaken by applying the unified software development process and SCRUM, and technologies that could be considered basic were used.
In this subject, the development of a project will also be undertaken, emphasizing aspects related to software testing, design and maintenance. From the implementation point of view, more complex and powerful technologies based on frameworks will be used, which allow building web applications using the Model-View-Controller pattern.
Skills/Learning outcomes of the subjectToggle Navigation
Once the subject has been passed, the student must have acquired certain subject-specific skills related to systematic test management, software maintenance, quality software design applying design patterns and implementation using frameworks. There are four expected learning outcomes:
* Know the existence of testing methodologies to face the enormous complexity that management in a computer project can achieve.
* Experience the need to apply a methodology for the maintenance of a computer project. In the life cycle of a software project, 80% constitutes the maintenance phase.
* Understand the need to use design patterns in software development. A pattern is a general solution to a particular problem. The more complex the applications are, the use of patterns will facilitate the development of quality software.
* Know how to address the difficulties of a correct interpretation of the design specification of a computer system and its translation into correct development.
Theoretical and practical contentToggle Navigation
TOPIC 1: Software testing
1.1- Test design
1.2.- Test implementation
TOPIC 2: Software maintenance
2.1.- Types of maintenance
2.2.- Refactoring
TOPIC 3: Advanced design
3.1.- SOLID principles of object orientation
3.2.- Design patterns
TOPIC 4: Frameworks
4.1.- JSF: building web applications using the MVC pattern
4.2.- Hibernate: an object-relational mapping tool
MethodologyToggle Navigation
The development of a project will be the driving activity of the subject. During part of the subject, the project-based learning methodology will be used. In some classes, the minimum theoretical contents to undertake the project will be taught, several laboratories will be carried out, classroom practices will be carried out, and different exercises will be proposed, always focused on the development of the project. Finally, the projects must be defended.
Assessment systemsToggle Navigation
- Continuous Assessment System
- Final Assessment System
- Tools and qualification percentages:
- Realization of Practical Work (exercises, cases or problems) (%): 60
- Individual works (%): 40
Ordinary Call: Orientations and DisclaimerToggle Navigation
During the ordinary call, you can choose between the continuous evaluation method or the final evaluation. By default, the student is framed within the continuous evaluation method. However, before week 9 from the beginning of the subject you can waive continuous evaluation by submitting a letter to the teacher responsible for the subject. By that date, at least 60% of the subject will have been evaluated. Below is the weighting of the activities to be carried out according to the type of evaluation:
OVERALL EVALUATION
%70 Final exam
%30 Development and defense of a project
- The development of the project is a necessary condition to pass the subject. The project will be available from the first week of the start of the course. The delivery of the project will take place at the end of the 15th week of classes, at the end of the school period. It is recommended that the student contact the teacher before November 1 to track the progress of the project. To pass the subject you will have to individually pass both the project and the exam.
CONTINUOUS ASSESSMENT
The weight in the evaluation of topic 1 will be 30%, that of topic 2 10%, that of topic 3 20% and that of topic 4 40%. Throughout these topics, a project will be developed and a series of individual works and practices will be carried out. It is necessary to obtain at least 30% in all evaluable activities to remain in continuous evaluation and obtain at least 50% in the sum of all of them to pass the subject.
Students have up to one month before the end date of the teaching period for the subject to waive continuous evaluation by submitting a letter to the teacher responsible for the subject.
Extraordinary Call: Orientations and DisclaimerToggle Navigation
The evaluation of the extraordinary call will be carried out in the following way:
%70 Final exam
%30 Development and defense of a project
The development of the project is a necessary condition to pass the subject. The project will be available from the ninth week of the start of the course. The delivery of the project will take place a maximum of one week before the exam. It is recommended that the student contact the teacher before April 1 to track the progress of the project.
To pass the subject you will have to individually pass both the project and the exam.
Compulsory materialsToggle Navigation
The material available in the virtual classroom (eGela) of the subject.
BibliographyToggle Navigation
Basic bibliography
General book on Software Engineering
Software engineering. A practical approach. Roger S. Pressman. MacGraw-Hill, 2001. 7th Edition.McGraw-Hill. This book, whose first edition dates back to no less than 1982, has been reinvented over the years and remains a fundamental reference. Its coverage is much broader than the subject syllabus, so it is recommended only as reference reading. The 7th edition is from 2010, and is available in English and Spanish.
Book about tests
JUnit in action second Edition. P. Tahchiev, F. Leme, V. Massol, G. Gregory. Manning Pres. 2011. This book presents the JUnit testing framework. It is accompanied by an example of its use, as well as its use in different contexts.
Maintenance book
Refactoring: Improving the Design of Existing Code. Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts. Addison-Wesley. 2000. This book is a classic in the area of software maintenance. Describes a taxonomy of refactoring patterns and what their solutions are.
Books on advanced design
Head First Design Patterns. E. Freeman, E. Robson, B. Bates, K. Sierra. O'Reilly 2000. From my point of view the best book on design patterns. On the Amazon website, they give it the highest rating (5*) with more than 20 evaluations. A reference book without a doubt.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice Hall. This text is structured as a software project, in the form of iterations. It contains very intuitive explanations and its chapters, sections and sections are clear and brief.
Books on Implementation:
Listed below are the books that we consider most relevant for each of the technologies used in the subject:
Professional Java Development with the Spring Framework. R. Johnson, J. Hoeller, A. Arendsen, T. Risberg, C. Sampaleanu. Wrox 2005.
POJOs in Action. Developing Enterprise Applications with Lightweight Frameworks. C. Richardson. Manning 2005.
Java Persistence with Hibernate. Second Edition of Hibernate in Action. C. Bauer, Gavin King. Manning 2006.
Web addresses
GroupsToggle Navigation
16 Teórico (Spanish - Tarde)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 17:00-18:30 (1) | 15:30-17:00 (2) |
Teaching staff
16 Applied laboratory-based groups-1 (Spanish - Tarde)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 14:00-15:30 (1) |
Teaching staff
16 Applied laboratory-based groups-2 (Spanish - Tarde)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 15:30-17:00 (1) |
Teaching staff
31 Teórico (Basque - Mañana)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 12:00-15:30 (1) | 10:30-12:00 (2) |
Teaching staff
31 Applied laboratory-based groups-1 (Basque - Mañana)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 09:00-10:30 (1) |
Teaching staff
31 Applied laboratory-based groups-2 (Basque - Mañana)Show/hide subpages
Weeks | Monday | Tuesday | Wednesday | Thursday | Friday |
---|---|---|---|---|---|
1-15 | 10:30-12:00 (1) |