Podcast
Questions and Answers
Care sunt cele trei tipuri de limbaje de programare?
Care sunt cele trei tipuri de limbaje de programare?
- Compilat, interpretat și script
- Sistem, aplicatie și script
- Procedural, funcțional și orientat pe obiecte (correct)
- Mare, mic și mediu
Ce este specific pentru limbajul de programare Java?
Ce este specific pentru limbajul de programare Java?
- Este un limbaj de programare funcțional
- Este un limbaj de programare procedural
- Este un limbaj de programare orientat pe obiecte (correct)
- Este un limbaj de programare compilat
Ce este o platfomă?
Ce este o platfomă?
- Un procesor
- Un sistem de operare
- Un mediu hardware și/sau software în care rulează un program (correct)
- Un limbaj de programare
Cine a început să lucreze la proiectul Java în 1991?
Cine a început să lucreze la proiectul Java în 1991?
Care este principala caracteristică a limbajului de programare Java?
Care este principala caracteristică a limbajului de programare Java?
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?
Care este următorul pas după scrierea codului sursă în Java?
Care este următorul pas după scrierea codului sursă în Java?
Ce este TIOBE Index?
Ce este TIOBE Index?
Ce este WebRunner?
Ce este WebRunner?
Când a fost lansat Java 1.0?
Când a fost lansat Java 1.0?
Ce reprezintă ingineria software?
Ce reprezintă ingineria software?
Ce este un program?
Ce este un program?
Care este scopul ingineriei sistemelor de programe?
Care este scopul ingineriei sistemelor de programe?
Ce este software?
Ce este software?
Ce sunt principalele caracteristici ale ingineriei software?
Ce sunt principalele caracteristici ale ingineriei software?
Ce este definiția ingineriei software conform IEEE?
Ce este definiția ingineriei software conform IEEE?
Care este nota finală a cursului?
Care este nota finală a cursului?
Care este scopul bibliografiei?
Care este scopul bibliografiei?
Ce este Mașina Virtuală Java (JVM)?
Ce este Mașina Virtuală Java (JVM)?
Ce este necesar pentru a începe să dezvoltați proiecte în Java?
Ce este necesar pentru a începe să dezvoltați proiecte în Java?
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ă?
Ce este StarUML?
Ce este StarUML?
Ce este scopul principal al utilizării lui Git?
Ce este scopul principal al utilizării lui Git?
Ce este Maven?
Ce este Maven?
Ce permite dezvoltatorilor să lucreze pe același cod simultan?
Ce permite dezvoltatorilor să lucreze pe același cod simultan?
Ce este JUnit?
Ce este JUnit?
Ce este fișierul POM?
Ce este fișierul POM?
Ce este managementul dependențelor în Maven?
Ce este managementul dependențelor în Maven?
Ce este depozitul central în Maven?
Ce este depozitul central în Maven?
Ce este integrarea continuă în Maven?
Ce este integrarea continuă în Maven?
Ce este ciclu de viață în Maven?
Ce este ciclu de viață în Maven?
Ce este corectitudine în testarea unitară?
Ce este corectitudine în testarea unitară?
Ce este mentenabilitatea în testarea unitară?
Ce este mentenabilitatea în testarea unitară?
Ce este documentație în testarea unitară?
Ce este documentație în testarea unitară?
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.