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
- Unitària
- D'integració
- De validació
- De sistema
- D'acceptació
- Beta Test
- 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.