Podcast
Questions and Answers
Care sunt cele trei tipuri de limbaje de programare?
Care sunt cele trei tipuri de limbaje de programare?
Ce este specific pentru limbajul de programare Java?
Ce este specific pentru limbajul de programare Java?
Ce este o platfomă?
Ce este o platfomă?
Cine a început să lucreze la proiectul Java în 1991?
Cine a început să lucreze la proiectul Java în 1991?
Signup and view all the answers
Care este principala caracteristică a limbajului de programare Java?
Care este principala caracteristică a limbajului de programare Java?
Signup and view all the answers
Ce este specific pentru limbajul de programare Java în comparație cu alte limbaje?
Ce este specific pentru limbajul de programare Java în comparație cu alte limbaje?
Signup and view all the answers
Care este următorul pas după scrierea codului sursă în Java?
Care este următorul pas după scrierea codului sursă în Java?
Signup and view all the answers
Ce este TIOBE Index?
Ce este TIOBE Index?
Signup and view all the answers
Ce este WebRunner?
Ce este WebRunner?
Signup and view all the answers
Când a fost lansat Java 1.0?
Când a fost lansat Java 1.0?
Signup and view all the answers
Ce reprezintă ingineria software?
Ce reprezintă ingineria software?
Signup and view all the answers
Ce este un program?
Ce este un program?
Signup and view all the answers
Care este scopul ingineriei sistemelor de programe?
Care este scopul ingineriei sistemelor de programe?
Signup and view all the answers
Ce este software?
Ce este software?
Signup and view all the answers
Ce sunt principalele caracteristici ale ingineriei software?
Ce sunt principalele caracteristici ale ingineriei software?
Signup and view all the answers
Ce este definiția ingineriei software conform IEEE?
Ce este definiția ingineriei software conform IEEE?
Signup and view all the answers
Care este nota finală a cursului?
Care este nota finală a cursului?
Signup and view all the answers
Care este scopul bibliografiei?
Care este scopul bibliografiei?
Signup and view all the answers
Ce este Mașina Virtuală Java (JVM)?
Ce este Mașina Virtuală Java (JVM)?
Signup and view all the answers
Ce este necesar pentru a începe să dezvoltați proiecte în Java?
Ce este necesar pentru a începe să dezvoltați proiecte în Java?
Signup and view all the answers
Ce permite dezvoltatorilor să-și revizuiască reciproc codul înainte de a-l alipi în baza de cod (ramura) principală?
Ce permite dezvoltatorilor să-și revizuiască reciproc codul înainte de a-l alipi în baza de cod (ramura) principală?
Signup and view all the answers
Ce este StarUML?
Ce este StarUML?
Signup and view all the answers
Ce este scopul principal al utilizării lui Git?
Ce este scopul principal al utilizării lui Git?
Signup and view all the answers
Ce este Maven?
Ce este Maven?
Signup and view all the answers
Ce permite dezvoltatorilor să lucreze pe același cod simultan?
Ce permite dezvoltatorilor să lucreze pe același cod simultan?
Signup and view all the answers
Ce este JUnit?
Ce este JUnit?
Signup and view all the answers
Ce este fișierul POM?
Ce este fișierul POM?
Signup and view all the answers
Ce este managementul dependențelor în Maven?
Ce este managementul dependențelor în Maven?
Signup and view all the answers
Ce este depozitul central în Maven?
Ce este depozitul central în Maven?
Signup and view all the answers
Ce este integrarea continuă în Maven?
Ce este integrarea continuă în Maven?
Signup and view all the answers
Ce este ciclu de viață în Maven?
Ce este ciclu de viață în Maven?
Signup and view all the answers
Ce este corectitudine în testarea unitară?
Ce este corectitudine în testarea unitară?
Signup and view all the answers
Ce este mentenabilitatea în testarea unitară?
Ce este mentenabilitatea în testarea unitară?
Signup and view all the answers
Ce este documentație în testarea unitară?
Ce este documentație în testarea unitară?
Signup and view all the answers
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
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
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.