Laboratorul 1 Înțelegere, specificare, revizuire

Analiza și Modelarea Sistemelor Software

Traian-Florin Șerbănuță

Rezervarea sălilor de studiu din campus

În perechi · 100 de minute

Explicați singuri problema, pregătiți o specificație cu limite clare, delegați o revizuire (review) și decideți ce afirmații sunt susținute de dovezi.

La final: o descriere comună a problemei și explicația individuală a unei decizii de proiectare.

Fișe: informațiile beneficiarului · fișa de lucru

Ideea întâlnirii

„Simplitatea este o condiție necesară pentru fiabilitate.”

— Edsger W. Dijkstra

Sursa: How do we tell truths that might hurt? — EWD498 · traducere din engleză

Parcursul de azi

Minute Activitate
0–8 Analiză individuală, fără AI
8–16 Compararea interpretărilor; clarificarea distincțiilor
16–26 Pregătirea spațiului de lucru și a rolurilor
26–44 Descrierea problemei și predarea sarcinii către autor
44–60 Schimbarea rolurilor; revizuire independentă
60–78 Evaluarea revizuirii și modificări justificate
78–90 Argumentare individuală și o cerință nouă
90–100 Prezentarea deciziilor și predarea lucrării

Informațiile beneficiarului

Campusul dorește ca studenții să poată rezerva sala Alder sau sala Birch pentru studiu.

Fișa este sursa informațiilor convenite. Întrebările nu stabilesc reguli noi.

Reguli pe care le putem verifica

Anularea la ora de început sau după aceasta și rezervările suprapuse ale aceluiași student în săli diferite rămân întrebări deschise.

Mai întâi: analiza proprie (0–8)

Lucrați individual, fără AI. Păstrați aceste notițe inițiale.

  1. Formulați scopul și limitele cu propriile cuvinte.
  2. Explicați ce este o sală și ce este o rezervare.
  3. Dați un exemplu de cerere acceptată și unul de cerere respinsă, fiecare justificat printr-o informație din fișă.
  4. Formulați o întrebare pe care ați pune-o înainte de a extinde soluția.

Folosiți propoziții, un tabel mic, o schiță sau pseudocod.

Patru tipuri de afirmații

Tip Exemplu
Cerință convenită F4: rezervările confirmate pentru aceeași sală nu se suprapun.
Consecință dedusă Alder rezervată 10:00–11:00 intră în conflict cu o cerere pentru Alder 10:30–11:30.
Alegere de proiectare O operație de rezervare răspunde de verificarea conflictului și de confirmare.
Regulă încă neclarificată Poate un student avea rezervări suprapuse în săli diferite?

O propunere devine cerință convenită doar după acceptarea ei de către beneficiar.

De la regulă la responsabilitate

Concept al domeniului: o rezervare leagă un student, o sală și un interval.

Invariantă: o regulă care trebuie să rămână adevărată — aici, fără rezervări confirmate suprapuse pentru aceeași sală.

Responsabilitate: o parte a sistemului propus trebuie să impună această regulă la fiecare confirmare.

Discutați: de ce poate fi insuficient „verifică disponibilitatea, apoi confirmă mai târziu”?

Spațiul de lucru și rolurile (16–26)

Dacă AI nu este disponibil, folosiți exemplul pregătit și o revizuire separată între colegi.

Predarea sarcinii: un mic contract

Predarea sarcinii și a contextului (handoff) către autor precizează:

Salvați o copie a variantei rezultate pentru revizuire.

Promptul autorului (26–44)

Acționează ca asistent de analiză. Folosind doar informațiile beneficiarului și notițele atașate, redactează scopul, limitele, conceptele domeniului, regulile, scenariile de acceptare și întrebările deschise. Citează identificatorii informațiilor. Marchează separat propunerile de proiectare. Cere clarificări unde lipsesc reguli; nu răspunde în numele beneficiarului. Propune o sarcină următoare de proiectare, cu limite, intrări, responsabilități, verificări și un punct de oprire. Nu o implementa.

Citiți rezultatul. Acceptați, editați sau cereți o corectare, motivând decizia.

Scenarii care disting regulile

Fiecare rând este un caz independent, cu o singură rezervare confirmată inițial: Alder, 10:00–11:00.

Cerere sau acțiune Rezultat așteptat Sursă
Alder, 10:30–11:30 Respingere: conflict F4
Alder, 11:00–12:00 Acceptare* F3–F4
Birch, 10:30–11:30, alt student Acceptare* F3–F4
Alt student anulează Respingere; fără modificări F6

* După verificarea celorlalte condiții convenite.

Adăugați câte un caz pentru cereri simultane și pentru anulare.

Revizuire separată (44–60)

Începeți într-un context nou. Furnizați informațiile, versiunea salvată și criteriile:

Revizuiește descrierea problemei față de informațiile furnizate. Verifică limitele, distincțiile dintre concepte, precizia regulilor, scenariile de acceptare și dacă responsabilitățile propuse pot păstra regulile. Pentru fiecare afirmație, citează pasajul din variantă și informația-sursă sau un contraexemplu. Distinge între contradicție, întrebare nerezolvată și alternativă opțională. Identifică și deciziile susținute de dovezi. Nu inventa răspunsuri ale beneficiarului și nu impune o anumită notație, arhitectură sau tehnologie.

Furnizați intrările convenite, nu conversația autorului.

Verificați constatările (60–78)

Pentru fiecare constatare importantă pe care o rețineți, notați:

Constatarea revizuirii Dovezi Decizia omului
„Varianta respinge greșit rezervările adiacente.” F4 permite adiacența; verificați regula citată. Acceptați dacă varianta chiar respinge adiacența.
„Este necesară o bază de date relațională.” Nicio informație nu prescrie stocarea. Tratați-o ca propunere opțională de proiectare.

Decizii: acceptare, respingere sau amânare pentru clarificare. Motivați.

Modificați unde se justifică; reluați scenariul afectat pe versiunea revizuită.

Ce sarcină putem preda în continuare?

Propuneți o sarcină de proiectare, în limitele descrierii acceptate azi:

Precizați versiunea de intrare, rezultatul așteptat și dovezile cerute.

Lucru comun, dovezi individuale

Comun: descriere concisă, sarcină următoare delimitată și evidența revizuirii cu deciziile oamenilor.

Individual, fără AI: păstrați analiza inițială și explicați:

Folosiți fișa de lucru. Păstrați fragmentele necesare justificării deciziilor.

Cerință nouă: răspuns individual (78–90)

Beneficiarul propune acum:

„De mâine, o rezervare ar trebui să dureze cel mult 60 de minute.”

Există deja o rezervare confirmată de 90 de minute pentru mâine (ziua D).

Fără AI:

  1. Explicați ce este nou și ce decizii anterioare sunt afectate.
  2. Identificați regula lipsă pentru rezervările existente.
  3. Comparați două răspunsuri justificabile și dați un scenariu care le distinge.

Prezentare și predare (90–100)

Fiecare pereche selectată explică unul dintre aspectele următoare:

Predați fișierele comune și explicația fiecăruia la destinația anunțată de cadrul didactic.

Dacă predarea nu funcționează, folosiți canalul alternativ anunțat.

Dovezi ale înțelegerii

Lucrarea este pregătită pentru feedback când:

Urmează: formularea problemei și cerințele, apoi modelarea domeniului.