Sunteți pe pagina 1din 31

1

Ingineria sistemelor de
programe (ISP)
Cursul 1
UPB A&C, Ingineria sistemelor de programe, Anca Ionita
2

Cuprins

• Introducere

• Limbaj standard de modelare (UML)

• Diagrama cazurilor de utilizare (in UML)


De la software artizanal UPB A&C, Ingineria sistemelor de programe, Anca Ionita

la inginerie software
Proiectare

Inginerie
Ingineria
Analiza si Sistemelor Programare
modelare de
Programe

Artizanat
Testare
UPB A&C, Ingineria
sistemelor de programe,
Anca Ionita

ISP - Competente dobandite

• Cunoasterea ciclului complet al


dezvoltarii sistemelor de programe
• Modelarea orientata pe obiecte intr-
un limbaj standardizat
• Transformarea modelelor in cod
• Implementarea de teste automate
ISP - La ce imi foloseste?
In universitate
• Pentru a-mi redacta
BINE proiectul de
licenta

• Pentru a face fata


cerintelor unei FIRME
DE SOFTWARE mari
In industrie
• Pentru a scrie un articol
stiintific

• Pentru a reusi sa
dezvolt o aplicatie
COMPLEXA
5
UPB A&C, Ingineria sistemelor de programe, Anca Ionita

Job-uri potentiale
7

Ingineria sistemelor

• International Council on Systems Engineering


(INCOSE)
• The Institute of Electrical and Electronics
Engineers Computer Society (IEEE-CS)
• Systems Engineering Research Center (SERC)
https://www.sebokwiki.org/wiki/Download_SEBoK_PDF
8

Ingineria sistemelor de programe


Relatia cu ingineria sistemelor

Ingineria sistemelor de
programe
9

Ingineria sistemelor de programe


Guide to the Software Engineering Body of Knowledge
www.swebok.org
10

Cuprins

• Introducere

• Limbaj standard de modelare (UML)

• Diagrama cazurilor de utilizare (in UML)


Standardul UML
(Unified Modeling Language)
• Limbaj de modelare orientate pe obiecte
▫ Vizual
▫ Grafic (graph-based)
• Independenta fata de limbajul de programare
• Interoperare intre instrumente software
• Concepte de dezvoltare la un nivel inalt de abstractie
• Integrarea celor mai bune practici
12

UML (Unified Modeling Language)


in industrie

http:// www.uio.no/studier/emner/matnat/ifi/INF5500/h07/undervisningsmateriale/ABB_case_study.pdf
13

UML in industrie

http://onlinelibrary.wiley.com/doi/10.1002/sys.20156/full
14

Diagrame UML Diagrama


cazuri de
Diagrama
utilizare de clase

Diagrama
Diagrama
de stare de
activitati

Diagrama Diagrama
de
secventiala comunicare

Diagrama Diagrama
de de
componente deployment
15

Exemple de diagrame UML


http://agilemodeling.com/artifacts/classDiagram.htm

Diagrama
de clase

https://www.geeksforgeeks.org/unified-modeling-language-uml-sequence-diagrams/

Diagrama
secventiala
16

Recomandari bibliografice UML


• OMG, OMG Unified Modeling Language TM (OMG UML), Version 2.5.1,
December 2017, disponibil la https://www.omg.org/spec/UML/About-
UML/

• Thomas A. Pender, UML Weekend Crash Course, Wiley, 2002, Disponibil


la: http://index-of.co.uk/Etc/Wiley%20&%20Sons.%20-
%20UML%20Weekend%20Crash%20Course.pdf

• James Rumbaugh, Ivar Jacobson, Grady Booch, The Unified Modeling


Language. Reference Manual. Second Edition, Addison-Wesley, 2005,
Disponibil la:
https://www.utdallas.edu/~chung/Fujitsu/UML_2.0/Rumbaugh--
UML_2.0_Reference_CD.pdf

• Martin Fowler, UML Distilled. A Brief Guide to the Standard Modeling


Language. Third Edition, Addison-Wesley, 2003, Disponibil la:
http://docenti.unicam.it/tmp/1704.pdf
17

Cuprins

• Introducere

• Limbaj standard de modelare (UML)

• Diagrama cazurilor de utilizare (in UML)


18

Diagrama cazurilor de utilizare

• Specificarea cerintelor

• Partea de inceput a analizei

J. Rumbaugh, I. Jacobson, G. Booch, The Unified Modeling Language.


Reference Manual. Second Edition, Addison-Wesley, 2005
ACTOR
• Diferenta intre actor si utilizator

• Notatie

• Exemplu
CAZ DE UTILIZARE
• corespunde unei functii vizibile a sistemului

• permite unui actor sa-si atinga un scop

• trebuie sa fie util el insusi

• regrupeaza un ansamblu de scenarii


De ales dintre:

• Retragere Numerar de la Bancomat


• Introducere cod
DIAGRAMA CAZURILOR DE UTILIZARE
Exemplu
22

Descriere caz de utilizare


Retragere
Scenariu (simplificat) numerar

➢Clientul introduce cardul bancar in bancomat.


➢Sistemul solicita codul PIN pentru identificare.
➢Clientul alege suma pe care doreste sa o retraga.
➢Sistemul verifica daca exista suficienti bani in cont.
➢Daca da, sistemul elibereaza bancnotele si debiteaza
contul.
➢Clientul ia bancnotele si retrage cardul.
Relatii in diagrama cazurilor de
utilizare
• Intre cazurile de utilizare • Intre actori

▫ Include ▫ Generalization

▫ Extend
24

Exemplu
25

Planificare Ingineria sistemelor de programe 2020

cursuri si Nr. Crt. Saptamana

1
17-21.02
Curs VINERI

C1 Introducere si UML: Cazuri de utilizare

verificari 2
24-28.02 C2 UML: Diagrame de clase

2-6.03 C3 UML: Diagrama de stare


3

9-13.03 C4 UML: Diagrama de activitati


4

16-20.03 C5 UML: Diagrame de interactiune


5

23-27.03
6 C6 UML: Diagrame de componente si deployment

30.03-3.04 VERIFICARE 1: C1-C6 - 30 puncte


7

8 6-10.04 C7 Verificare, Validare, Testare

13-17.04
9 VINEREA MARE
20-24.04 C8 Specificarea cerintelor
10

27.04-1.05
11 1 MAI
12 4-8.05 C9 Proiectarea arhitecturii sistemelor de programe
13 11-15.05 VERIFICARE 2 (C7 - C10) - 20 puncte

14 18-22.05 Concluzii si incheierea situatiei


26

Planificare aplicatii
Nr. Crt. Saptamana Laborator LUNI Laborator Miercuri Laborator VINERI
Prezentare cerinte laborator, Java, UML, tool-uri Prezentare cerinte laborator, Java, UML, tool-uri Prezentare cerinte laborator, Java, UML, tool-uri
17-21.02
1 folosite, pregatire mediu de lucru, protectia muncii folosite, pregatire mediu de lucru, protectia muncii folosite, pregatire mediu de lucru, protectia muncii

Asignare teme si elaborare diagrame cazuri de Asignare teme si elaborare diagrame cazuri de Asignare teme si elaborare diagrame cazuri de
24-28.02
utilizare; introducere editor de modele utilizare; introducere editor de modele utilizare; introducere editor de modele
2
Implementare relatie de generalizare intre clase si Implementare relatie de generalizare intre clase si Implementare relatie de generalizare intre clase si
2-6.03
3 introducere versionare introducere versionare introducere versionare
a) Reprezentare diagrame de clase a) Reprezentare diagrame de clase a) Reprezentare diagrame de clase
9-13.03
4 b)Implementare relatie de asociatie intre clase b)Implementare relatie de asociatie intre clase b)Implementare relatie de asociatie intre clase
a) Reprezentare diagrame de stare a) Reprezentare diagrame de stare a) Reprezentare diagrame de stare
16-20.03
5 b)Implementarea diagramelor de stare b)Implementarea diagramelor de stare b)Implementarea diagramelor de stare

23-27.03
Implementare relatii de compozitie si asociatie Implementare relatii de compozitie si asociatie Implementare relatii de compozitie si asociatie
6 intre clase intre clase intre clase

30.03-3.04 Reprezentare diagrame UML si intrebari Tema 1 Reprezentare diagrame UML si intrebari Tema 1 Reprezentare diagrame UML si intrebari Tema 1
7

8 6-10.04 Predare Tema 1 - 10 puncte Predare Tema 1 - 10 puncte Predare Tema 1 - 10 puncte

9
13-17.04 JUNIT Implementare teste unitare JUNIT Implementare teste unitare VINEREA MARE
JUNIT Implementare teste unitare SI INTREBARI
20-24.04
10 PASTE Consultatii Tema 2 Tema 2
27.04-1.05 Implementare clase si intrebari Tema 2 Implementare clase si intrebari Tema 2 1 MAI
11
12 4-8.05 Predare Tema 2 - 10 puncte Predare Tema 2 - 10 puncte Predare Tema 2 - 10 puncte

13 11-15.05 Test de laborator (colocviu) - 15 puncte Test de laborator (colocviu) - 15 puncte Test de laborator (colocviu) - 15 puncte

14 18-22.05 Completari Teme - cu penalizare 50% Completari Teme - cu penalizare 50% Completari Teme - cu penalizare 50%
27

Java – limbaj de programare laborator

Sursa: https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019
28

UPB A&C, Ingineria sistemelor de programe, Anca Ionita

Verificare curs (50 puncte)


• Verificarea 1:
▫ Test UML (C1-C6) - 30 puncte
• Verificarea 2:
▫ (C7 - C10) - 20 puncte
29

UPB A&C, Ingineria sistemelor de programe, Anca Ionita

Punctaj aplicatii (50 puncte)


Tema 1 10 pct.
Tema 2 10 pct.
Test de laborator (Colocviu) 15 pct.

15 pct.
Activitate laborator
(3 pct. / laborator)
Ce am invatat azi?
• Se determinam care sunt cazurile de utilizare
si actorii sistemului
• Sa realizam diagrame ale cazurilor de utilizare in
limbajul standard UML
• Sa descriem un scenariu pentru un caz de
utilizare
31

Bibliografie
• OMG, OMG Unified Modeling Language TM (OMG UML), Version
2.5.1, December 2017, disponibil la
https://www.omg.org/spec/UML/About-UML/

• A.D. Ionita, A. Cernian, Notiuni aplicate de inginerie a sistemelor


de programe, Editura MATRIXROM, 2009

• A. Moldoveanu, F. Moldoveanu, M.I. Dascalu, A.D. Ionita, O.M.


Ferche, V. Asavei, UML practic, MatrixRom, Bucuresti, 2014

• A.D. Ionita, Modelarea UML in ingineria sistemelor de programe,


Editura ALL, Bucuresti, 2003
• Ian Sommerville, Software Engineering, Editia a 9-a, Addison-
Wesley, 2010

S-ar putea să vă placă și