Che cosa sono esattamente SDLC e OOP?

3

Mi è stato chiesto "Che cosa sono SDLC e OOP?" molte volte in colloqui di lavoro, ma non sono ancora sicuro su come rispondere a questa domanda. Sono uno sviluppatore web da un po 'di tempo ma ho ancora problemi con la spiegazione di OOP e SDLC (System Development Life Cycle).

Qualcuno può aiutarmi a spiegare cosa rappresentano per un'altra persona?

    
posta Pirzada 06.03.2011 - 01:13
fonte

4 risposte

5

Queste sarebbero le mie risposte "al di sopra della mia testa" che potrebbero essere riviste un po 'in alcune situazioni:

Ciclo di vita dello sviluppo di sistemi ha i seguenti punti principali:

  • Requisiti Raccolta - Che cosa è necessario?
  • Progettazione e analisi di soluzioni - Come sarà fatto?
  • Implementazione - Build it.
  • Test - Costruiamo ciò che era necessario?
  • Distribuzione e manutenzione: rilascia il sistema in natura.

La programmazione orientata agli oggetti è il paradigma della programmazione in cui tutto è un oggetto e ha metodi per ciò che può essere fatto con un oggetto. Ad esempio, se si modellassero gli animali come classi, le loro azioni come camminare, nuotare e abbaiare sarebbero metodi. Ci sono alcuni principi comunemente trovati in questo paradigma:

  • Astrazione - Modellazione dell'oggetto nel software - Ad esempio, prendiamo la forma semplice di un quadrato. Ora questo potrebbe essere rappresentato dalla lunghezza di un lato, le coordinate cartesiane di 4 vertici, le uguaglianze che coprono un'area in un piano XY, la sua area o il suo perimetro. La traduzione di una qualsiasi rappresentazione in un'altra è abbastanza semplice.
  • Incapsulamento - Limitazione dell'accesso a parti della classe, ad es. metodi privati contro metodi pubblici. Nascondere i dettagli di un'implementazione è un'altra parte di questo.
  • Polymorphism - Un essere variabile di varie forme, letteralmente. Esempio :

There are many examples of Polymorphism in the .NET framework. One of them is the Membership provider. When you call Membership.GetUser or any other method, it calls the default provider, which is defined as a MembershipProvider class. Any derivatives (SqlMembershipProvider or other custom providers) expose the MembershipProvider interface to create a concrete implementation. You can easily switch the underlying data store without having to change any code for the Membership object.

  • Eredità - Essere in grado di trasmettere la funzionalità in quanto alcune classi possono riguardare l'una con l'altra, ad es. gatti e cani possono essere sottoclassi di mammiferi.
risposta data 06.03.2011 - 02:11
fonte
3

Dovresti immaginare di essere un insegnante e stai insegnando cos'è OOP e SDLC.

Se non puoi, allora sai VERAMENTE cosa sono? L'utilizzo di un processo non significa che tu sappia come funziona o perché.

Spiegando qualcosa dal punto di vista di un insegnante, ti aiuterà a consolidare la conoscenza nella tua mente.

    
risposta data 06.03.2011 - 02:04
fonte
0

Quando rispondi a una domanda in un'intervista, vuoi che le tue risposte siano sufficientemente dettagliate per soddisfare l'intervistatore, ma concise in modo da darti più tempo per passare ad altre domande, inclusa la tua.

Per OOP, una semplice istruzione come:

La programmazione orientata agli oggetti è una tecnica in cui definisci le strutture - gli oggetti - che combinano i dati e i comportamenti di sistema nel codice, risolvendo i problemi creando un modello di concetti del mondo reale.

Per SDLC, potresti dire qualcosa del tipo:

Il ciclo di sviluppo del software è il metodo con cui viene gestito un progetto di sviluppo software, a partire dall'idea iniziale e dalla raccolta dei requisiti, fino all'implementazione e al collaudo, e culmina in un periodo di manutenzione prima di essere infine ritirato . È un processo strutturato che può essere interamente lineare, iterativo o entrambi, con l'obiettivo finale di sviluppare prodotti software di alta qualità.

Tuttavia, rispondi alla domanda, evita di cercare di spiegare il concetto in modo troppo dettagliato. Se la tua risposta è concisa, stai invitando l'intervistatore a porre ulteriori domande, mentre fornire troppi dettagli può rischiare di intrappolarti in una situazione in cui esponi una debolezza delle tue conoscenze. Le risposte concise mostrano anche che sai di cosa stai parlando abbastanza per sentirti a tuo agio nel dare una risposta breve ma descrittiva.

    
risposta data 20.04.2012 - 01:01
fonte
0

OOP in poche parole.

Hai una classe per modellare un orologio. Tutto ciò che devi sapere su un orologio è in questa classe, ha alcune routine che ti permettono di impostare l'ora e visualizzare l'ora. Questa è Encapsulation .

Ma ora vuoi un orologio digitale. Questo è un orologio come quello che avevi prima, ma vuole mostrare il tempo in uno schermo digitale piuttosto che analogico, quindi puoi ricavare una nuova classe dall'originale e sostituire le routine di visualizzazione per mostrare cose in digitale formato. Questo è Polimorfismo .

E ora vuoi una sveglia. Questo fa tutto ciò che fa il clock, ma crea anche un rumore a orari prestabiliti, in modo da derivare dalla classe dell'orologio originale e aggiungere nuove routine per impostare e suonare l'allarme. Questa è Eredità .

Ed ecco i 3 fondamenti dell'OOP.

Nota che in tutti i casi hai ancora un orologio. È così che funziona OOP, che puoi vendere a qualcuno un orologio, quindi consegnargli una sveglia e saranno comunque in grado di eseguire le operazioni di "clock" come se fossero impostate e comunicando l'ora.

SDLC:

Questo è il ciclo di vita della realizzazione del software e della sua consegna al cliente. Inizi a capire che cosa vogliono, a capire come procedere, a capire come codificarlo, a capire perché non funziona abbastanza bene e poi a capire come installarlo.

Non c'è una risposta "giusta" a "ciò che è SDLC", ma per mostrare che comprendi tutti gli aspetti della creazione di software che il cliente utilizza. È per mostrare che capisci che c'è molto di più nello sviluppo del software rispetto alla semplice codifica.

    
risposta data 20.04.2012 - 01:13
fonte

Leggi altre domande sui tag