Monday, 20 July 2015

SOFTWARE DEVELOPMENT LIFE CYCLE

Software Development Life Cycle (SDLC):
       SDLC contains six phases they are
1. Initial phase or requirements phase.
2. Analysis phase
3. Design phase
4. Coding Phase
5. Testing Phase
6. Delivery & Maintenance Phase.                                                     

I. Initial Phase or Requirements Phase :
(a) Tasks: Interaction with the customer and gathering the requirements.
(b) Roles: Business Analyst (B.A), Engagement Manager (E.M)
ÞProcess: First of all the business analyst will take an appointment from the customer, collects the templates from the company, meets the customer on appointed day, gathers the requirements with the help of template and comes back to the company with the requirements documents.
              Once the requirement document has come to the company the engagement manager will check whether the customer gives any extra requirements or confused requirements. In case of extra requirements he deals the excess cost of the project. In case of confused requirements he is the responsible for prototype demonstration and gathering the clear requirements.
ÞProof: The proof document of this phase is Requirements Document. This is called with different names in different companies.
1. FRS (Functional Requirements Specification)
2. CRS (Customer Requirement Specification)
3. URS (User Requirement Specification)
4. BDD (Business Design Document)
5. BD (Business Document)
6. BRS (Business Requirement Specification)
Some companies may maintain the over all business flow information in one document and the detailed functional requirement information in the other document
ÞTemplates: It is a pre defined format, which contains the predefined fields, and used for preparing a document in an easy, comfort and perfect manner.
ÞPrototype: -Defined as a roughly & rapidly developed model which is used for demonstrating to the client, In order to gather the clear requirements and to win the confidence of a customer.
II.         Analysis Phase:
(a) Tasks:
                                              1. Feasibilty Study
2. Tentative planning
1. Technology Selection
2. Requirement Analysis

(b) Roles: System Analyst, Project Manager, and Team Manager.
Process
1. Feasibility Study: - It is detailed study of the requirements in order to check weather the requirements are possible or not.
2. Tentative Planning: In this section the resource planning and the time planning (scheduling) is done temporarily.
3. Technology Selection: - The list of all the technologies that are required to accomplish this project. Successfully will be analyzed and listed out in this section.
4. Requirement Analysis: - The list of all the requirements that are required to accomplish this project. Successfully will be analyzed and listed out here in this section.
 SRS- System requirement specification
Proof: - The proof of this phase is system Requirement specification.
III.      Design Phase: -
Tasks:
1. High level designing
2. Low level designing
Roles: High-level designing is done by the chief Architect & Low level designing is done by the Technical Lead
Process: The Chief architect will be drawing some diagrams using unified modeling language in order to divide the whole project in to modules.
       The Technical lead will also draw some diagrams in order to divide the modules in to sub modules.
       The technical lead will also develop the PSEUDO code in order to make developers comfortable while developing the actual code.
Proof: The proof document of this phase is Technical design document.
IV.      Coding phase:
(a) Task:  Developing or Programming
(b) Roles: Developers or Programmers
Process: Developers will develop the actual code by using the technical design document as well as following the coding standards like Proper indentation, color coding, proper commenting and etc..,
Proof: The proof document of this phase is source code Document.
E.g.: The programmer will develop some programs every one will develop his program in different colors but the soft ware companies will ask the developers to develop the program according to the company standards using proper color, coding, commenting. So as to understand it easily.
V.         Testing Phase:
(a) Task: Testing
(b) Roles: Test engineers
Process:
1. First of all the test engineers will collect the requirements document and try to understand all the requirements
2. While understanding it at all they get any doubts they will list out all of them in a review report.
3. They will send the review report to the author of the requirements document for clarifications.
4. Once the clarifications are given and after understanding all the requirements clearly, they will take the test case template and writes the test cases.
5. Once the first build is released then they will execute the test cases
6. If at all any defects are found. They will list out all of them in a defect profile template then
7. They will sent the defect profile document to the development department and then will be waiting for the next build to be released.
8. Once the next build is released then they re-execute the test cases.
9. If at all any defects are found they will update the profile document and sent it to the development department and will be waiting fro the next build to be released.
10.     This process continuous till the product is defect free.
Proof: The proof of the testing phase is Quality Product.

ÞTest Case: (def) Test case is an idea of a test engineer based on the customer’s requirements in order to test a particular feature or a function.
VI.      Delivery & Maintenance Phase:
 Delivery:
(a) Task: - Installing the application in the client’s environment
(b) Rolls: -Deployment engineer or senior test engineers.
Process: - The senior test engineer or deployment engineer will be going to the clients place and install the application in their environment with the help of the guidelines provide in the deployment document.
Maintenance:
             After delivering the software while using if at all any problem  occurs then that problem becomes a task, based on that problem corresponding roles will be appointed, the roles will defined the process and solve that problem.
      Some clients may request for the continuous maintenance in such situations a group of people from the software company will be continuously working on the clients place and taking care of the soft ware.

No comments:

Post a Comment