Software Engineering Interview Questions
Software Engineering Interview Questions
http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm
Copyright tutorialspoint.com
Dear readers, these Software Engineering Interview Questions have been designed
especially to get you acquainted with the nature of questions you may encounter
during your interview for the subject of Software Engineering. As per my experience,
good interviewers hardly planned to ask any particular question during your interview,
normally questions start with some basic concept of the subject and later they
continue based on further discussion and what you answer:
Q.What is computer software?
A. Computer software is a complete package, which includes software program, its
documentation and user guide on how to use the software.
Q.Can you differentiate computer software and computer program?
A. A computer program is piece of programming code which performs a well defined
task where as software includes programming code, its documentation and user guide.
Q.What is software engineering?
A. Software engineering is an engineering branch associated with software system
development.
Q.When you know programming, what is the need to learn software engineering
concepts?
A. A person who knows how to build a wall may not be good at building an entire
house. Likewise, a person who can write programs may not have knowledge of other
concepts of Software Engineering. The software engineering concepts guide
programmers on how to assess requirements of end user, design the algorithms before
actual coding starts, create programs by coding, testing the code and its
documentation.
Q.What is software process or Software Development Life Cycle (SDLC)?
A.Software Development Life Cycle, or software process is the systematic development
of software by following every stage in the development process namely, Requirement
Gathering, System Analysis, Design, Coding, Testing, Maintenance and
Documentation in that order.
Q.What are SDLC models available?
A. There are several SDLC models available such as Waterfall Model, Iterative Model,
Spiral model, V-model and Big-bang Model etc.
Resource Histogram, Critical Path Analysis, Status Reports, Milestone Checklists etc.
Q.What are software requirements?
A. Software requirements are functional description of proposed software system.
Requirements are assumed to be the description of target system, its functionalities
and features. Requirements convey the expectations of users from the system.
Q.What is feasibility study?
A. It is a measure to assess how practical and beneficial the software project
development will be for an organization. The software analyzer conducts a thorough
study to understand economic, technical and operational feasibility of the project.
Economic - Resource transportation, cost for training, cost of additional utilities
and tools and overall estimation of costs and benefits of the project.
Technical - Is it possible to develop this system ? Assessing suitability of
machine(s) and operating system(s) on which software will execute, existing
developers knowledge and skills, training, utilities or tools for project.
Operational - Can the organization adjust smoothly to the changes done as per
the demand of project ? Is the problem worth solving ?
Q.How can you gather requirements?
A. Requirements can be gathered from users via interviews, surveys, task analysis,
brainstorming, domain analysis, prototyping, studying existing usable version of
software, and by observation.
Q.What is SRS?
A. SRS or Software Requirement Specification is a document produced at the time of
requirement gathering process. It can be also seen as a process of refining requirements
and documenting them.
Q.What are functional requirements?
A. Functional requirements are functional features and specifications expected by users
from the proposed software product.
Q.What are non-functional requirements?
A. Non-functional requirements are implicit and are related to security, performance,
look and feel of user interface, interoperability, cost etc.
Q.What is software measure?
A. Software Measures can be understood as a process of quantifying and symbolizing
various attributes and aspects of software.
Example
While you initiate print command and printing starts, you can open a new
application.
Concurrency, is implemented by splitting the software into multiple independent
units of execution namely processes and threads, and executing them in parallel.
Q.What is cohesion?
A. Cohesion is a measure that defines the degree of intra-dependability among the
elements of the module.
Q.What is coupling?
A. Coupling is a measure that defines the level of inter-dependability among modules
of a program.
Q.Mentions some software analysis & design tools?
A. These can be: DFDs (Data Flow Diagrams), Structured Charts, Structured English,
Data Dictionary, HIPO (Hierarchical Input Process Output) diagrams, ER (Entity
Relationship) Diagrams and Decision tables.
Q.What is level-0 DFD?
A. Highest abstraction level DFD is known as Level 0 DFD also called a context level
DFD, which depicts the entire information system as one diagram concealing all the
underlying details.
Criteria
White Box
Testing
No
Yes
No
Yes
Software Testing
Employee
Software
Developer
Requirements
specifications
Design and
structure details
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 :-)