General information


Subject type: Optional

Coordinator: Alfonso Palacios González

Trimester: Third term

Credits: 4

Teaching staff: 

Carles Bonet Papell
Alfonso Palacios González 

Teaching languages


  • Catalan
  • Spanish
  • English

The teaching of this subject is mainly in Catalan. However, some sessions, the bibliography, part of the contents and the tools can be in Spanish or English.

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

  • B4_That students can convey information, ideas, problems and solutions to both specialized and non-specialized audiences

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

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


Looking software development in companies it is very important theuse of a robust, reliable and powerful framework in order tooptimize product development time and reliability.

There are different frameworks on the market and, depending on the type of software you want to develop, it will be more appropriate to choose one or the other. This task of making a good choice of the framework falls on the responsible engineer and hence it is very important to be clear about the concept and state of the art of how the market is.

In this subject we will show you one summary of the different frameworks on the market (state of the art) and theirs main features, advantages and disadvantages.

Later we will focus on the study and use of .NET framework, one of the most widely used in the software development industry and of which there is quite a demand for professionals in the current market.

At the end of the course you will be able to develop a complete management project from the design of the requirements to its implementation by obtaining the skills in order to become a professional of the same.

This subject has methodological and digital resources to make possible its continuity in non-contact mode in the case of being necessary for reasons related to the Covid-19. In this way, the achievement of the same knowledge and skills that are specified in this teaching plan will be ensured.

Learning outcomes


Learning outcomes in the area of ​​software engineering in which the subject collaborates:

  •     (LO1) Appropriately use theories, procedures and tools in the professional development of computer engineering in all its areas (specification, design, implementation, deployment -implantation- and product evaluation) so as to demonstrate an understanding of the commitments made in design decisions.
  •     (LO2) Use the tools of a software development environment to create and develop applications.
  •     (LO3) Control versions and configurations of the project.
  •     (LO4) Evaluate and select hardware and software production platforms for the execution of computer applications and services.
  •     (LO5) Evaluate hardware / software systems according to a certain quality criterion.
  •     (LO6) Identify current and emerging technologies and assess whether they are applicable, and to what extent, to meet the needs of users.
  •     (LO7) Understand and use manuals, product specifications and other technical information effectively written in English.

Working methodology


The subject will be eminently practical.
It will appear in the carrying out a data management project complete web, with all the components that this implies: GUI, MVC, APIS, Database, etc.
This project it will be developed throughout the different sessions or classes in which the teacher will explain and build the solution and the student will have to assimilate and replicate what the teacher is doing in class.
Each of these classes will involve one activity that will be reviewed at the end of it.
In the'beginning of each one of the sessionns will become one small questionnaire of not more than 20 'on the main concepts explained in the previous session.
The series of deliveries distributed throughout the course will result in the final application proposed at the beginning of the course. 

Contents


The contents of the subject are summarized in the following index:

1.- Concept of Frame Work
2.- FrameWorks existing in the market and classification of the same
3.- Introduction a Microsoft ASP.NET Core MVC (.NET 5) 
4.- Architecture of the Framework
5.- Components of an ASP.NET Core MVC solution (Projects, Models, drivers, libraries, configuration files)
6.- Basic and own aspects of the language de C # programming
7.- Concept and use Entity Framework (EF)
8.- Concept of MiddleWare Injection of dependencies.
9.- Creation of data models
10.- Creation of the DBContext by migrating models. 
11.- Databases SQLServer
12.- Creation fast one CRUEL through Razor Pages and Entity FrameWork.
13.- Adaptation and modification of the pages in terms of the GUI.
14.- API Concept and Definition and WEB service
15.- Construction of a API for example
16.- documentation i posting of APIs using swagger


 

Learning activities


The subject presents a series of learning activities within a course project.

They must be carried out, documented and evaluated step by step to achieve the results of the project at the end of the course.

Evaluation system


FOR CONTINUOUS EVALUATION

The subject can be passed by passing the Continuous Assessment:

TO.- Deliveries of tasks and activities defined in class: The realization of all the deliveries of activities defined during the course, that will go realizing in class of joint form with the professor. For each activity, the work prior to the session, the work done in class and the submissions of each activity are evaluated. in 90% of the different class sessions)

B. - Small questionnaires at the beginning of each of the sessions in which questions will be asked about the concepts explained and presented in the previous session.

Final grade of the subject for continuous assessment: 80% (A) + 20% (B) (In order to be eligible for the AC grade, 90% of the indicated works must have been submitted and 90% of the different class sessions must have been attended)

The minimum grade to be able to average is 4 in each of the two blocks.

-------

WITHOUT CONTINUOUS EVALUATION: ACTIVITIES (50%) + EXAM (50%)

If the subject is not passed by continuous assessment or does not reach 90% of the deliveries, the weight of this note (A + B) is only 50% and is not recoverable. The note of the activities (A 0,8 + B 0,2) must also be greater than 4.

The other 50% must be exceeded in an individual test which serves to validate the acquisition of knowledge by the student.

REFERENCES


Basic

Andrew, Troelsen and Philip, Japikse (2017). C # 6.0 and the .NET 4.6 Framework. Apress

Skeet, Jon (2013). C # in Depth Paperback. Manning.

Adam Freeman. Pro ASP.NET MVC 5 - Fifth Edition - Apress