34 Questions
Care sunt cele trei tipuri de limbaje de programare?
Procedural, funcțional și orientat pe obiecte
Ce este specific pentru limbajul de programare Java?
Este un limbaj de programare orientat pe obiecte
Ce este o platfomă?
Un mediu hardware și/sau software în care rulează un program
Cine a început să lucreze la proiectul Java în 1991?
James Gosling
Care este principala caracteristică a limbajului de programare Java?
Simplitate
Ce este specific pentru limbajul de programare Java în comparație cu alte limbaje?
Este un limbaj de programare distribuit
Care este următorul pas după scrierea codului sursă în Java?
Compilare
Ce este TIOBE Index?
Un index al celor mai populare limbaje de programare
Ce este WebRunner?
Un proiect pentru dezvoltarea aplicatiilor web
Când a fost lansat Java 1.0?
1995
Ce reprezintă ingineria software?
O ramură a ingineriei care se axează pe dezvoltarea produselor
Ce este un program?
Un cod executabil ce deservește un scop computațional precis
Care este scopul ingineriei sistemelor de programe?
Dezvoltarea aplicațiilor software
Ce este software?
O colecție de programe, biblioteci și documentație
Ce sunt principalele caracteristici ale ingineriei software?
Toate cele de mai sus
Ce este definiția ingineriei software conform IEEE?
Abordarea sistematică și disciplinată a dezvoltării și menținerii software-ului
Care este nota finală a cursului?
50% laborator + 50% examen final
Care este scopul bibliografiei?
Recomandarea documentației pentru fiecare capitol în parte
Ce este Mașina Virtuală Java (JVM)?
O parte a Platformei Java
Ce este necesar pentru a începe să dezvoltați proiecte în Java?
Să descarcați și să instalați JDK
Ce permite dezvoltatorilor să-și revizuiască reciproc codul înainte de a-l alipi în baza de cod (ramura) principală?
Revizuirea codului și controlul calității
Ce este StarUML?
O unealtă pentru diagrame UML
Ce este scopul principal al utilizării lui Git?
Versionarea codului și colaborarea
Ce este Maven?
O unealtă pentru compilarea și împachetarea codului
Ce permite dezvoltatorilor să lucreze pe același cod simultan?
Git
Ce este JUnit?
O unealtă pentru testarea unitară a codului
Ce este fișierul POM?
Un fișier XML utilizat pentru configurarea construcției, raportării și documentației proiectului
Ce este managementul dependențelor în Maven?
Declararea dependențelor în fișierul POM
Ce este depozitul central în Maven?
Un depozit central care conține o vastă colecție de biblioteci open source
Ce este integrarea continuă în Maven?
Integrarea cu instrumente de integrare și implementare continuă
Ce este ciclu de viață în Maven?
Un set de faze predefinite pentru crearea și implementarea codului
Ce este corectitudine în testarea unitară?
Verificarea dacă unitatea de cod se comportă conform așteptărilor
Ce este mentenabilitatea în testarea unitară?
Posibilitatea de a testa unități individuale de cod, izolat
Ce este documentație în testarea unitară?
Oferirea exemplelor de utilizare a unităților individuale de cod, ilustrând comportamentul dorit
Study Notes
Ingineria Sistemelor de Programe
- Contact: [email protected]
- Nota finală = 50% laborator + 50% examen final
- Prezența la orele de laborator este obligatorie, prezența la orele de curs este recomandată.
- Scop: modelarea și implementarea aplicațiilor software
Ingineria Software
- Definiții:
- Ingineria software: ramura a ingineriei; folosește metode, principii și proceduri științifice; rezultatul este un produs eficient și fiabil.
- IEEE: Abordarea sistematică, disciplinată și cuantificabilă a dezvoltării, operării și menținerii software-ului.
Ciclul de Viață al Produselor Software
- Strategii pentru dezvoltarea produselor software:
- Analiza și proiectarea software-ului
- Dezvoltarea și implementarea software-ului
- Testarea și validarea software-ului
- Implementarea și întreținerea software-ului
Limbaje de Programare
- Tipuri de limbaje de programare:
- Procedurale: Ada, C, Pascal
- Orientate pe obiecte: Java, C++, C#, Scala
- Funcționale: Haskell, Java, Scala, C#
- O listă completă a categoriilor limbajelor de programare: https://en.wikipedia.org/wiki/List_of_programming_languages_by_type
Java - Introducere
- Documentație: https://docs.oracle.com/javase/tutorial/getStarted/intro/index.html
- Istoric:
- James Gosling a început să lucreze la proiect în anul 1991
- A fost menit pentru programarea electrocasnicelor inteligente (IoT în anii ‘90)
- Oak -> Green -> Java
- 1993 – 1994 – televiziune interactivă => eșec
- WWW: Inspirată de Mosaic 1.0 (1993), firma Sun dezvoltă WebRunner (-> HotJava)
- Java 1.0 a fost lansat în anul 1995 (de către firma Sun)
- 2006 – cea mai mare parte a limbajului devine free și open-source
- 2007 – Java devine integral free și open-source
- Caracteristici:
- Simplitate
- Orientat pe obiecte
- Distribuit
- Suport pentru concurență (Multithreaded)
- Dinamic
- Neutru din punct de vedere architectural
- Portabil
- Performant
- Robust
- Sigur
Platforma Java
- Definiție: mediu hardware și/sau software în care rulează un program
- Componente:
- Mașina virtuală Java (JVM)
- Java API
Unelte necesare
- Kit-ul de dezvoltare Java (JDK21)
- Mediul de dezvoltare (IDE):
- IntelliJ IDEA
- Netbeans
- Eclipse IDE for Java Developers
- Unealtă pentru versionarea codului:
- Git
- Unealtă pentru compilarea/împachetarea codului:
- Maven
- Unealtă pentru diagrame UML:
- StarUML
Unelte – versionarea codului (Git)
- Colaborare
- Urmărirea istoricului
- Backup și recuperare în caz de dezastru
- Experimentare
- Revizuirea codului și controlul calității
- Integrare și implementare continuă
Unelte – compilare/împachetare (Maven)
- Fișierul POM
- Managementul dependențelor
- Depozitul central (https://mvnrepository.com/repos/central)
- Plugin-uri
- Ciclu de viață
Unelte – Testarea unitară (JUnit)
- Corectitudine
- Robustețe
- Mentenabilitatea
- Performanță
- Documentație
- Coding time
Curs de Ingineria Sistemelor de Programe. Se acoperă modelarea și implementarea aplicațiilor software. Nota finala se calculeaza din 50% laborator și 50% examen final.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free