Schița de curs

Ingineria Software - 5 zile

Ziua 1: Managementul Proiectelor

  • Managementul proiectelor versus managementul de linie și mentenanță și suport
  • Definirea proiectului și formele de proiect
  • Management – reguli generale și managementul proiectelor
  • Stiluri de management
  • Ce este special în proiectele IT?
  • Procesul de bază al proiectului
  • Procese iterative, incrementale, în cascadă, agile și lean
  • Fazele proiectului
  • Roluri în proiect
  • Documentația proiectului și alte artefacte
  • Factorii soft și peopleware
  • PRINCE 2, PMBOK, PMI, IPMA și alte standarde de proiect

Ziua 2: Fundamentele Analizei de Afaceri și Ingineriei Cerințelor

  • Definirea obiectivelor de afaceri
  • Analiza de afaceri, managementul proceselor de afaceri, îmbunătățirea proceselor de afaceri
  • Granița dintre analiza de afaceri și analiza sistemelor
  • Părți interesate, utilizatori, contextul sistemului și limitele sistemului
  • De ce sunt necesare cerințele?
  • Ce este inginerie cerințelor
  • Granița dintre inginerie cerințelor și proiectarea arhitecturală
  • Unde este adesea ascunsă inginerie cerințelor?
  • Inginerie cerințelor în dezvoltarea iterativă, lean și agile și în integrarea continuă – FDD, DDD, BDD, TDD
  • Procesul de bază al ingineriei cerințelor, roluri și artefacte
  • Standarde și certificări: BABOK, ISO/IEEE 29148, IREB, BCS, IIBA

Ziua 3: Fundamentele Arhitecturii și Dezvoltării

  • Limbaje de programare – paradigme structurale și orientate pe obiecte
  • Dezvoltarea orientată pe obiecte – cât este istorie, cât este viitor
  • Modularitate, portabilitate, mentenanță și scalabilitate a arhitecturilor
  • Definirea și tipurile de arhitecturi software
  • Arhitectura enterprise și arhitectura sistemelor
  • Stiluri de programare
  • Medii de programare
  • Greșeli de programare și cum să le eviți și să le previnți
  • Modelarea arhitecturii și componentelor
  • SOA, Web Services și micro-servicii
  • Build automat și integrare continuă
  • Câtă proiectare arhitecturală este într-un proiect?
  • Programare extremă, TDD și refactorizare

Ziua 4: Fundamentele Asigurării Calității și Testării

  • Calitatea produsului: ce este? ISO 25010, FURPS etc.
  • Calitatea produsului, experiența utilizatorului, Modelul Kano, managementul experienței clienților și calitatea integrală
  • Design centrat pe utilizator, personaje și alte modalități de a individualiza calitatea
  • Calitatea „just-enough”
  • Asigurarea calității și controlul calității
  • Strategii de risc în controlul calității
  • Componentele asigurării calității: cerințe, controlul procesului, managementul configurației și al schimbărilor, verificare, validare, testare, testare statică și analiză statică
  • Asigurarea calității bazată pe risc
  • Testare bazată pe risc
  • Dezvoltare bazată pe risc
  • Curba lui Boehm în asigurarea calității și în testare
  • Cele patru școli de testare – care se potrivește nevoilor tale?

Ziua 5: Tipuri de Procese, Maturitate și Îmbunătățirea Proceselor

  • Evoluția proceselor IT: de la Alan Turing prin Big Blue până la lean startup
  • Proces și organizație orientată pe procese
  • Istoria proceselor în meșteșuguri și industrii
  • Modelarea proceselor: UML, BPMN și altele
  • Managementul proceselor, optimizarea proceselor, reingineria proceselor și sistemele de management al proceselor
  • Abordări inovatoare ale proceselor: Deming, Juran, TPS, Kaizen
  • Este (calitatea procesului) gratuită? (Philip Crosby)
  • Necesitatea și istoria îmbunătățirii maturității: CMMI, SPICE și alte scale de maturitate
  • Tipuri speciale de maturitate: TMM, TPI (pentru testare), Maturitatea Ingineriei Cerințelor (Gorschek)
  • Maturitatea procesului versus maturitatea produsului: există corelație? Există relație cauzală?
  • Maturitatea procesului versus succesul de afaceri: există corelație? Există relație cauzală?
  • O lecție uitată: Prevenirea Automată a Defectelor și Următorul Salt în Productivitate
  • Încercări: TQM, SixSigma, retrospectives agile, cadre de procese

Ingineria Cerințelor - 2 zile

Ziua 1: Identificarea, Negocierea, Consolidarea și Managementul Cerințelor

  • Identificarea cerințelor: ce, când și de cine
  • Clasificarea părților interesate
  • Părți interesate uitate
  • Definirea contextului sistemului – definirea surselor cerințelor
  • Metode și tehnici de identificare a cerințelor
  • Prototipare, personaje și identificarea cerințelor prin testare (exploratorie și altfel)
  • Marketing și identificarea cerințelor – MDRA („Market-Driven Requirements Engineering”)
  • Prioritizarea cerințelor: MoSCoW, Karl Wiegers și alte tehnici (inclusiv MMF agile)
  • Rafinarea cerințelor – „specificație prin exemplu” agile
  • Negocierea cerințelor: tipuri de conflicte, metode de rezolvare a conflictelor
  • Rezolvarea incongruențelor interne între anumite tipuri de cerințe (de ex. securitate versus ușurință de utilizare)
  • Trasabilitatea cerințelor – de ce și cum
  • Schimbări de stare ale cerințelor
  • CCM, versionarea și liniile de bază ale cerințelor
  • Vederea produsului și vederea proiectului asupra cerințelor
  • Managementul produsului și managementul cerințelor în proiecte

Ziua 2: Analiza, Modelarea, Specificarea, Verificarea și Validarea Cerințelor

  • Analiza este gândirea și regândirea pe care o faci între identificarea și specificarea cerințelor
  • Procesul cerințelor este întotdeauna iterativ, chiar și în proiectele secvențiale
  • Descrierea cerințelor în limbaj natural: riscuri și beneficii
  • Modelarea cerințelor: beneficii și costuri
  • Regulile pentru utilizarea limbajului natural în specificarea cerințelor
  • Definirea și gestionarea glosarului cerințelor
  • UML, BPMN și alte notații formale și semi-formale pentru modelarea cerințelor
  • Utilizarea șabloanelor de documente și propoziții pentru descrierea cerințelor
  • Verificarea cerințelor – obiective, niveluri și metode
  • Validare – cu prototipare, revizuiri și inspecții, și testare
  • Validarea cerințelor și validarea sistemului

Testare - 2 zile

Ziua 1: Proiectarea Testelor, Executarea Testelor și Testarea Exploratorie

  • Proiectarea testelor: după testarea bazată pe risc, alegerea modului optim de a folosi timpul și resursele disponibile
  • Proiectarea testelor „de la infinit până aici” – testarea exhaustivă nu este posibilă
  • Cazuri de test și scenarii de test
  • Proiectarea testelor la diverse niveluri (de la unitate la nivel de sistem)
  • Proiectarea testelor pentru testarea statică și dinamică
  • Proiectarea testelor orientate pe afaceri și pe tehnică („black-box” și „white-box”)
  • Încercarea de a defecta sistemul („testare negativă”) și sprijinirea dezvoltatorilor (testare de acceptare)
  • Proiectarea testelor pentru a obține acoperirea testelor – diverse măsuri de acoperire a testelor
  • Proiectarea testelor bazată pe experiență
  • Proiectarea cazurilor de test din cerințe și modele de sistem
  • Euristica de proiectare a testelor și testare exploratorie
  • Când să proiectezi cazuri de test? – abordare tradițională și exploratorie
  • Descrierea cazurilor de test – cât de detaliat?
  • Executarea testelor – aspecte psihologice
  • Executarea testelor – înregistrare și raportare
  • Proiectarea testelor pentru testarea „non-funcțională”
  • Proiectarea automată a testelor și MBT (Model-Based Testing)

Ziua 2: Organizarea, Managementul și Automatizarea Testelor

  • Niveluri (sau faze) de testare
  • Cine face testarea și când? – diverse soluții
  • Medii de testare: cost, administrare, acces, responsabilitate
  • Simulatoare, emulatoare și mediu virtual de testare
  • Testare în cadrul agile scrum
  • Organizarea și rolul echipei de testare
  • Procesul de testare
  • Automatizarea testelor – ce poate fi automatizat?
  • Automatizarea executării testelor – abordări și instrumente
 63 Ore

Numărul de participanți


Pret per participant

Mărturii (5)

Cursuri viitoare

Categorii înrudite