Sistemas Abiertos Annex Disseny i Enginyeria del Software
Sistemas Abiertos Annex. Disseny i Enginyeria del Software Pedro García López pgarcia@etse. urv. es 1
Copyright • © University Rovira i Virgili • Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1. 1 or any later version published by the Free Software Foundation; A copy of the license is available at: • http: //www. fsf. org/licenses/fdl. html 2
1. Index 1. Enginyeria del Software 2. UML (Unified Modelling Language) 3. Conclusions 3
2. 1 Engineria del software • Objectius: – Construir programari més robust I fiable – Reduir el temps de desenvolupament I augmentar la productivitat – Desenvolupament de programari a partir de mòduls ja elaborats – Reutilització d’aquests mòduls en altres aplicacions – Facilitat de mantenir i adaptar aquests mòduls per produir noves funcionalitats 4
Components a tot arreu • Els objectius són similars en altres enginyeries: – Construcció acurada de mòduls robustos, fiables, bé documentats I reutilitzables • En aquestes enginyeries els components s'utilitzen des de fa temps – – Enginyeria electrònica : circuits Enginyeria Industrial: cotxes Enginyeria aeronàutica: avions … 5
Exemple: la indústria de l’automòbil • La construcció de cotxes era una tasca molt costosa, avorrida I lenta • Henry Ford proposa una nova idea: – Produir cotxes per a tothom mitjançant un model de construcció ràpid • El mètode – La línia d’acoblament de components(1914) 6
Per què no aplicar els components al programari ? • Els objectius de l’Enginyeria del Software són similars a altres enginyeries • Les Enginyeries Industrial o Electrònica desenvolupen productes acabats • El programari és un meta-producte que permet crear diferents parametritzacions i instàncies 7
Estàndards • Les enginyeries industrial o electrònica usen components perquè existeixen estàndards i regulacions • Abans de la “crisi del programari” (1968) no hi havia estàndards 8
El programari … • Fet a mida – Flexible, competitiu, si funciona – Manteniment e interoperabilitat són problemes greus – Triga molt a arribar al mercat • Programari estàndard – Ràpid d’arribar al mercat – Manteniment, interoperabilitat i evolució són el negoci del fabricant – Difícil ser competitiu 9
Dues opcions de disseny • Dissenyar un sistema de forma monolítica I després definir els submòduls – Els mòduls no seran reutilitzables • Dissenyar els mòduls i composar-los en un sistema (bottom-up) – Mòduls han de ser generals (per a aconseguir la reutilització) – Però no massa generals (o no seran pràctics) 10
Components • Mòduls independents desenvolupats per terceres parts que segueixen estàndards d’interacció i composició • Mercat del programari i de components • Programació orientada a l’acoblament c Component A Component B 11
Cicles de desenvolupament • • Anàlisi de Requeriments Disseny del programari Implementació a partir del disseny Proves de robustesa del programari • Tendència: programació orientada a components, reutilització • Rols: creador de components, ensamblador de components, venedor de components, consultor, . . . 12
Cicles de desenvolupament • • Especificació Desenvolupament Validació Evolució 13
Models • • Model de cascada Desenvolupament per evolució En cascada i iteratiu Sistemes assemblats amb components reusables • . . . 14
Atributs del programari • Manteniment: el programari ha de ser desenvolupat per a suportar futurs canvis o extensions que el client necessiti • Confiabilitat: integritat, robustesa i seguretat. • Eficiència: el programari no ha de fer mal ús dels recursos del sistema. ( Memòria i processador). • Usabilitat: és la propietat que té el programari de ser utilitzat sense massa esforç per qualsevol usuari 15
2. 2 UML • UML és el Llenguatge Unificat de Modelatge. Proporciona una notació gràfica que permet: especificar, construir. Visualitzar i documentar els objectes d’un sistema software. • El UML modela un sistema mitjançant l’ús d’objectes que formen part d’ell i les relacions estàtiques o dinàmiques que existeixen entre ells. 16
Diagrames • • Diagrama de Casos d’Us Diagrama de Classes Diagrama d’Activitats Diagrama de Seqüència Diagrama de Col·laboració Diagrama d’Estats Diagrama d’Implementació 17
Diagrama de casos d’ús 18
Casos d’ús 19
Diagrama de classes 20
Diagrama d’estats 21
Diagrama de col·laboració 22
Diagrama de seqüència 23
Diagrames d’implementació 24
Conclusions • El Diseny es important !!! • UML es un estàndar en Enginyeria del Software • UML no depend del proveïdor: – Microsoft Visual Studio + Visio UML – Eclipse + Omondo UML – Borland + Rational Rose 25
- Slides: 25