XSL Content

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

Distribution of hours by type of teaching
Study typeHours of face-to-face teachingHours of non classroom-based work by the student
Lecture-based4040
Applied laboratory-based groups2035

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

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
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

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

14:00-15:30 (1)

Teaching staff

16 Applied laboratory-based groups-2 (Spanish - Tarde)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

15:30-17:00 (1)

Teaching staff

31 Teórico (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
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

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

09:00-10:30 (1)

Teaching staff

31 Applied laboratory-based groups-2 (Basque - Mañana)Show/hide subpages

Calendar
WeeksMondayTuesdayWednesdayThursdayFriday
1-15

10:30-12:00 (1)

Teaching staff