a) Desenvolupament de software:

  • Concepte de programa informàtic.
  • Codi font, codi objecte i codi executable; màquines virtuals.
  • Tipus de llenguatges de programació.
  • Característiques dels llenguatges més difosos.
  • Fases del desenvolupament d'una aplicació: anàlisi, disseny, codificació, proves, documentació, explotació i manteniment, entre d'altres.
  • Procés d'obtenció de codi executable a partir del codi font; eines implicades.

b) Instal·lació i ús d'entorns de desenvolupament:

  • Funcions d'un entorn de desenvolupament.
  • Eines i assistents.
  • Instal·lació d'un entorn de desenvolupament.
  • Instal·lació i desinstal·lació de mòduls addicionals.
  • Mecanismes d'actualització.
  • Entorns de desenvolupament lliures i comercials més usuals.
  • Ús bàsic d'un entorn de desenvolupament.
  • Edició de programes.
  • Generació d'executables.

c) Disseny i realització de proves:

  • Planificació de Proves.
  • Tipus de proves: funcionals, estructurals, regressió, entre altres.
  • Procediments i casos de prova.
  • Eines de depuració (punts de ruptura, tipus d'execució, examinadors de variables, entre d'altres).
  • Validacions.
  • Proves de codi: cobriment, valors límit, classes d'equivalència, entre d'altres.
  • Normes de qualitat.
  • Proves unitàries; eines.
  • Automatització de proves
  • Documentació de proves.

d) Optimització i documentació:

  • Refactorització. Concepte. Limitacions. Patrons de Refacció més usuals.
  • Analitzadors de codi; ús; configuració. Refacció i proves. Eines d'ajuda a la refactorització.
  • Control de versions. Estructura de les eines de control de versions.
  • Repositori. Eines de control de versions. Clients de control de versions integrats en l'entorn de desenvolupament.
  • Documentació. Ús de comentaris. Alternatives. Documentació de classes.
  • Eines.

e) Elaboració de diagrames de classes:

  • Classes. Atributs, mètodes i visibilitat.
  • Objectes. Instanciación.
  • Relacions. Herència, composició, agregació.
  • Diagrames UML. Diagrames estructurals.
  • Notació dels diagrames de classes.
  • Eines de disseny de diagrames.
  • Generació de codi a partir de diagrames de classes.
  • Generació de diagrames de classes a partir de codi.

f) Elaboració de diagrames de comportament:

  • Tipus. Camp d'aplicació.
  • Diagrames de casos d'ús. Actors, escenari, relació de comunicació.
  • Diagrames de seqüència. Línia de vida d'un objecte, activació, enviament de missatges.
  • Diagrames de col·laboració. Objectes, missatges.
  • Diagrames d'activitats. Activitats, transicions, decisions i combinacions
  • Diagrames d'estat. Estats, esdeveniments, senyals, transicions.

 

 

1. RECONEIXEMENT D'ELEMENTS DEL DESENVOLUPAMENT DE SOFTWARE

1.1. Introducció

1.2. Programes informàtics i aplicacions informàtiques

1.3. Llenguatges de programació

1.4. El procés de traducció / compilació

1.5. Desenvolupament d'una aplicació

Presentación entornos desarrollo.

Los primeros ordenadores y su evolución hacia los mainframes y los terminales.

La aparición del ordenador personal (PC) y el aumento de sus prestaciones.

La aparición de Internet y los entornos Cliente-Servidor.

Los protocolos de telecomunicación (7 niveles): físico, Ethernet, IP, TCP, HTTP

Entorno cliente: lenguajes de marcas (HTML, CSS) y lenguajes de programación (JavaScript)

Entorno servidor: servidor web (HTTP), árbol de directorios (FTP), bases de datos (SQL) y lenguajes de programación (PHP, PERL, JAVA...)

Práctica: instalación de Xampp (Servidor web -Apache-, Servidor Base de Datos -MySQL o MariaDB-)

Hardware vs Software (Definición, Tipos, Características, Diferencias)

  • HW 
  • SW 
    • Software estándar
    • Software a medida

Programa informático vs aplicación informática

  • Programa informático
  • Aplicación informática

Lenguajes de programación

  • Lenguaje de alto nivel: C, C++, PHP, Python, JavaScript (código fuente)
  • Lenguaje de medio nivel: ensamblador (usa mnemotécnicos, debe ser compilado)
  • Lenguaje de bajo nivel: código objeto (se convierte en código ejecutable (.exe) tras ser enlazado con las librerías correspondientes)
  • Lenguajes compilados: C, C++
  • Lenguajes virtuales: Java (al compilar se genera un código intermedio o bytecode, que luego debe ser interpretado en un máquina virtual)
  • Lenguajes interpretados: JavaScript, Java, PHP

Compilador vs intérprete

  • Compilador
  • Intérprete

Código

  • Código fuente (Source code)
  • Código intermedio (bytecode)
  • Ensamblador (assembler)
  • Código objeto
  • Código ejecutable

Fases del desarrollo de una aplicación

  1. Fase inicial
  2. Análisis
  3. Diseño
  4. Codificación
  5. Pruebas
  6. Explotación
  7. Mantenimiento

La documentación

  • Manual de usuario
  • Manual técnico
  • Manual de instalación

Roles o figuras que forman parte del proceso de desarrollo software

  • Arquitecto Software
  • Jefe de Proyecto
  • Analista de Sistemas
  • Analista Programador
  • Programador

Programación estructurada vs Programación Orientada a Objetos

  • Programación estructurada: programas, subprogramas, rutinas, funciones...
  • Programación Orientada a Objetos: objetos, métodos, propiedades, herencias, polimorfismos...

2. AVALUACIÓ D'ENTORNS INTEGRATS DE DESENVOLUPAMENT

2.1. Introducció

2.2. Els primers entorns de desenvolupament

2.3. Entorns de desenvolupament actuals

2.4. Entorns de desenvolupament en línia

2.5. Entorns de desenvolupament lliures i propietaris

2.6. Instal·lació d'un entorn integrat de desenvolupament

2.7. Depurar un programa

2.8. Profiler. Anàlisi d'aplicacions

2.9. Generació automàtica de documentació

2.10. Gestió de mòduls

3. DISSENY I REALITZACIÓ DE PROVES

3.1. Introducció

3.2. Procediments de proves i casos de prova

3.3. Tipus de proves: funcionals, estructurals i regressió

3.4. Proves de caixa blanca

3.5. Proves de caixa negra

3.6. Eines de depuració de codi

3.7. Planificació de proves

3.8. Qualitat del programari

4. OPTIMITZACIÓ I DOCUMENTACIÓ

4.1. Introducció

4.2. Refactorització

4.3. Patrons de disseny

4.4. Control de versions

4.5. Documentació

5. ELABORACIÓ DE DIAGRAMES DE CLASSES

5.1. Introducció

5.2. Notació dels diagrames de classes

5.3. Eines per a l'elaboració de diagrames de classes

6. ELABORACIÓ DE DIAGRAMES DE COMPORTAMENT

6.1. Introducció

6.2. Diagrames de casos d'ús

6.3. Diagrames de seqüència

6.4. Diagrames de col·laboració

6.5. Diagrames d'estats

6.6. Diagrames d'activitats

 

 

  • Exàmen: 60%
  • Pràctiques obligatòries: 40%
  • Actitud, assistència i feina a classe: permet d'arrodonir la nota final a l'alça (+1 punt) o a la baixa (-1 punt).
  • Els treballs entregats fora de plaç puntuen com a màxim amb un 5.

Explicación de los entornos cliente-servidor

Los servidores necesitan habitualmente

  • un servidor web
  • un servidor de Base de Datos SQL

Simulación de entorno cliente-servidor en entorno local.

Instalación del entorno de desarrollo

  • Instalación de Xampp
  • Arranque del servidor web
  • Arranque del servidor de base de datos SQL
  • Elección de Notepad como primer editor

Comunicación con el servidor web:

  • Mediante el navegador web

Contenido web

  • Creación de una página web HTML propia con el editor Notepad
  • Ubicación de la página html en el directorio htdocs
  • Visualización

 Comunicación con la Base de Datos:

  • Mediante navegador web y phpmyadmin
  • Con el terminal SQL llamado popSQL

Contenido Base de Datos SQL

  • Alta usuarios para gestionar la base de datos
  • Creación de la base de datos
  • Creación de tablas
  • Inserción de registros en las tablas

Entorno cliente-servidor real, en Internet

  • Localización del servidor
  • Conexión con el servidor web
  • Conexión con la base de datos
  • Creación de contenido web y publicación en el servidor
  • Creación de contenido en la base de datos y consulta

 

Para crear contenidos web con lenguajes de marcas (html, css) o lenguajes de programación (JavaScript, Java, PHP) es preferible usar editores específicos de código, en lugar del Notepad básico que viene con Windows.

Mira un vídeo que recomiende editores de código adecuados para la época actual.

Clasifica los editores de código en orden de preferencia personal.

Siguiendo la recomendación del profesor, instala dos editores de código, mejóralos con extensiones y comienza a utilizarlos.

  • Crea 5 páginas HTML enlazadas entre sí.
  • Crea una hoja de estilos CSS común a todas ellas.
  • Visualiza el resultado en tu entorno cliente-servidor local
  • Visualiza el resultado en tu entorno cliente-servidor real, en Internet

Check if you have a FTP client in your system. If not, install FileZilla FTP Client.

Go to the real server and, with the user and password provided by your teacher, upload your html and css files to your assigned folder.

View the page on your Internet browser to verify that it works.

As year goes by we will add different pages. The goal is to have a repository if interesting information, kind of an online manual for the subject and reference of the work done in class.

1st term:

  • 5 html + 1 css (index.html + 4 associated html files, all linked to a personal styles.css file).
  • bootstrap3: examples of responsive tables, forms, carousels... applying bootstrap3 classes.
  • bootstrap4: examples of responsive tables, forms, carousels... applying bootstrap4 classes.
  • materialize1: examples of responsive tables, forms, collections, carousels... applying materialize1 classes.

 

Projects: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26

 

 

O487.1T.1d