IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Nom: Anàlisi i disseny d'aplicacions informàtiques
Nom curt: ADAI
Número de mòdul: Mòdul 4
Cicle: DAI Desenvolupament d'Aplicacions Informàtiques
Grau: CFGS
Família Professional: Família d'Informàtica i Comunicacions
Durada: 190h
Currículum: http://www.xtec.es/fp/22/2252c04.htm

Normativa

Plantilla:NormativaDAI

Currículum

Objectius terminals.

  1. Interpretar les fases del cicle de vida d'una aplicació informàtica, la funció de cada una d'elles, les etapes dels projectes de desenvolupament, els recursos necessaris i els terminis de cada etapa per a la seva resolució.
  2. Identificar els recursos del sistema i la informació que se n'ha d'obtenir, amb les seves fonts, destinacions i els processos que cal realitzar-hi.
  3. Diferenciar el treball interactiu del treball en lots.
  4. Reconèixer la informació útil i necessària per a l'anàlisi funcional, a partir de la documentació i de les dades de l'organització o de la situació.
  5. Analitzar les especificacions provinents de l'anàlisi prèvia i els diagrames de blocs, els organigrames i la documentació provinent de l'anàlisi funcional.
  6. Especificar les aplicacions informàtiques necessàries en el sistema.
  7. Descompondre una aplicació informàtica en unitats modulars segons la metodologia establerta i a partir de les especificacions rebudes.
  8. Elaborar les alternatives d'implementació de cada un dels mòduls d'una aplicació.
  9. Determinar els costos i els recursos, per a l'implementació de cadascuna de les alternatives dissenyades.
  10. Crear prototipus funcionals o demostracions de les alternatives dissenyades.
  11. Dissenyar esquemes de diàleg, d'entrades i de sortides per mitjà de diagrames d'estat-succés.
  12. Determinar i descriure els interfícies de presa de dades, els formats de sortida d'informació i els esquemes de diàleg lògic utilitzats per a cada alternativa, segons la metodologia de disseny proposada.
  13. Identificar els orígens i les destinacions dels fluxos d'informació, les condicions d'entrada, de sortida, d'error i el seu tractament, i els processos que s'han de realitzar sobre les dades.
  14. Definir els nivells i les polítiques de seguretat en l'ús de les aplicacions informàtiques.
  15. Definir la seqüència i les condicions de realització d'un pla de proves d'una aplicació informàtica, així com els resultats esperats de les proves de mòduls i de les proves d'integració.
  16. Verificar en el pla de proves que l'accés, la utilització i l'elaboració de les dades, la presentació de la informació i les condicions d'error i el seu tractament s'ajusten al disseny o a les prescripcions definides per l'usuari.
  17. Elaborar la documentació de forma completa i detallada de les diferents fases que intervenen en el disseny i en el pla de proves d'una aplicació informàtica, segons el procediment establert.
  18. Diferenciar les característiques bàsiques i de funcionament de les eines CASE i de les tecnologies tradicionals per al desenvolupament d'aplicacions.
  19. Definir una metodologia de treball i elaborar una anàlisi de dades i de processos amb eines CASE.
  20. Actualitzar el diccionari de dades d'acord amb els procediments establerts a l'eina CASE.

Continguts de fets, conceptes i sistemes conceptuals

Plantilla:DAI C4 CFCSC 1
Plantilla:DAI C4 CFCSC 1.1
Plantilla:DAI C4 CFCSC 1.2
Plantilla:DAI C4 CFCSC 2
Plantilla:DAI C4 CFCSC 2.1
Plantilla:DAI C4 CFCSC 2.2
Plantilla:DAI C4 CFCSC 2.3
Plantilla:DAI C4 CFCSC 2.4
Plantilla:DAI C4 CFCSC 2.5
Plantilla:DAI C4 CFCSC 3
Plantilla:DAI C4 CFCSC 3.1
Plantilla:DAI C4 CFCSC 3.2
  1. Sistemes d'informació:
    1. Concepte. Components. Tipus.
    2. Sistemes d'informació bàsics en l'administració i gestió de l'empresa: magatzem, facturació, nòmina, personal, comptable, comercial i producció; característiques, flux d'informació.
  2. Metodologies de desenvolupament
    1. Cicle de vida d'una aplicació: etapes i característiques bàsiques.
    2. Anàlisi prèvia d'una aplicació informàtica: objectius i fases.
    3. Anàlisi funcional d'una aplicació informàtica: objectius, fases i requeriments d'entrada i de sortida, modelització de dades, anàlisi entitat-relació, modelització de funcions i de processos, diagrames de fluxos de dades.
    4. Anàlisi orgànica d'una aplicació informàtica: algorismes orientats a estructures de dades i/o objectes per a cada mòdul.
    5. Projectes informàtics: etapes, eines i tècniques de gestió de projectes.
  1. 3. Anàlisi i disseny assistit per ordinador:
    1. Eines Case: característiques.
    2. Repositori: estructura i actualització.

Continguts de procediments

  1. Anàlisi prèvia per a la creació o el manteniment d'una aplicació informàtica:
    1. Identificació de les especificacions i dels recursos necessaris.
    2. Determinació de l'àmbit de treball adequat.
    3. Determinació de les possibles solucions.
    4. Formulació d'una solució òptima.
    5. Elaboració de la documentació de l'anàlisi prèvia.
  2. Anàlisi funcional per la creació o manteniment d'una aplicació informàtica:
    1. Concreció dels objectius de l'anàlisi.
    2. Identificació de les fonts d'informació.
    3. Obtenció d'informació.
    4. Interpretació dels fets, de les situacions i de les variables.
    5. Determinació dels processos que cal realitzar segons les dades.
    6. Selecció de la metodologia de treball.
    7. Modelització de funcions i processos.
    8. Modelització de les dades.
    9. Disseny modular.
    10. Disseny d'un pla de proves de l'aplicació.
    11. Elaboració de la documentació de l'anàlisi funcional.
  3. Anàlisi orgànica per la creació o manteniment d'una aplicació informàtica:
    1. Identificació de variables i de processos de tractament de dades.
    2. Formulació d'estratègies adequades.
    3. Adaptació d'estructures algorítmiques estàndards al plantejament de resolució del problema.
    4. Formulació de proves de validació de cada mòdul.
    5. Elaboració de la documentació de l'anàlisi orgànica.

Continguts d'actituds

1. Sistematització del procés de resolució de problemes:

Presa de decisions en les fases d'anàlisi d'una aplicació informàtica.

Argumentació i justificació de les decisions preses en cada una de les etapes d'elaboració d'un projecte de disseny d'una aplicació informàtica.

2. Sistematització en la comprovació de resultats:

Autocorrecció dels errors de desenvolupament i de metodologia observats durant el procés d'anàlisi i de disseny.

3. Sistematització de la comprovació de resultats:

Autocorrecció de les diferents fases del cicle de vida d'una aplicació informàtica.

4. Optimació del treball:

Eficàcia en el seguiment de les diferents fases del cicle de vida d'una aplicació informàtica.

5. Ordre i mètode de treball:

Seqüència i ordenació de les accions a l'hora de desenvolupar aplicacions informàtiques.

Prioritat de les accions que s'han de fer en qualsevol etapa de disseny o d'anàlisi.

Valoració de la importància de l'ús de les metodologies en els processos d'anàlisi i de disseny.

6. Treball en equip:

Coordinació dels diferents grups de treball implicats en el desenvolupament d'un projecte informàtic.

Col·laboració amb els altres membres del grup de treball en què estigui inclòs.

7. Esperit democràtic:

Acceptació de l'altre, de les opinions i dels judicis entre els membres del grup de treball en què estigui inclòs.

8. Execució independent del treball:

Rigor en el seguiment de la planificació del projecte informàtic.

Autonomia en la definició i descripció de l'arquitectura modular.

Argumentació i/o justificació de les decisions preses en les diferents fases de desenvolupament d'aplicacions informàtiques.

9. Confiança en si mateix:

Seguretat a l'hora de desenvolupar les tasques assignades dins del seu grup de treball.

10. Relació interpersonal:

Interès pel missatge i per l'interlocutor a l'hora de rebre el problema que s'ha de resoldre amb tractament informàtic.

Interès per les opinions del personal implicat en el desenvolupament de les aplicacions informàtiques.

11. Creativitat:

Curiositat per esbrinar els problemes que s'han de resoldre amb l'aplicació informàtica.

12. Obertura a l'àmbit professional i a la seva evolució:

Interès pels avenços tecnològics en eines per poder desenvolupar les aplicacions informàtiques.

13. Adaptació a noves situacions:

Resposta a noves situacions en l'ús de la metodologia de desenvolupament d'aplicacions informàtiques adequada.

Constància i esforç per aprendre la utilització de noves eines i metodologies de desenvolupament d'aplicacions informàtiques.


Nou cicle

MP Módulo Profesional: Entornos de Desarrollo

Resultados de aprendizaje y Criterios de evaluación. '

1.Reconoce los elementos y herramientas que intervienen en el desarrollo de un programa informático, analizando sus características y las fases en las que actúan hasta llegar a su puesta en funcionamiento.

Criterios de evaluación:

a)Se ha reconocido la relación de los programas con los componentes del sistema informático: memoria, procesador, periféricos, entre otros. b)Se han identificado las fases de desarrollo de una aplicación informática. c)Se han diferenciado los conceptos de código fuente, objeto y ejecutable. d)Se han reconocido las características de la generación de código intermedio para su ejecución en máquinas virtuales. e)Se han clasificado los lenguajes de programación. f)Se ha evaluado la funcionalidad ofrecida por las herramientas utilizadas en programación.

2.Evalúa entornos integrados de desarrollo analizando sus características para editar código fuente y generar ejecutables.

Criterios de evaluación:

a)Se han instalado entornos de desarrollo, propietarios y libres. b)Se han añadido y eliminado módulos en el entorno de desarrollo. c)Se ha personalizado y automatizado el entorno de desarrollo. d)Se ha configurado el sistema de actualización del entorno de desarrollo. e)Se han generado ejecutables a partir de código fuente de diferentes lenguajes en un mismo entorno de desarrollo. f)Se han generado ejecutables a partir de un mismo código fuente con varios entornos de desarrollo. g)Se han identificado las características comunes y específicas de diversos entornos de desarrollo.

3.Verifica el funcionamiento de programas diseñando y realizando pruebas.

Criterios de evaluación:  

a)Se han identificado los diferentes tipos de pruebas.  b)Se han definido casos de prueba. c)Se han identificado las herramientas de depuración y prueba de aplicaciones ofrecidas por el entorno de desarrollo. d)Se han utilizado herramientas de depuración para definir puntos de ruptura y seguimiento. e)Se han utilizado las herramientas de depuración para examinar y modificar el comportamiento de un programa en tiempo de ejecución. f)Se han efectuado pruebas unitarias de clases y funciones. g)Se han implementado pruebas automáticas. h)Se han documentado las incidencias detectadas.

4.Optimiza código empleando las herramientas disponibles en el entorno de desarrollo.

Criterios de evaluación:

a)Se han identificado los patrones de refactorización más usuales. b)Se han elaborado las pruebas asociadas a la refactorización. c)Se ha revisado el código fuente usando un analizador de código. d)Se han identificado las posibilidades de configuración de un analizador de código. e)Se han aplicado patrones de refactorización con las herramientas que proporciona el entorno de desarrollo. f)Se ha realizado el control de versiones integrado en el entorno de desarrollo. g)Se han utilizado herramientas del entorno de desarrollo para documentar las clases.

5.Genera diagramas de clases valorando su importancia en el desarrollo de aplicaciones y empleando las herramientas disponibles en el entorno.

Criterios de evaluación:

a)Se han identificado los conceptos básicos de la programación orientada a objetos. b)Se ha instalado el módulo del entorno integrado de desarrollo que permite la utilización de diagramas de clases. c)Se han identificado las herramientas para la elaboración de diagramas de clases. d)Se ha interpretado el significado de diagramas de clases. e)Se han trazado diagramas de clases a partir de las especificaciones de las mismas. f)Se ha generado código a partir de un diagrama de clases. g)Se ha generado un diagrama de clases mediante ingeniería inversa.

6.Genera diagramas de comportamiento valorando su importancia en el desarrollo de aplicaciones y empleando las herramientas disponibles en el entorno.

Criterios de evaluación:

a)Se han identificado los distintos tipos de diagramas de comportamiento. b)Se ha reconocido el significado de los diagramas de casos de uso. c)Se han interpretado diagramas de interacción. d)Se han elaborado diagramas de interacción sencillos. e)Se ha interpretado el significado de diagramas de actividades. f)Se han elaborado diagramas de actividades sencillos. g)Se han interpretado diagramas de estados.  h)Se han planteado diagramas de estados sencillos.

Duración: 50 horas.

Contenidos básicos.

Desarrollo de software. Concepto de programa informático Código fuente, código objeto y código ejecutable; máquinas virtuales. Tipos de lenguajes de programación. Características de los lenguajes más difundidos. Fases del desarrollo de una aplicación: análisis, diseño, codificación, pruebas, documentación, explotación y mantenimiento, entre otras. Proceso de obtención de código ejecutable a partir del código fuente; herramientas implicadas.   Instalación y uso de entornos de desarrollo. Funciones de un entorno de desarrollo. Instalación de un entorno de desarrollo. Uso básico de un entorno de desarrollo: Edición de programas. Generación de ejecutables.   Diseño y realización de pruebas. Planificación de Pruebas. Tipos de pruebas: funcionales, estructurales, regresión…. Procedimientos y casos de prueba. Pruebas de código: cubrimiento, valores límite, clases de equivalencia,…  Pruebas unitarias; herramientas.   Optimización y documentación. Refactorización. Concepto. Limitaciones. Patrones de refactorización más usuales. Refactorización y pruebas. Herramientas de ayuda a la refactorización. Control de versiones. Estructura de las herramientas de control de versiones. Repositorio. Herramientas de control de versiones. Documentación. Uso de comentarios. Alternativas.   Elaboración de diagramas de clases. Clases. Atributos, métodos y visibilidad Objetos. Instanciación. Relaciones. Herencia, composición, agregación. Notación de los diagramas de clases.   Elaboración de diagramas  de comportamiento. Tipos. Campo de aplicación Diagramas de casos de uso. Actores, escenario, relación de comunicación. Diagramas de secuencia. Línea de vida de un objeto, activación, envío de mensajes Diagramas de colaboración. Objetos, mensajes.

Orientaciones pedagógicas.     Este módulo profesional contiene parte de la formación necesaria para desempeñar la función de desarrollador de aplicaciones.   La función de desarrollador de aplicaciones incluye aspectos como:   ­La utilización de las herramientas software disponibles. La elaboración de documentación interna y técnica de la aplicación. ­La elaboración y ejecución de pruebas. La optimización de código.

Las actividades profesionales asociadas a esta función se aplican en el desarrollo de aplicaciones.

La formación del módulo contribuye a alcanzar los objetivos generales d), e), h), i), j) y r) del ciclo formativo y las competencias profesionales, personales y sociales d), f), h), i), j), r), t), v) y w) del título.

Las líneas de actuación en el proceso de enseñanza-aprendizaje que permiten alcanzar los objetivos del módulo están relacionados con:

La interpretación de documentación técnica. La instalación, configuración y personalización de diversos entornos de desarrollo. La utilización de distintos entornos de desarrollo para la edición y prueba de aplicaciones. La utilización de herramientas de depuración, optimización y documentación de aplicaciones. La generación de diagramas técnicos. ­La elaboración de documentación interna de la aplicación.

Programació

7 hores setmanals amb crèdit de síntesi al final.

Materials

2n trimestre:

Exemple de projecte:

Brainstorming

  • Repositoris de control de versions: CVS/Subversion
  • Eines de gestió de projectes: Passar de la visió clàssica:
    • Launchpad
    • Sourceforge
    • TRAC
    • Bazaar Una alternativa a SVN i CVS de launchpad?
    • GNU Savannah
    • Bugzilla
  • ERP:
    • OpenERP
    • OpenBravo

RCS: Revision Control Software: Va més enllà de CVS i SUBVERSION:

Extreme Programming (XP) Agil metodology Test Driven


L'escola com a empresa? podem intentar durant el curs dissenyar un programari per a la gestió de l'escola?

Per mirar:

Paraules clau

Enllaços externs