Enginyeria del programari

  • Jordi Pradel Miquel

     Jordi Pradel Miquel

    Enginyer d'Informàtica per la Universitat Politècnica de Catalunya. Soci fundador i enginyer de programari a Agilogy, professor al Departament d'Enginyeria de Serveis i Sistemes d'Informació de la UPC, consultor dels Estudis d'Informàtica i Multimèdia a la Universitat Oberta de Catalunya i membre del Grup de Recerca d'Enginyeria del Programari per a Sistemes d'Informació de la UPC, on ha publicat diversos articles de recerca en el camp de l'enginyeria del programari i de la seva aplicació a sistemes d'informació.

  • Jose Raya Martos

     Jose Raya Martos

    Enginyer d'Informàtica per la Universitat Politècnica de Catalunya. Compagina la seva activitat com a enginyer de programari a Agilogy (empresa de la qual és soci fundador) amb la de consultor en l'Àrea d'Enginyeria del Programari a la UOC i la de professor a temps parcial al Departament d'Enginyeria de Serveis i Sistemes d'Informació de la UPC. Al llarg dels anys ha treballat en projectes de sectors diversos com el financer, l'Administració pública o les telecomunicacions exercint tasques tècniques i de gestió, la qual cosa li ha donat una àmplia perspectiva sobre el món del desenvolupament de programari i la seva diversitat.

PID_00230152
Tercera edició: febrer 2016
© Jordi Pradel Miquel, Jose Raya Martos
Tots els drets reservats
© d'aquesta edició, FUOC, 2016
Av. Tibidabo, 39-43, 08035 Barcelona
Disseny: Manel Andreu
Realització editorial: Oberta UOC Publishing, SL
Cap part d'aquesta publicació, incloent-hi el disseny general i la coberta, no pot ser copiada, reproduïda, emmagatzemada o transmesa de cap manera ni per cap mitjà, tant si és elèctric com químic, mecànic, òptic, de gravació, de fotocòpia o per altres mètodes, sense l'autorització prèvia per escrit dels titulars del copyright.

Introducció

Aquesta assignatura té com a finalitat introduir la disciplina de l'enginyeria del programari als futurs enginyers de programari. A l'hora de fer-ho, ens hem marcat un objectiu molt clar: trobar l'equilibri respecte a la temàtica tractada entre amplitud i profunditat. Considerem que és fonamental que el futur enginyer de programari tingui un ventall prou ampli de solucions i, al mateix temps, hem volgut explicar els diferents temes amb prou detall per a poder-los aplicar a la pràctica.
El primer mòdul és una introducció en què estudiarem l'enginyeria del programari, la seva història i, a grans trets, com s'organitza un projecte de desenvolupament de programari. També veurem alguns exemples concrets de mètodes de desenvolupament, i també alguns dels estàndards relacionats amb aquesta disciplina.
També aprofitarem aquest primer mòdul per a introduir els diferents tipus de programari i centrar la discussió en un tipus de programari concret: el programari per a sistemes d'informació desenvolupat a mida.
En el segon mòdul presentarem el paradigma de l'orientació a objectes, ja que es tracta del paradigma que es fa servir, de manera majoritària, en el desenvolupament de programari per a sistemes d'informació desenvolupat a mida.
El tercer mòdul el dedicarem a estudiar els requisits: a qui afecta el programari que estem desenvolupant, què n'espera cadascuna d'aquestes parts implicades i com podem gestionar tots aquests interessos per aconseguir que el desenvolupament del programari es consideri un èxit.
Finalment, en el quart mòdul parlarem d'anàlisi amb UML i veurem com crear models del programari que s'ha de desenvolupar que ens permetin entendre millor com serà aquest programari un cop creat i quines característiques tindrà.

Objectius

Els objectius que l'estudiant ha d'assolir en aquesta assignatura són els següents:
  1. Entendre què és l'enginyeria del programari i contextualitzar-la.

  2. Conèixer alguns dels mètodes de desenvolupament més utilitzats.

  3. Entendre els conceptes fonamentals de l'orientació a objectes.

  4. Identificar i seleccionar els requisits d'un producte de programari.

  5. Aprendre a fer servir la notació UML per a documentar models d'anàlisi orientats a objectes.

  6. Aprendre a fer servir els casos d'ús per a fer anàlisi funcional de programari per a sistemes d'informació.

  7. Aprendre a fer modelització del domini mitjançant diagrames de classes UML.

Bibliografia

[SWEBOK]Diversos autors (2004). Software Engineering Body Of Knowledge Guide. IEEE Computer Society.
[LARMAN]Larman, C. (2005). Applying UML and patterns: an introduction to object-oriented analysis and design and iterative development. Prentice Hall.
[COCKBURN]Cockburn, A. (2001). Writing Effective Use CasesAddison-Wesley.
Cohn, M. (2004). User Stories Applied. Addison Wesley.
[EPM5]Wysocki, R. K. (2009). Effective Project Management: Traditional, Agile, Extreme (5a. ed.). Wiley.