Topp 50 Frågor och svar om programvaruteknik

Anonim

Ladda ner PDF

1) Vilka är de viktigaste kategorierna av programvara?

  • Systemmjukvara
  • Programvara
  • Inbyggd programvara
  • Webbapplikationer
  • Programvara för artificiell intelligens
  • Vetenskaplig programvara.

2) Vad är den största skillnaden mellan ett datorprogram och programvara?

Ett datorprogram är en bit programmeringskod. Den utför en väldefinierad uppgift. Å andra sidan innehåller programvaran programmeringskod, dokumentation och användarhandbok.

3) Vad är re-engineering av programvara?

Det är en process för mjukvaruutveckling som görs för att förbättra ett mjukvarusystems underhåll.

4) Beskriv mjukvaruutvecklingsprocessen i korthet:

Mjukvaruutvecklingen är en livscykel som består av följande steg:

  • Kravsanalys
  • Specifikation
  • Programvaruarkitektur
  • Genomförande
  • Testning
  • Dokumentation
  • Utbildning och support
  • Underhåll

5) Vad finns SDLC-modeller tillgängliga?

Waterfall Model, Spiral Model, Big-bag model, Iterative Model och V-Model är några av de berömda SDLC-modellerna.

6) Vad är verifiering och validering?

Verifiering:

Verifiering är ett begrepp som hänvisar till uppsättningen aktiviteter som säkerställer att programvara implementerar en viss funktion.

Godkännande:

Det hänvisar till uppsättningen aktiviteter som säkerställer att programvara som har byggts efter kundernas behov.

7) Vad betyder innebörden av felsökning i programvaruutvecklingsprocessen?

Felsökning är den process som leder till att felet tas bort. Det är en mycket viktig del av den framgångsrika testningen.

8) Hur kan du se till att din kod är både säker och snabb?

I programvaran är alltid utvecklingssäkerhet först. Så om genomförandet av programmet är långsamt, kommer jag att försöka identifiera orsaken till vägar till dess tidskomplexitet.

9) Nämn två verktyg som används för att hålla reda på programvarukrav?

Det finns många sätt att hålla koll på kraven.

Två vanliga är:

  • Gör ett kravspecifikationsdokument för att lista alla krav.
  • Skapa ett excel-ark i listan ner krav, typ, beroende, prioritet, etc.

10) Vad är den största skillnaden mellan en stubb, en mock?

En stub är en minimal implementering av ett gränssnitt som generellt returnerar hårdkodad data medan mock vanligtvis verifierar utdata mot förväntningar. Dessa förväntningar ställs i testet.

11) Vilket språk tycker du om att skriva programmeringsalgoritmer?

Varje utvecklare har sina åsikter när det gäller val av programmeringsspråk. Men man bör föredra språk på hög nivå eftersom de är dynamiska. Som C och C ++ språk.

12) Vad är datorprogramvara?

Datorprogramvara är ett paket som innehåller ett program, dess dokumentation och användarhandbok för hur man använder programvaran.

13) Enligt dig vilken SDLC-modell är bäst?

Det finns ingen sådan ranking, eftersom SDLC-modeller antas enligt behovet av utvecklingsprocessen. Det kan skilja sig från programvara till programvara.

14) Vem är projektledare för programvara? Vad är hans roll?

En programvaruprojektledare är en person som ansvarar för att hantera programvaruutvecklingsprojektet.

Projektledaren gör projektplaneringen, övervakar framsteg, kommunikation. Han eller hon hanterar också risker och resurser för att leverera projektet inom tids-, kostnads- och kvalitetsbegränsningar.

15) Vad menas med programvarans omfattning?

Programvarans omfattning är en väldefinierad gräns. Den innehåller alla slags aktiviteter som görs för att utveckla och leverera programvaruprodukten.

Programvarans omfattning definierar alla funktioner och artefakter som ska levereras som en del av programvaran. Omfattningen identifierar också vad produkten kommer att göra? Vad ingår inte i projektet? Vad är projektuppskattning?

Denna process är till hjälp för att uppskatta olika aspekter av programvaruprodukten. Denna uppskattning kan bestämmas antingen genom att konsultera experter eller genom att använda fördefinierade formler.

16) Hur hittar jag storleken på en programvaruprodukt?

Storleken på mjukvaruprodukten kan beräknas med två metoder

  • Räknar raderna med levererad kod
  • Räknar levererade funktionspoäng

17) Vad är funktionspunkter?

Funktionspunkter är de funktioner som tillhandahålls av programvaruprodukten. Det anses vara en viktig mätning för mjukvarans storlek.

18) Vad finns tillgängliga tekniker för uppskattning av programvaruprojekt?

De mest använda uppskattningsteknikerna är:

  • Nedbrytningsteknik
  • Empirisk teknik

19) Vad är programvarukonfigurationshantering?

Programvarukonfigurationshantering är en process för att spåra och kontrollera förändringar som sker i programvaran.

Ändringskontroll är en funktion som säkerställer att alla ändringar som görs i mjukvarusystemet är konsekventa och skapas med hjälp av organisatoriska regler och regler.

20) Hur kan du mäta projektgenomförande?

Vi kan mäta projektkörning med hjälp av aktivitetsövervakning, statusrapporter och checklistor för milstolpar.

21) Berätta om några verktyg för projektledning.

Det finns många typer av hanteringsverktyg som används enligt behovet av ett mjukvaruprojekt. Några av dem är Pert Chart, Gantt Chart, Resource Histogram, Status Reports, etc.

22) Vad är programvarukrav?

Programvarukrav är en funktionell beskrivning av ett föreslaget programvarusystem. Det antas vara en beskrivning av målsystemet, dess funktioner och funktioner.

23) Vad är genomförbarhetsstudie?

Det är ett mått för att ta reda på hur praktiskt och fördelaktigt programvaruutvecklingen kommer att visa sig för organisationen. Programvaran analysator genomför en studie för att få reda på den ekonomiska, tekniska och operativa genomförbarheten av projektet.

  1. Ekonomiskt: Det inkluderar utbildningskostnader, tilläggskostnader och verktyg och övergripande uppskattning av projektets kostnader och fördelar.

  2. Tekniskt: Det utvärderar teknisk aspekt. Är det möjligt att utveckla detta system? Bedöma lämpligheten för maskin (er) och operativsystem som programvaran kommer att utföra, kunskap om mjukvaruutveckling och verktyg som är tillgängliga för detta projekt.

  3. Operativt: Här måste analytikern bedöma att organisationen kan anpassa sig smidigt till de förändringar som gjorts enligt efterfrågan på projektet. Är problemet värt att lösa till den beräknade kostnaden?

Efter att ha studerat allt detta skapas den slutliga genomförbarhetsrapporten.

24) Vad är funktionella och icke-funktionella krav?

Funktionella krav är funktionella funktioner som förväntas av användare från den föreslagna programvaruprodukten.

Icke-funktionella krav är relaterade till säkerhet, prestanda, utseende och känsla i användargränssnittet.

25) Vad är mjukvarumätvärde?

Software Metrics erbjuder åtgärder för olika aspekter av programvaruprocessen som är indelade i:

  1. Kravsmått: Längdskrav, fullständighet
  2. Produktmått: Antal kodande linjer, Objektorienterade mått, design- och testmått.

26) Vad är modulering?

Modularisering är en teknik som används för att dela upp ett mjukvarusystem i olika diskreta moduler. Det förväntas utföra uppgifterna självständigt.

27) Vad är sammanhållning?

Sammanhållning är ett mått som definierar intra-pålitligheten mellan elementen i modulen.

28) Nämnde några verktyg för analys och design av programvara?

Några av de viktigaste verktygen för analys och design av programvara är:

  • Dataflödesdiagram
  • Strukturerade diagram
  • Strukturerad engelska
  • Data ordbok
  • Hierarkiska ingångsprocessutgångsdiagram
  • Enhetsrelationsdiagram och beslutstabeller

29) Vad menas med nivå-0 Dataflödesdiagram?

Högsta abstraktionsnivå kallas nivå 0 för DFD. Det kallas också kontextnivå DFD. Det visar hela informationssystemet som ett diagram.

30) Vad är den största skillnaden mellan strukturerad engelsk och pseudokod?

Strukturerad engelska är engelska som modersmål. Den används för att skriva strukturen för en programmodul. Den använder nyckelord för programmeringsspråk. Å andra sidan liknar Pseudo-koden mer programmeringsspråket utan syntax för något specifikt språk.

31) Vad är strukturerad design?

Strukturerad design är en konceptualisering av problemet. Det kallas också lösningsdesign och som bygger på "dela och erövra" -strategi.

32) Vad är funktionell programmering?

Det är en programmeringsmetod som använder begreppen matematisk funktion. Det ger beräkningsmedel som matematiska funktioner, vilket också ger resultat oavsett programtillstånd.

33) Vad är kvalitetssäkring kontra kvalitetskontroll?

Kvalitetssäkring kontrollerar om korrekt process följs när programvaran utvecklas medan kvalitetskontroll handlar om att upprätthålla kvaliteten på mjukvaruprodukten.

34) Vad är CASE-verktyg?

CASE betyder datorstödd programvaruteknik. De är uppsatta automatiserade programvaruprogram som används för att stödja, förbättra och stärka SDLC-aktiviteterna.

35) Vilken processmodell tar bort defekter innan programvara hamnar i problem?

Metodteknikmetoden för renrum tar bort defekter innan programvaran hamnar i problem.

36) Lös detta problem

Det finns tjugo olika strumpor av två typer i en låda i ett mörkt rum. Vad är det minsta antalet strumpor du behöver ta för att se till att du har ett matchande par? "

Om du plockar upp tre strumpor kan de vara av samma typ även om oddsen är 50%. Odds aldrig lika verklighet. Därför är det enda sättet att "säkerställa att du har ett matchande par" att ta upp minst 11 chocker.

37) Hur kan du se till att din skrivna kod som kan hantera olika typer av felsituationer?

Jag kan skriva tester som definierar de förväntade felsituationerna.

38) Förklara skillnaderna mellan en tråd och en process?

En process är exempel på datorprogrammet. I ett enda program är det möjligt att ha en eller flera trådar.

39) Berätta för mig skillnaden mellan en EXE och en DLL?

En exe är ett körbart program medan en DLL är en fil som kan laddas och köras av program dynamiskt. Det är ett externt kodförvar för program. Eftersom båda är olika program, återanvänd samma DLL istället för att ha den koden i sin fil. Det minskar också nödvändigt lagringsutrymme.

40) Vad är starkt skrivande och svagt skrivande? Vilket är att föredra? Varför?

Stark typning kontrollerar typerna av variabler vid tidpunkten för sammanställning. Å andra sidan kontrollerar svag typning systemets typer vid körning. Bland dem är Strong typing alltid att föredra eftersom det minimerar buggarna.

41) Beskriv skillnaden mellan gränssnittsorienterad, objektorienterad och aspektorienterad programmering.

  • Gränssnittsprogrammering är kontraktsbaserad.
  • Objektorienterat är ett sätt att skriva granulära objekt som har ett enda syfte.
  • Aspect Oriented Programming är att segregera koden på ett sådant sätt att olika objekt bär huvuduppgifterna och underuppgifterna bärs av oberoende objekt.

42) Varför är det alltid en dålig idé att använda fångst (undantag)?

Det är en dålig idé för:

  • Eftersom det inte finns någon definierad variabel är det inte möjligt att läsa undantaget
  • Det är bra att använda ett undantag när du har kända undantagstyper.

43) Vilken typ av data skickas via HTTP-rubriker?

Skript och metadata skickas via HTTP-rubriker.

44) Hur prioriterar du krav?

Först måste du utforma ett system genom att utvärdera datastrukturen. Sedan bör du gå vidare till den kodstruktur som behövs för att stödja den.

45) Ge mig skillnader mellan objektorienterad och komponentbaserad design?

Objektorienterad design kan enkelt inkapslas i viss utsträckning i komponentbaserad design.

46) När använder du polymorfism?

Polymorfism används när det finns behov av åsidosättningsfunktionalitet när man ärver klass. Det handlar om delade klasser och delade kontrakt.

47) Vad är skillnaden mellan stack och kö?

  • Kön är alltid först in, först ut
  • Stack är alltid Last In, First Out

48) Vad är viktigt för att testa kvaliteten på koden?

Enligt mig är enhetstestramverket viktigt för att testa kvaliteten på koden.

49) Tror du att underhåll av programvara är dyrt?

Enligt mig kommer underhåll av programvara aldrig att bli dyrt om vi använder rätt utvecklingsprocess.

50) Ge mig skillnader mellan taggar och grenar?

Taggar är för versionversioner som är tillfälliga platser för att göra sådant. Grenar raderas dock när dessa ändringar slås samman i bagageutrymmet.

51) Var finns en skyddad klassnivåvariabel tillgänglig?

Skyddade klassnivåvariabler är tillgängliga för alla underklasser som härrör från basklassen.

52) Är det möjligt att utföra flera fångstblock för ett enda försök?

Ja. Flera fångstblock kan köras för ett enda försöksuttalande.

53) När behöver du förklara en klass som abstrakt?

Vi bör förklara en klass som abstrakt i följande situationer:

  1. När klassen ärvs från en abstrakt klass, men inte alla abstrakta metoder har åsidosatts.
  2. Om minst en av metoderna i klassen förklaras som ett abstrakt.

54) Utveckla en algoritm som matar ut din aktuella plats och en lista över bankomater i det området. Få dig de närmaste K-bankomaterna till din plats.

Skapa en metod getDistance (a, b) som beräknar avståndet mellan a och b.

Koda:

import java.util.HashMap;import java.util.Map;import java.util.PriorityQueue;public class PrioRQueueExample {public static void main(String[] args){PriorityQueue pq = new PriorityQueue((x,y)-> {Double z = y-x;return z.intValue(); });PrioRQueueExample pqe = new PrioRQueueExample();//Number of ATMs to return i.e. Kint num_ATMs = 3;double curr_loc = 0.00;Map nallATMLocs = new HashMap();//Map of ATM names and their distance co-ordinatesnallATMLocs.put("atm1",45.0);nallATMLocs.put("atm2",78.0);nallATMLocs.put("atm3",54.0);nallATMLocs.put("atm4",64.0);nallATMLocs.put("atm5",35.0);nallATMLocs.put("atm6",42.0);nallATMLocs.put("atm7",57.0);nallATMLocs.put("atm7",1.00);nallATMLocs.forEach((atm,dist) ->{if(pq.size() < num_ATMs){pq.add(pqe.getLocation(curr_loc,dist));}else{if( pq.peek() > pqe.getLocation(curr_loc,dist)){pq.poll();pq.add(pqe.getLocation(curr_loc,dist));}}});pq.forEach(atmLoc -> System.out.println(atmLoc));}private double getLocation(double curr,double atm){return atm - curr;}}