Friday 18 January 2013

Software as a service ( SaaS )





Different kinds of software codes

Legacy code
* Beautiful code
* Unexpectedly short lived code

Legacy code : Old software meet customer's needs, but difficult to evolve due to design inelegance.

Beautiful code : Software meet customer's needs and easy to evolve.

Unexpectedly short lived code : Softwares that doesn't meet customer's needs. It takes long period to develop and it disappears within a short period.

Software development life cycles

* Waterfall model
* Spiral model
* Agile model

Waterfall model : It is a sequential design process , in which progress is seen as flowing  downwards through the phases, such as:

*Requirement specification
* Design
* Coding
* Integration
* Testing and debugging
* Installation
* Maintenance

Spiral model : This process combines prototyping with the designs in each steps. This model combines prototyping features and waterfall model. Thus it allows for incremental releases of the product through each time around the spiral.

Agile model : Continuous improvements and continuously refine working but incomplete prototype until customers happy, with customer feedback on each iteration and Test Driven Development (TDD) to reduce mistakes.

Assurance


Verification - Did you build the thing right
Validation - Did you build the right thing
Testing - Not a exhaustive testing 
Use Automation, Coverage, Regression testing, Integration testing, Test Driven Design


Productivity


Clarity via conciseness
         - Syntax: short and easier to read
         - Raise the level of abstraction
* Synthesis
         -Automatic code generation
* Reuse
         - Procedures and functions
         - Standardized Libraries
         - OOP
         - Design Patterns
* Automation and tools
         - Replace long and dull manual tasks with automation to save time and 
            improve accuracy
         - Dependability or User interface

Software as a service ( SaaS )


* SaaS delivers software & data as a service
* No worries in installation
* No data loss
* Easy for groups to interact with same data
* Easier upgrading features

Service oriented architecture ( SOA )

* Software architecture, where all components are designed to be services
Applications composed of inter operable services

Demands of SaaS    

* Communication
* Scalability
* Dependability
Cluster - commodity hardware
* Utility Computing / Public Cloud Computing

Cloud Computing

font-size: 15px; In the SaaS model, cloud providers install and operate application software in the cloud and cloud users access the software from cloud clients. The cloud users do not manage the cloud infrastructure and platform on which the application is running. This eliminates the need to install and run the application on the cloud user's own computers simplifying maintenance and support. What makes a cloud application different from other applications is its scalability. This can be achieved by cloning tasks onto multiple virtual machines at run-time to meet the changing work demand.



[Expecting Your Valuable Comments]
Thank You

No comments:

Post a Comment