Professional Documents
Culture Documents
1023 UJI Resum Temes 1-3
1023 UJI Resum Temes 1-3
El terme "Enginyeria del programari" naix a finals dels anys 60, tenint com a objectiu: millorar les
prctiques de programaci, que havien demostrat no ser fiables a llarg terme. Enlloc de generar
programari a mida per un producte, es comena a programar de manera genrica per a un mercat ms
ampli. A va facilitar que ms de un grup de persones fora capa de treballar i mantindre un projecte,
perqu s'usaven biblioteques comuns, i va redur la quantitat de temps dedicada a corregir errors.
L'enginyeria del programari surt dons com a disciplina per millorar la qualitat del maquinari i programari
en totes les etapes de la creaci i manteniment de un producte informtic. A ms, aquest producte deu
proporcionar una soluci real al problema, i que puga resoldre's en un temps i usant una quantitat de
recursos factible. Una definici acceptable de "Enginyeria del programari" seria aquesta:
L'establiment i s de principis d'enginyeria robustos, orientats a obtenir programari econmic que siga
fiable i funcione de manera eficient sobre mquines reals" - Bauer, 1969.
Com a conclusi, podem considerar que L'Inginyeria del Programari comprn:
Mtodes: Indiquen com s'ha de construir el programari, des de la planificaci fins el
desenvolupament del sistema.
Eines: Entorn on es desenvolupar el programari, facilita totes les fases de la creaci i
manteniment del programari.
Processos: Uneix els mtodes amb les eines. Defineix les directrius a seguir per portar a terme el
projecte.
L'objectiu dels enginyers s obtenir mtodes senzills per resoldre problemes complexos. Per aconseguirho, s'ha d'aplicar teories, mtodes i ferramentes tenint en compte el temps i els recursos.
Cal reconeixer aquestes caracterstiques del programari:
Es desenvolupa, mentre que el maquinari es fabrica.
Falla tan sols degut a errors durant la fase de desenvolupament.
No pot funcionar de manera allada, necessita formar part de un sistema.
Un sistema informtic s un conjunt d'elements relacionats entre si que funcionen per acomplir una
determinada tasca. Els sistemes que comprenen maquinari i programari son sistemes informtics.
Entre les qualitats ms destacables del programari, tenim quatre atributs:
Ha de ser mantenible. Cal documentar-lo i permetre poder aplicar canvis al codi amb facilitat.
Ha de ser fiable. Qualsevol problema introdut donar ms problemes a lo llarg del temps.
Ha de ser eficient. Cal usar una quantitat mnima de recursos del sistema.
Ha de proporcionar una interfcie adequada.
Finalment, el programari es classifica de la segent manera:
Programari de sistemes. Desenvolupat per gestionar altres productes de programari.
Programari de desenvolupament. Qualsevol programari orientat a facilitar la creaci de nou codi.
Programari de aplicacions. Tot aquell que proporciona solucions a negocis o necessitats humanes.
Programari cientfic. Facilita el desenvolupament d'avanos cientfics o permet estudiarlos.
Programari encastat. Proporciona control sobre qualsevol aparell electrnic allat.
Depenent de les caracterstiques de la seva distribuci, desenvolupament i portabilitat, tenim:
Programari estndard. D's general, tal com els processadors de text o fulles de clcul.
Legacy software. Algunes empreses funcionen amb un software fet a mida per a elles.
Programari lliure. Es tracta de programari gratut i de codi lliure, que permet l'aportaci d'altres.
Open World Computing. Programari que es puga usar en diferents dispositius i localitzacions.
Expliqueu que significa que una soluci siga viable, de qualitat i a l'abast.
Una soluci s viable, de qualitat i a l'abast quan resol un problema usant una quantitat de temps i
recursos raonable, usant mtodes de treball fiables que permetran desenvolupar aquesta amb mtodes
comuns i ben coneguts; tot a usant tecnologies ja disponibles o basades en tecnologies existents
provades efectives.
TEMA 1 - PROCESSOS
Per desenvolupar programari seguim determinats processos. Aquests son alguns exemples:
PROCS GENRIC
Aquest comprn cinc activitats per definir qualsevol projecte: Comunicaci, Planificaci,
Modelitzaci, Construcci i Posada en marxa. En aquest model la planificaci es porta a terme
durant tot el projecte, mentres que es porten a terme la resta d'etapes,
desde la definici de requisits fins a la posada en marxa.
Planificaci
Cal estimar i planificar les tasques. L'estimaci ens permet considerar els recursos necessaris per
desenvolupar el sistema. Una vegada de manera aproximada l'abast del projecte, podem elaborar una
planificaci temporal d'aquest.
Definici de requisits
Cal arribar a una definici especfica i realista. Tenim que identificar i definir els requisits que ens
permetran aconseguir l'objectiu del programa salvant les restriccions que ens imposen els recursos dels
que disposem. Aquesta tasca es part de l'activitat de Comunicaci.
Anlisi
Cal convertir els requisits del programa en una especificaci que permeta dissenyar codi. Aquest deu ser
capa de suplir totes les necessitats del programa, i s preferible que puga ser extensible. Definim QU
realitza el sistema.
Disseny
Especifiquem com i de quina forma manipulem les dades que fan funcionar el programa. Quina i com
es mostra la informaci als usuaris i com aquests interactuen amb ella. Tamb la distribuci per capes
que s'utilitzar, incloent com es comunica i emmagatzema l'informaci. Dissenyem tots els components
que conformen l'aspecte i infrastructura del sistema. Definim COM realitzar les tasques.
El model en cascada
Aquest model tradicional est considerat obsolet actualment. Depen de tindre una definici clara dels
requisits al inici del projecte. Cada pas s depenent del anterior, el que significa que errors en les
primeres fases del projecte sern molt difcils de solucionar a mesura que avanem. Els resultats no son
visibles fins les fases finals.
Desenvolupament de prototips
Podem desenvolupar parts del sistema allades per comprovar la seva funcionalitat, aixina desenvolupem
les rees que ens interessen en qualsevol ordre. Desenvolupem un prototip rpidament, el provem i
anem suplint les caracterstiques que necessita. Aconseguim centrar el desenvolupament en les rees
que ens pareixen ms interessants i obtenim una visi del producte final desde el primer moment.
El model en espiral
Aquesta es basa en els dos models anteriors. Definim quatre activitats: Planificaci, Anlisi de risc,
Enginyeria i Avaluaci. En cada iteraci desenvolupem versions del programari cada volta ms completes.
En les primeres etapes podem usar prototips per anar dibuixant el sistema; en les ltimes, podem optar
pel cicle de vida clssic. En cada fase de Anlisi decidim si seguir o no desenvolupant el projecte.
Processos gils
Sorgeixen com a millor manera de treballar front als antics processos de desenvolupament. La
metodologia de treball prioritza les segents caracterstiques: Interacci amb el programa, sobre els
processos i ferramentes; programari extensament documentat; colaboraci amb el client, sobre
negociaci de un contracte; resposta al canvi sobre el seguiment de un pla. Entre aquestes metodologies
es pot destacar la programaci extrema (XP). Per aplicar aquests mtodes es necessita un equip
collaboratiu amb gran capacitat d'organitzaci, i un cap capa de solucionar conflictes i dirigir a l'equip.
Procs de programari: Activitats estructurals que s'han de realitzar per desenvolupar programari.
PROJECTES DE PROGRAMARI
Un projecte es un conjunt d'activitats i tasques amb els quals assolim un objectiu, de manera que
implique un treball no immediat a un termini relativament llarg. Cualsevol projecte busca millorar un
producte o servei i est condicionat per els recursos dels que es disposa.
Identificar restriccions
Cada projecte conta amb unes restriccions que poden ser imposades per qualsevol de les dues parts, o
incls externament. Aquestes restriccions poden limitar l'abast del projecte e incls l'assoliment dels
objectius proposats. L'enginyer s qui t que aconsellar als usuaris entre les necessitats factibles i el
que es vol.
Avaluar alternatives
Cal decidir, en funci dels recursos, quin cam triar per a desenvolupar el projecte. Hi han diverses
alternatives que poden o no ser adequades, i comporten un cost i relaci benefici/risc. Cal usar
ferramentes com clculs del retornament de la inversi per decidir quina triar.
Gesti de projectes
Per gestionar un projecte portem a terme tres activitats:
Direcci: Ordena i supervisa totes les activitats, assigna recursos i resol conflictes.
TEMA 3
INVESTIGAR ELS REQUISITS DEL SISTEMA
Si el sistema que volem desenvolupar es senzill, podem conixer quins son els requisits preguntant als
usuaris, per si es ms complicat, cal organitzar reunions i mecanismes per debatir l'especificaci de
requisits.
Cal conixer el negoci i el context per al qual estem desenvolupant el sistema, per tal de millorar o
eliminar aspectes deficitaris. Per fer-ho podem usar diverses tcniques.
Entrevistes
Les entrevistes tenen com avantatge el contacte personal amb el futur usuari, i ens permet obtindre
l'opini d'una persona que podrem valorar en major o menor mesura. Per fer una entrevista productiva
hem de tindre clar un gui a seguir, la relaci de l'usuari amb l'empresa, i resumir el contingut d'aquesta
per tal de poder consultarla rpidament ms endavant.
Qestionaris
Podem utilitzarlos quan volem obtindre resposta d'un gran nombre de persones sobre algn aspecte.
Proporcionen informaci ms objectiva i sn ms rpids de realitzar que les entrevistes.
Fonts externes
Quan ens trobem amb un entorn nou i no podem obtindre l'informaci de cap dels mtodes anteriors,
podem recurrir a consultar altres fonts com llibres o publicacions dels sectors en els que estem
interessats.
Un cas d's representa una seqncia d'accions que executa el sistema per produr un resultat
d'inters per a un actor.
Una relaci representa la connexi entre actor i cas d's. Les relacions poden ser dirigides i
indicar en quin sentit flueix l'informaci.
Identifiquem la funcionalitat que proporciona el SI cap als usuaris. Definim els casos d's.