adriana gheorghies‚, ovidiu gheorghies‚ogh/files/ip/curs-03.pdf · diagrama cazurilor de...

Post on 02-Jan-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1 / 31

Ingineria programarii

Adriana Gheorghies, Ovidiu Gheorghies

23 octombrie 2005

Etapele dezvoltarii programelor

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)

2 / 31

• Analiza cerintelor• Proiectarea• Scrierea codului• Testare• Intretinere

Toate etapele dezvoltarii programelor depind de analiza cerintelor.

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

3 / 31

UML - Unified ModelingLanguage

UML - Istoric (1)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

4 / 31

• 1975-1989 apar primele limbaje de modelare OO• 1989-1994 numarul limbajelor de modelare creste de la 10 la 50• Limbajele de modelare de success din aceasta perioada:

◦ Booch (Grady Booch)◦ OOSE - Object-Oriented Software Engineering (Ivar

Jacobson)◦ OMT - Object Modeling Technique (James Rumbaugh)

UML - Istoric (2)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

5 / 31

• La mijlocul anilor 1990 a ınceput un proces de omogenizare, prinıncorporarea ın fiecare limbaj a caracteristicilor gasite ın celelaltelimbaje

• Cauze:

◦ Booch, Rumbaugh si Jacobson, au ajuns la concluzia ca ar fimai bine sa conduca evolutia limbajelor lor pe un acelasidrum, pentru a elimina diferentele gratuite ce nu faceau decatsa ıncurce utilizatorii

◦ industria software avea nevoie de stabilitate pe piatalimbajelor de modelare

◦ convingerea ca prin unirea fortelor se pot aduce ımbunatatiritehnicilor existente

UML - Istoric (3)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

6 / 31

• Octombrie 1994 - a ınceput ın mod oficial dezvoltarea UML prinunificarea limbajelor Booch si OMT (Rational Software)

• Octombrie 1995 - apare versiunea preliminara 0.8 a UnifiedMethod

• Iunie 1996 - publicata versiunea 0.9 a UML (include si OOSE)• Pe parcursul anului 1996 multe companii vad ın UML o optiune

strategica pentru dezvoltarea produselor lor• Companii care au contribuit la crearea UML 1.0: DEC,

Hewlet-Packard, I-Logix, Intellicorp, IBM, MCI Systemhouse,Microsoft, Oracle, Rational, Texas Instruments etc.

UML - Istoric (4)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

7 / 31

• Ianuarie 1997 - UML 1.0 a fost propus spre standardizare ıncadrul OMG

• Noiembrie 1997 - Versiunea UML 1.1 a fost adoptata ca standardde catre OMG

• Actualmente UML este dezvoltat de catre OMG Revision TaskForce, condus de Cris Kobryn(http://www.omg.org/)

• Versiunea precedenta “definitiva” este UML 1.5• Ultima versiune este UML 2.0 (se mai lucraza la aspecte

“sintactice”)• Resurse oficiale UML: http://www.uml.org

Ce este UML? (1)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

8 / 31

• Este un limbaj de modelare bazat pe notatii grafice• Este folosit pentru a

◦ specifica◦ vizualiza◦ construi◦ documenta

componentele unui program (sistem software)

Ce este UML? (2)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

9 / 31

• Este un limbaj cu ajutorul caruia se pot construi (descrie)modele.

• Un model surprinde un anumit aspect al unui program• Fiecare model poate fi descris la diferite nivele de abstractizare• Fiecarui model ıi corespunde o diagrama

Tipuri de diagrame UML

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage• UML - Istoric (1)• UML - Istoric (2)• UML - Istoric (3)• UML - Istoric (4)• Ce este UML? (1)• Ce este UML? (2)• Tipuri de diagrameUML

Diagrama cazurilor deutilizare(Use Case Diagram)

10 / 31

• Analiza

◦ Diagrama cazurilor de utilizare (Use Case Diagram)◦ Diagrama de activitati (Activity Diagram)

• Proiectare

◦ Structura: Diagrama de clase (Class Diagram)◦ Comportamentul:

• Diagrama de stari (Statechart Diagram)• Diagrame de interactiuni (Interactions Diagrams)

◦ Diagrama de secventa (Sequence Diagram)◦ Diagrama de colaborare (Collaboration Diagram)

• Implementare

◦ Diagrama de componente (Component Diagram)◦ Diagrama de plasare (Deployment Diagram)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

11 / 31

Diagrama cazurilor de utilizare(Use Case Diagram)

Diagrama cazurilor de utilizare (1)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

12 / 31

• Folosita pentru a capta cerintele sistemului• Delimiteaza granitele sistemului• Punctul de plecare ıl constituie scenariile de folosire a sistemului• Poate prezenta:

◦ specificarea cerintelor (externe) din punctul de vedere alutilizatorului

◦ specificarea functionalitatii sistemului din punctul de vedere alsistemului

Diagrama cazurilor de utilizare (2)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

13 / 31

Poate contine:

• UseCase-uri = functionalitati ale sistemului• Actori = entitati externe cu care sistemul interactioneaza• Relatii

UseCase (1)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

14 / 31

• Este o descriere a unei multimi de secvente de actiuni (incluzandvariante) pe care un program le executa atunci candinteractioneaza cu entitatile din afara lui (actori) si care conduc laobtinerea unui rezultat observabil.

• Pote fi un sistem, un subsistem, o clasa, o metoda

UseCase (2)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

15 / 31

• Reprezinta o functionalitate a programului• Precizeaza ce face un program sau subprogram• Nu precizeaza cum se implementeaza o functionalitate• Identificarea use case-urilor se face pornind de la cerinte ale

clientului si analizand descrierea problemei.

UseCase (3)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

16 / 31

• Notatie• Atribute

◦ Nume = fraza verbala ce denumeste o operatie saucomportament din domeniul problemei.

• Restrictii

◦ Numele este unic

Actor (1)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

17 / 31

• Reprezinta un rol pe care utilizatorii unui use case ıl joaca atuncicand interactioneaza cu acesta

• Este o entitate exterioara sistemului.• Interactioneaza cu sistemul:

◦ Initiaza executia unor cazuri de utilizare◦ Ofera functionalitate pentru realizarea unor cazuri de utilizare

Actor (2)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

18 / 31

Poate fi:

• utilizator (uman)• sistem software• sistem hardware

Actor (3)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

19 / 31

• Notatie• Atribute

◦ Nume = indica rolul pe care actorul ıl joaca ın interactiunea cuun UseCase

• Restrictii

◦ Numele este unic

Relatii (1)

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

20 / 31

Se stabilesc ıntre doua elemente:

• Actor - UseCase: asociere• Actor - Actor: generalizare• UseCase - UseCase: asociere, generalizare, dependenta

(<<include>>, <<extend>>)

Asociere

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

21 / 31

• Modeleaza o comunicare ıntre elementele pe care le conecteaza.

• Poate sa apara ıntre

◦ un actor si un UseCase (actorul initiaza excutia cazului deutilizare sau ofera functionalitate pentru realizarea acestuia).

◦ doua UseCase-uri (transfer de date, trimitere demesaje/semnale)

• Notatie

Asociere - Exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

22 / 31

Asociere - Exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

23 / 31

Generalizare

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

24 / 31

• Se realizeaza ıntre elemente de acelasi tip ⇒ ierarhii.• Modeleaza situatii ın care un element este un caz particular al

altui element.• Elementul particular mosteneste relatiile ın care este implicat

elementul general.

• Notatie

Generalizare - Exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

25 / 31

Generalizare - Exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

26 / 31

Dependenta

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

27 / 31

• Apare ıntre doua UseCase-uri.• Modeleaza situatiile ın care

◦ Un UseCase foloseste comportamentul definit ın alt UseCase(<<include>>)

◦ Comportamentul unui UseCase poate fi extins de catre un altUseCase (<<extend>>)

• Notatie

Dependenta - Exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

28 / 31

Dependenta - Exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

29 / 31

Extension Point

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

30 / 31

• Identifica un punct ın comportamentul unui UseCase ın carecomportamenentul acestuia poate fi extins de catre un altUseCase

• Trebuie sa aiba un nume• Poate avea atasata o conditie

Diagrama UC - exemplu

• Etapele dezvoltariiprogramelor

UML - Unified ModelingLanguage

Diagrama cazurilor deutilizare(Use Case Diagram)• Diagrama cazurilor deutilizare (1)• Diagrama cazurilor deutilizare (2)• UseCase (1)• UseCase (2)• UseCase (3)• Actor (1)• Actor (2)• Actor (3)• Relatii (1)• Asociere• Asociere - Exemplu• Asociere - Exemplu• Generalizare• Generalizare -Exemplu• Generalizare -Exemplu• Dependenta• Dependenta -Exemplu• Dependenta -Exemplu• Extension Point• Diagrama UC -exemplu

31 / 31

top related