Facut de Sefii facultatii mai exact HAC
Software Engineering Quiz
Testați-vă cunoștințele în domeniul ingineriei software cu acest quiz provocator! Conține întrebări din domenii esențiale, precum design de sistem, arhitectură software și metode de testare. Este perfect pentru studenți și profesioniști deopotrivă.
- 28 de întrebări multiple alegere
- Evaluare pe baza răspunsurilor corecte
- Ideal pentru pregătirea în carieră sau autoevaluare
Când, în cadrul şablonului Observer, serverul primeşte un apel subscribe
. crează un obiect de tip ConcreteObserver care adaugă stocarea locală în atributele dorite.
Creaza un obiect de tip NotificationHandle care include adresa obiectului
Apeleaza periodic o metoda Gimme() de interogare directa a valorii urmatoare
Redundanţa dinamică pentru măsurarea poziţieiîn sistemul din problemă poatefi astfel implementată:
Poziţia estecitită dinamic de două secvenţe software distincteşi o altă secvenţă compară rezultatele; dacă acestea nu sunt egale, se semnalează eroare de poziţie
Poziţia este citită dinamic de trei module sottware distincte şi o altă secvenţă compară rezultatels; rezultatul corect este indicat de votul majoritar.
O secvenţă software apelata după masurarea poziţiei verifică dacă de la precedenta apelare poziţia s-a modificat cu o valoare plauzibila spre (spre exemplu daca antena este in miscare in intervalul de la ultima masurare nu se poate ca deplasarea sa fie prea mare sau prea mica in raport cu dinamica ansamblului mecanic); daca testul semnaleaza ca masurarea este suspicioasa, se semnaleaza eroare de masurare
În UML conectarea modelului de obiecte cu modelul cazurilor de utilizare se realizează prin aceea că
Fiecare caz de utilizare va fi realizat de un set de obiecte care lucrează împreună.
Fiecare model de obiecte este realizat de un set de cazuri de utilizare care trimit secvențe de mesaje.
Fiecare caz de utilizare corespunde câte unui obiect.
Pentru testarea apl'caţiei descrise în problemăse utilizează ca şi criteriu de oprire a testării atingerea unui prag de încredere fixat. Pentru a-l determina, programul a fost „plantat” cu 26 erori. În timpul testării, sunt detectate 15 erori, din care 10 sunt“plantate”şi 5 suni alle erori. Căle erori estirmăm că mai sunt în program (nedele:lale) ?
12
8
6
Regulatorul numeric din sistemul descris este:
un calcul care se efectuează în buclă infinită, furnizând o comandă către sistemul de poziţionare pe baza intrării de poziţie şi a unsi prescrieri
Un microprocesor care comandă rotația antenei
Un calcul care se efectuează periodic, furnizând o comandă către sistemul de poziţionarere pe baza intrării de poziţie şi a unei prescrieri
În UML, o operaţie este:
. Specificarea unui mesaj.
Descrierea unei secvenţe de apeluri de metode.
Specificarea unui comportament
Sistemele ce conducere de proces prezintă anumite particularităţi, printre acestea numărându-se:
Prezența interfeţelor cu utilizatorul, puterea foarte mare de procesare, utilizarea memoriilor statice, includerea unui mecanism de watch-dog, toleranța la defectare,fiabilitatea foarte bună, sisteme de operare speciale (OSEK sau AUTOSAR) şi funcţionarea în condiţii grele de lucru.
Proiectarea folosind redundanţa statică sau dinamică, utilizarea unor microcontrollere speciale, prezenţe interfețelor de procesși a interteţelor de vizualizare de semnal, funcţionarea în condiţii grele de lucru
Prezenţa interfeţelor de proces, utilizarea memoriilor statice, includerea unui mecanism de watch- dog, eventual existenţa mai multor procesoare, modularitatea, toleranța la defectare, fiabilitatea foarte bună, sisteme de operare în timp real, câteodată lipsesc interfețele standard de vizualizare şi funcţionarea în condiţii grele de lucru.
Comunicare daisy-chain, stea sau multipunct, existenţa unor interfețe speciale cu operatorul, sisteme de operare UNIX, Linux sau ONX.toleranțala detectare, fiabilitatea foarte bună, funcţionarea în condiţii grele de lucru
În cadrul şedinţelor de analliză organizate de noi cu reprezentanţii clilentului pentru sistemul descris, ne vom strădui să ascultăm doleanţele clientului mai mult de
Un sfert din timpul alocat
Patru cincimi din timp
Cel puţin jumătate din timp
Tipurile de informaţii fumizate de clienţi (în cadrul activităţii de analiză sofiware) sunt:
Cerinţe de business, scenarii de business, restricţii asupra echipamentelor disponibile, cerințe funcţionale, structuri de date
Specificaţii, sugestii de arhitectură software, structuri de date, funcţii ale sistemului, interfaţa cu utilzatorul
Cerinţe de business, scenarii de business, reguli da business, cerințe funcţionale, atribute de calitate, constrângeri externe, structuri ce date, sugestii pentru posibile soluții
Şablonul Smart Pointer permite utilizarea în siguranţă a mecanismului de tip pointer, prin
Testarea validității pointerilor prin contorizarea numărului de instanțieriși testarea valorii de NULL; utilizarea destructorilor pentrueliberarea memariei;detectarea condiţiei că obiectul nu mai există și refuzarea accesului prin intermediul painterului
Folosirea operatorilor new și delete definiți de utilizator pentru a evita accesarea unor zone de memorie nefolosite sau a unora deja eliberate.
Utilizarea constructorilor astfel încât pointerii să fie iniţializați cu NULLsau să indice spre obiecte valide; utilizarea destructorilor care determină cacă memaria eliberată nu mai e necesară; detectarea condiţiei că obiectul nu mai există şi refuzarea accesului prin intermediul pointerului.
Inspecţia codului:
Se folosește la testele de modul și presupune pregătirea acţiunii prin cesemnarea unei echipe, prezentarea prealabilă a codului, studiul acesteia, formularea uneiliste de obiective și organizarea unei sedinţe de analiză; se verifică inclusiv corectitucincaalgoritmilor, performanțele, interfețele ctc.
Se foloseștela testele de modul și presupune analiza de colegii din echipa de testare, cărora |i se explică cele realizate (folosind inclusiv documentaţia) și care prin efortul de a înţelege cele parcurse pot ajuta la descoperirea unor greșeli; discuţia este condusă de proiectanțiși accentul este pe cod.
Este o metodă de testare utilizată la testele de acceptanţă și presupune inspecția codului de către client, realizată prin comparare cu specificaţiile
Pentru identificarea cazurilor de utilizare analistul stă de vorbă cu clientul şi îi adresează întrebări cheie precum:
Care sunt actorii ? Care sunt mesajelor pe care le trimit şi recepționează ? Care sunt grupele care alcătuiesc cazuri de utilizare ?
Care esle rolul actorilor şi al sistemului în fiecare scenariu ? Care sunt interacţiunile (fluxurile) ? Care sun! secvențele de evenimente şi date ? şi posibilele variaţiuni.
Care sunt funcţiile primare ale sistemului ? Care sunt funbăiile secundare ale sistemului ? De ce a fost construit sistemul ? Ca în'ocuieşte şi de ce?
O stare este:
O descriere complet constru
O condiţie de existenţă a unui clasificator (clasă sau caz de utilizare) care persistă o perioadă semnificativă de timp şi poate fi cumva distinsă faţă de alte condiţii similare de existenţă.
O descriere e comportamentului unui obiectul în timpul intrării, ieşirii sau persistenţei.
Pentru dezvoltarea produsului conform celordescrise în problemă, se va folosi dezvoltarea agilă “uzuală”. Conducătorul diviziei responsabile va stabili cu membrii echipei, ca şi principii călăuzitoare, următoarele:
Softwarc ul sc livrează frecvent (săptămânal), chiar şi schimbăritârzii sunt acceptate, cooperarea cu clientul este apropiată (dacă se poate, zilnică), forma de comunicare dorită este conversaţia faţă îlifaţă, achipa se auto-organizează.
software-ul este livrat o dată la două luni, schimbări după două săptămâni nu se acceptă, cooperarea cu clientul se face prin întâlniri săptămânale, forma de comunicare predilecta este e-mailul, echipa este structurată după metada echipei programatorului-şef.
Software-ul se livrează frecvent (săptâmânal), se defineşte, pentru fiecare increment, o descriere a cerinţelorla nivelul clientului, se descriu apoi specificaţiile funcţionale, se face proiectarea formală, verificarea corectitudinii, testarea statistică şi certificarea, se lucrează cu echipe organizate riguros şi ierarhic.
Agregarea este:
.Un tip special de asociere care implică proprietatea logică sau fizică.
B O'relaţie de tip clasă părinte/clasă descendent
.O formă tare de comporiţie pori în care ppărţile sunt în întregime g în responsabilitatea clasei compozite
Un şablon (pattern)
Abstractizaază şi identifică aspectele cheie ale unei structuri comune de proiectare în care o singură sursă ce informaţie acţionează ca un server pentru mai mulţi clienţi.
Abstractizează şi identifică aspectele cheie ale unsi structuri comune de proiectare prin utilizarea claselor abstracteşi a moştenirii şi funcţiilorvirtuale.
. abstractizează şi identifică aspectele cheie ale unei structuri comune de proiectare pe care o face utilă pentru crearea unui design OO, reutilizabil.
(Câteva dintre) obiect'vele ingineriei programării sunt:
A. modularitatea, abstractizarea, ascunderea, eficienţa, fiabilitatea, perceptibilitatea, confirmabilitatea
Adaptabilitatea(flexibilitatea), eficienţa, fiabi itatea, perceptibilitatea
Adaptabilitatea, eficienţa, modularitatea, confirmabilitatea, eficienţa
Mocularitatea, confirmabilitatea, adaptabilitatea, eficienţa
Actorii în sistemul din problemă, în accepţi.inea UMI, sunt:
. antena, utilizatorul, calculatorul PC
Senzorii, sistemul de acţionare, traductoarele de măsură, utilizatorul, unitatea serială
Sistemul de acţionareal antenei, sistemul de măsură de poziţie, interfaţa cu utilizatorul, unitateaserială de comunicare cu calculatorul PC, utilizatorul.
Şablonul Container este o bună soluţie pentru cazul
Când un obiect are asociere 1-la-mai mulţi şi dorim să îmbunătăţim reuzabilitatea şi atunci acea clasă de la capătul “1” va gestiona un set de obiecte stocate într-un container
Când devine mai uşoară adăugarea unui nou container - un vector extensibil — prin crearea uneiinterfeţe care asigură clienţilor serviciile cerute de aceştia dar folosesc operaţiile promitive ale containerelor existente.
Când un obiect are nevoie de o implementare comună potrivită pentru o varietate de utilizări.
Un şablon facade oferă
Un acces unificat la o colecţie de obiecte, prin intermediul pointerilor
O interfaţă unificată pentru un sal de interfeţe dinu-un subsistem
.o modalitate deavizualiza unitar orice obiecte dintr-o colecţie
Documentul de proiectare arhitecturală trebuie să
Specifice rolul fiecarei componente, cerinţele care i-au fost alocqte,interfata de comunicare cu celelalte componente ale sistemului
Descrie rolul fiecărei componente, cerintele de memorie și timp de calcul alocate, interfata de comunicare cu celelalte componente ale sistemului
Descrie rolul fiecărui programalor şi al fiecărei componente, respecliv inler fala de comunicare cu celelalte componenle ale sistemului
Specifice rolul fiecărei funcţii, cerințele care i-au fost alocate, interfata de comunicare cu utilizatorul, descrierea componentelor sistemului
Asocierile sunt:
Codificate prin existenţa unei clase asociative
Relaţii de colaborare definite prin existenţa unui server şi respectiv a unui pachet de metode
Relaţii care se manifestă la rulare pentru a permite schimb de mesaje între obiecte
Şablonul Observer rezolvă problema
în care o singură sursă de informaţie acţionează ca un server pentru mai mulţiclienţi care trebuie să îşi actualizeze autonom datele când acestea se schimbă.
în care un obiecttrebuie să afişeze şeze pperiodic (observe) schimbările survenite în valorile citite de le un senzor.
în care un server trebuie să furnizeze la cerere datecitite din proces.
Specificaţiile urmăresc:
Descrierea structurii aplicaţiei software şi a comunicării acesteia cu mediul (aici, mulţimea tuturor actorilor - a entităţilor exlerioare cu care aplicația inleracţionează în nod semnificaliv).
Descrierea comunicării dintre aplicația software (văzută ca o cutie nsagră) şi mediu (aici, mulţimea tuturor actorilor - a entităţilor exterioare cu care aplicaţia interacționează în mod semnificativ).
Descrierea elementelor de arhitectură şi ce detaliu din aplicaţia software, a structurii bazelor de date precum şi a interfeţelor utilizator.
Cerintele functionale in uml
Sunt codificate prin note text
Sunt reprezentate prin diagrame de secventa si diagrame de stare
Sunt reprezentate direct de cazurile de utilizare
Sablonul Smart Pointer elimina unele sure de erori din practica utilizarii pointerilor obisnuiti, astfel:
au contructor care initializeaza pointerii cu NULL, nu au desctuctor dar mentin adresa memoriei unde e obiectul utilizat, indica numarul de instante ale zonelor de memorie in care se face rezervarea
Ndica in permanenta spre obiecte valide, determina daca memoria trebuie eliberata cand nu mai e necesara, daca eliberarea memoriei nu e face corect, smart pointers returneaza un pointer valid spre o alta zona de memorie si refuza accesul la zona initiala
Folosesc constructorii pentru a initializa cu NULL sau a forta preconditii pentru ca pointerii sa indice spre obiecte valide; determina daca memoria trebuie eliberata cand nu mai e necesara; daca eliberarea memoriei nu se face corect, smart pointers pot automat detecta conditia ca obiectul nu mai exista si sa refuze accesul
Sistemele pentru conducere de proces ridica probleme speciale, care maresc gradul de dificultate al proiectarii si implementarii, dearece:
Impun cerinte speciale privind siguranta in fun ctionare (sisteme safety-critical), respectiv, cele mai multe au cerinte exprese privind implementarea redundantei dinamice
Impun cerinte speciale privind siguranta in fun ctionare (sisteme safetycritical), respectiv cele mai multe au cerinte exprese privind raspunsul in timp real
Impun cerinte speciale privind raspunsul in timp real, respectiv, cele mai multe au cerinte exprese privind utilizarea nor sisteme de operare speciale
Strategia de identificare a obiectelor numita "sublinierea substantivelor" permite depistarea:
Unor clase de interes, a unor subsisteme, clase neinteresante sau atribute de clase
Unor obiecte de interes, a unor actori, obiecte neinteresante sau atribute de obiecte
Unor asociatii, unor obiecte, clase, atribute, metooke si generalizari
{"name":"Facut de Sefii facultatii mai exact HAC", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Testați-vă cunoștințele în domeniul ingineriei software cu acest quiz provocator! Conține întrebări din domenii esențiale, precum design de sistem, arhitectură software și metode de testare. Este perfect pentru studenți și profesioniști deopotrivă. 28 de întrebări multiple alegere Evaluare pe baza răspunsurilor corecte Ideal pentru pregătirea în carieră sau autoevaluare","img":"https:/images/course6.png"}