Conceptes Essencials d'Enginyeria del Programari i Desenvolupament

Clasificado en Informática

Escrito el en catalán con un tamaño de 4,83 KB

Requisits de Programari


Requisits Funcionals

  • Glossari
  • Requisits (RN)
  • Diagrames de Cas d'Ús (CDU)
  • Especificacions de Text

Característiques No Funcionals de l'Aplicació

  • Producte: Seguretat, Eficiència
  • Procés: Base de Dades (BD), Llenguatge de Programació

Tipus de Classes en Disseny de Programari


  • Entitat: S'han d'emmagatzemar en fitxers o bases de dades.
  • Frontera: Representen les entrades/sortides (E/S), missatges, presentació de dades, finestres per introduir dades.
  • Control: (Lògica de negoci i coordinació)

Enginyeria del Codi


  • Directa: De models a codi.
  • Inversa: Obtenció d'un model a partir del codi.
  • Refactorització: Millora de l'estil i l'estructura del codi.
  • Reenginyeria: Enginyeria inversa sobre el codi, modificació del model generat, regeneració del codi (útil per a aplicacions ja existents sense model documentat).

Qualitat del Codi i Manteniment


Depuració

La depuració consisteix a corregir errors en el codi.

Optimització

L'optimització utilitza profilers, eines que calculen el temps d'execució de cada part del codi per millorar-ne el rendiment.

Refactorització

La refactorització busca millorar l'estil i l'estructura del codi (per exemple, canviar noms, substituir classes complexes). És especialment útil quan hi ha:

  • Codi duplicat.
  • Classes molt grans.
  • Noms poc intuïtius.
  • Comentaris no estructurats.

Conceptes relacionats inclouen Pair Programming i Egoless Programming.

Gestió de la Configuració de Programari


La gestió de la configuració implica identificar, seguir i emmagatzemar tot el codi i la documentació del programari.

Tipus de Configuració

  • Línia Base: Configuració revisada i acceptada.
  • Versió: Línia base que incorpora canvis a una prèvia.
  • Lliurament (Release): Versió que es lliura al client.

Activitats de Gestió de la Configuració

  • Gestió de les Versions: Inclou el repositori, modificacions en paral·lel i unificació.
  • Integració: Defineix quins elements i quina versió de cadascun formen una configuració.
  • Auditoria: Revisió i verificació de la configuració.

Proves de Programari


Les proves serveixen per comprovar el programari, distingint entre:

  • Validació: Comprova si el programari té totes les funcions requerides.
  • Verificació: Comprova si el programari realitza les funcions correctament.

Tipus de Proves

  • Estàtica: Es revisa el codi sense executar-lo.
  • Dinàmica: S'executa el codi per comprovar-ne el comportament.

Errors Comuns

  • Funcionals
  • Del sistema
  • De lògica
  • D'interfícies
  • De proves

Etapes de les Proves

  1. Unitària
  2. D'integració
  3. De validació
  4. De sistema
  5. D'acceptació
  6. Beta Test
  7. De regressió

Activitats en Totes les Etapes

  • Planificació
  • Realització
  • Revisió
  • Depuració (Debug)

Elements Clau d'un Cas d'Ús


  • Resum de funcionalitat
  • Paràmetres d'entrada
  • Paràmetres de sortida
  • Actors
  • Precondició i Postcondició
  • Procés normal principal
  • Alternatives

Consideracions en el Disseny de Bases de Dades


Aspectes a tenir en compte en el disseny o refactorització de bases de dades:

  • Substituir atributs amb valors múltiples per noves classes.
  • Definir dominis.
  • Assignar IDs (Claus Primàries - PK) a les classes.
  • Gestió de taules sense herència.
  • Gestió de taules amb herència.
  • Substituir atributs referencials per claus foranes (interrelacions).
  • Assignar IDs a les classes que falten.
  • Crear vistes.

Conceptes de Teoria de Cossos Finits


Un element primitiu d'un cos finit F és un element que té ordre #F - 1.

Un polinomi primitiu sobre un cos finit F és un polinomi irreductible f(x) ∈ F[x] tal que la classe de x dins de F[x]/(f(x)) és un element primitiu de F[x]/(f(x)).

Un codi primitiu sobre un cos finit F és un codi que té longitud #F − 1.

Entradas relacionadas: