Saturday 2 February 2013

SDLC

SDLC: Software Development Life Cycle

The following are the actives of the SDLC

1) System engineering and modeling

2) Software require analysis

3) Systems analysis and design

4) Code generation

5) Testing

6) Development and Maintenance

System Engineering and Modeling

In this process we have to identify the projects requirement and main features proposed in the
application. Here the development team visits the customer and their system. They investigate
the need for possible software automation in the given system. By the end of the investigation
study. The team writes a document that holds the specifications for the customer system.

Software Requirement Analysis

In this software requirements analysis, firstly analysis the requirement for the proposed system.
To understand the nature of the program to built, the system engineer must understand the
information domain for the software, as well as required functions, performance and the
interfacing. From the available information the system engineer develops a list of the actors
use cases and system level requirement for the project. With the help of key user the list of use
case and requirement is reviewed. Refined and updated in an iterative fashion until the user is satisfied that it represents the essence of the proposed system.

Systems analysis and design

The design is the process of designing exactly how the specifications are to be implemented. It
defines specifically how the software is to be written including an object model with properties
and method for each object, the client/server technology, the number of tiers needed for the
package architecture and a detailed database design. Analysis and design are very important in
the whole development cycle. Any glitch in the design could be very expensive to solve in the
later stage of the software development.

Code generation

The design must be translated into a machine readable form. The code generation step performs
this task. The development phase involves the actual coding of the entire application. If design
is performed in a detailed manner. Code generation can be accomplished with out much
complicated. Programming tools like compilers, interpreters like c, c++, and java are used for
coding .with respect to the type of application. The right programming language is chosen.

Testing

After the coding. The program testing begins. There are different methods are there to detect the
error in coding .different method are already available. Some companies are developed they own
testing tools

Development and Maintenance

The development and maintenance is a staged roll out of the new application, this involves
installation and initial training and may involve hardware and network upgrades. Software will
definitely undergo change once it is delivered to the customer. There are many reasons for the
change. Change could be happen because of some unexpected input values into the system.
In addition, the changes in the system could be directly affecting the software operations. The
software should be developed to accommodate changes that could happen during the post
implementation period.



Water Fall Model:

For small projects, routine type of projects & well known requirements we preferred water fall model. It contains all SDLC phases, it is oldest model.






Disadvantages: -

1). During development phase it won’t allow any change request.
            2). There is no feedback mechanism between phases.


Proto type Model: -

                                           Information Gathering
                                                          
                                                     Analysis
                                                           
                                                       Design   → Develop prototype →   Given Demo to   

                                                                                                                      Client
                                                                                                                          
                                                                                                                          
                                                                                  Collect Feedback ← No   Yes
                                                                                                                             Coding
                                                                                                                                    
                                                                                                                              Testing
                                                                                                                                   
                                                                                                         Release & Maintenance              
In general we preferred this model when requirements are known but the implementation unknown. In this approach we develop proto types & we give demo to the client based on feedback we follow remaining SDLC phases.


Disadvantages: - Proto types are not reusable.

Note: - Proto type is a sample application without functionality.

 
V – MODEL:
The V-model represents a software development process (also applicable to hardware development) which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. The horizontal and vertical axes represents time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.


VERIFICATION AND VALADATION MODEL:

1.      What does verification do?
Ans:
1.       Verification finds faults or errors
2.      It is the process of ensuring that the product is built right
3.      Verification is set of activities performed to determine the deliverable
3.1    Is correctly  derived from the inputs to the stage that creates it
3.2    Is Internally consistent
3.3    Confirms to standards
2.      What does validation do?
Ans: Validation ensures that
1.      The business case, requirements and user expectations of product are fulfilled
2.      The output deliverables satisfy the requirements specified in the input deliverables of previous stage.
 
. What are the differences between Verification and Validation?

1. Verification checks the product is being built right, Validation Checks the right product is being built
2. Verification Uses mechanism to help determine whether appropriate standards have been implemented, and if the product derives correctly from inputs, Validation uses mechanism to help determine whether product satisfies the intended use.



No comments:

Post a Comment