Saltar al contingut Menu
  • Home
  • Information
  • Contact
  • Map

Software Engineering I (ES1)

Credits Dept. Type Requirements
7.5 (6.0 ECTS) ESSI
  • Compulsory for DIE
  • Compulsory for DCSFW
  • Elective for DCSYS
PRED - Precorequisit for DIE , DCSYS
PS - Prerequisite for DCSFW


Person in charge:  (-)

General goals

The main goal of the course is to learn how to specify an information system, using the object-orientation approach and the UML and OCL notation. It is also intended that the student learns the current methods for software development, the concept of testing software at the specification level and that he/she learns some preliminary notions about software design.

Specific goals


  1. Acquire an overview of the Software Engineering process.
  2. Discover which properties are desirable in the specification.
  3. Learn the UML and OCL elements in the specification.
  4. Learn the properties of software architecture, some design patterns and the activity of normalizing the conceptual specification schema.
  5. Learn the most important methodologies for developing software specifications.
  6. Understanding the basic concepts involved in conducting tests and drawing up specifications.


  1. Know how to distinguish the various stages involved in software engineering.
  2. Know how to relate requirements with parts of the specification.
  3. Know how to specify an object-oriented information system in UML and OCL languages, based on given requirements.
  4. Know how to define the class design diagram from the conceptual data schema of the specification.
  5. Know how to design specification tests for a given system.


  1. Ability to create and use models of reality.
  2. Know-how to apply the solution cycle to common scientific and engineering problems: specification, coming with ideas and alternatives, design solution strategies, carrying out the strategy, validation, interpretation and evaluation of results. Ability to analyse the process on completion.
  3. Ability to study various sources, recognise that the information obtained in class is insufficient, and to seek the supplementary information required.
  4. Ability to seek information by oneself.
  5. Initiative: Resolution, knowing how to take decisions and how to act in order to solve a problem.


Estimated time (hours):

T P L Alt Ext. L Stu A. time
Theory Problems Laboratory Other activities External Laboratory Study Additional time

1. Introduction to software engineering.
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 0 0 0 4,0 0 6,0

2. Software requirements (functional and non-functional requirements).
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 0 0 0 6,0 0 8,0

3. UML specification: The conceptual scheme of data
T      P      L      Alt    Ext. L Stu    A. time Total 
6,0 10,0 0 0 0 22,0 0 38,0

4. UML specification: the OCL language
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 4,0 0 0 0 8,0 0 14,0

5. UML specification: Model of Usage Cases
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 2,0 0 0 0 4,0 0 8,0

6. UML specification: Model of Behaviour and Model of States
T      P      L      Alt    Ext. L Stu    A. time Total 
6,0 8,0 0 0 0 20,0 0 34,0

7. Introduction to software design
T      P      L      Alt    Ext. L Stu    A. time Total 
4,0 4,0 0 0 0 8,0 0 16,0
The objective of this topic is to know the properties of the software architecture, some architectural design patterns and the normalization of the specification"s conceptual scheme.

8. Test design from the specification of a software system
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 2,0 0 0 0 6,0 0 10,0

9. Software development methods
T      P      L      Alt    Ext. L Stu    A. time Total 
2,0 0 0 0 0 6,0 0 8,0

Total per kind T      P      L      Alt    Ext. L Stu    A. time Total 
28,0 30,0 0 0 0 84,0 0 142,0
Avaluation additional hours 8,0
Total work hours for student 150,0

Docent Methodolgy

The teaching of the course is based on theory classes and classes of problems.

Teachers present the main contents of the course in the theory classes. Teachers use slides, which students should receive before the classes are held.

The classes of problems put into practice what is learnt during the course (which includes both contents presented in class and those learnt by students in their private study). On occasions, students will be required to either have wholly or partially solved problems before the class. The problem and possible solutions will then be discussed in class. On other occasions, the problem will be solved during the class.

Evaluation Methodgy

During the course each student will take for evaluations (P1, ..., P4) which, together with the class participation, allow passing the course without taking the final exam. The grade of the continuous assessment (AC) is computed according to the following formula:

AC = 15% P1 + 30% P2 + 15% P3 + 30% P4 + 10% participació

To pass the course without final exam it is required that AC>=5 and that at least three of the evaluations P1 to P4 have a grade >=4.

Those students who do not pass with these four evaluations should perform the final exam (EF). Then, the final grade for ES1 is computed according to the following rules:
- If EF<5 i AC>=5, then the final grade = maximum(EF, 4.5)
- Otherwise, final grade = maximum(EF, AC)

If a student has passed with the four evaluations performs also the final exam, then his final grad for ES1 = maximum(EF, AC).

Basic Bibliography

  • Craig Larman Applying UML and patterns : an introduction to object-oriented analysis and design and iterative development, Prentice Hall PTR, 2005.
  • James Rumbaugh, Ivar Jacobson, Grady Booch The Unified modeling language reference manual, Addison-Wesley, 2005.
  • Frank Buschmann, Douglas Schmidt ... [et al.] Pattern-oriented software architecture, Wiley, 1996-2000.
  • Roger S. Pressman Software engineering : a practitioner's approach, McGraw Hill, 2005.

Complementary Bibliography

  • Robert V. Binder Testing object-oriented systems : models, patterns, and tools, Addison-Wesley, 1999.
  • Jacobson, Ivar; Booch, Grady; Rumbaugh, James The Unified Software Development Process, Addison-Wesley, 1999.
  • Tom Pender UML bible, Wiley, 2003.
  • Olivé, Antoni. Conceptual Modeling of Information Systems, Springer, 2007.

Web links



Previous capacities

Students must have sufficient knowledge of data and algorithm structures, and programming when they begin the software engineering course.


logo FIB © Barcelona school of informatics - Contact - RSS
This website uses cookies to offer you the best experience and service. If you continue browsing, it is understood that you accept our cookies policy.
Classic version Mobile version