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

De Cacauet Wiki
Salta a la navegació Salta a la cerca
 
(Hi ha 3 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
...intro...
+
<nowiki>#FpInfor #DawMp05 #DamMp05
 +
#DawMp05Uf01 #DawMp05Uf02 #DawMp05Uf03
 +
#DamMp05Uf01 #DamMp05Uf02 #DamMp05Uf03
 +
</nowiki>
  
 
== UF1: Desenvolupament de programari ==
 
== UF1: Desenvolupament de programari ==
Línia 44: Línia 47:
  
 
Alguns ''frameworks'' per Python:
 
Alguns ''frameworks'' per Python:
* '''Pyramid''': El que treballarem aquest curs. Trobaràs el necessri en aquest tutorial.
+
* '''Django''':
* '''Django''': https://www.djangoproject.com/
+
** https://www.djangoproject.com/
 +
** https://infla.cat/wiki/Django_web_framework
 
* '''web2py:''': http://www.web2py.com/
 
* '''web2py:''': http://www.web2py.com/
 +
* '''Pyramid''': Derivat de Pylons i repoze
  
 
Frameworks per altres llenguatges:
 
Frameworks per altres llenguatges:
Línia 56: Línia 61:
 
Ens permet una gestió del codi eficient, mantenible i escalable. Pots introduir-te amb aquests articles:
 
Ens permet una gestió del codi eficient, mantenible i escalable. Pots introduir-te amb aquests articles:
 
* [[Pyramid en Google App Engine]]. Començem amb Pyramid per GAE. Seguint aquest tutorial podreu crear el projecte amb l'entorn [[Buildout]].
 
* [[Pyramid en Google App Engine]]. Començem amb Pyramid per GAE. Seguint aquest tutorial podreu crear el projecte amb l'entorn [[Buildout]].
* '''Descarregueu A TOTA XUFA amb el [[PyPI mirror]] del departament.'''
 
 
* [[Python: Pyramid framework]].
 
* [[Python: Pyramid framework]].
 
* [[Pyramid: arquitectura]]
 
* [[Pyramid: arquitectura]]
Línia 68: Línia 72:
  
 
* [[Python: depuració]] (a cacauet).
 
* [[Python: depuració]] (a cacauet).
* Seguirem treballant Pyramid:
+
* [[Unit Tests en Python]]
** [[Python: Pyramid framework]].
 
** [[Pyramid: arquitectura]].
 
  
 
=== Control de versions ===
 
=== Control de versions ===
Línia 78: Línia 80:
  
 
=== Altres ===
 
=== Altres ===
* Proves (test)
 
* Documentació:
 
** Sphinx (per Python i C/C++): http://sphinx.pocoo.org/
 
 
* Optimització del codi
 
* Optimització del codi
 
* Refacció
 
* Refacció
 
* Control d'errors o ''bugs''
 
* Control d'errors o ''bugs''
 
** http://www.bugzilla.org
 
** http://www.bugzilla.org
 +
* Seguirem treballant Pyramid:
 +
** [[Python: Pyramid framework]].
 +
** [[Pyramid: arquitectura]].
  
 
<br>
 
<br>

Revisió de 08:17, 25 jul 2018

#FpInfor #DawMp05 #DamMp05 #DawMp05Uf01 #DawMp05Uf02 #DawMp05Uf03 #DamMp05Uf01 #DamMp05Uf02 #DamMp05Uf03

UF1: Desenvolupament de programari[modifica]

Enginyeria de software[modifica]



Entorns integrats de desenvolupament[modifica]

IDE : Integrated Development Environment

  • PyCharm: segurament el millor IDE per Python i Django.
  • 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[modifica]

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[modifica]

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


UF2: Optimització de programari[modifica]

Control de versions[modifica]

Altres[modifica]


UF3: Introducció al disseny orientat a objectes[modifica]

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ó:

  1. Anàlisi/Especificació: 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.
  7. Manteniment


El disseny ens permetrà:

  • Anticipar dificultats i solucions.
  • Avaluar complexitat, útil per pressupostar projectes.
  • Triar tecnologia adient (llenguatge, framework, compilador, recursos, hosting, hardware, etc.)
  • Identificar parts del projecte:
    • Establir etapes del desenvolupament i entregues (milestones o "fites").
    • Dividir tasques en equip de treball.
      Sol arribo més ràpid. Junts arribem més lluny.


Disposem d'algunes eines que ens ajudaran: