Grila IP 1
Software Engineering Quiz
Testați-vă cunoștințele în ingineria software cu acest quiz cu 30 de întrebări provocatoare. Conceput pentru profesioniști și studenți, acest test va evalua înțelegerea conceptelor cheie din domeniu.
Întrebările acoperă subiecte precum:
- Asocierea și design-ul sistemelor
- Modele de dezvoltare software
- Principiile testării și documentației
- Ingineria cerințelor și analiza software
Implementarea asociatiilor se poate realiza prin
Prin mesaje pentru asociatiile "1 la 1" si prin liste inlantuite si iteratori pentru asociatiile "1 la mai multi"
Pentru asociatii "1 la 1" cu pointeri, referinte sau declaratii inline de clase,iar asociatiile "1la mai multi" se implementeaza de multe ori cu pattern "container"
Includerea unor obiecte de tipul claselor asociate
Dezvoltarea iterativa furnizeaza clientului o versiune de program care:
Contine de la inceput toate functiile si cu fiecare versiune noua acestea sunt perfectionate si performantele imbunatatite
Contine de la inceput un set restrans de functionalitati si cu fiecare versiune noua se eadauga altele noi
Permite instruirea clientului si adaugarea de functii noi
Cand, in cadrul sablonului Observer, serverul primeste un apel subscribe
Creaza un obiect de tip ConcreteObserver care adauga stocarea locala in atributele dorite
Creaza un obiect NotificationHandle care include adresa obiectului
Apeleaza periodic o metoda Gimme() de interogare direct a valorii urmarite
Modelul de dezvoltare in spirala presupune
O abordare euristica in cadrul careia la fiecare etapa de dezvoltare, conceptul de dezvoltare abordat este validat prin metode euristice si solutia aleasa este in continuare dezvoltata in psirala
O abordare iterativa in cadrul careia la fiecare iteratie, prin analiza riscurilor se compara diferitele alternative din punct de vedere al cerintelor si constrangerilor, iar portotipizarea verifica fezabilitatea inainte ca o anumita alternativa sa fie aleasa
O abordare iterativa in cadrul careia la fiecare iteratie, analiza riscurilor cantareste diferite alternative din punct de vedere al validarii prin testare, ceea ce permite analiza fezabilitatii inainte ca o anumita alternativa sa fie aleasa
Metoda de dezvoltare software Cleanroom este bazata pe
Metode orientate pe obiecte
Metode euristice
Metode formale
Metode stohastice
In UML conectarea modelului de obiecte cu modelul cazurilor de utilizare se realizeaza prin aceea ca
Fiecare caz de utilizare va fi realizat de un set de obiecte care lucreaza impreuna
Fiecare model de obiecte este realizat de un set de cazuri de utilizare care trimit secvente de mesaje
Fiecare caz de utilizare corespunde cate unui obiect
Sablonul Factory
Ofera o interfata unificata pentru un set de interfete dintr-un subsistem
Defineste o interfata pentru crearea unui obiect, dar lasa subclasele sa decida ce clasa trebuie instantiata
Ofera un surogat local al unui obiect
Nivelurile cerintelor de dezvoltare software sunt urmatoarele
de business, utlizator, fun ctionale
De business, de proiectare, de testare
De sistem, de program, de modul
In cadrul testelor de acceptanta
Sistemul este testat daca functiile sunt implementate dupa instalarea softului
Sistemul este testat conform descrierii cerintelor clientului
Aplicatia este comparata cu lista cerintelor software si hardware
Documentatia software de proiectare este necesara, prin altele, pentru
Elaborarea unui prototip
Prezentarea produsului
Prezentarea produsului si relatiile cu clientii
Activitatea de asistenta tehnica si refolosire software
In UML, o operatie este:
Specificarea unui mesaj
Descrierea unei secvente de apeluri de metode
Specificarea unui comportament
Sistemele de 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
Un proces de descărcare (charge-out) în cadrul unui sistem de gestiune a configuraţiilor realizează:
Copierea unui modul de program din depozitul de bază (baseline) în spaţiul de lucru al programatorului şi apoi ştergerea acestuia din depozit
Copierea unui modul din depozitul de bază în spaţiul de lucru al programatorului şi apoi blocarea accesului (lock) la acest mocul astfel încât nimeni altcineva să nu mai poată realiza un alt proces de descărcare
Crearea unei noi revizii în depozit şi eliminarea blocării accesului astfel încât alţi programatori să poată realiza mai departe revizii
Tipurile de informaţii furnizate de clienţi (în cadrul activităţii de analiză software) sunt:
cerinţe de business, scenarii de business, restricţii asupra echipamentelor disponibile, cerințe funcţionale, structuri de dat
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 de business, cerințe funcţionale, atribute de calitate, constrângeri externe, structuri ce date, sugestii pentru posibile soluții
Sistemele de operare dedicate folosesc pentru comunicare între taskuri :
Cutii poştale şi semafoare
Mesaje şi variabile comune
Mesaje
Zone tampon şi conducte
Inspecţia codului:
Se folosește la testele de modul și presupune pregătirea acţiunii prin desemnarea unei echipe, prezentarea prealabilă a codului, studiul acesteia, formularea unei liste de obiective și organizarea unei sedinţe de analiză; se verifică inclusiv corectitudinea algoritmilor, performanțele, interfețele etc.
Se folosește la testele de modul și presupune analiza de colegii din echipa de testare, cărora li 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
Un sistem Delta de stocare de versiuni:
Reprezintă toate versiunile prin utilizarea unei singure copii a codului sursă şi diferenţele dintre versiuni sunt marcate prin compilare condiţionată: codul sursă relevant pentru anumite versiuni este generat de macrocomenzi astfel încât compilatorul poate reconstitui diversele versiuni
Memorează o singură versiune completă şi le reprezintă pe celelalte prin reținerea diferenţelor de la una la alta
cuprinde convenţile de nume care sunt folosite pentru a discerne între |ştuaţiile în care fişiere diferite reprezintă versiuni diferite ale aceluiaşi modul
Ş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 pentru eliberarea memoriei;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 NULL sau 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.
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 sunt secvențele de evenimente şi date ? şi posibilele variaţiuni.
Care sunt funcţiile primare ale sistemului ? Care sunt functiile secundare ale sistemului ? De ce a fost construit sistemul ? Ce înlocuieşte şi de ce?
Soluţia pentru şablonul Real-Time Observer constă în aceea că:
Un singur obiect (Server) furnizează automat date pentru clienţii săi (Observers) care în prealabil s-au înregistrat la Server cu Subscribe(); acestea sunt clase abstracte care au clase derivate (Concrete Server şi Concrete Observer) care adaugă comportamentul specializat pentru situaţia concretă ce funcţionare.
un singur obiect (Server) decuplează clientii să (Observers) care în prealabil s-au înregistrat la Server cu Subscribe de la accesul la un alt fir de execuţie sau proces prin crearea unui surogat al obiectului din acel fir de execuţie sau process; dacă clienţii au nevoie de un serviciu de la obiectul acela, ei cer asta de la Server; Server şi Observer sunt clase abstracte care au clase derivate (Concrete Server și Concrete Observer) care adaugă comportamentul specializat pentru situaţia concretă de funcţionare.
Obiectul Server furnizează la cerere asincronă sau episodică date pentru clienţii săi (Observers) care în prealabil s-au înregistrat la Server cu Attach(); acestea sunt clase abstracte care au clase derivate (Concrete Server şi Concrete Observer) care adaugă comportamentul specializat pentru situaţia concretă de funcţionare
Middleware este
Un software care este conceput pentru a rula într-un nivel israrhic de mijloc (free-tier) între utilizatori şi bazele de date pentru a permite astfel rularea proceselor multiple pe una sau mai multe echipamente/maşini
Un software de conectivitate care constă dintr-un set de servicii care permit rularea proceselor multiple pe una sau mai multe echipamerte/maşini în vederea interacțiunii de-a lungul unei reţele
Un software de conectivitate care constă dintr-un set ce servicii ce tip proxy care permitrularea interfeţelor utilizator pe una sau mai multe echipamente/imaşini în vederea interacțiunii de-a lungul unei rețele
O stare este:
O descriere complet constructivă de descompunere a comportamentului complex în bucăţi mai mici, fiecare fiind valabilă în anumite condiţii specifice.
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.
Principiile ingineriei programării se referă la :
Modele folosite în procesul de proiectare
destinaţia activităţii de programare
Modalitatile de atingere a obiectivelor ingineriei programarii
Scopurile programării
Într-un sistem de conducere de proces interacționează următoarele componente:
Interfeţe, sisteme de reglare, sisteme de calcul, software
Programe, calculatoare, interfeţe de proces, manuale de utilizare
Echipamente, software, proceduri de operare, operator uman
Software, hardware
Agregarea este:
Un tip special de asociere care implică proprietatea logică sau fizică.
O relaţie de tip clasă părinte/clasă descendent
O formă tare de compoziţie prin care părţile sunt în întregime în responsabilitatea clasei compozite
Un şablon (pattern)
Abstractizează ş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 unei structuri comune de proiectare prin utilizarea claselor abstracte şi a moştenirii şi funcţiilor virtuale.
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) obiectivele ingineriei programării sunt:
Modularitatea, abstractizarea, ascunderea, eficienţa, fiabilitatea, perceptibilitatea, confirmabilitatea
adaptabilitatea(flexibilitatea), eficienţa, fiabilitatea, perceptibilitatea
Adaptabilitatea, eficienţa, modularitatea, confirmabilitatea
Modularitatea, confirmabilitatea, adaptabilitatea, eficienţa
Modularitatea înseamnă:
Stabilirea unor ierarhii în program
Delimitarea unor secvente de program
Stabilirea riguroasă a intrărilor şi ieşirilor
Delimitarea unor secvente de program,cu intrări şi ieşiri bine precizate,între care se stabilesc relaţii ierarhice sau de colaborare
Noţiunea de timp real implică :
Proprietatea sistemului de a reacţiona la schimbări în proces, într-un timp mai mic decât o limită prestabilită
Proprietatea de a reacţiona în condiţii reale a sistemului
Timp minim de reacţie
Reacţia sistemului în condiţii precizate
Redundanţa dinamică se implementează prin:
Efectuarea unor teste de acceptanţă şi rularea unei versiuni alternative
Testarea stării taskurilor
Efectuarea unor teste de acceptanţă şi eventuala rulare a unei versiuni alternative
Dublarea unei funcţii
Ce sunt regulile euristice de proiectare ?
Metodologii de proiectare ale organizaţiilor software
reguli rezultate din aplicarea teoriilor euristice
Metode sistematice de proiectare
Reguli rezultate din experienţa practică
În depanarea aplicaţiilor în cadrul întreţinerii, este bine dacă:
Introducem în meniul aplicatiei o comandă numită “Lista erorilor înregistrate”
Avem un log al utilizatorilor, al activitaţilor, al erorilor, al utilizatorilor care au modificat inregistrări in baza de date
Avem acces la un simulator de proces
Câte module de program pot fi subordonate unui modul, conform regulilor euristice de proiectare ?
Mai mult de 4
între 3 si 6
De obicei între 3-4 si 7, iar daca fan-out este mai mare de 9 sau mai mic de 3-4, este necesară reproiectarea
Maxim 5 şi minim 2
Problema dublei întreţineri rezultă dacă:
Mai mulţi proiectanți au drepturi pentru acces şi modificare simultană a aceloraşi date (eventual cod sursă)
se menţin copii multiple ale aceluiaşi cod sursă
Doi proiectanți actualizează simultan acelaşi cod sursă şi astfel este posibil să se suprascrie unele modificări în copia distribuită
Ingineria programării se ocupă cu :
Folosirea unor instrumente software adecvate, astfel încat să crească procuctivitatea activităţii de programare
Aplicarea unor principii de programare stucturate, astfel incat să crească fiabilitatea produselor — program
Utilizarea într-o manieră disciplinată, sistematică şi cu DICADEEE a unor metode şi instrumente asociate, adecvate, avand in vedere anumite obiective şi principii de bază
Ş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 primitive 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 set de interfeţe dintr-un subsistem
O modalitate de a vizualiza unitar orice obiecte dintr-o colecţie
Documentul de proiectare arhitecturală trebuie să
Specifice rolul fiecarei componente, cerinţele care i-au fost alocate,interfaţa de comunicare cu celelalte componente ale sistemului
Descrie rolul fiecărei componente, cerintele de memorie și timp de calcul alocate, interfaţa de comunicare cu celelalte componente ale sistemului
Descrie rolul fiecărui programalor şi al fiecărei componente, respectiv interfaţa 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
Obiectivul partenerilor furnizori pentru industria auto care au definit împreună AUTOSAR(Automotive Open System Architecture) este de
A crea şi stabili un sistem de operare (OSEK-VDK) pentru software pentru vehicule, care să fie universal, deschis, scalabil şi disponibil pentru toţi furnizorii de componente auto
a dezvolta un mediu interactiv de dezvoltare şi testare care să poată fi folosit pe scară largă pentru dezvoltarea de aplicaţii orientate pe obiecte în industria software Automotive
A crea şi stabili standarde deschise pentru arhitecturile software, care vor oferi o infrastructură de bază, pentru a ajuta la dezvoltarea ce softwara ce vehicule, interfeţe utilizator şi de management pentru toate domeniile specifice industriei auto.
Proiectare structurată se realizează prin
Folosirea proiectării top-down şi a unor structuri standard de control al programului : procesare sevențială, decizie, reunire
proiectarea îngrijită a programelor, asttel încât acestea să aibă o structură clară
Proiectarea top-down şi modularizare structurală
Folosirea unor structuri standard de control al programului : procesare secvenţială, decizie, reunire
Şablonul Observer rezolvă problema
în care o singură sursă de informaţie acţionează ca un server pentru mai mulţi clienţi care trebuie să îşi actualizeze autonom datele când acestea se schimbă.
în care un obiect trebuie să afişeze periodic (observe) schimbările survenite în valorile citite de la un senzor.
în care un server trebuie să furnizeze la cerere date citite din proces.
Caracteristica esenţială a modelului în V de dezvoltare software este :
Testele de acceptanţă validează cerinţele prin asocierea testelor cu specificaţiile, prin conlucrarea dintre client şi dezvoltator; aripa stingă poate fi reexecutată pentru a îmbunătăţi cerinţele, proiectarea sau codificarea.
Realizarea unui produs dezvoltat parţial, care să permită clienţilor şi proiectanţilor să examineze anumite aspecte ale produsului (mei ales interfeţe) pentru a putea coda mai uşor; codarea este în virful V-ului
Fiecare pas de proiectare este asociat cu pasul corespunzătordin etapa de testare pentruverificarea corectei implementări a cerinţelor şi a aspectelor de proiectare și implementare, asociere realizată prin conlucrarea directă a echipelor implicate; aripa stîngă poate fi reexecutată pentru a îmbunătăţi cerinţele, proiectarea sau codificarea.
Atingerea unui prag fixat pentru încrederea în software este :
O modalitate de implementere a îmbunătăţirii siguranţei în funcţionare
Un criteriu de oprire a testării
Un criteriu de optimizare a proiectării software
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 interacţionează în mod semnificaliv).
Descrierea comunicării dintre aplicația software (văzută ca o cutie neagră) ş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.
Penetrabilitatea sistemelor de operare este
Calitatea sistemelor de operare de a fi usor de ultilizat şi de înțeles de către utilizatori
Răspândirea și asimilarea de către dezvoltatorii software
Răspândirea și asimilarea de către specialiştisi utilizatori
Cerintele functionale in UML
Sunt codificate prin note text.
Sunt reprezentate prin diagrame de secventa si prin diagrame de stare.
Sunt reprezentate direct de cazurile de utilizare
Pentru testarea aplicaţ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 alte erori. Cate erori estimăm că mai sunt în program (nedetectate)?
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 unei 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 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
Pentru dezvoltarea produsului conform celor descrise î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:
Software-ul se livrează frecvent (săptămânal), chiar şi schimbări târzii sunt acceptate, cooperarea cu clientul este apropiată (dacă se poate, zilnică), forma de comunicare dorită este conversaţia faţă în faţă, echipa 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ă metoda echipei programatorului-şef.
Software-ul se livrează frecvent (săptâmânal), se defineşte, pentru fiecare increment, o descriere a cerinţelor la 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.
Actorii în sistemul din problemă, în accepţiunea UML, sunt:
Antena, utilizatorul, calculatorul PC
Senzorii, sistemul de acţionare, traductoarele de măsură, utilizatorul, unitatea serială
Sistemul de acţionare al antenei, sistemul de măsură de poziţie, interfaţa cu utilizatorul, unitatea serială de comunicare cu calculatorul PC, utilizatorul.
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
Obiectivele ingineriei programării stabilesc:
Modelele de proiectare
Modelele şi principiile de proiectare
Principiile care trebuie urmate la proiectare
Dezideratele activitații de proiectare software
Adaptabilitatea(flexibilitatea) se refera la
Obiectivul de realizare a unor programe care sa poata fi usor adaptate pentru conditii diferite de functionare
Obiectivul de realizare a unor programe adaptate unor situatii concrete de funtionare
Principiul de programare prin care programul trebuie sa fie usor de modificat
Principiul de proiectare prin care se cere proiectantului sa se adapteze usor la noi cerinte
Prototipizarea este o paradigma a ingineriei programarii care se refera la:
Construirea aplicatiilor prin metoda top-down
Construirea unui prototip al programului si modificarea acestuia
Proiectarea folosind descrieri-tip ale modulelor de program disponibile
Dezvoltarea rapida a unui model simplificat al programului, interactiunea cu clientul si adaugarea ulterioara a functiilor omise
De ce sunt necesare taskurile de "luare la cunostinta" intr-un sistem de telemecanica?
Deoarece operatorul trebuie sa confirme ca a luat la cunostinta de evenimentele din proces si sunt necesare alte taskuri decat cele de tratare a evenimentelor, din pricina asincronismului reactiilor operatorului cu evenimentele din proces
Deoarece evenimentele din proces trebuie aduse la cunostiinta sistemului
Deoarece telecomenzile trebuie confirmate de catre operator
Deoarece sistemul trebuie sa reactioneze suficient de rapid la evenimentele din proces
Care dintre urmatoarele afirmatii despre diagrama ACR nu este adevarata?
Respecta regulile de intocmire a unei diagrame ACR
Diagrama poate fi optimizata
Diagrama este incompleta
Contine toate entitatile folosite in metodologia MASCOT
Care dintre urmatoarele afirmatii este adevarata pentru fragmentul de diagrama ACR ?
Diagrama este optima (nu mai poate fi imbunatatita)
Nu se respecta regulile de intocmire a unei diagrame ACR
Diagrama poate fi optimizata
Nu se poate specifica nimic semnificativ despre aceasta diagrama
Secventa urmatoare de program respecta principiile de proiectare structurala?
Da
Nu
Pentru anumite valori ale variabilelor de intrare, da
Pentru anumite valori ale variabilelor de intrare, nu
Configuratia larg distribuita utilizeaza:
Legatura multipunct
Field-bus
Retele WAN si protocoale de comunicatii
Protocoale de comunicatie Nowell si retele
Un fir de executie in Windows NT 4 este:
Un process
Un task
Un modul de program care realizeaza apeluri DLL
O cale de executie in interiorul unui proces
Sistemul UNIX nu este foarte raspandit in conducerea de proces deoarece prezinta:
Pret ridicat
Lipsa de unitate, sintaxa criptica, lipsa de interfete grafice, si de software
Nepotrivire cu necesitatile de timp real
D.) imposibilitatea implementarii multitaskingului
Dezvoltarea iterativa furnizeaza clientului o versiune de program care:
Contine de la inceput un set restrans de functionalitati si cu fiecare versiune noua se adauga altele noi
Contine de la inceput toate functiile si cu fiecare versiune noua acestea sunt perfectionate si performantele imbunatatite
Permite instruirea clientului si adaugarea de functii noi
Ce este o revizie?
O noua versiune destinata a inlocui versiunea veche si care reflecta evolutia in depanarea si imbunatatirea modulului ca functionare si performante
O noua versiune care realizeaza aceleasi functionalitati pentru situatii usor diferite si care este destinata a fi o alternativa interschimbabila cu alta simultana
Un mecanism ... Care arata organizarea unui set de variatii si relatiile dintre acestea
Ce este o stare in abordarea UML?
Diagrama reprezentand relatiile dintre diferitele componente ale unui sistem
O conditie de existenta a unui sistem care presista pentru o perioada semnificativa de timp si este reprezentata prin relatiile din cadrul arhitecturii sistemului
O conditie de existenta a unui obiect care persista pentru o perioada semnificativa de timp si poate fi distinsa intr-un anumit mod de alta astfel de conditie de existenta
Cand o clasa trebuie sa gestioneze un unmar de obiecte de aceeasi clasa, o abordare in proiectere ar fi sa se adauge:
Un model (pattern) de proiectare
O clasa observator intre clasa primara si setul de obiecte
O clasa container intre clasa primara si setul de obiecte
In modelul (pattern) Rendezvous participa urmatoarele obiecte:
Rendezvous, Lock, Thread
Rendezvous, Lock, Client, Context, Thread
Rendezvous, Wait, Semaphore, Client, Context, Thread
Sistemele de operare dedicate folosesc pentru alocarea unitatii centrale:
Prioritati fixe
256 prioritati
Mesaje si variabile
Planificarea circulara(round-robin)
Etapele de aplicare a metodologiei MASCOT sunt:
Proiectare generala, proiectare in detaliu, asistenta tehnica
Proiectare preliminara de ansamblu, proiectare detaliata, implementare si testare
Specificatii, programare, implementare
Analiza de sistem, analiza de process, proiectare de detaliu
La Windows NT 4 concurenta era implementata prin:
Preemptiune, cu ordonarea dupa 31 prioritati pe cate 4 paliere (IDLE, NORMAL, , REALTIME)
Preemptiune, cu ordonarea dupa 31 prioritati, ordonate pe 2 paliere: 4 clase de prioritate si 5 niveluri pe fiecare clasa
Multithreading
Intreruperi event-driven cu planificare circulara(round-robin)
Familiile mai reprezentative de sisteme de operare dedicate sunt:
OS-2, WARP, QNX, OS-9
OS-9, QNX, Windows 95 CE
OS-9, QNX, VxWorks/Microworks
OS-900, QTRM, RTS
Ce reprezinta in UML figura de mai sus?
O diagrama structurata
O agregare
Un caz de utilizare
{"name":"Grila IP 1", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Testați-vă cunoștințele în ingineria software cu acest quiz cu 30 de întrebări provocatoare. Conceput pentru profesioniști și studenți, acest test va evalua înțelegerea conceptelor cheie din domeniu.Întrebările acoperă subiecte precum:Asocierea și design-ul sistemelorModele de dezvoltare softwarePrincipiile testării și documentațieiIngineria cerințelor și analiza software","img":"https:/images/course7.png"}