Diferència entre revisions de la pàgina «Entorns de desenvolupament»
Salta a la navegació
Salta a la cerca
Línia 2: | Línia 2: | ||
== UF1: Desenvolupament de programari == | == UF1: Desenvolupament de programari == | ||
+ | |||
+ | === Enginyeria de software === | ||
* [[Conceptes generals de programació]]: | * [[Conceptes generals de programació]]: | ||
** Codi font, compilació, codi executable, llenguatges compilats vs interpretats. | ** Codi font, compilació, codi executable, llenguatges compilats vs interpretats. | ||
Línia 10: | Línia 12: | ||
** '''Projecte de software''': | ** '''Projecte de software''': | ||
*** Una guía que s'ajusta a les etapes de la metodologia del software: http://xavier.amatriain.net/PFC/ | *** Una guía que s'ajusta a les etapes de la metodologia del software: http://xavier.amatriain.net/PFC/ | ||
+ | * [[Especificacions: cooperativa de consum]] | ||
+ | |||
+ | === Entorns integrats de desenvolupament === | ||
* '''IDEs (Integrated Development Environment)''' per Python: | * '''IDEs (Integrated Development Environment)''' per Python: | ||
** Geany: senzill però amb tot el què es necessita per començar. El pots instal·lar [http://www.geany.org/Support/RunningOnWindows en Windows] o en GNU/Linux (Debian) amb: <pre>sudo apt-get install geany</pre> | ** Geany: senzill però amb tot el què es necessita per començar. El pots instal·lar [http://www.geany.org/Support/RunningOnWindows en Windows] o en GNU/Linux (Debian) amb: <pre>sudo apt-get install geany</pre> | ||
Línia 16: | Línia 21: | ||
*** [http://www.eclipse.org/ Eclipse] és un IDE fet en Java (i per tant molt adient per aquest llenguatge). | *** [http://www.eclipse.org/ Eclipse] és un IDE fet en Java (i per tant molt adient per aquest llenguatge). | ||
*** [http://www.pydev.org PyDev] és un plug-in per Python en Eclipse. Instal·lació: http://pydev.org/manual_101_install.html | *** [http://www.pydev.org PyDev] és un plug-in per Python en Eclipse. Instal·lació: http://pydev.org/manual_101_install.html | ||
+ | |||
+ | === Frameworks === | ||
* '''Frameworks''' per web en Python: | * '''Frameworks''' per web en Python: | ||
** Pyramid: En aquest curs treballarem Pyramid. Trobaràs el necessri en aquest tutorial. | ** Pyramid: En aquest curs treballarem Pyramid. Trobaràs el necessri en aquest tutorial. | ||
*** [[Python: Pyramid framework]]. | *** [[Python: Pyramid framework]]. | ||
*** [[Pyramid: arquitectura]] | *** [[Pyramid: arquitectura]] | ||
+ | *** [[Pyramid en Google App Engine]] | ||
*** Pyramid Auth: http://docs.pylonsproject.org/projects/pyramid/en/latest/api/authentication.html | *** Pyramid Auth: http://docs.pylonsproject.org/projects/pyramid/en/latest/api/authentication.html | ||
** Django: https://www.djangoproject.com/ | ** Django: https://www.djangoproject.com/ |
Revisió del 08:27, 25 set 2013
...intro...
Contingut
UF1: Desenvolupament de programari
Enginyeria de software
- Conceptes generals de programació:
- Codi font, compilació, codi executable, llenguatges compilats vs interpretats.
- Enginyeria del software:
- Metodologia: anàlisi, especificació, disseny, desenvolupament/implementació, test, desplegament/producció, documentació, manteniment
- Metodologia de l'enginyeria de sofware (Wikipèdia).
- Models de desenvolupament: en cascada, de prototips (desenvolupament ràpid), model en espiral, per etapes, iteratiu, RAD (rapid app. devel.), procés unificat, etc.
- Projecte de software:
- Una guía que s'ajusta a les etapes de la metodologia del software: http://xavier.amatriain.net/PFC/
- Metodologia: anàlisi, especificació, disseny, desenvolupament/implementació, test, desplegament/producció, documentació, manteniment
- Especificacions: cooperativa de consum
Entorns integrats de desenvolupament
- IDEs (Integrated Development Environment) per Python:
- Geany: senzill però amb tot el què es necessita per començar. El pots instal·lar en Windows o en GNU/Linux (Debian) amb:
sudo apt-get install geany
- SublimeText: molt bo per Python (de pagament).
- Eclipse + Pydev:
- Eclipse és un IDE fet en Java (i per tant molt adient per aquest llenguatge).
- PyDev és un plug-in per Python en Eclipse. Instal·lació: http://pydev.org/manual_101_install.html
- Geany: senzill però amb tot el què es necessita per començar. El pots instal·lar en Windows o en GNU/Linux (Debian) amb:
Frameworks
- Frameworks per web en Python:
- Pyramid: En aquest curs treballarem Pyramid. Trobaràs el necessri en aquest tutorial.
- Django: https://www.djangoproject.com/
UF2: Optimització de programari
- Python: depuració (a cacauet).
- Seguirem treballant Pyramid:
Control de versions
- GIT (control de versions)
- Git: comandes: resum de les comandes més habituals.
- http://github.com : feu-vos un compte. Important per l'entrega de projectes.
- Llibre: http://git-scm.com/book/es
- SVN o Subversion
Altres
- Proves (test)
- Documentació:
- Sphinx (per Python i C/C++): http://sphinx.pocoo.org/
- Optimització del codi
- Refacció
- Control d'errors o bugs
UF3: Introducció al disseny orientat a objectes
UML: Unified Modelling Language
Algunes aplicacions per UML disponibles:
- Linux (amb apt-get o yum):
- umbrello (recomanat)
- 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.
- Diagrames ESTRUCTURALS:
- Diagrama de classes: Wikipedia (en)
- Diagrama de components.
- Diagrama de desplegament: Wikipedia (en)
- Diagrames de COMPORTAMENT (behavioral diagrams):
- Casos d'ús Wikipedia (en)
- Diagrama d'estats:
- Exemple alarma.
- Android "Activity" states. Una "Activity" en Android equival a una aplicació.
- Després reviseu el diagrama d'activitat: Diagrama d'activitat d'una "activity" d'Android.
- Diagrama d'activitat: similar als diagrames de flux.
- Wikipedia (en)
- Diagrama d'activitat d'una "activity" d'Android. Una "Activity" en Android equival a una aplicació.
- Diagrama de seqüència:
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