Introduction to Software Development

Cursul Introduction to Software Development este destinat începătorilor, pentru a înțelege structura internă a programelor de calculator și cum să le dezvolte cât mai simplu posibil. Cursul încearcă să se mențină la aspectele practice ale designului și arhitecturii software, cu cât mai puțină expunere teoretică, abstractă.

Sunteţi interesat de acest curs? Îl puteţi parcurge în cadrul acestor programe LINK Academy: Software Testing and QA Program.

Descrierea și scopul cursului Introduction to Software Development

La început, participanții au ocazia să citească despre ce sunt programele de calculator și cum sunt create. Se familiarizează cu diferite limbaje de programare, cu scopurile și cu caracteristicile de bază ale acestora. Vorbește despre tipurile de programe de calculator și despre diferențele dintre ele. Capitolul introductiv se încheie cu învățarea diferitelor instrumente care participă la procesul de creare a produselor software. Astfel, participanții dobândesc o bază excelentă pentru înțelegerea structurii interne a produselor software.

Primul gând de dezvoltare software pentru majoritatea este programarea, adică munca care presupune scrierea codului sursă care definește ce poate face un program. Prin urmare, se poate spune că, la nivel de bază, fiecare program este format din cod sursă. Logica aplicată la scrierea codului sursă al programului este universală indiferent de limbajul folosit. În cursul Introduction to Software Development sunt ilustrate construcțiile de bază ale limbajelor de programare, cu care se formează logica programelor de calculator.

În cadrul cursului Introduction to Software Development, o atenție deosebită este acordată elementelor de bază ale ingineriei software și activităților de bază care alcătuiesc procesul de dezvoltare software. Participanții se familiarizează cu modelele de bază ale dezvoltării software, ceea ce le permite să înțeleagă mai bine modul în care se realizează proiectarea structurii interne a produselor software. Se vorbește despre cerințele software, importanța acestora, rolul, tehnicile de colectare și analiză și, în final, despre modalitățile prin care acestea pot fi sistematizate în procesul de modelare. Participanților li se prezintă limbajul UML și diferitele tipuri de diagrame care sunt utilizate pentru modelarea sistemelor software. La final, cursul Introduction to Software Development acoperă subiectele de testare și mentenanță software ca etape foarte importante în procesul de dezvoltare a oricărui produs software.

Cursul Introduction to Software Development se încheie cu o poveste despre instrumentele de colaborare (colaborare) și managementul proiectelor ca părți componente ale procesului de producție a programului. Este explicată în detaliu utilizarea instrumentelor de versiuni Git și SVN. Sunt abordate cele mai populare platforme de partajare a proiectelor și colaborare, Github și Bitbucket, precum și platforme de gestionare a proiectelor și sarcinilor: Jira și Confluence. În acest fel, participanții obțin o imagine foarte largă despre cum arată procesul de dezvoltare software, de la nașterea unei idei până la procesul de realizare și implementare.

Scopul cursului Introduction to Software Development este ca participanții să se familiarizeze cu procesul de dezvoltare software. După finalizarea cursului, participanții vor ști ce sunt programele de calculator și cum sunt create, ce sunt limbajele de programare și cum se formează logica de programare simplă. Aceștia vor cunoaște etapele procesului de dezvoltare a unui produs software, care sunt cerințele software și cum sunt colectate și procesate. Participanții vor putea distinge între diferite instrumente utilizate pentru dezvoltare, începând de la programe de design, prin editori de text și medii de dezvoltare, până la instrumente de publicare, partajare și management de proiect.

Cursul Introduction to Software Development vă va răspunde la următoarele întrebări:

Ce este programarea?

Ceea ce diferențiază calculatoarele de alte mașini pe care omul le-a făcut de-a lungul timpului este posibilitatea de programabilitate. Acest lucru înseamnă practic că calculatorul este în general considerat un instrument universal care, în funcție de instrucțiunile care îi sunt transmise, poate îndeplini diferite sarcini. Tocmai în acest fapt este ascunsă cea mai mare putere a calculatorului - caracterul complet arbitrar al programabilității.

Procesul de creare a programelor de calculator se numește programare. Astfel, programarea este actul de a scrie instrucțiuni care permit unui calculator să efectueze o operație. Programarea este un proces extrem de creativ care combină diferite aspecte ale artei, ingineriei și științei.

Programele de calculator sunt create de programatori, oameni care au cunoștințele necesare pentru a putea scrie instrucțiunile care controlează funcționarea calculatorului. Pentru a se adresa calculatoarelor, programatorii folosesc limbaje de programare. În cursul Introduction to Software Development, participanții sunt familiarizați cu principiile de bază ale profesiei de programator.

Care sunt cele mai cunoscute limbaje de pogramare?

Calculatoarele nu înțeleg niciun fel de limbaj natural folosit de oameni, ci doar ceea ce este altfel cunoscut sub numele de limbaj mașină. Codul de program al unui astfel de limbaj este alcătuit dintr-o serie de zerouri și unu, iar fiecare astfel de cifră este numită bit. Scrierea de programe folosind limbajul mașină este foarte solicitantă, așa că un număr mare de limbaje de nivel superior sunt folosite în practică astăzi.

Limbajele de programare de nivel superior folosesc pe scară largă elementele limbajelor naturale, în principal cuvinte și abrevieri preluate din limba engleză, îmbunătățind astfel lizibilitatea și facilitând crearea codului de programare.

De-a lungul timpului, au fost create un număr mare de limbaje de programare de nivel înalt. Dacă începeți să învățați programarea în prezent, aproape sigur veți învăța unul dintre limbajele de nivel superior. De asemenea, diferitele limbaje de nivel înalt diferă foarte mult între ele, în ceea ce privește capacitățile, performanța, sintaxa și nivelul de abstractizare. Astăzi, cele mai populare limbaje de programare sunt C, C++, C#, PHP, Java, Python, JavaScript, Swift etc.

Care instrumente sunt folosite pentru dezvoltarea software?

Procesul de creare a unui program poate fi mai mult decât complex. Pe lângă diferitele limbaje pentru crearea de programe, în această muncă pot fi implicate o serie de instrumente specializate. Astfel, ajungem la un număr mare de programe de calculator diferite care sunt destinate dezvoltării, ce pot fi împărțite în mai multe categorii.

La început, dezvoltarea software se caracterizează prin diferite medii de dezvoltare (Integrated Development Environment, prescurtat IDE), care sunt programe speciale, destinate special creării altor programe. Acestea combină un număr mare de instrumente mai mici, fără de care crearea, compilarea, analiza și testarea programelor nu ar fi posibile. Visual Studio, NetBeans, IntelliJ IDEA, Android Studio, PyCharm, Xcode – acestea sunt doar câteva exemple de medii de dezvoltare.

Dezvoltarea software este caracterizată și de numeroși editori de text, care sunt, de regulă, programe al căror scop principal este de a permite scrierea codului sursă. Este vorba despre programe cu capacități mai modeste decât mediile de dezvoltare, deci sunt folosite în principal pentru codificare. Exemple de editori de text populari sunt Notepad++, Sublime Text, Atom, Visual Studio Code etc.

La procesul de creare a programelor de calculator participă numeroase instrumente pentru lucrul cu grafica vectorială și raster și pentru proiectarea mediilor de utilizator, cum ar fi Adobe Photoshop, Adobe Illustrator, Adobe XD, Miro, Figma, Sketch, Zeplin.

La final, dezvoltarea software-ului profesional se caracterizează și prin utilizarea diferitelor sisteme de colaborare și management de proiect - GitHub, Bitbucket, Jira etc.

Cursul Introduction to Software Development

Care sunt elementele de bază pentru construirea de programe în limbaje de programare moderne?

Logica de bază a programelor de calculator este independentă de limbajul de programare, tehnologia sau setul de instrumente utilizat pentru dezvoltare. Cu alte cuvinte, modul în care este formulată logica programului este universal. Prin urmare, postulatele de bază ale programării sunt aproape identice indiferent de limbajul folosit.

Pentru început, nucleul oricărui limbaj de programare este capacitatea de a procesa date. Pentru ca acest lucru să fie posibil, datele trebuie reprezentate într-un fel în programe de calculator. Pentru a efectua o astfel de muncă, fiecare limbaj de programare cunoaște conceptele de variabile și tipuri de date.

Variabilele sunt simboluri folosite pentru a indica locațiile de memorie. Datorită acestora, nu este necesar să ne amintim adresele de memorie unde se află datele. După ce o valoare este stocată în memorie, aceasta este reprezentată printr-o variabilă.

Clasificarea valorilor care pot fi plasate în variabile se face datorită tipurilor de date. Tipurile de date fac posibilă reprezentarea diferitelor tipuri de valori în programe – caractere, text, diferite tipuri de numere, valori logice etc.

Prelucrarea datelor în programe de calculator este posibilă datorită operatorilor. Acestea sunt elemente lexicale speciale ale limbajului, care permit efectuarea de operații asupra valorilor.

În cele din urmă, fiecare limbaj de programare cunoaște, de asemenea, abordări diferite pentru realizarea controlului fluxului. Controlul fluxului permite influențarea liniarității execuției codului și se realizează prin ramificare sau repetare.

Ce este ingineria software?

Când este menționat termenul de dezvoltare software, primul gând pentru majoritatea este programarea. Tocmai de aceea, cele câteva lecții anterioare au fost dedicate cunoașterii postulatelor de bază ale programării. Într-adevăr, dacă intenționați să învățați să creați programe de calculator pe cont propriu, programarea este disciplina principală de învățat. Cu toate acestea, munca unui programator și a unui inginer care se ocupă cu dezvoltarea software sunt profesii înrudite, dar nu identice.

Dezvoltarea software profesională implică mult mai mult decât scrierea de cod. Pentru început, dezvoltarea profesională implică aproape întotdeauna echipe de dezvoltare. Dezvoltarea de software într-o echipă este complet diferită de crearea de programe de calculator în mod independent. Dezvoltarea software profesională constă în numeroase alte operațiuni efectuate de angajați de diverse profesii. Scrierea documentației, proiectarea, analiza, testarea, întreținerea, suportul sunt doar câteva dintre operațiunile implicate în dezvoltarea software. Dezvoltarea profesională software este abordată de o disciplină cunoscută sub numele de inginerie software.

Ingineria software este o disciplină de inginerie care se ocupă cu toate aspectele dezvoltării produselor software de la primele etape ale creării unei specificații software, până la livrare și mentenanță. Ingineria software asigură că un produs software îndeplinește așteptările prin stabilitatea, viteza, capacitatea de utilizare, capacitatea de actualizare și capabilitățile de testare, prețul, securitatea și diferiți alți factori.

În cadrul cursului Introduction to Software Development, participanții au ocazia să citească despre postulatele de bază ale ingineriei software.

Ce sunt Git și GitHub?

Dezvoltarea software profesională implică aproape întotdeauna existența unor echipe de dezvoltare, adică participarea unui număr mare de programatori, ceea ce este valabil mai ales atunci când vine vorba de proiecte mai complexe. Prin urmare, cooperarea reciprocă este un aspect foarte important al dezvoltării. Acesta este motivul pentru care au fost dezvoltate de-a lungul timpului numeroase instrumente care permit colaborarea și facilitează partajarea codului. Pentru început, sunt șanse să fi auzit de platforma online GitHub sau să o fi întâlnit până acum. Este cu siguranță cea mai populară platformă pentru partajarea codului de calculator. De fapt, GitHub este un sistem pentru crearea de depozite online, bazat pe un program numit Git.

Git este un sistem de versiuni creat de creatorul nucleului Linux - Linus Torvalds. Versiunea codului este o abordare care permite urmărirea modificărilor la codul sursă. În termeni mai simpli, versiunea permite ca fiecare modificare a codului să fie înregistrată și să permită revenirea la o astfel de versiune în orice moment. Cursul Introduction to Software Development îi echipează pe participanți să folosească aceste sisteme foarte importante.

Ce este Jira?

Diverse sisteme de management de proiect sunt o componentă obligatorie a dezvoltării software profesionale în prezent. Fiecare proiect este, de fapt, un grup de sarcini care trebuie implementate pentru a obține rezultatul așteptat. De asemenea, fiecare proiect, indiferent de domeniul de activitate, necesită ca acesta să fie gestionat corespunzător.

Managementul proiectelor software (software project management) este o disciplină care implică planificarea și supravegherea procesului de dezvoltare a produsului software. Este o disciplină care gestionează timpul, personalul și resursele financiare necesare dezvoltării unui produs software care va fi capabil să răspundă cerințelor utilizatorilor.

Planul și programa cursului pe module

Modulul 1: Lumea dezvoltării software

  • Introducere în programare
  • Programe de calculator
  • Instrumente de dezvoltare software

Modulul 2: Bazele programării

  • Variabile și tipuri de date
  • Operatori
  • Controlul fluxului

Modulul 3: Inginerie software

  • Conceptul de inginerie software
  • Cerințe software
  • Testare și mentenanță

Modulul 4: Instrumente pentru versiuni, colaborare și management de proiect

  • Colaborare și versiune
  • Management de proiect

Introduction to Software Development

3 moduri de a obține un job bine plătit

Am pregătit un document în care puteţi descoperi trei moduri de a obţine un job bine plătit pentru profesioniştii care lucrează pe calculator. Descărcați raportul aici

Înscrierea pentru generaţia 2024/25. se face aici.

imagine de înscrierePentru a afla totul despre înscriere, click aici.