Preguntas para entrevistas de Ingeniera de Software


Anuncios


Queridos lectores, estas Preguntas para entrevistas de Ingeniera de Software han sido especialment diseadas para darles a conocer la naturaleza de las preguntas que pueden encontrarse durante su entrevista en la materia de Ingeniera de Software. Por mi experiencia, les dir que los buenos entrevistadores difcilmente suelen planificar preguntas durante sus enrevistas, normalmente las preguntas suelen empezar con conceptos bsicos sobre la materia y ms tarde continan basndose en la conversacin y las respuestas que van apareciendo:

Q. Qu es el software de un ordenador?

A. El software de un ordenador es un completo paquete, que incluye programas de software, y documentacin y gua del usuario para saber cmo usarlo.

Q. Qu diferencias hay entre el software de un ordenador y un programa de ordenador?

A. Un programa de ordenador es una parte del cdigo de programacin, el cual crea tareas bien definidas. En cambio el sofware incluye cdigo de programacin, y su documentacin y gua del usuario.

Q. Qu es la Ingeniera de software?

A. La Ingeniera de Software es una rama de la Ingeniera asociada al desarrollo de sistemas de software.

Q. Si ya se sabe programacin,Por qu es necesario aprender conceptos de Ingeniera de Software?

A. Un persona que sabe construir una pared, quiz no pueda construir una casa entera. Del mismo modo, una persona que quiere escribir programas quiz no conozca otros conceptos de Ingeniera informtica. Los conceptos de Ingeniera informtica guan a programadores a evaluar los requisitos del consumidor final, a disear algoritmos antes de empezar con la codificacin, a codificar programas, a evaluar lenguages de software y su documentacin.

Q. Qu significan 'proceso de Software' y 'Ciclo de vida del desarollo Software (SDLC)'?

A.El ciclo de vida del desarrollo del Software, o proceso software es el desarrollo sistemtico siguiendo cada etapa del proceso de desarrollo: Recogida de requisitos, Anlisis del sistema, Diseo, Codificacin, evaluacin, mantenimiento y documentacin (en este orden).

Q. Qu modelos disponibles existen de SDLC?

A. Hay muchos modelos disponibles de SDLC, algunos ejemplos son: el modelo de cascada, el modelo de repeticin, el modelo en espriral, el modelo V, el modelo 'Big Bang', etc.

Q.Cules son las fases del SDLC?

A. Las fases genricas del SDLC son: Recoleccin de requisitos, anlisis de sistema y diseo, Codificacin, evaluacin e implementacin. Las fases dependern del modelo que escojamos para desarrollar el softwae.

Q. Qu modelo de SDLC es el mejor?

A. Los modelos SDLC se escogen segn los requisitos del proceso de desarrollo. El modelo ms recomendable Puede variar de software a software.

Podemos seleccionar los mejores modelos de SDLC si las siguiente preguntas se contestan de manera satisfactoria -

  • El SDLC es recomendable para implementar el software en las seleccionadas tecnologas?
  • El SDLC es apropiado para los requisitos y prioridades del cliente?
  • El modelo de SDLC es recomendable para el tamao y la complejidad del software?
  • El modelo de SDLC es recomendable para el tipo de proyecto e Ingeniera que realizaremos ?
  • El modelo de SDLC es apropiado a nivel geogrfico para los desarrolladores?

Q. Qu es 'Gestin de un proyecto software'?

A. La Gestin de un proyecto software es un proceso donde se gestionan todas las actividades como el tiempo, costes y gestin de calidad que se dan en el desarrollo de un software.

Q. Quin es el Director de un proyecto software?

A. El Director de un proyecto software es la persona que se responsabiliza de llevar a cabo el pryecto software.

Q. Cules son las tareas que debe hacer el Director de un proyecto software?

A. El Director de un proyecto Software se ocupa de las actividades de gestin del software. Es responsable de la planicacin, de monitorear el proceso, de la comunicacin entre stakeholders (quienes pueden afectar o son afectados por las actividades de una empresa), de la gestin de riesgos y recursos, y de la satisfatoria ejecucin de todo el desarrollo y entrega del proyecto teniendo en cuenta las limitaciones de tiempo, coste y calidad.

Q. Qu es el 'scope' de software?

A. Es un lmite bien definido, que incluye todas las actividades que se hacen con la finalidad de desarrollar y entregar el producto software.

El scope del software define de manera clara todas las funionalidades y artefactos que sern entregadas como parte del software. El scope identifica lo que har o no har el producto final, y lo que contendr o no.

Q. Qu es la estimacin del proyecto?

A. Es un proceso donde se estiman varios aspectos del producto software, con tal de calcular el coste de desarrollo en cuanto a esfuerzos, tiempo y recursos. Esta estimacin puede obtenerse a raz de experiencias anteriores, consultando o usando frmulas definidas previamente.

Q. Cmo podemos obtener el tamao del producto software?

A. El tamao del producto se puede calcular usando uno de estos dos mtodos -

  • Contando las lneas del cdigo entregado
  • Contando los puntos de funcin entregados

Q.Qu son los puntos de funcin?

A. Los puntos de funcin son las diversas caractersticas producidas por el producto software. Se consideran como una unidad de medida para el tamao del software.

Q.Cules son las tcnicas de estimacin de software disponibles?

A. Hay muchas tcnicas disponibles. Las ms usadas son -

  • Tcnica de descomposicin (Recuento de lneas y puntos de funcin)
  • Tcnica emprica (Putnam y COCOMO).

Q.Qu es Lnea de base?

A. La lnea de base es una medida que define la integridad de una fase. Cuando se completan todas las actividades asociadas a una fase concreta, la fase se considera terminada y acta como lnea de base para la siguiente fase.

Q.Qu es Gestin de la configuracin de un Software?

A. La Gestin de la configuracin de un Software es un proceso de control y segumiento de los cambios en el software en cuanto a requisitos, diseo, funciones, y desarrollo del producto.

Q.Qu es el control de cambio?

A. El control de cambio es una funcin de la Gestin de la configuracin, la cual asegura que todos los cambios que se hagan sobre el sistema de software sean consistentes y hechos siguiendo ciertas normas y regulaciones de organizacin.

Q.Cmo se puede medir la ejecucin del proyecto?

A. Puede medirse a travs del monitoreo de actividad, el informe de actualizacin, Lista de control Milestone (Milestone checklist).

Q.Mencione algunas herramientas de gestin de proyectos.

A. Hay varias herramientas para gestin de proyectos usadas segn los requisitos del proyecto y las normas de organizacin. Entre ellas se incluyen: El esquema Gantt, el esquema PERT, el histograma de recursos, el mtodo de la ruta crtica o del camino crtico, El estado de las pruebas,etc.

Q.Qu son los requisitos Sofware?

A. Los requisitos Software son descripciones funcionales de un sistemas de software concreto. Los requisitos abarcan la descripcin del sistema de objetivos, as como de sus funcionalidades y caractersticas. Los requisitos expresan las expectativas del sistema por parte de los usuarios.

Q.Qu signific estudio de viabilidad?

A. Es una medida para evaluar los beneficios y practicidad del desarrollo del proyecto software. El analizador software conduce un estudio para entender la viabilidad tcnica, econmica y operativa del proyecto.

  • Econmica - Recursos para el transporte, costes de formacin, coste de servicios y herramientas adicionales, y estimacin general de costes y beneficios del proyecto.

  • Tcnica - Es posible desarrollar este sistema? Evaluar la idoniedad de mquina(s) y de sistema(s) operativos en los que se ejecutar el software, conocimientos existentes para el desarrollo, formacin, y servicios y herramientas para el proyecto.

  • Operativa - Es posible que la organizacin se adapte a los cambios realizados siguiendo las demandas del proyecto? Vale la pena resolver el problema?

Q.Cmo se pueden recolectar los requisitos?

A. Los requisitos se pueden recoger a travs de entrevistas, encuestas, Anlisis de tareas, lluvia de ideas, Anlisis de dominio, prototipos, estudiando versiones de software ya existentes, y a travs de la observacin.

Q.Qu es SRS?

A. SRS o Software Requirement Specification ( Requisitos del software) es un documento que se hace en el proceso de recogida de requisitos. Tambin se considera un proceso de perfeccin y documntacin de requisitos.

Q.Qu son los requisitos funcionales?

A. Los requisitos funcionales son caractersticas esperadas por los usuarios del producto software que se propone.

Q.Qu son los requisitos no funcionales?

A. Los requisitos no funcionales son implcitos y tienen relacin con la seguridad, actuacin, interoperabilidad, costes etc.

Q.Qu es medida de software?

A. La medida del Software se entiende como un proceso para cuantificar y simbolizar varios atributos y aspectos del software.

Q.Qu es mtrica de software?

A. La mtrica de software aporta medidas para varios aspectos del proceso y del producto de software. Se pueden agrupar en

  • Mtrica de requisitos : Requisitos de duracin, integridad...
  • Mtrica de producto :Lneas de cdigo, mtrica orientada al objeto, mtrica de evaluacin y diseo
  • Mtrica de proceso: Evaluacin y seguimiento del presupuesto, temporalizacin, recursos humanos.

Q.Qu es modularizacin?

A. La modularizacin es una tcnica para dividir el sistema de software en distintos mdulos, los cuales se encargan de llevar a cabo un o ms tareas de manera independiente.

Q.Qu significa concurrencia y cmo se logra en el software?

A. La concurrencia es la tendencia de eventos o acciones a ocurrir de manera simultnea. En software, cuando dos o ms procesos se ejecutan de manera simultnea, se denominan procesos concurrentes.

Ejemplo

Mientras usted inicia el comando de impresin y comienza a imprimir, puede abrir una nueva aplicacin.

La concurrencia, se implementa dividiendo el software en mltiples unidades de ejecucin independientes llamadas procesos y hilos de ejecucin, y ejecutndolas en paralelo.

Q.Qu significa cohesin?

A. La cohesin es una medida que define el grado de interdependencia entre los elementos del mdulo.

Q.Qu es acoplamiento?

A. El acoplamiento es una medida que define el nivel de interdependencia entre los mdulos de un programa.

Q.Puede mencionar un ejemplo de anlisis de software y de herramientas de deseo?

A. Hay varios ejemplos: DFDs (Data Flow Diagrams en sus siglas en ingls, diagramas de flujo de datos en espaol), esquemas esructurados, Structured English, Diccionario de datos, Diagrama HIPO (Hierarchical Input Process Output, en sus siglas inglesas), ER (Entity Relationship en ingls, en espaol relacin entre entidades) Diagramas y tablas de decisin.

Q.Qu es el nivel 0 de DFD?

A. Se da cuando hay un alto nive de abstraccin, tambin se denomina nivel de contexto DFD, el cual representa la totalidad del sistema de informacin en un diagrama incluyendo todos los detalles.

Q.Cul es la diferencia entre structured English y peudocdigo?

A. Structured English es el lenguage ingls nativo usado para escribir la estructura del mdulo de un programa usando palabras clave de lenguaje de programain, mientras que el pseudocdigo es ms similar al lenguaje de programacin y usa palabras o frases en lengua inglesa nativa para escribir partes del cdigo.

Q.Qu es un diccionario de datos?

A. El diccionario de datos, tambin llamado Metadato, es un repositorio de datos sobre los datos. Se usa para organizar los nombrs y sus referencias usadas en el sistema como objetos y archivos con su nomenclatura.

Q.Qu es el diseo estructurado?

A. Es la conceptualizacin de un problema en varios elementos de solucin bien organizados. Se ocupa del diseo de la solucin y se basa en la estrategia dividir y conquistar.

Q.Cul es la diferencia entre el diseo orientado a la funcin y el que se orienta hacia el objeto?

A. El diseo orientado a la funcin se comprime en varios y pequeos sub-sistemas llamados funciones. Cada funcin es capaz de llevar a cabo tareas significantes en el sistema. El diseo orientado al objeto se centra en los objetos del mundo real que nos rodean (entidades), as como en sus clases (categoras) y en sus mtodos aplicados a objetos (funciones).

Q.Defina de manera breve los modelos de diseo 'top-down' y 'bottom-up'.

A. El modelo Top-down (de arriba abajo) empieza con una vista general del sistema y lo descompone en unidades espcficas, en cambio el modelo bottom-up (de abajo arriba) empieza con los componentes ms bsicos y contina creando componentes para lograr alto nivel de abstraccin.

Q.Cul es la base de la medida de complejidad de Halstead?

A. La medida de complejidad de Halsteads depende de la implementacin del programa y considera autentificadores o identificadores usados en el programa para basarse en su medicin.

Q.Mention the formula to calculate Cyclomatic complexity of a program?

A. Cyclomatic complexity uses graph theorys formula: V(G) = e n + 2

Q.What is functional programming?

A. Functional programming is style of programming language, which uses the concepts of mathematical function. It provides means of computation as mathematical functions, which produces results irrespective of program state.

Q.Differentiate validation and verification?

A. Validation checks if the product is made as per user requirements whereas verification checks if proper steps are followed to develop the product.

Validation confirms the right product and verification confirms if the product is built in a right way.

Q.What is black-box and white-box testing?

A. Black-box testing checks if the desired outputs are produced when valid input values are given. It does not verify the actual implementation of the program.

White-box testing not only checks for desired and valid output when valid input is provided but also it checks if the code is implemented correctly.

Criteria Black Box Testing White Box Testing
Knowledge of software program, design and structure essential No Yes
Knowledge of Software Implementation essential No Yes
Who conducts this test on software Software Testing Employee Software Developer
baseline reference for tester Requirements specifications Design and structure details

Q.Quality assurance vs. Quality Control?

A. Quality Assurance monitors to check if proper process is followed while software developing the software.

Quality Control deals with maintaining the quality of software product.

Q.What are various types of software maintenance?

A. Maintenance types are: corrective, adaptive, perfective and preventive.

  • Corrective

    Removing errors spotted by users

  • Adaptive

    tackling the changes in the hardware and software environment where the software works

  • Perfective maintenance

    implementing changes in existing or new requirements of user

  • Preventive maintenance

    taking appropriate measures to avoid future problems

Q.What is software re-engineering?

A. Software re-engineering is process to upgrade the technology on which the software is built without changing the functionality of the software. This is done in order to keep the software tuned with the latest technology.

Q.What are CASE tools?

A. CASE stands for Computer Aided Software Engineering. CASE tools are set of automated software application programs, which are used to support, accelerate and smoothen the SDLC activities.

What is Next?

Further, you can go through your past assignments you have done with the subject and make sure you are able to speak confidently on them. If you are fresher then interviewer does not expect you will answer very complex questions, rather you have to make your basics concepts very strong.

Second it really doesn't matter much if you could not answer few questions but it matters that whatever you answered, you must have answered with confidence. So just feel confident during your interview. We at tutorialspoint wish you best luck to have a good interviewer and all the very best for your future endeavor. Cheers :-)