Agile Technology

Ingenieria de Software

Archive for the 'articles' Category

Exceptions best practices

Ho sentim, aquesta entrada només està disponible en English.

No comments

Diagrames de seqüència UML: Errors més freqüents

Els diagrames de seqüència UML permeten modelar la interacció entre diversos participants que intercanvien missatges per a dur a terme una certa tasca. Un dels usos més habituals d’aquests diagrames és mostrar un escenari de funcionament d’un programari orientat a objectes; en aquest cas, es mostra com un conjunt d’instàncies de programari (objectes del llenguatge de programació triat) interactuen quan una d’elles rep una invocació d’una operació.

Read more

No comments

Disseny de bases de dades: Value Object i Embedded Value

En aquest petit article vull comentar què hem de fer a l’hora de dissenyar una base de dades quan ens trobem un Value Object, una classe d’objectes amb semàntica de valor i no d’objecte. Fowler, a [FOW], documenta aquest patró (que revisaré) i documenta un patró per a tractar-lo en fer el disseny de la base de dades: Embedded Value. Read more

No comments

Disseny de bases de dades: Claus primàries

En un post anterior vaig posar un esquema sobre disseny de bases de dades a partir del model conceptual de l’anàlisi. En aquell post s’hi mencionen un patró en el que voldria aprofundir: Surrogate o Substitut.

Read more

No comments

Quan evitar l’acoblament

“Acoblament baix” és un dels principis de disseny de software més àmpliament acceptats (de fet, no crec que poguem trobar cap referència enlloc on algú indiqui que és bó mantenir l’acoblament alt) però si apliquem aquest principi sense cap altre criteri, ens podem trobar [LAR] amb un disseny molt pobre on alguns objectes només actuin com a contenidors de dades (i no tinguin cap acoblament amb altres classes) mentre que altres concentrin tots els acoblaments i totes les responsabilitats del sistema. Per tant, i citant en Larman Some moderate degree of coupling between classes is normal and necessary for creating an object-oriented system in which tasks are fulfilled by a collaboration between connected objects.

Read more

No comments

Arquitectura de Sistemes d’Informació

Al seu excel·lent llibre [FOW], Fowler documenta una sèrie de patrons arquitectònics (o patrons de disseny arquitectònics, com més us agradi) per al desenvolupament de Sistemes d’Informació. L’obra és una gran guia de referència per a arquitectures que molts ja aplicaven anteriorment però que pocs havien documentat i estableix, molt acuradament, un llenguatge comú (gràcies a l’ús de patrons) per a referir-nos a aquestes arquitectures.
Aquest article documenta unes quantes arquitectures típiques en termes dels patrons de Fowler per tal de donar una visió ràpida amb alguns exemples concrets sobre com es combinen i interactuen els patrons que Fowler documenta. Read more

No comments

Disseny de bases de dades: Del model conceptual al model lògic

El disseny de bases de dades comença per una primera etapa de disseny lògic de la base de dades. En aquesta etapa es fa un disseny en termes del paradigma general de la base de dades utilitzada (relacional, OO, XML, etc.) que permeti representar la informació que s’ha determinat, durant l’anàlisi, que caldrà desar a la base de dades.
Aquest article és una esquema sobre els punts més importants a l’hora de fer el disseny lògic per a una base de dades relacional a partir d’un anàlisi orientada a objectes documentada en UML. Read more

No comments

Domain Model: Del disseny a la implementació persistent

A l’article Domain Model: De l’anàlisi al disseny hem parlat del patró de disseny Domain Model i de com arribar a un conjunt de classes software a partir d’un model conceptual d’anàlisi. El que ens proposem en aquest article és donar el següent pas cap a la implementació i tractar la problemàtica de com fer persistents les dades que conté aquest model. La solució proposada es basarà en la tecnologia JPA (Java Persistence API) que ens permet lligar aquest model del domini amb l’estructura de la base de dades relacional.

Read more

2 comments

Indicar valors de retorn en UML

Quan fem disseny detallat en UML (especialment en entorns docents com a les universitats), ens trobem amb la necessitat de representar correctament cada detall que es pot expressar en codi. Un d’aquests detalls consisteix a representar els valors de retorn de les invocacions a operacions.
Read more

No comments

Implementació de models conceptuals persistents amb Java i JPA

En aquest article presentarem diversos exemples de com anotar una classe pertanyent al model del domini d’un sistema d’informació (veure Domain Model: De l’anàlisi al disseny i Domain Model: Del disseny a la implementació persistent) amb anotacions de JPA (Java Persistence API) per tal de mantenir sincronitzades les dades en memòria amb les dades existents a la base de dades. No és la meva intenció descriure en detall com funciona JPA sino, simplement, mostrar com es pot afegir les anotacions de JPA al model del domini per fer-lo persistent. Com a exemple, prendrem el model conceptual de la base de dades Northwind que es distribueix amb MSAccess i SQLServer. Read more

2 comments

Next Page »