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
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 1, in the first quarter of the second year, is the first of the three subjects called Software Engineering. Its teaching is designed to dedicate 3 ECTS to the theory part and 1 ECTS to practicing the concepts exposed in theory.
This subject will introduce the concept of Software Engineering, emphasizing the ability of engineers to:
1.- Understand the requirements that reality presents us.
2.- Understand the difference between the global system and the software system
3.- Analyze and correctly model the target system
4.- Start with the first notions of design to implement source code.
The classroom (physical or virtual) is a safe space, free of sexist, racist, homophobic, transphobic and discriminatory attitudes, either towards students or towards teachers. We trust that together we can create a safe space where we can make mistakes and learn without having to suffer prejudice from others.
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 Requirements gathering strategies
2.4 Use cases
Topic 3. Domain model
3.1 The domain model
3.2 Specification class diagram
3.3 Classes, associations and attributes.
3.4 Aggregation and composition.
3.5 Associative class.
3.6 Class hierarchy.
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)
The final grade will be calculated with the grades of the weighted activities as follows:
Only those suspended students who have appeared in the regular exam can take the make-up exam.
So, if the internships are approved, the final grade for the subject will be calculated as follows:
If exam grade >= 5: Final grade = 60% EX + 40% PRA
If exam score < 5: Final grade = EX
After recovery (with approved practices):
If retake exam score >= 5: Final grade = 60% EX retake + 40% PRA
If retake exam score < 5: Final score = EX retake
If the internship is not approved, Final grade = PRA
Note on plagiarism and the use of generative AI
The use of generative artificial intelligences (IAGs) must be limited to those aspects that are not fundamental in the context of the subject. It can be used, critically, as a mechanism to resolve doubts about the subject and/or to improve the writing of deliverable documents and/or as a tool for generating ideas. In both the second (writing improvement) and the third case (idea generation) it will be necessary to explain in the document how it has been used and link the conversations that have taken place. IAGs may not be used to generate any type of content (diagrams, requirements specifications, use cases, etc.), not even in the form of fragments, when this content is within the scope of the subject topics and/or has an evaluable nature. In the face of doubts regarding the legitimacy or not of the use of IAGs, it is necessary to contact, a priori, the teaching staff of the subject.
Larman, Craig. Applying UML and patterns: an introduction to analysis and object oriented design and the unified process. 3rd edition. Prentice Hall, 2005. ISBN9788420534381.
Booch, Grady. Object Oriented Analysis and Design: with applications. 2nd Addison Wesley/Diaz de Santos, 1996. ISBN0-201-60122-2.
Coad, Peter / Yourdon Edward. Object Oriented Analysis. 2nd. Yourdon Press, 1991. ISBN0-13-629981-4
Cockburn, Alistair (2000). Writing Effective Use Cases. Addison Wesley. ISBN 9780201702255.
Farley, D. “Modern Software Engineering”. Addison-Wesley Professional, 2021. ISBN 978-0137314911
Pressman, Roger S .. Software Engineering: a practical approach. 7. McGraw-Hill, 2010. ISBN 9786071503145.
Robertson, Suzanne & Robertson, James (2012). Mastering the Requirements Process 3rd edition. Addison Wesley. ISBN 0321815742