Software Engineering Code:  22.615    :  6
View general information   Description   Prior knowledge   Information prior to enrolment   Learning objectives and results   Content   View the UOC learning resources used in the subject   Additional information on support tools and learning resources   Guidelines on assessment at the UOC   View the assessment model  
This is the course plan for the first semester of the academic year 2024/2025. To check whether the course is being run this semester, go to the Virtual Campus section More UOC / The University / Programmes of study section on Campus. Once teaching starts, you'll be able to find it in the classroom. The course plan may be subject to change.

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software. This approach is adopted in order to achieve the levels of quality, productivity and cost control of the rest of the engineering areas. But software, unlike other products, is intangible and, therefore, its production does not consume raw materials. On the other hand, it is not manufactured (all copies are identical and the cost of creating one is practically zero) nor does it wear out, but it quickly becomes obsolete.

The application of software engineering involves to follow a method that describes the characteristics of the disciplined process that we use. More specifically, this method will tell us what tasks have to be carried out, who has to carry them out (the roles) and what artifacts will be the inputs and the results of each task. Tasks defined by a method can belong to various fields such as project management, requirements identification and management, modeling, software construction, testing, quality management, maintenance or reverse engineering, among others. Each method can define different roles, such as the person responsible for the project, the expert in the domain, the functional analyst, the architect, the team in charge of programming, etc., although there are certain roles that usually appear (maybe with different names) in most of the methods. Finally, software engineering also provides us with a set of techniques and tools that help us put into practice the methods we have chosen to develop our software project.

This course provides an overview of software engineering, with special emphasis on practical contents directly applicable in the future professional work of the students. In addition, the practical activities have an important weight within the time that students must devoted to the course.

Amunt

This course does not presuppose any prior knowledge.

Amunt

This course does not presuppose any prior knowledge of this discipline or of any other course in this Bachelor's Degree.

Amunt

The objectives that the students must acquire in this course are the following:  

  • Being able to explain what software engineering is and contextualize it.  
  • Being able to list some of the most commonly used development methods.  
  • Being able to explain the fundamental concepts of object oriented modeling.  
  • Being able to identify and select the requirements of a software product.  
  • Being  able to use the UML notation to document object-oriented analysis models.
  • Being able to document the functional analysis of a software using use cases.  
  • Being able to do model a domain using UML diagrams.  

These objectives are related to the following competences of the Bachelor's Degree in Techniques for Software Development:  

  • Evaluate software solutions and draw up proposals for development projects, taking into account the resources, the available alternatives and the market conditions.  
  • Understand and use the scientific bases of software development to analyse each problem at the appropriate level of abstraction and apply the skills and knowledge acquired in order to solve them.

Amunt

The teaching material of the course consists of 4 modules:  

  1. Introduction to Software Engineering. It describes what software engineering is, how it is organized and presents some of the methods, techniques, tools and standards that characterize it.  
  2. Object Orientation. It describes what object orientation (OO) is and some of its main characteristics: classification and abstraction; information hiding and encapsulation; and inheritance and polymorphism.  
  3. Requirements. It introduces the concept of requirements and describes how to obtain, manage and document them throughout a software development process.  
  4. UML Analysis. It presents UML as a language to model various aspects (use cases, interface, domain) of a software system.

These contents are studied in relation to various challenges: 

  1. What is software engineering and object orientation? 
  2. What do customers want? 
  3. The language of software engineering
  4. How are the "blueprints" of a software system?

Amunt

UML Class diagrams. Problem collection PDF
UML Activity diagrams. Problem collection PDF
Basic associations Audiovisual
Advanced associations Audiovisual
Integrity rules, derivated information and new types of data Audiovisual
Attributes Audiovisual
Association classes Audiovisual
Developing a UML class diagram Audiovisual
Classes and objects Audiovisual
Inheritances Audiovisual
UML use case diagram step by step Audiovisual
UML activity diagram step by step Audiovisual

Amunt

In the classroom, you will find the necessary resources to carry out each of the proposed activities. 

To carry out some of the course activities it is advisable to use a modeling tool, which allows to represent UML diagrams. There are currently many modeling tools available on the market (both free and proprietary), as you can see in the following list: https://en.wikipedia.org/wiki/List_of_Unified_Modeling_Language_tools 

We suggest the use of free tools such as VisualParadigm or diagrams.net , although you can choose any other (or even make freehand diagrams). In any case, the course instructor do not offer technical support on use of these tools.

Amunt

Assessment at the UOC is, in general, online, structured around the continuous assessment activities, the final assessment tests and exams, and the programme's final project.

Assessment activities and tests can be written texts and/or video recordings, use random questions, and synchronous or asynchronous oral tests, etc., as decided by each teaching team. The final project marks the end of the learning process and consists of an original and tutored piece of work to demonstrate that students have acquired the competencies worked on during the programme.

To verify students' identity and authorship in the assessment tests, the UOC reserves the right to use identity recognition and plagiarism detection systems. For these purposes, the UOC may make video recordings or use supervision methods or techniques while students carry out any of their academic activities.

The UOC may also require students to use electronic devices (microphones, webcams or other tools) or specific software during assessments. It is the student's responsibility to ensure that these devices work properly.

The assessment process is based on students' individual efforts, and the assumption that the student is the author of the work submitted for academic activities and that this work is original. The UOC's website on academic integrity and plagiarism has more information on this.

Submitting work that is not one's own or not original for assessment tests; copying or plagiarism; impersonation; accepting or obtaining any assignments, whether for compensation or otherwise; collaboration, cover-up or encouragement to copy; and using materials, software or devices not authorized in the course plan or instructions for the activity, including artificial intelligence and machine translation, among others, are examples of misconduct in assessments that may have serious academic and disciplinary consequences.

If students are found to be engaging in any such misconduct, they may receive a Fail (D/0) for the graded activities in the course plan (including final tests) or for the final grade for the course. This could be because they have used unauthorized materials, software or devices (such as artificial intelligence when it is not permitted, social media or internet search engines) during the tests; copied fragments of text from an external source (the internet, notes, books, articles, other students' work or tests, etc.) without the corresponding citation; purchased or sold assignments, or undertaken any other form of misconduct.

Likewise and in accordance with the UOC's academic regulations, misconduct during assessment may also be grounds for disciplinary proceedings and, where appropriate, the corresponding disciplinary measures, as established in the regulations governing the UOC community (Normativa de convivència).

In its assessment process, the UOC reserves the right to:

  • Ask students to provide proof of their identity as established in the UOC's academic regulations.
  • Ask students to prove the authorship of their work throughout the assessment process, in both continuous and final assessments, through a synchronous oral interview, of which a video recording or any other type of recording established by the UOC may be made. These methods seek to ensure verification of the student's identity, and their knowledge and competencies. If it is not possible to ensure the student's authorship, they may receive a D grade in the case of continuous assessment or a Fail grade in the case of the final assessment.

Artificial intelligence in assessments

The UOC understands the value and potential of artificial intelligence (AI) in education, but it also understands the risks involved if it is not used ethically, critically and responsibly. So, in each assessment activity, students will be told which AI tools and resources can be used and under what conditions. In turn, students must agree to follow the guidelines set by the UOC when it comes to completing the assessment activities and citing the tools used. Specifically, they must identify any texts or images generated by AI systems and they must not present them as their own work.

In terms of using AI, or not, to complete an activity, the instructions for assessment activities indicate the restrictions on the use of these tools. Bear in mind that using them inappropriately, such as using them in activities where they are not allowed or not citing them in activities where they are, may be considered misconduct. If in doubt, we recommend getting in touch with the course instructor and asking them before you submit your work.

Amunt

In order to pass the course, you must pass the continuous assessment and take an exam.

Your final mark for the course will be calculated as follows:

  • If you pass the continuous assessment and get the required minimum mark in the exam, your final mark will be based on the weightings specified in the course plan.
  • If you pass the continuous assessment but don't get the required minimum mark in the exam, your final mark will be your numerical mark from the exam.
  • If you pass the continuous assessment and don't sit the exam, you'll get a final mark of Fail (3).
  • If you don't pass the continuous assessment, your final mark will be the mark you received in the continuous assessment.
  • If you don't take part in the continuous assessment, you'll receive a final mark of Absent.

 

Amunt