Diferència entre revisions de la pàgina «Entorns de desenvolupament»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 83: Línia 83:
  
 
== UF3: Introducció al disseny orientat a objectes ==
 
== UF3: Introducció al disseny orientat a objectes ==
UML: Unified Modelling Language
+
A aquestes alçades del curs ja tenim una certa experiència programant que ens permet ocupar-nos més bé de COM programem.
* [http://ca.wikipedia.org/wiki/Llenguatge_unificat_de_modelat UML a Wikipèdia en català].
 
* [http://en.wikipedia.org/wiki/Unified_Modeling_Language UML a Wikièdia en anglès].
 
  
 +
En la metodologia clàssica d'enginyeria de software (model de cascada) solem trobar la etapa de DISSENY abans de la de codificació, i abans de
 +
# Especificacions: diem què volem programar, quins requisits ha de complir l'aplicació.
 +
# '''Disseny: COM programarem el què hem especificat.'''
 +
# Codificació: escrivim codi.
 +
# Test
 +
# Documentació
 +
# Producció: publicació, distribució de codi/executables, etc.
  
Algunes aplicacions per UML disponibles:
+
Disposem d'algunes eines que ens ajudaran:
* Linux (amb apt-get o yum):
+
* [[Bones pràctiques de programació]]
** umbrello (recomanat)
+
* [[UML: Unified Modelling Language]]
** Dia
 
* Windows:
 
** MS Visual Studio.
 
** MS Visio.
 
** umbrello el trobareu sota KDE on Windows (entre altres programes).
 
** UMLpad.
 
** Dia.
 
 
 
 
 
=== Diagrames UML ===
 
 
 
Descarrega la [[Fitxer:UML_enric.pdf||presentacio sobre diagrames UML]].
 
 
 
* Diagrames ESTRUCTURALS:
 
** Diagrama de classes: [http://en.wikipedia.org/wiki/Class_diagram Wikipedia (en)]
 
** Diagrama de components.
 
** Diagrama de desplegament: [http://en.wikipedia.org/wiki/Deployment_diagram Wikipedia (en)]
 
* Diagrames de COMPORTAMENT (behavioral diagrams):
 
** Casos d'ús [http://en.wikipedia.org/wiki/Use_case Wikipedia (en)]
 
** Diagrama d'estats:
 
*** [http://es.opendomo.org/super-state Exemple alarma].
 
*** [http://iphoneandandroid.blogspot.com.es/2009/11/android-activity-states-and-state.html Android "Activity" states]. Una "Activity" en Android equival a una aplicació.
 
***: Després reviseu el diagrama d'activitat: [http://androideity.com/2011/07/06/ciclo-de-vida-de-una-actividad/ Diagrama d'activitat d'una "activity" d'Android].
 
** Diagrama d'activitat: similar als diagrames de flux.
 
*** [http://en.wikipedia.org/wiki/Activity_diagram Wikipedia (en)]
 
*** [http://androideity.com/2011/07/06/ciclo-de-vida-de-una-actividad/ Diagrama d'activitat d'una "activity" d'Android]. Una "Activity" en Android equival a una aplicació.
 
** Diagrama de seqüència:
 
*** [http://en.wikipedia.org/wiki/Sequence_diagram Wikipèdia]
 
*** [http://www.ibm.com/developerworks/rational/library/3101.html IBM]
 
*** [http://www.cs.umd.edu/~mvz/cmsc435-s09/pdf/cell-phone-sequence-chart.pdf exemple telèfons]
 
 
 
=== Exercicis UML ===
 
# Fes el diagrama de classes per un joc de "Space Invaders" com el de la imatge del final.
 
# Fes el diagrama d'estats pel joc (en joc, home, configuració, ranking, pausa).
 
# Fes els diagrames de seqüència del joc:
 
#* paintEvent (pintar a pantalla): han de figurar tots els objectes "pintables" i els seus moviments
 
#* events de teclat: moure nau esq, dreta i disparar
 
 
 
[[Fitxer:space_invaders_2.gif]]
 

Revisió del 08:25, 18 març 2014

...intro...

UF1: Desenvolupament de programari

Enginyeria de software


Entorns integrats de desenvolupament

IDE : Integrated Development Environment

  • Geany: senzill però amb tot el què es necessita per començar. El pots instal·lar en Windows o en GNU/Linux (Debian) amb:
    # apt-get install geany
  • SublimeText: molt bo per Python (de pagament).
  • Eclipse + Pydev:
  • NetBeans: també originari per Java però que té plugins per diferents llenguatges com PHP o Python.
    Es pot instal·lar a Ubuntu/Debian amb:
    $ sudo apt-get install netbeans


Frameworks

Un framework és una combinació de llibreries (APIs) i bones pràctiques de programació que ens facilita el desenvolupament de programari.

Hi ha nombrosos frameworks per diferents tipus d'aplicacions a les que ens orientem.

Alguns frameworks per Python:

Frameworks per altres llenguatges:

  • PHP: Symphony, YII, ...
  • JavaScript: YUI, jQuery, Dojo, ...


Pyramid framework

Ens permet una gestió del codi eficient, mantenible i escalable. Pots introduir-te amb aquests articles:


UF2: Optimització de programari

Control de versions

Altres


UF3: Introducció al disseny orientat a objectes

A aquestes alçades del curs ja tenim una certa experiència programant que ens permet ocupar-nos més bé de COM programem.

En la metodologia clàssica d'enginyeria de software (model de cascada) solem trobar la etapa de DISSENY abans de la de codificació, i abans de

  1. Especificacions: diem què volem programar, quins requisits ha de complir l'aplicació.
  2. Disseny: COM programarem el què hem especificat.
  3. Codificació: escrivim codi.
  4. Test
  5. Documentació
  6. Producció: publicació, distribució de codi/executables, etc.

Disposem d'algunes eines que ens ajudaran: