General information


Subject type: Mandatory

Coordinator: Ana Beatriz Pérez Zapata

Trimester: First term

Credits: 4

Teaching staff: 

Rosa Herrero Antón

Teaching languages


  • Catalan

Skills


Basic skills
  • 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

     

  • B5_That students have developed those learning skills necessary to undertake further studies with a high degree of autonomy

     

Specific skills
  • 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

     

Transversal competences
  • 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

     

Description


The subject d'Software Engineering 1 of the first term of the second year, is the first 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 subject will introduce the concept of Software Engineering, emphasizing the ability of engineers to:

1.- Understand the requirements that reality presents to us.

2 .- "Divide the complexity" that express the requirements captured.

3.- Analyze and correctly model the target system

4.- Start with the first notions of design to implement source code.

 

Contents


Topic 1. Introduction to Software Engineering

1.1 What is software engineering?

1.2 Particular features of the software.

1.3 Why do you need to make models?

1.4 Different software processes

1.5 Iterative Software Process.

1.6 UML-based Software Engineering

1.7 UML modeling tools

Topic 2. Software specification and requirements

2.1 Application specification and scope.

2.2 Definition, qualities and types of requirements.

2.3 Division of complexity.

2.4 A method for capturing requirements.

2.5 Use cases as an analysis tool

2.6 Study of use cases.

Topic 3. Domain model

3.1 The domain model

3.2 Use cases as part of the domain model.

3.3 Diagram of conceptual structures.

3.4 Classes, associations and attributes.

3.5 Aggregation and composition.

3.6 Associative class.

3.7 Class hierarchy.

3.8 Modeling guides.

Topic 4. Design model

4.1 From the domain model to the design model.

4.2 Behavior model: interaction diagrams.

4.3 Behavior model: sequence diagrams

4.4 Design class diagrams.

4.5 Responsibility Assignment Patterns (GRASP)

Topic 5. Implementation Model

5.1 From design to implementation.

5.2 Coding of classes from the design class diagram.

5.3 Source code quality measures (cyclomatic complexity)

5.4 Deduction of methods from interaction diagrams.

5.5 Container classes

5.6 Order of implementation.

Evaluation system


The final grade will be calculated with the grades of the weighted activities as follows:

  • 60% Exam, a minimum pass grade of 4 or higher is required, YES it can be retaken in the retake exam.
  • 40% Practice, a minimum pass grade of 4 or higher is required, NOT recoverable.

Only those suspended students who have appeared in the regular exam can take the make-up exam.

REFERENCES


Basic

Coad, Peter / Yourdon Edward. Object Oriented Analysis. 2nd. Yourdon Press, 1991. ISBN0-13-629981-4

Larman, Craig. UML and patterns: an introduction to analysis and object oriented design and the unified process. 2nd Prentice Hall, 2003. ISBN9788420534381.

Pressman, Roger S .. Software Engineering: a practical approach. 7. McGraw-Hill, 2010. ISBN 9786071503145.

Booch, Grady. Object Oriented Analysis and Design: with applications. 2nd. Addison Wesley / Diaz de Santos, 1996. ISBN0-201-60122-2.

Complementary

Farley, D. “Modern Software Engineering”. Addison-Wesley Professional, 2021. ISBN 978-0137314911