Wednesday, 6 January 2016

MODELS

Service – based companies and Product – based companies
Service – based companies: -
They provide service and develop software for other companies
They provide software which is and specified as per the client company’s requirement and never keep the code of the developed product and does not provide the software to any other company other than the client company.
Ex – Wipro, Infosys, TCS, Accenture
Product – based companies:-
The develop software products and sell it to many companies which may need the software and make profits for themselves
They are the sole owners of the product they develop and the code used and sell it to other companies which may need the software.
Ex – Oracle, Microsoft

Drawbacks of Waterfall Model :-
In waterfall model, backtracking is not possible i.e, we cannot back and change requirements once the design stage is reached. Change in requirements – leads to change in design – thus bugs enter the design – which leads to change in code which results in more bugs. Thus the requirements are freezed once the design of the product is started.

Drawback of requirements freezing – the customer may not be satisfied if the changes he requires is not incorporated in the product. The end result of waterfall model is not a flexible product.
Major drawback of waterfall model – testing is a small phase which is done after coding. Requirement is not tested, design is not tested, if there is a bug in the requirement, it goes on till the end and leads to lot of re-work.
Advantages of waterfall model – requirements do not change nor does design and code, so we get a stable product.
Applications of waterfall model :-
Used in – developing a simple application
              - for short term projects
              - Whenever we are sure that the requirements will not change
For ex, waterfall model can be used in developing a simple calculator as the functions of addition, subtraction etc and the numbers will not change for a long time.

2 ) SPIRAL MODEL
The spiral model is shown in the figure in the next page.
Ra- requirements analysis of module A. Similarly with Rb, Rc, Rd.
Da – design of module A. Similarly with Db, Dc, Dd
Ca – coding of module A. Similarly with Cb, Cc, Cd
Ta – testing of module A. Similarly with Tb, Tc, Td
In Spiral model, the software product is developed in small modules. Let us consider the figure shown below in developing a s/w product X. X is built by integrating A,B,C and D.
The module A – requirements of the module is collected first and then the module is designed. The coding of module A is done after which it is tested for defects and bugs.
The module B – once module A has been built, we start the same process for module B. But while testing module B, we test for 3 conditions – a)test module B b)test integration of module B with A c)test module A.
The module C – after building module A,B, we start the same process for module C. Here we test for the following conditions – 1) test module c, b, a 2) test for integration of C and B, C and A, A and B.
And thus the cycle continues for different modules. Thus in the above example, module B can be built only after module A has been built correctly and similarly for module C.

No comments:

Post a Comment