LATEST UPDATES

Thursday 31 March 2016

SDLC INTERVIEW QUESTIONS--1

1. What is SDLC?
Exp:          The various activities which are undertaken when developing software are commonly modelled as a software development life cycle.
The software development life cycle begins with the identification of a requirement for software and ends with the format verification of the developed software against that requirement.

2. what is the " software life cycle"?
Exp:          The life cycle begins when an application is first concieved and ends when it is no longer in use.

3. Is it necessary to use SDLC for software development?
Exp:          Because software can be very difficult and complex. Without SDLC you may end up producing low quality product, you may take more time to complete the project against the actual time to deliver the product, you may go over budget. SDLC provides well-defined, disciplined, efficient, approach in solving business and information technology problems. You can also calculate budget, and appropriate time to deliver the product.
It provides control/monitor over the process of application development, what all steps to be followed, defines and focus on roles and responsibilities provides a predefined level of precision to facilitate a complete, correct and predictable solution, enforces planning and control.

4. Different phases of SDLC.
Exp:          Requirement, Analysis, Designing, coding and unit testing, testingk, UAT, maintenance.

5. Requirement Phase
Exp:          By Interacting with the customer, we establish the service that the customer requires from a system and the constraints under which it operate are developed. How the system should react to particular inputs and how the system should behave in a particular situation. Definition of the function or entity. Description of inputs and where they come from. Descriptions of outputs and where they go to, Inter dependency of the functions. Pre and post conditions. The side effects (if any) of the function.  Business Analist (BA)/Domain Expert - usually MBA with atleast 8-10 years of domain specific experience who will understand the requirement or the business needs of the organisations. Specific what type of a project it is, whether it is a complete new project, or to rewrite the existing systems, or it is Maintenance project. Defines the type of the task the system should do. What type of SDLC to follow.

6. Who is Business Analyst?
Exp:          He is the one who collects the data from the stake holder, where in the raw requirements are processed into functional objectivers. The documentation of the requirement is done or a use can document, a prototype is developed, He uses some data flow diagrams to establish the requirement specification. Because just by natural langusre the developer doesn't understand the actual requirements and may not be able to develop the product. Estimation of the project is done.

7. Analysis phase
Exp:          In this phase decisions on a technology for software development based on several factors --- Cost, existing licences on software, licencing cost, scalability of the application, etc., out come of this phase is technology and software, Software Architecture Document (SAD) SAD is prepared by Architect - BE/MTech/MCA with atleast 15+ experience, will be having high level knowledge on all the technology for eg. COM, DCOM in .NET, Springs, hibernate in J2EE, ABAP in SAP, etc.,

8. Software Architecture Document
Exp:          SAD is not a design document. It sets some specifications like how it should be done. It provides some means of tracability between the requirements and the final system design to be implemented. The purpose of the SAD is provide
  1. An outline description of the software Architecture, including major software components and their interactions.
  2. A common understanding of the architectural principles used during design and implementation.
  3. A description of the hardware and software platforms on which the system is built and deployed.
  4. Explicit justification of how the architecture meets the non-functional requirements.

9. Design phase
Exp:          High level design: Designers (BE/MTech/MCA) with 10+ years experience in a particular technology.
  • First they describe what the system is (whether it is a distributed or client-server etc.,)
  • What platforms the system will run on .....
  • The major inputs and output
  • What uses interfaces the system will have and in what form (Web, Windows GUI, etc.,)
  • High level design/software architecture document is given to the client, framework, database schema of the application is described.
  • Design patterns are established.

Low level design :-- Designers (BE/MTech/MCA) with 10+ years of experience in a particular technology.
  • Class diagram and Sequence diagram
  • Low level design document containing class diagram sequence diagrams given to the developers.
  • DB is designed, cvs is configured and base version is put into it.

10. What is project planning?
Exp:         Project planning defines in detail the project activities and the product that will be produced, and describes how the project activities will be accomplished. Project planning defines all major tasks, estimates the size of the project, the scope of the effort, the resources required to complete the project, if any new technology is required and those technical experts are not their then you got appoint them, as well as steps to produce a project schedule, identify, assess and manage risks and negotiate commitments.
  • Risks is probability that some adverse circumstances will occur ........ risks like risks that affect the schedule or resources are not available.

11. Implementation (coding and unit testing)
Exp:          A team with TL, CL are appointed who do the coding part to develop the software .......                     *developers (BE/MTech/MCA) with 0-6 years of experience come into picture .....................

12. How do you assign tasks to the team
Exp:          First of all you got to know the technical ability of a programmer, for this purpose you got to do is ask some general technical questions or assign some task depending on the technology. By doing so you come to know their technical ability and then accordingly you can divide the tasks among the team.

13. Why customer developer partnership is important
Exp:          The success of any product depends on the customer satisfaction and remarks. Customer is constantly involved from the start of the project till delivery of the product he has to be kept informed about the progress of the project. When ever you develop and module you got to cross verify with the customer whether it meets the business goals.

14. What are the roles of  TL and CL?
Exp:          TL is concerned with getting the work done on scheduled time, motivate the team members, conduct meetings with the team members, hr maintains an excel sheet of the project progress states, if any project member faces any problems he has to give solutions to them...........
CL would first create cvs repository and corresponding login, would check in the base version. He has to take care that check in is conducted properly on a daily basis. Once check in is done he would take a fresh check out and would take build of it and if any error found then on which module and who has done it, would ask him to correct it and once every thing is fine then next day everybody can check out blindly.

15. How were the issues being handled
Exp:          If there is any issue that needs to be taken care of then you mention it in a excel sheet, the TL would conduct a meeting and get the issue resolved depending on the type of a issue whether  it is a db related or prototype or technical, correspondingly the meeting is conducted and get the issue resolved.

16. What is code review
Exp:          Once the module or coding is completed you perform a code review the reviewer would check the module whether documentation is done or not if any errors in a program, if exception handling is not then would specify the status as fatal in excel sheet and so on.

17. Testing phase
Exp:          A testing team would conduct number of testing on the application. In generally the types of testings are 
Defect testing :- To discover faults or defects in the software where its behavior is incorrect or not in sync with specification.
Component testing :- In the module wise testing test cases are written for the module and run against module. Choose inputs that force the system to generate all error messages. Design inputs that cause buffer to overflow and so on.
Performance and reliability test :- A series of tests are done where in the load is steadily increased until the system performance becomes unacceptable.
Stress testing :- In the sense system should not fail catastrophically, loss of series of data.
Black box testing :- Its also said as release test or functionality test. Testing to find defects int he system, first for such and such a input this should be the output, for invalid inputs this should be the output and so on.

18. User Acceptance testing:-
Exp:          Client performs the test before accepting the product.


E-Mail : shanth73@gmail.com

No comments:

Post a Comment

Designed By Blogger Templates